Unplanned
Last Updated: 01 Nov 2024 10:11 by ADMIN
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);						
	}
});

 

 

Unplanned
Last Updated: 05 Sep 2024 08:37 by ADMIN
Created by: Anthony Gianino
Comments: 1
Category: Kendo UI for jQuery
Type: Feature Request
0

See https://demos.telerik.com/kendo-ui/menu/scrollable

When you hover over the left or right arrow on the menu, the menu scrolls.

Our client *hates* that, and only wants the menu to scroll when you actually click on the left/right arrow.

 

Request:

Add an option so that we can turn OFF the scrolling on hover on the left/right scroll buttons in the menu.

 

Support ticket related: https://www.telerik.com/account/support-center/view-ticket/1662811

Unplanned
Last Updated: 02 Sep 2024 09:30 by ADMIN
Created by: Steven
Comments: 1
Category: Kendo UI for jQuery
Type: Feature Request
0

We are currently utilizing Telerik's Spreadsheet functionality across two different technologies:

- KendoUI for jQuery: This is being used by our FrontEnd users.
- .NET Assembly of Telerik: This is employed for backend processing and interfaces.

Both Spreadsheet implementations allow us to populate data; however, we've observed a discrepancy between the two. Specifically, there is a misalignment in the available functions, where some functions accessible in KendoUI are not available in the .NET Assembly. To address this inconsistency, we request the following enhancements:

1. Unified Function List: We would like an official list of functions that are consistently supported by both the jQuery library and the .NET assembly. Currently, the frontend offers a broader range of functions than the backend. Since our system relies on both for computations, consistency is crucial.

2. Function Usage Detection: We request an event or function in both the JS and .NET implementations that can detect the functions used within a formula. This will allow us to identify discrepancies early on.

3. Backend Validation: An event that triggers when a formula entered on the frontend is valid there but would fail on the backend due to unsupported functions would be invaluable. This will help prevent issues caused by discrepancies between the frontend and backend function implementations.

4. Enhanced Backend Functionality: We also request additional functions or exposed properties on the backend to perform similar checks as described above. This is particularly important for our customizations that allow formulas to be entered directly on the backend, bypassing the spreadsheet UI.

5. Specific Error Handling: On the backend, it would be helpful to introduce a specific error type, distinct from the generic error, that indicates a calculation failure due to an unsupported function in a formula. Currently, the generic error type could indicate multiple issues, making it difficult to diagnose the root cause.

 

Unplanned
Last Updated: 26 Aug 2024 10:07 by alex

Bug report

TreeList with multi-column headers and row filtering throws an error when user tries to reorder a column.

Reproduction of the problem
Open the Dojo - https://dojo.telerik.com/aFIkOPUp/3
Try to move column "position" left or right

Current behavior
Error is thrown 

Uncaught TypeError: Cannot read properties of undefined (reading 'locked')

Expected/desired behavior

Rerdering shall be allowed

Environment

jQuery version: 3.4.1

Kendo UI version: [all]
Browser: [all ]

Declined
Last Updated: 02 Oct 2024 08:08 by ADMIN
Created by: alex
Comments: 9
Category: Kendo UI for jQuery
Type: Bug Report
0

i've tried to apply autoFitColumn method for treelist accordingly to the documentation, https://docs.telerik.com/kendo-ui/api/javascript/ui/treelist/methods/autofitcolumn#autofitcolumn , and seems it assumes only "simple" columns structure, i.e. no nested headers.

 

Duplicated
Last Updated: 26 Aug 2024 10:11 by ADMIN
Created by: alex
Comments: 1
Category: Kendo UI for jQuery
Type: Bug Report
0

treelist

- has filterable mode 'row',

- some columns are not filterable,

- columns reordering is allowed

drag-n-drop of columns raises error in console

demo: https://dojo.telerik.com/aFIkOPUp

try to move column "position" left or right

 

Unplanned
Last Updated: 23 Aug 2024 07:04 by ADMIN
Created by: Nasif Ishtiaque
Comments: 0
Category: Kendo UI for jQuery
Type: Feature Request
3

Dear Kendo UI Team,

I am writing to request the implementation of a mention user feature for the Kendo UI TextArea component. This functionality would significantly enhance the user experience and collaboration capabilities of our .NET application.

Similar to popular social media platforms, the ability to mention users within a text area would allow for efficient communication, tagging, and collaboration among users. This feature could be implemented by enabling users to type an '@' symbol followed by a partial username, which would then trigger a dropdown list of matching user suggestions.

By incorporating this feature, Kendo UI would further solidify its position as a leading UI component library, providing developers with the tools to create more engaging and interactive applications.

