When in an Editor, the TableEditing()
API configuration creates an instance of 2 buttons - Create a Table button, and Table Wizard button (which doesn't have any functionality). This issue occurs when we use newer versions after 2023.2.606. For example:
@(Html.Kendo().Editor()
.Name("editor")
.Tools(tools => tools.Clear().TableEditing())
...
)
TableEditing()
API configuration creates instances of 2 buttons, one of which has no functionality.
TableEditing()
API configuration should create an instance of only 1 button
https://netcorerepl.telerik.com/wRaCuPlS39KaFyIS25
### Bug report
The built-in search tool does not render when it is defined through the Toolbar() configuration. By default, it renders as expected.
### Reproduction of the problem
@(Html.Kendo().TaskBoard()
.Name("taskBoard")
.Toolbar(t => t.Items(items =>
{
items.Add().Type("TaskBoardSearch").Command("SearchCommand").Name("search").Text("Search").Icon("search");
}))
...
)
REPL sample for reproduction:
https://netcorerepl.telerik.com/QRaTOpbm101bVWAv11
### Expected/desired behavior
The search tool should be rendered when it is set up through the Toolbar() configuration.
A possible workaround:
@(Html.Kendo().TaskBoard()
.Name("taskBoard")
.Toolbar(t => t.Items(items =>
{
items.Add().Name("search");
}))
...
)
### Environment
* **Telerik UI for ASP.NET Core version: 2023.1.117
* **Browser: [all]
Not reproducible with the UI for ASP.NET Core Grid helper.
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(15)
.Read(read => read.Action("Orders_Read", "Grid"))
.Total(50)
)
The "next page" and "last page" buttons in the Grid's pager are rendered as anchor Html elements, when Total is set in the DataSource. When it is not set, the buttons are rendered as button Html elements.
The rendering of the pager buttons should be consistent and they should render as button Html elements.
Regression in R2 2022 SP1.
Dojo example:https://dojo.telerik.com/eLULiTob
After deleting the last item (image or folder), the loading icon remains.
No loading icon should be shown in the popup, once all the images are removed.
When the Grid is set initially with a sort operation, the icon for the column will show twice in a UI for ASP.NET MVC web application.
Using the Kendo UI Grid template, add the sorting configuration to the dataSource:
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>()
.Name("grid")
.Columns(columns => {
columns.Bound(p => p.OrderID).Filterable(false).Width(200);
columns.Bound(p => p.Freight).Width(100);
columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}").Width(140);
columns.Bound(p => p.ShipName);
columns.Bound(p => p.ShipCity).Width(150);
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("Orders_Read", "Grid"))
.Sort(s => s.Add("OrderID").Descending())) //Added Predefined Sort
)
The icon should only appear once for the sorted column.
Please note the following MVC code:
Bug 1: The Window should have the top set by the Top() method. It does not.
Bug 2: The Window should have the top set by the HtmlAttributes() method. That does not work either.
Bug 3: The scrollable method also does nothing to the window. So this entire line seems to be omitted.
Bug 4: The window is supposed to be centered by the Kendo native code. It isn’t. The recurring editor div element is not shown until after the window centers. So the window generates, centers on the screen, then the recurring DIV is shown which expands the window downwards, then the window is shown. This makes it go off the bottom of the screen. I didn’t need vertical center anyways so I fixed this by setting the top to 40px. Which is when I ran into the above issues. However if I was not doing this, the center() issue would still be there. I fixed this in JavaScript on the event’s edit event.
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("RadioButtonTemplate"))
Add a RadioButton in the RadioButtonTemplate.cshtml template:
@model GridExample.Models.OrderViewModel
@(Html.Kendo().RadioButton().Name("engine1").Checked(true).HtmlAttributes(new { @name = "engine" }).Label("1.4 Petrol, 92kW"))
@(Html.Kendo().RadioButton().Name("engine2").HtmlAttributes(new { @name = "engine" }).Label("1.8 Petrol, 118kW"))
A js exception is thrown and the popup does not open:
Chrome:
Uncaught TypeError: Cannot read properties of undefined (reading 'toString') kendo.all.js:313050
Firefox:
Uncaught TypeError: this.bindings.checked.get() is undefined kendo.all.min.js:10:102181
The issue is reproducible with a RadioButton or a RadioButtonFor helper.
No exception is thrown and the custom popup displays the RadioButton.
The Kendo Scaffolder is no longer available in the Add New Scaffolded Item dialog.
The Kendo Scaffolder works as intended.
### Bug report
The Grid columns do not expose the ClientTemplateHandler() method. It is available in Telerik UI for ASP.NET Core since version 2023.1.314.
### Reproduction of the problem
columns.Bound(p => p.IsAlwaysIncluded).ClientTemplateHandler("myColTemplate");
<script>
function myColTemplate(data) {
return `<div>${data.IsAlwaysIncluded}</div>`
}
</script>
The ClientTemplateHandler() method must be exposed for the Grid columns.
### Environment
Telerik UI for ASP.NET MVC version: 2023.1.425
* **Browser: [all]
Test the following SplitButton configuration:
@(Html.Kendo().SplitButton()
.Name("splitbutton")
.Text("test2")
.HtmlAttributes(new { @class = "myclass", style = "border:1px solid black;", data_customAttr = "test" })
.Icon("download")
.Items(i =>
{
i.Add().Text("button1");
})
)
The custom class, attribute and styles are not applied to the SplitButton's Html element.
The HtmlAttributes are applied to the SplitButton's element.
.HtmlAttributes(new { @class = "test" })
The custom class is not applied to the TileLayout.
The custom class is applied to the TileLayout along with the pre-defined Kendo classes.
Inspect the Grid in the MVC demos.
The Grid renders the k-widget class.
The rendering must be consistent with jQuery and Core and the k-widget class should not be rendered. The issue is specifically in the MVC Grid. The Kendo UI for jQuery and the Core Grid no longer render this class.
When dragging a cell to edit other cells in the Spreadsheet, the Change event of the DataSource is not fired.
The issue is a regression starting with Kendo - 2022.2.621
Try to edit multiple cells by dragging a cell.
The Change event is not triggered.
The Change event should be fired.
Regression introduced in R3 2021. Reproducible with the LESS and the SASS themes.
Dojo example: https://dojo.telerik.com/icUZasIF/2
The k-timeline-circle and the k-timeline-date-wrap elements are misaligned. The dates are displayed slightly below the level of the Timeline circles.
Dates and circles are aligned.
Regression in R1 2023 SP1.
Set a HeaderTemplate in one of the following 3 ways.
columns.Bound(p => p.Freight).HeaderTemplate("<div title='Freight'>Freight</div>");
columns.Bound(p => p.Freight).HeaderTemplate(@<text>
<div title="Freight">Freight</div>
</text>);
columns.Bound(p => p.Freight).HeaderTemplate(@<div title="Freight">Freight</div>);
In the first scenario the error is:
System.NotSupportedException: Specified method is not supported.
In the second and third scenario the error is:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
No exception thrown when the HeaderTemplate is set.
When a RadioGroupFor is used as an editor template for the Grid, the property of the model is not bound to the component. The data-bind attribute is missing in the rendered HTML.
In the attached project, try to edit a record from the Grid. The property RGVal is not bound to the RadioGroup editor.
Adding the following configuration fixes the behavior:
.HtmlAttributes(new { data_bind="value:RGVal"})
The property is not bound to the editor.
The property should be bound to the editor.
TelerikMvcApp18.zip
WebView ]
https://demos.telerik.com/aspnet-mvc/grid/persist-state
The search panel disappears from the Grid's toolbar.
The search panel is present in the Grid's toolbar.
Compare the renderings of the two ContextMenus below:
<div id="example1">Right click (Kendo UI ContextMenu)</div>
<br />
<br />
<div id="example2">Right click (MVC ContextMenu)</div>
<ul id="contextmenu1">
</ul>
<script>
$("#contextmenu1").kendoContextMenu({
target: "#example1",
dataSource:
[{
text: "Item1",
},
{
text: "Item2",
}
]
});
</script>
@(Html.Kendo().ContextMenu()
.Name("contextmenu2")
.Target("#example2")
.Items(items =>
{
items.Add().Text("Item1");
items.Add().Text("Item2");
})
)
The item of the Kendo UI ContextMenu is rendered:
<li class="k-item k-menu-item k-first" role="menuitem" data-uid="d578b533-6933-416f-9624-96819ee95c45" aria-expanded="false">
<span class="k-link k-menu-link">
<span class="k-menu-link-text">Item1</span>
</span>
</li>
The item of the MVC ContextMenu is rendered:
<li class="k-item k-state-default k-menu-item k-first" role="menuitem" aria-expanded="false" id="contextmenu2_mn_active">
<span class="k-link k-menu-link">Item1</span>
</li>
The additional span with class k-menu-link-text is missing in the MVC component.
Identical rendering
Regression in R1 2023.
columns.Bound(p => p.OrderDate).HtmlAttributes(new { title = "Order Date: #=kendo.toString(OrderDate, 'dd-MM-yyyy')# " });
kendo.toString is not executed and as a result the date is not formatted. The exact value of the title attribute, as shown above is rendered as title of the cell.
The logic is executed and the OrderDate value is rendered in the title with the specified format.