Enhancement
Expose setOptions() for Kendo Wizard
Desired Behavior
setOptions shall update Wizard steps
wizard.setOptions({
steps: steps
});
Destroy current Wizard and reinitialize with new steps
let wizard = $("#wizard").data('kendoWizard');
wizard.destroy();
$("#wizard").empty();
let steps = [];
for (var i = 0; i < 4; i++) {
steps.push({
title: "Tab " + i,
content: "Tab Content " + i
});
}
$("#wizard").kendoWizard({
steps: steps
});
There are many properties that can be set during initialization that cannot be changed through the API afterwards. Take the Kendo UI ToolBar for example. You can add a button to the toolbar and set the text, but you cannot change the text afterwards unless you update the element directly. It may seem like a simple thing to change the text of an element, like so: $("#myButton").text("New Text"). However, if you had set the imageUrl as well, setting the text like I did above would remove the image. Knowing that, you could get the text node and update the nodeValue. That may work today but could easily be broken during a Kendo UI update (for example, if the update included a change that wraps the text in a span). Having to deal with native elements after they have been created by the Kendo UI components is a dangerous practice for developers as it requires an internal knowledge of how elements are rendered based on the different options set. As mentioned above, it is also dangerous as any update could break our code. Therefore, it is imperative to expose methods that allow us to modify any properties through the API (where possible) to allow us to create clean and easy to maintain code. If you search the feedback, you will see many requests to add a method here and a method there. There is even a related one to this called "Kendo Mobile: Methods to set properties dynamically". Suggestion: When you have child elements, such as buttons on the toolbar, please allow us to update those widgets directly rather than through the parent. For example, instead of $("#myToolbar").data("kendoToolBar").enable("#myButton"), allow us to do something like this $("#myButton").data("kendoToolBarItem").enable();
there is no binding for noData
e.g.
noData?: boolean | undefined;
interface ChartOptions {
name?: string | undefined;
autoBind?: boolean | undefined;
axisDefaults?: ChartAxisDefaults | undefined;
categoryAxis?: ChartCategoryAxisItem | ChartCategoryAxisItem[] | undefined;
chartArea?: ChartChartArea | undefined;
dataSource?: any|any|kendo.data.DataSource | undefined;
legend?: ChartLegend | undefined;
panes?: ChartPane[] | undefined;
pannable?: boolean | ChartPannable | undefined;
pdf?: ChartPdf | undefined;
persistSeriesVisibility?: boolean | undefined;
plotArea?: ChartPlotArea | undefined;
renderAs?: string | undefined;
series?: ChartSeriesItem[] | undefined;
seriesColors?: any;
seriesDefaults?: ChartSeriesDefaults | undefined;
theme?: string | undefined;
subtitle?: string | ChartSubtitle | undefined;
title?: string | ChartTitle | undefined;
tooltip?: ChartTooltip | undefined;
transitions?: boolean | undefined;
valueAxis?: ChartValueAxisItem | ChartValueAxisItem[] | undefined;
xAxis?: ChartXAxisItem | ChartXAxisItem[] | undefined;
yAxis?: ChartYAxisItem | ChartYAxisItem[] | undefined;
zoomable?: boolean | ChartZoomable | undefined;
axisLabelClick?(e: ChartAxisLabelClickEvent): void;
dataBound?(e: ChartDataBoundEvent): void;
drag?(e: ChartDragEvent): void;
dragEnd?(e: ChartDragEndEvent): void;
dragStart?(e: ChartDragStartEvent): void;
legendItemClick?(e: ChartLegendItemClickEvent): void;
legendItemHover?(e: ChartLegendItemHoverEvent): void;
legendItemLeave?(e: ChartLegendItemLeaveEvent): void;
noteClick?(e: ChartNoteClickEvent): void;
noteHover?(e: ChartNoteHoverEvent): void;
noteLeave?(e: ChartNoteLeaveEvent): void;
paneRender?(e: ChartPaneRenderEvent): void;
plotAreaClick?(e: ChartPlotAreaClickEvent): void;
plotAreaHover?(e: ChartPlotAreaHoverEvent): void;
plotAreaLeave?(e: ChartPlotAreaLeaveEvent): void;
render?(e: ChartRenderEvent): void;
select?(e: ChartSelectEvent): void;
selectEnd?(e: ChartSelectEndEvent): void;
selectStart?(e: ChartSelectStartEvent): void;
seriesClick?(e: ChartSeriesClickEvent): void;
seriesHover?(e: ChartSeriesHoverEvent): void;
seriesOver?(e: ChartSeriesOverEvent): void;
seriesLeave?(e: ChartSeriesLeaveEvent): void;
zoom?(e: ChartZoomEvent): void;
zoomEnd?(e: ChartZoomEndEvent): void;
zoomStart?(e: ChartZoomStartEvent): void;
}
Currently, if you focus the command buttons, pressing tab will navigate to the buttons on the next row.
The focus will move to the buttons on the next row.
When the focus is on the Delete button, pressing Tab should return the focus to the current cell so that you can navigate to the remaining cells on the same row.
Steps to reproduce the problem:
Have a grid with:
When running the code that create the grid, the initial state looks like this:
Current behavior:
The header columns are filling the width of the grid (each bigger than the specified 100), but the rows columns cells have the specified width of 100, causing a misalignment.
However, changing the width of a column with the resize handle fixes all the widths (header + rows).
Same thing for adding/removing a column from the menu.
See the attached video for an example.
If in the initial state there are more shown columns so they can fill the grid width (and have the horizontal scrollbar), the issue is not present.
Expected behavior:
Rows columns should always match the width of the header.
Dojo example:
Here's an example, based on the one from https://demos.telerik.com/kendo-ui/grid/column-virtualization
https://dojo.telerik.com/@pgarand/UfEkIGiD
The icons for 'Move previous' and 'Move next' in the 'Set Column Position' ColumnMenu item in RTL Grid are not correct.
The previous and next icons do not correspond to the correct direction.
The positions of the previous and next icons should be switched.
The mentioned type is still missing for:
- kendoAvatar
- kendoCheckBox
- kendoListView
- kendoOrgChart
- kendoRadioButton
Bug report
Grid row resizing, locked columns, and incell editing breaks row resizing
Reproduction of the problem
Open the Dojo - https://dojo.telerik.com/FxOcPHdy
1. Resize 2nd row
Expected/desired behavior
The resized row shall retain its height
Environment
Kendo UI version: 2024.3.806
jQuery version: 3.4.1
Browser: [all ]
Pie chart labels are not properly rendered when exported to image.
The issue can be reproduced here:
When you filter a date field in the Grid, picking a date from the first filter component will result in the value being passed to the second filter component when you open the filter menu again.
Regression introduced with 2024.4.1112
The value picked for the first filter component is being passed to the second as well.
The value of the second filter should remain empty
If you have several Inline Editors and a Slider, switching focus from Slider and typing in the Editors result in an error in the console.
An error is thrown in the console
No error should be thrown on the console
Bug report
Regression with 2025.1.211
Reproduction of the problem
More info in Dojo: https://dojo.telerik.com/YLgJCnaL
Environment
jQuery: 3.4.1
Kendo UI version: 2025.1.211
Browser: [all]
When the user adds a group in the Grid and try to add a second group immediately, while the first grouping is still loading, then an error is thron in the console.
Note: you can try setting the n browser Network throttling to Slow 4G to easily reproduce the issue
Error: kendo.all.js:60347 Uncaught TypeError: Cannot read properties of undefined (reading 'left')
is thrown and the Grid freezes
There should be no error in the console and the Grid should not freeze
Bug report
<script> tag gets executed on drag when encoding is enabled in Grid
Reproduction of the problem
Dojo: https://dojo.telerik.com/MkqjldFK
Drag the row by the drag handle
Alert gets executed
Expected/desired behavior
<script> should not be executed
Environment
jQuery: 3.7.0
Kendo UI version: 2024.3.1015
Browser: [all ]
### Feature Request
The TypeScript definitions of the Kendo UI Grid are missing the "editable" object - the object that is built runtime when the grid enters edit mode.
### Environment
* **Kendo UI version:** 2020.3.915
* **jQuery version:** 1.12.4
* **Browser:** [all]
Charts support keyboard navigation. Currently, the focus indicator is rendered as a thick black border around the different chart items. Is there any way to customize it? We usually use dashed red borders throughout our application to indicate focused elements and it would be great to stay consistent.
I found this article which leverages the highlight and saw that the series.highlight.toggle setting allows modifying the highlight's visual element, but options are very limited and do not allow sufficient customization.
Hi,
We have a grid with virtual scroll enabled.
When double-clicking on the first 15 rows resize handles, it behaves correctly, i.e it automatically fits the columns size to max row width.
The problem occurs now when we begin scrolling horizontally the grid : starting to the 16th column (red backgrounded) resize handle double click action behaves weirdly. Sometimes it fires a scroll event without doing else, sometimes it resizes the column but in the wrong way by reducing width.
Check this JsFiddle to reproduce the problem. Problematic column are red backgrounded.
Hi Team,
I have a Kendo UI Grid where there are a lot of columns. But, due to the recent changes in version 2024 Q4, the columnMenu does not contain a scroller.
Thank you!
When there is horizontal scrolling in RTL Grid, the scroll starts from the last column, instead of the first one.
The scroll starts from the last column.
The scroll should start from the first column.
When a Kendo TreeList contains a parent row that is expanded and includes more than two child records, performing a delete operation results in only 3 delete requests being sent. Specifically, two for the last two child records and one for the parent record.
Here is a Dojo for reproduction: https://dojo.telerik.com/Cqxjobpr
Sends only 3 delete requests for the last 2 children and the parent.
Should send individual delete requests for the parent and every child
Here is the TicketID: 1676145