Unplanned
Last Updated: 20 Jan 2025 06:16 by ADMIN
Created by: TafnitDev
Comments: 1
Category: Kendo UI for jQuery
Type: Feature Request
0

Hello,

We're interested  in a date input wheel (see attached images) as it is a feature that is especially for useful for mobile users. Telerik's technical support directed us here since the date widget doesn't offer this feature currently.

Kind regards

Completed
Last Updated: 28 May 2025 07:48 by ADMIN
Release 2025 Q3 (Aug)

Bug report

This is a continuation of the following issue.

Probably related to:
https://source.chromium.org/chromium/chromium/src/+/62d86ddddc8fad157321e42e2acdb18b6ebba951

Reproduction of the problem

  1. Open the following Dojo in a browser running under the Chromium engine.
  2. Notice that there is a an console error which showcases sporadically, indicating the following.

Image

Current behavior

The animation container's aria-hidden attribute causes a console error in Chrome and Edge.

Expected/desired behavior

The animation container's aria-hidden attribute should not cause a console error in Chrome and Edge.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: [Chrome, Edge]
Declined
Last Updated: 16 Jan 2025 11:36 by ADMIN
Created by: Matt
Comments: 3
Category: Kendo UI for jQuery
Type: Bug Report
0

https://dojo.telerik.com/yBSdUQYS demonstrates the issue:

When a grid detail row is expanded, and pushUpdate() is called on it, the row collapses.

What is expected is for the grid row to remain in its prior state (expanded or collapsed.)

Until this is fixed, is there a work-around, other than manually re-expanding the detail row(s)? This is not a feasible work-around in which multiple nested grid rows are collapses and re-expanded, as this causes the UI to jump unexpectedly for the user.

 

Need More Info
Last Updated: 06 Jan 2025 07:54 by ADMIN
Created by: Brijendra
Comments: 8
Category: Kendo UI for jQuery
Type: Bug Report
2

Hi,

We are facing issue on every popup and context menu open. aria-hidden property has been set to true by default while rendering the control.

Blocked aria-hidden on an element because the element that just received focus must not be hidden from assistive technology users. Avoid using aria-hidden on a focused element or its ancestor.

 
Unplanned
Last Updated: 12 Dec 2024 11:22 by ADMIN

Original ticket: 

START

As title says, when a list box is both draggable and multiple select is enabled the behavior is unpredictable. Sometimes when you click and drag on an item it will create the selection box when you are trying to simply drag the item, and other times the opposite. As far as I can tell there is no way to force one behavior or another.


$("#pdfPreviewList").kendoListBox({
            draggable: true,
            connectWith: "proposal",
            selectable: "multiple",
            dropSources: ["proposal"],
            template: `
                    <div id='#:file#'>
                        #:pn#
                    </div>`,
            toolbar: {
                tools: ["moveUp", "moveDown", "transferTo"]
            },
            change: (e) => {
                let f = e.sender.select()[0].getElementsByTagName("div")[0].id;
                displayPdfPrview(f)
            }
        });

Data source is 2 -3 items, so there is white space below the list items. 

 

END

 

I think there should be a dragToSelect option like there is in grid. That way you can still have multiple select work with key modifiers like control and shift and can also have dragging without worrying about the box select interfering with it.

 

maybe something like


select: "multiple" // normal selection *without* box selection
select: "dragToSelect" // selection with box selection and all the other features of "multiple" such as key modifiers

Also potentially a warning if dragToSelect and draggable are active at the same time to notify the developer that this combination may lead to unexpected behavior.

 

Thank you

Unplanned
Last Updated: 04 Dec 2024 14:22 by Carlos
Created by: Carlos
Comments: 0
Category: Kendo UI for jQuery
Type: Feature Request
1

Expose a Cron-Like Scheduler following an example found here https://crontab.guru/.

Unplanned
Last Updated: 18 Dec 2024 11:27 by ADMIN
This is a valuable interaction property on the DateInput component. I would like to set it on DatePicker similar to AutoCorrectParts. Currently I get at the DateInput object after the fact by accessing the data("kendoDatePicker")._dateInput.dateInputInstance "private variable". As an alternative (or in addition to), add a public (supported) property for getting at the dateinput object.
Declined
Last Updated: 21 Jan 2025 14:01 by ADMIN
Created by: JAMES
Comments: 6
Category: Kendo UI for jQuery
Type: Bug Report
0