Thank you for considering this feature request. We look forward to your response.

 

Sincerely,

Nasif Ishtiaque Islam

Software Engineer

 

Unplanned
Last Updated: 15 Aug 2024 13:41 by ADMIN
Created by: Lee
Comments: 0
Category: Kendo UI for jQuery
Type: Bug Report
0

There is an issue with the .k-sorted class being applied to the last column in the grid when the actual column is not visible. It also is not updating the k-sorted when a sort is applied after the grid was created. 

This seems to be an issue in the latest release if the column sorted on is hidden, the last column in the grid gets the class. I also noticed that sorting a column does not apply the k-sorted class to the correct column: https://dojo.telerik.com/@dojolee/eFIbaSUn 

Need More Info
Last Updated: 30 Aug 2024 07:13 by ADMIN
Created by: AGB
Comments: 5
Category: Kendo UI for jQuery
Type: Bug Report
0
Hi Guys,

I have been investigating an issue with the ComboBox component under Chrome whereby a scrollbar is being show when using the autoWidth option and a limited number of list entries.

The scenario is as follows

- When the control initially loads and you hit the dropdown button the list does not have vertical scrollbar.
  (See screen shot 1)  

- Select an item and and then hit the clear button.
  Now when you hit the dropdown the list has a vertical scrollbar.
  (See screen shot 2)

The issue is very random and can occur with any number of list items, providing the initial dropdown doesn't require a scrollbar.

I have tried to create a dojo to illustrate the problem but have so far failed.

Looking at the element with Dev tools I see on the initial dropdown the wrapper div is as follows

    <div class="k-list-content k-list-scroller" unselectable="on" style="overflow: hidden auto;">

but after select, clear & dropdown the div shows

    <div class="k-list-content k-list-scroller" unselectable="on" style="overflow: hidden scroll;">

Tracing through the code the problem is within the following function of the kendo.list.js file

        _refreshScroll: function() {
            var listView = this.listView;
            var enableYScroll = listView.element.height() > listView.content.height();

            if (this.options.autoWidth) {
                listView.content.css({
                    overflowX: "hidden",
                    overflowY: enableYScroll ? "scroll" : "auto"
                });
            }
        },

It would appear that under certain conditions Chrome is setting the enableYScroll value to true and hence the 'scroll'.

Looking at this function I cannot see a reason why there is even a need to set overflowY to 'scroll' surely just leaving it set as 'auto' is good enough and let the browser decided if scrollbars are required.

Regards
Alan

Completed
Last Updated: 09 Aug 2024 07:57 by ADMIN

Hi,

We have recently upgraded our Kendo MVC version to 2024.2.514.462. The normal upgrade works fine but I was trying to implement the `CSP template` after removing the `unsafe-eval` from the tag as it was announced in 2023 version.

I was following the example given in CSP template and tried changing the template defined in treeview (also as shown in the documentation):-


  sideNavList.kendoTreeView({
      /*template: "<span id='#= item.id #' class='navText'> #= item.text# </span>",*/
      template: ({ items }) => `<span id='kendo.htmlEncode(items.id)' class='navText'> kendo.htmlEncode(items.text) </span>`,
      dataSource: hierarchicalLeftNavData,

It is not throwing error but it's not able to recognize the `item` and rendering the template as:-


<span id="kendo.htmlEncode(items.id)" class="navText"> kendo.htmlEncode(items.text) </span>

Am I missing anything?

Completed
Last Updated: 29 Aug 2024 12:46 by ADMIN
Release 2024 Q4 (Nov)
Created by: Lynn
Comments: 2
Category: Kendo UI for jQuery
Type: Bug Report
0

I have custom messages for my filter, these values replace the and/or values instead of just the visual after switching the and/or once.

Reproducer: https://dojo.telerik.com/AdOGEQey

When initially running you will see "en/of" (and/or), if you than press any of them the text below will insert the message value of the button rather than the underlaying value of "and/or".

Completed
Last Updated: 30 Aug 2024 09:58 by ADMIN
Release 2024 Q4 (Nov)
Hi Guys

Just testing the latest release and have spotted an issue with the DatePicker & DateTimePicker controls whereby the next month transitions are very sluggish.

To demonstrate run the Overview demo

    https://demos.telerik.com/kendo-ui/datepicker/index

Clicking on the 'Previous' month button the transition is nice an smooth but clicking on the 'Next' month button things are very sluggish with a snap effect.

Problem occurs under both Chrome & Firefox so not browser related.

A quick check back through previous releases and it would appear this regression was introduced with the v2024.2.514 release.

Regards
Alan

1 2 3 4 5 6