Feature Request/Enhancement to allow series.tooltip configuration for bubble charts in chart initialization.
Since my company is a public entity we are required by law to follow ADA accessibility on our web apps. We are currently using ASP.NET Core MVC and Kendo UI for jQuery. To meet the ADA requirements I have been going through our Kendo Charts and configuring the tooltips to meet the ADA color blindness contrast ratio standard of 3:1.
It came to my attention that I cannot configure the bubble chart's series.tooltip the same way that I can a donut or pie chart. Since I am required to use a certain color of red in my chart and the default tooltip.color is black the contrast for small text does not meet the WCAG AA standard for text under 17 pt.
My feature request/enhancement is to allow charts to all have the same initialization process for things such as series.tooltip to allow easy config to meet ADA standards.
Hi Team,
I would like to share some feedback about the documentation, but I want to make sure it goes to the correct team. Is this the best place to share it?
Thank you,
Michael
**** CREATED BY PROGRESS TECHNICAL SUPPORT ****
Hello,
I would like to request a feature to include normal touch gestures on mobile devices on the PDFViewer, such as zooming in and out. In general, it would be great if the PDFViewer were more mobile friendly.
Thanks.
Hi Team,
I would like to request the source code from the AI Service from the Kendo UI Grid demos be available to download.
Thank you!
When a pager control uses responsive mode, but renders initially as hidden, the control fails to render properly.
The control should render to the appropriate responsive mode regardless of whether the control is visible or not when it is initially rendered.
Create a grid with batch set to true and update a field value using the set method of the kendo.data.Model object in JavaScript. The grid cell will be marked as dirty but the "Save changes" or "Cancel changes" buttons will not display. If you click into another editable cell, then the buttons will display.
See https://dojo.telerik.com/TwTMSsrB and attached example.html.zip.
See attached image.png for example image.
I created a forum post and it was suggested that I create a feature request for improved Kendo Grid keyboard accessibility when the grid contains locked columns and/or clickable elements such as buttons, links, and input boxes. I noted the following issues that I feel should be supported without having to write a bunch of workarounds or create a poor user experience for regular (mouse and keyboard) users.
This is an urgent concern because many of our clients are requiring our site to meet accessibility standards and with the heavy use of Kendo grids in their current state, it does not seem to.
I have a grid with 2 locked columns with a button in the first column and a hyperlink in the second column, the other columns just have text. I set navigatable to true. None of my fields are editable.
Here is a dojo: https://dojo.telerik.com/KUcMekCh
When the user tabs to the grid, they first get the search bar in my custom grid toolbar. Next they tab to the button (which happens to be a bootstrap dropdown menu but I don't think that is relevant). Here is where the issues start:
In Kendu UI 2026 Q2 (version 520) file kendo.all.d.ts
The interface IChatOptions has a duplicate defintion for the messageTemplate
Line 3849:
messageTemplate?: MessageTemplateFunction | null;Lines 3916/3917
/** Template for rendering individual messages */
messageTemplate?: MessageTemplateFunction | null;
Steps to reproduce the behavior:
Expected behavior
The header and rows shouldn't overlap
Affected suites
var chart = $("#chart").data("kendoChart");
var series = [];
$(theData.Serieses).each(function (index) {
series.push({
name: theData.Serieses[index].Name,
field: theData.Serieses[index].Name,
data: theData.Serieses[index].SeriesPoints,
xField: "X",
yField: "Y",
color: theData.Serieses[index].Colour,
markers: {
type: theData.Serieses[index].Shape
}
});
});
chart.setOptions({ series: series, noData: series.length == 0 });
chart.redraw();
console.log(chart.options);When updating a chart after instantiation, because noData defaults to true, the overlay is shown immediately
if you try and set noData via setOptions then redraw(), the overlay is still in place
Honestly, this should have been marked as a breaking change as every single chart has to be updated to force noData to false just to show initially
Currently the dialog action buttons can not hold only icons, the API does not provide means to have a button with only an icon or an icon and text. Considering the aforementioned we should extend the API to allow adding of icons inside the action buttons.
Hi Kendo Team ,
I noticed something illogical in MajorTimeHeaderTemplate , I did console.log on date that used in template and it prints => Fri Feb 01 1980 00:00:00 GMT+0000 (UTC)
it doesnt't give the current dateTime in the MajorTimeHeader
I will include images for that
Dojo exemple => https://dojo.telerik.com/iqakAKog
When you have a simple kendodropdown list that is set to adaptiveMode = "auto", resizing the browser throws. This can be reproduced on your demo pages.
Steps to reproduce:
kendo.virtuallist.js:2890 Uncaught TypeError: Cannot read properties of undefined (reading 'style')
The @progress/kendo-ui npm package creates the following dependency tree:
@progress/kendo-ui 2026.1.415
|
- @progress/kendo-pdfviewer-common ^0.6.4 -> 0.6.4
|
- pdfjs-dist 4.6.82 -> 4.6.82
|
- canvas ^2.11.2 -> 2.11.2
|
- @mapbox/node-pre-gyp ^1.0.0 -> 1.0.11
|
- tar ^6.1.11 -> 6.2.1All packages have been updated to the latest version possible.
Versions <= 7.5.10 of tar have multiple known vulnerabilities:
I am using the Kendo-UI Grid's resizeColumn method do change column widths programmatically (e.g., to distribute column widths by our own custom rules). I have noticed that doing so sometimes leads to unexpected results as demonstrated in this DOJO:
Assume a grid with two columns: one has a fixed size of 200px and the other has no explicit width set.
In the first example, we programmatically set the first column's width to 200px (which should not change anything since the column already is 200px wide.
grid.resizeColumn(column, 200);This works as expected.
In the second example, we programmatically set the first column's width first to 20px and then immediately to 200px. I would expect the final outcome to be the same, since the second column should compensate.
grid.resizeColumn(column, 20);
grid.resizeColumn(column, 200);However, the second column does not shrink and the overall grid grows larger instead. Doing this repeatedly causes the columns to grow larger and larger over time.
Of course, this is a simplified example and I do not call resizeColumn() twice right after each other.
Errors during build process:
(replace-metadata plugin) [SOURCEMAP_BROKEN] Sourcemap is likely to be incorrect: a plugin (replace-metadata) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help: https://rolldown.rs/guide/troubleshooting#warning-sourcemap-is-likely-to-be-incorrect
There should be no errors
1716119
To reproduce :
go to official dojo https://dojo.telerik.com/PfhfyBzh
select all text (ctrl+A) (or select text with image at the same time with mouse)
Start dragging the selection
---> the error occurs (check console devTools)
Uncaught TypeError: Cannot read properties of undefined (reading '_destroyResizeHandles')
The error occurs here :
let fe = u.extend({
create: function(e) {
let t = this;
a(e.body).on(`dragstart` + S, function() {
var t = x.nodes(e.getRange())
, n = !1;
t.forEach(function(e) {
e.nodeName === `IMG` && (n = !0)
}),
n && t.length > 1 && e.elementResizing._destroyResizeHandles()your algorithm find one image in the selection and assume we are resizing and try to call "_destroyResizeHandles"
I think you should test before calling this method so it should be :
n && t.length > 1 && e.elementResizing && e.elementResizing._destroyResizeHandles()
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;
}
Hi,
I've followed your AI integration example but I noticied that when I use the updateMessage method for some reason the chat scroll move toward the start of the message. Maybe I'm wrong but looking at the source code I think that the problem is the chat-widget.js inside this method
_refreshStandardSync(message, isOwnMessage, wasNearBottom) {
if (!message) {
return;
}
this.renderMessage(message);
if (isOwnMessage) {
this.scrollToBottom();
}
else if (wasNearBottom && message.uid) {
this.view.scrollIncomingMessage(message.uid);
}
}$("#copilotChat").kendoChat({
authorId: "user",
height: "100%",
messageBox: {
mode: "auto"
},
fileAttachment: false,
speechToText: false,
messageWidthMode: "full",
skipSanitization: true,
sendMessage: function (e) {
if (e.generating) {
//cancelling request, code omitted
}
else {
//new request, code omitted
}
}
});
//receive message via SSE (code omitted)
const chat = $("#copilotChat").data("kendoChat");
let messageObject = chat.dataSource.get(params.runId);
dashboardProposal.currentCopilotChatText += params.content;
if (messageObject) {
const markdown = markdownInstance.parse(dashboardProposal.currentCopilotChatText);
chat.updateMessage(messageObject, { text: markdown });
}
else {
chat.postMessage({
authorId: "assistant",
authorName: app.i18n("advice_dashboardProposal_authorNameCopilot"),
text: params.content,
id: params.runId
});
}