Line Chart Crosshair doesn't display on Tablets.

Display's fine on Desktop & also on Mobile, but tested on iPad and Android tablets the Crosshair line does not display.

kendo.2020.1.114

 

Completed
Last Updated: 12 Mar 2025 14:27 by ADMIN
Created by: Stu
Comments: 1
Category: Kendo UI for jQuery
Type: Bug Report
0

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;
    }

 

Planned
Last Updated: 19 Dec 2024 14:10 by ADMIN
Scheduled for 2025 Q1 (Feb)

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

 

 

 

 

Declined
Last Updated: 08 Dec 2024 20:31 by ADMIN
Created by: AGB
Comments: 3
Category: Kendo UI for jQuery
Type: Bug Report
0
Hi Guys

While upgrading and testing the latest 2024.4.1112 release I have noticed the loading indicator, for both the ComboBox and MultiColumnComboBox, has moved from the dropdown button to inside the edit control.

Is this a a bug or a design decision?

If it is the latter I can find no mention of this breaking change in the release notes, or were you hoping nobody would notice?

To me the old design whereby the loading indicator replaced the dropdown arrow was more logical giving the impression to a user the button was unavailable.

So my finial question ... How do we get the old functionality back?

Regards
Alan

Completed
Last Updated: 12 Dec 2024 14:43 by ADMIN
Release 2025 Q1 (Feb)
Created by: Alexa
Comments: 1
Category: Kendo UI for jQuery
Type: Bug Report
1

Hello,

My use case:

On grid dataBound, I am iterating over the table rows to perform some piece of custom logic on the row based off of the backing dataItem. Our production site is using version 2024.1.130, and everything is working great. Our next release we've updated to version 2024.2.514, and when we try adding a record, we get an error; when we try to access the dataItem of the last table-row - the dataItem is undefined. The grid.items() in my case is an array of size 21, and the internal _data array is size 20.

Repro conditions (as far as I can tell):

  • A Grid backed by a DataSource with server operations set to false
  • The DataSource should (?) have a filter configured
  • The size of the DataSource's data should (?) be larger than the pageSize

My workaround:

Simply perform a null check on the dataItem before doing the logic. We are calling DataSource.read in the DataSource.sync success callback anyway, so the grid will reload and the dataBound event will be handled afresh.

I've created the below dojo snippet to demonstrate a simplified version of my use case. I tested with 2024.1.130 and seems to work fine. I noticed the issue starting at version 2024.1.319.

https://dojo.telerik.com/INbSBrSg

 

A note: No, I don't actually use the internal _data property in my code, just for debugging purposes :)

Thanks!

-Alexa

Unplanned
Last Updated: 29 Oct 2024 07:49 by ADMIN
Created by: FranckSix
Comments: 1
Category: Kendo UI for jQuery
Type: Feature Request
1
var datepicker = $("#datepicker").data("kendoDatePicker");
var datepicker = $("#datepicker").data("kendoDatePicker").reset();
Sometimes we need to undo the changes to make the control unchanged on submit form.

Currently, reverting a DatePicker control to its initial state is somewhat complex. It would be nice to have a ready-made method to simplify the process.



Unplanned
Last Updated: 23 Oct 2024 10:22 by ADMIN
Created by: Jim
Comments: 0
Category: Kendo UI for jQuery
Type: Feature Request
0
Themebuilder shows an "infinite" calendar with months/years on the left. I asked support how to create this and was told it only existed for Angular. Please submit my request to implement this in jQuery. At minimum, the left side month/year selection
Unplanned
Last Updated: 02 Oct 2024 08:04 by alex
Created by: alex
Comments: 0
Category: Kendo UI for jQuery
Type: Feature Request
1

Currently, the Grid provides autoFitColumn and autoFitColumns methods, while the Treelist provides built-in only the autoFitColumn. I would like to have built-in support for the TreeList components, so the behavior to be equivalent to the Grid - example.

dataBound: function(e) {
        e.sender.autoFitColumns();
},

 

 

Unplanned
Last Updated: 27 Sep 2024 09:58 by ADMIN
Created by: Andrew
Comments: 1
Category: Kendo UI for jQuery
Type: Feature Request
0

I am running into an issue with allowing copy/paste of dates into the filter and cell input fields. Currently, the date fields have validation to support MM/dd/yyyy, and users of the app may be trying to copy dates in that are MM/dd/yy. I would expect Kendo to auto format the date to MM/dd/yyyy after the paste happens, or at least allow support for that, but it doesn't seem to happen.

In the cell, when putting in MM/dd/yy, a validation message appears saying the date is invalid, and there doesn't appear to be a way to override that. In the filter, when putting in MM/dd/yy and submitting the filter, it doesn't stick and completely ignores the date put in.

Steps to reproduce (filter):

  1. Copy a date formatted as MM/dd/yy
  2. Paste it into a date column filter
  3. Attempt to apply filter
  4. Notice that the filter is ignored

Steps to reproduce (cell edit):

  1. Copy a date formatted as MM/dd/yy
  2. Paste it into a cell datepicker field
  3. Notice the validation flags it as an invalid date
Declined
Last Updated: 20 Sep 2024 07:17 by ADMIN
Created by: AGB
Comments: 1
Category: Kendo UI for jQuery
Type: Bug Report
0
Hi Guys,

Have just tripped over the following whereby html escaped title data is being shown in the Excel column headers when the grid is exported to Excel.

To illustrate the problem run the following dojo

    https://dojo.telerik.com/AwUMarUl

As you can see the first column title is not shown due to the angled brackets
The second column has the angled brackets escaped so the title shows correctly in the grid.

Now when the grid is exported the column headings are as follows:

    <Product Name>  &lt;Unit Price&gt;

which is not what is expected ... Any & all html escaped characters should be un-escaped.

Regards
Alan


Unplanned
Last Updated: 17 Sep 2024 07:08 by ADMIN

Hello!

 

I was recommended to submit a feature request for this in this feature request. I also commented on a similar forum question.

Dynamically adding/removing tiles via the setOptions method works, however in my case I'm using the containers/tiles to display other widgets (like charts and data grids) in a dashboard. Re-initializing the TileLayout via setOptions forces me to recreate my data widgets, some of which are loading fairly large datasets.

I've been able to work around this using the internal source code for the kendoUI TileLayout, which I dislike doing and am always just one update away from my solution breaking. So far it works - I can add/remove tiles without destroying and re-initializing. I did run into some trouble with resizing and reordering, but I think I've gotten around that.

 

It seems a common usage for the TileLayout is to display dashboards/remote data. I do think implementing a solution to add/remove tiles without re-initializing would be beneficial for many developers using this widget.

 

Thank you,

 

-Alexa

/**
     * At the time of this writing, the only kosher way to dynamically add/remove tiles to a kendoUI TileLayout is
     * to use the `setOptions` method and pushing/slicing the `containers` array. However, doing this destroys the
     * TileLayout and re-initializes it. We would have to re-initialize all the data widgets and submit requests to
     * the server all over again. So... I lifted this from the KendoUI TileLayout source code and modified it to
     * suit our needs.
     * It seems to work, but it just one update away from breaking. I guess I like living on the edge.
     *
     * @deprecated
     * @param options {Object} the kendo.ui.TileLayout `containers` item configuration
     * @param idx {Number} the index of the tile to add
     * @param kendoTileLayout {kendo.ui.TileLayout} the kendo tile layout instance
     */
    const addContainer = (options, idx, kendoTileLayout) => {
        const body = $(`<div></div>`).addClass('k-tilelayout-item-body k-card-body');
        const headerSettings = options.header;
        const id = kendo.guid();

        const container = $(`<div></div>`)
            .addClass('k-tilelayout-item k-card')
            .attr({
                id: id,
                role: 'listitem',
                'aria-keyshortcuts': 'Enter',
            });

        if (headerSettings && (headerSettings.template || headerSettings.text)) {
            const header = $('<div></div>').addClass('k-tilelayout-item-header k-card-header');
            const headerContent = headerSettings.text ? `<div class="k-card-title">${headerSettings.text}</div>` : null;

            if (kendoTileLayout.options.reorderable) {
                header.addClass('k-cursor-move');
            }

            header.append(headerContent || kendo.template(headerSettings.template)({}));
            header.appendTo(container);
        }

        body.append(kendo.template(options.bodyTemplate)({}));
        body.appendTo(container);
        container.appendTo(kendoTileLayout.element);

        kendoTileLayout._addContainer(container, options, idx, id);
    };


    /**
     * @deprecated
     * This also is using KendoUI internal source code. If/when the folks at Telerik decide to implement a different
     * solution for dynamically adding/removing tiles, that should be used instead and this should be removed.
     *
     * @param widgetId {Number} the id of the widget to remove
     * @param kendoTileLayout {kendo.ui.TileLayout} the kendo tile layout instance
     */
    const removeContainer = (widgetId, kendoTileLayout) => {
        const widgetRegex = new RegExp(`${widgetId}`);
        const matchedContainer = kendoTileLayout.options.containers.find(container => container.bodyTemplate.match(widgetRegex));

        const containerGuid = matchedContainer.id;
        const containerItem = kendoTileLayout.itemsMap[containerGuid];
        const containerItemIdx = kendoTileLayout.items.indexOf(containerItem);

        kendoTileLayout.options.containers.splice(containerItemIdx, 1);
        delete kendoTileLayout.itemsMap[containerGuid];
        kendoTileLayout.items.splice(containerItemIdx, 1);

        $(`#widget-${widgetId}`).closest('.k-tilelayout-item.k-card').remove();
        kendoTileLayout._updateContainers();

        // I've got a bad feeling about this.
        kendoTileLayout.element.off('mousemove'); // after removing a container, the resize handles weren't working.
        kendoTileLayout.resizable.destroy();
        kendoTileLayout.element.find('.k-resize-handle').remove();
        kendoTileLayout.resizeHandle = null;
        kendoTileLayout._resizable();
    };

Unplanned
Last Updated: 12 Sep 2024 07:36 by ADMIN
Two issues, both relate to using the Org Chart control to visualize a large dataset, e.g. 4000 items, with 2000 items on one level.

1) Expanding a node gets VERY slow when expanding, taking several minutes to complete -- Is there anything we can do (short of partitioning the data) to make this go faster?

2) When expanding a large number of nodes, the chart gets unweildy.  For example, if I have a top node, then five nodes below that, and expand one of those five nodes, it spreads out every node on the second row, even though only one of those nodes needs to be spread out to allow room to display the nodes under it. --  Is there anything we can do to keep the display more compact, and avoid unnecessary spreading?  (See attached for example.) 
Unplanned
Last Updated: 05 Sep 2024 09:54 by ADMIN
Created by: Anthony Gianino
Comments: 1
Category: Kendo UI for jQuery
Type: Feature Request
0

In the jquery scrollView component https://docs.telerik.com/kendo-ui/api/javascript/ui/scrollview there is no current way to enableto 'endless' or 'wrap around' option like the react component has

ref: https://www.telerik.com/kendo-react-ui/components/scrollview/endless-scrolling/

Requesting that this feature be added.

 

For my SPECIFIC my use case (which will probably not work for everyone), I did add a workaround for now

(not fond of it as it relies on the implementation details of the current version)

 

In our SCSS, I added an override to force the previous/next buttons to always be visible, even after the control hides them


...
		&.k-scrollview {

			.k-scrollview-prev, .k-scrollview-next {

				//Prevent the control from hiding these buttons when it reaches the 'end'
				//We will be using some custom logic to force the 'wrap around'
				display:flex !important; 
...

Then I subscribed click events and did some manual handling on the buttons

//After the page load & scroll view is initialized...

//note: $slides is a jquery instance that the scrollView is attached to
let scrollView = $slides.data("kendoScrollView");

let $prev = $slides.find('.k-scrollview-prev');
let $next = $slides.find('.k-scrollview-next');
$prev.on("click", function (e) {
	// NOTE: Here we are looking at an 'internal' variable, this is dependent on the version of Kendo we are using - may need to change
	// in the future
	// I figured this out by looking at the implementation in the source
	//		\src\js\kendo.scrollview.js
	let pageCount = scrollView._content.pageCount;
	let currentPage = scrollView._content.page;
	if (pageCount > 1 && currentPage === 0) {
		e.preventDefault();
		e.stopPropagation();
		scrollView.scrollTo(pageCount-1);						
	}
});

$next.on("click", function (e) {
	let pageCount = scrollView._content.pageCount;
	let currentPage = scrollView._content.page;
	if (pageCount > 1 && currentPage === pageCount - 1) {
		e.preventDefault();
		e.stopPropagation();
		scrollView.scrollTo(0);						
	}
});