Unplanned
Last Updated: 28 May 2024 10:48 by ADMIN
Created by: Marcos
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
1

Add a 3 state mode to the Switch component (like it is already implemented in the Telerik UI for WPF) or create new component with that feature.

Example:


Completed
Last Updated: 31 May 2024 06:09 by ADMIN
Release 2024 Q3 (Aug)

Bug report

TabStrip is not CSP compliant when the Selected() API configuration is enabled.

Reproduction of the problem

  1. Create an application with CSP headers
  2. Create a TabStrip and set the Selected() API configuration for one of the items
@(Html.Kendo().TabStrip()
    .Name("tabstrip")
    .Items(items =>
    {
        items.Add().Text("Details")
		.Selected(true)
		.LoadContentFrom("Details", "Home", Model);
    
    })
)

Current behavior

Setting the Select() API configuration will lead to the following Content Security Policy Header Report Error.

Refused to apply inline style because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'style-src' was not explicitly set, so 'default-src' is used as a fallback.

Expected/desired behavior

Setting the Select() API configuration should not lead to a Content Security Policy Header Report Error.

Environment

  • Kendo UI version: 2024.2.514
  • Browser: [all]
Completed
Last Updated: 05 Aug 2024 10:45 by ADMIN
Release 2024 Q3 (Aug)

Overview

Currently, the Telerik UI for ASP.NET Core DataSource does not expose a Deferred() API configuration. In comparison to its Telerik UI for ASP.NET MVC counterpart.

It would be beneficial to expose the ability to defer the component in the following manner:

@(Html.Kendo().DataSource<TelerikMvcApp119.Models.OrderViewModel>()
    .Name("ds")
    .Ajax(dataSource => dataSource
		.Read(read => read.Action("AssetType_Read", "AssetTypes"))
	)
    .Deferred()
)

It will also enable users to employ CSP using a granular deferred initialization into a separate script tag. Annotated with the nonce attribute

Current behavior

The Telerik UI for ASP.NET Core DataSource does not expose a built-in configuration for deferring the DataSource.

Expected/desired behavior

The Telerik UI for ASP.NET Core DataSource should expose a built-in configuration for deferring the DataSource.

Environment

  • Kendo UI version: 2024.2.514
  • Browser: [all]
Pending Review
Last Updated: 09 Aug 2024 07:35 by Hubert Frick
Created by: Hubert Frick
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
1

Bug report
For the Telerik Scheduler Timeline View, since the update from somewhere in between version 2022.3.1109 to 2024.2.154, a custom timeline view cannot be selected if the view name has dot(s) in its name (e.g. "kendo.ui.customTimelineView").

Reproduction of the problem

Add a custom Timeline View by extending the kendo.ui.TimelineView

Current behavior

Unlike older versions (I know that it worked with version <= 2022.3.1109, but don't know when exactly it was introduced)  now the ui blocks, when the custom select view button is clicked. Specifically, the problem is in kendo.scheduler.js at line 4554:

var viewElementToSelect = that.toolbar.find("[" + kendo.attr("name") + "=" + name + "]");

Expected behavior

In this code line, the find method does not work when the variable "name" contains something like "kendo.ui.CustomTimelineView". As a solution, I suggest escaping the name beforehand:

var nameEscaped = $.escapeSelector(name);
var viewElementToSelect = that.toolbar.find("[" + kendo.attr("name") + "=" + nameEscaped + "]");
With that or a similar solution , my custom Timeline View can be selected as before.
Unplanned
Last Updated: 26 Nov 2024 07:30 by ADMIN
Created by: Khaled Salman
Comments: 3
Category: UI for ASP.NET Core
Type: Feature Request
1
*** Support ticket created by Telerik by Progress staff ***
*** Please follow-up with additional details, if necessary. Thank you. ***

There is currently no built-in feature to dynamically disable pagination when the number of grid rows is fewer than the defined page size. I need a way to automatically disable pagination when the number of records is less than or equal to the page size for a smoother user experience. Fig: 1(a)



In the above image, After filtering the data, despite current records are less than the page size but pagination is still appearing.
Unplanned
Last Updated: 28 Nov 2024 13:35 by ADMIN
Created by: Steve
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
1

Whilst I'm aware that I can create a HTML label and add the k-label class. I feel that a Label and a LabelFor are essential parts of the toolkit to prevent brittle code getting created when/if the labels that are created within the toolkit have other requirements

I have created my own implementation for now but I think this should be added to your roadmap, especially as it's such a simple thing to do

Declined
Last Updated: 27 Jan 2025 17:54 by ADMIN
I am using the Kendo UI Upload Control and wanted to allow for multiple files in synchronous mode, but when adding multiple files at the same time, they are grouped together in the same line item. Is there a way to have each separate file as its own line item and remove item individually if we upload multiple files together? Currently while uploading multiple files and removing a single one is not supporting in synchronous mode.
Declined
Last Updated: 04 Feb 2025 08:01 by ADMIN

In this screenshot, End Date and Subm Is Open are "nested" properties, and Prod Date and Is LatestVersion are *not* nested.  The row filter functionality is not displaying the correct row filter widget.

Here's a data sample:

{

            "SubmissionVersionId": 1020,

            "ReleaseId": 2008,

            "SubmissionVersionNumber": 6,

            "IsLatestVersion": true,

            "SetId": "E2410-1f",

            "EioSubmissionId": null,

            "SubmissionName": null,

            "RequestDate": null,

            "SubmissionDate": null,

            "WitsDate": null,

            "ProdDate": null,

            "OnHoldReason": null,

            "IsSubmitted": true,

            "Created": "2024-12-20T14:39:51-08:00",

            "RowVersion": "AAAAAAAAn28=",

            "Release": {

                "ReleaseId": 2008,

                "UnversionedSetId": "E2410-1",

                "StatusId": 1,

                "ReleaseTypeId": 1,

                "ReleasePriorityId": 3,

                "EncDate": "2025-01-08",

                "KphcSuite": null,

                "SnowReq": null,

                "SnowRitm": null,

                "Created": "2024-12-17T11:20:02-08:00",

                "ReleasePriority": {

                    "ReleasePriorityId": 3,

                    "ReleasePriorityName": "Routine",

                    "ReleasePriorityAbbreviation": "ROU"

                },

                "ReleaseType": {

                    "ReleaseTypeId": 1,

                    "ReleaseTypeName": "New"

                },

                "Status": {

                    "ReleaseStatusId": 1,

                    "ReleaseStatusName": "In Progress",

                    "IsOpen": true

                }

            }

        }

 

Here is the schema definition.

 

        .Schema(s => {
            s.Model(model =>
            {
                model.Id(p => p.SubmissionVersionId);
                model.Field(p => p.SubmissionVersionId).Editable(false);
                model.Field(p => p.ReleaseId).Editable(false);
                model.Field(p => p.SubmissionVersionNumber).Editable(false);
                model.Field(p => p.IsLatestVersion).Editable(false);
                model.Field(p => p.EioSubmissionId).Editable(false);
                model.Field(p => p.SubmissionName);
                model.Field(nameof(SubmissionVersion.RequestDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.SubmissionDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.WitsDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.ProdDate), typeof(DateOnly)).DefaultValue(null);
                model.Field(nameof(SubmissionVersion.IsSubmitted), typeof(bool)).DefaultValue(false);
                // Release fields
                model.Field(nameof(Release.UnversionedSetId), typeof(string)).Editable(false);
                model.Field(nameof(Release.EncDate), typeof(DateOnly));
                model.Field(nameof(Release.SnowReq), typeof(string));
                model.Field(nameof(Release.KphcSuite), typeof(string));
                model.Field(nameof(Release.SnowRitm), typeof(string));
                // ReleaseStatus fields
                model.Field(nameof(ReleaseStatus.IsOpen), typeof(bool)).Editable(false);
            });
        })

I've attached the full cshtml file.

Completed
Last Updated: 26 Feb 2025 17:53 by ADMIN
Release 2025 Q2 (May)
Created by: erwin
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
1

Bug report

When enabling Editing for the Grid or TreeList a "No License" overlay is displayed in the following scenarios:

Reproduction of the problem

  • Grid: overlay is displayed on load
@(Html.Kendo().Grid<TelerikMvcApp13.Models.OrderViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.OrderID).Filterable(false);
        columns.Bound(p => p.Freight);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity);
        columns.Command(c => c.Edit());
    })
    .Editable(e=>e.Mode(GridEditMode.PopUp))
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Model(m=>m.Id(o=>o.OrderID))
        .Read(read => read.Action("Orders_Read", "Grid"))
        .Update(read => read.Action("Orders_Update", "Grid"))
        .Create(read => read.Action("Orders_Create", "Grid"))
        .Destroy(read => read.Action("Orders_Destroy", "Grid"))
    )
)
  • TreeList: initially there is no overlay. Clicking on "Edit" button shows overlay and "No License" popup.
@(Html.Kendo().TreeList<Kendo.Mvc.Examples.Models.TreeList.EmployeeDirectoryModelPopUp>()
    .Name("treelist")
    .Toolbar(toolbar => toolbar.Create())
    .Columns(columns =>
    {
        columns.Add().Field(e => e.FirstName).Width(220).Title("First Name");
        columns.Add().Field(e => e.LastName).Width(100).Title("Last Name");
        columns.Add().Field(e => e.Position);
        columns.Add().Field(e => e.HireDate).Format("{0:MMMM d, yyyy}");
        columns.Add().Field(e => e.Phone).Width(200);
        columns.Add().Field(e => e.Extension).Width(140).Title("Ext").Format("{0:#}");
        columns.Add().Width(300).Command(c =>
        {
            c.CreateChild().Text("Add child");
            c.Edit();
            c.Destroy();
        });
    })
    .Editable(e => e.Mode("popup"))
    .DataSource(dataSource => dataSource
        .Create(create => create.Action("Create", "EmployeeDirectory"))
        .Read(read => read.Action("All", "EmployeeDirectory"))
        .Update(update => update.Action("Update", "EmployeeDirectory"))
        .Destroy(delete => delete.Action("Destroy", "EmployeeDirectory"))
        .Model(m =>
        {
            m.Id(f => f.EmployeeId);
            m.ParentId(f => f.ReportsTo);
            m.Expanded(true);
            m.Field(f => f.FirstName);
            m.Field(f => f.LastName);
            m.Field(f => f.ReportsTo);
            m.Field(f => f.HireDate);
            m.Field(f => f.Extension).DefaultValue(0);
            m.Field(f => f.Position);
        })
    )
    .Height(540)
)

Expected/desired behavior

No overlay and popup should be displayed in case of valid license.

TicketID:

(optional)
Provide the TicketID, where the bug report initiated.

Environment

  • Kendo UI version: 2025.1.211
Unplanned
Last Updated: 18 Mar 2025 08:50 by ADMIN
Created by: Garrett
Comments: 4
Category: UI for ASP.NET Core
Type: Bug Report
1

I am seeing that once a grid checkboxlist column filter exceeds about 1000 items the wait time appears to increase non-linearly (performance is worse than linear.)  For example, with 3,000 items the page freezes for about 30 seconds.  The data is fetched in under 50 milliseconds, so the vast majority of this time appears to be processing by Kendo.

Please see the attached for my configuration.

Completed
Last Updated: 17 Mar 2025 17:38 by ADMIN
Created by: SturmA
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
1

Hi Team,

Currently, Telerik.Licensing NuGet package only has target for netstandard2.0, netframework462 and net6.0. I cannot use .NET 6 for my .NET 9 application because .NET 6 is out of support. 

This is a feature request to either

  • Remove the net6.0 TFM and reply only on netstandard2.0
    • or
  • Add net8.0 and net9.0 targets.

Thank you,

Arthur

Unplanned
Last Updated: 19 Mar 2025 09:39 by ADMIN

I'm using an OData datasource to populate the grid.  To make matters worse, the Autocomplete retrieves data for *all* of the grid columns.  I'd say the default behavior should only retrieve the current column's data and preferably use OData groupby to limit the results to distinct values.

Interestingly, the CheckBoxList filter *is* populated from the current grid data, behaving as expected.  

My page is attached and the issue is occurring in the detail grid where Server Filtering is disabled.

Declined
Last Updated: 26 Dec 2018 13:01 by ADMIN
Created by: parveen
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
0

Hello,

Object doesn't support property or method 'syncReady' I am getting this error and not able to resolve that issue. I am using visual studio core and imported Telerik.ui.for.aspnet.core.trial. I also imported the js of Kendo.Ui.Core . but not able to resolve the issue. Please help

 

Thanks

Completed
Last Updated: 09 Feb 2021 07:53 by ADMIN
I'd like to request that there's an easy way CRUD to a remote datasource with the ListBox, similar to the grid & treelist.
Unplanned
Last Updated: 13 Jan 2021 08:55 by ADMIN
Created by: Christopher
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
0

Allow general configuration of SuggestionOperator, as is available for Operators.

I can do something like this in GridFilterableSettingsBuilder --

  filterable.Operators(operators => operators
    .ForString(str => str
      .Clear()
      .Contains("contains"))

I would like to also be able to do this -- 

  filterable.SuggestionOperator(FilterType.Contains)


...instead of configuring the SuggestionOperator per column.  filterable.Cell(cell => cell.SuggestionOperator(FilterType.Contains))
Unplanned
Last Updated: 20 Mar 2020 14:31 by ADMIN
Created by: Andrew
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
0

Be able to bind the DataSource to data without a separate controller and AJAX fetch for use with Razor Pages.

The use case is a shared data source that drives multiple components on a page for example a chart and grid filtered with an auto complete box.

In a grid I can do this:

@(Html.Kendo().Grid(Model.Data)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Description).Title("Description");
        columns.Bound(p => p.RecordCount).Title("Number Sold").Width(130);
        columns.Bound(p => p.TotalValue).Title("Total Value").Width(130);
        columns.Bound(p => p.AverageValue).Title("Average Value").Width(130);
        columns.Bound(p => p.Rank).Title("Rank").Width(130);
        columns.Bound(p => p.RankMax).Title("Bananas").Width(130);
        columns.Bound(p => p.LowerQuartile).Title("LowerQuartile").Width(130);
        columns.Bound(p => p.Median).Title("Median").Width(130);
        columns.Bound(p => p.UpperQuartile).Title("UpperQuartile").Width(130);
    })
    .Sortable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .ServerOperation(false)
    )
)

 

Would want to be able to do same with the DataSource like:

@(Html.Kendo().DataSource(Model.Data)
    .Name("dataSource1")
    .Ajax(dataSource => dataSource
        .ServerOperation(false)
    )
    )

 

Completed
Last Updated: 20 Oct 2020 13:41 by ADMIN

Bug report

Reproduction of the problem

  1. Run the project attached on in 16.9.2020 in Ticket ID: 1484793
  2. Check the "Add 3rd Step" checkbox
  3. Navigate to the 3rd step - the Rating is unresponsive and its value cannot be changed

Current behavior

The Rating is unresponsive.

Expected/desired behavior

The Rating works properly.

Environment

  • Kendo UI version: 2020.2.617
  • jQuery version: x.y
  • Browser: [all ]
Completed
Last Updated: 28 Sep 2020 15:25 by ADMIN
Release 2020.R3.SP.next
Created by: Emmsa
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
0

Bug report

Reproduction of the problem

The kendo.common-bootstrap.min.css file contains the following rule:

.k-time-container{padding-right:100px;padding-left:100px;margin-left:-100px;margin-right:-100px;margin-"left":-117px}

that sets margin-left incorrectly: margin-"left"

Current behavior

Expected/desired behavior

Environment

  • Kendo UI version: 2020.3.915
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 21 Dec 2020 09:56 by ADMIN
Created by: Erich Čonka
Comments: 3
Category: UI for ASP.NET Core
Type: Feature Request
0

Hi support team,

I have a question about translation of Kendo. I'm using Kendo as NuGet package dependency
and some text resources aren't translated to Slovak. They are still in English.
For example question in delete confirm dialog of grid and "Add new record" button of grid.
And in other widgets, but these two are the most important for me.
Is there any option to get translation working from NuGet package?
I tried everything i found, but nothing works.

Thanks in advance

Vlado

Unplanned
Last Updated: 20 Jan 2021 12:57 by ADMIN
Created by: David
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
0

This common issue immediately manifests itself through the Html helper output of shape Html.Kendo().__For(model => model.__). The output html contains a script following the created element, which contains:

kendo.syncReady(function(){jQuery("#NewPersonId").kendoTextBox({});});

This can possibly be mitigated by replacing the query part with:

jQuery(document.currentScript.previousSibling)
browser support for currentScript

browser support for previousSibling

This suggestion assumes that the script element is always the next sibling of the element being "syncReady"-ed.

 

This will not solve the issue of users facing the issue in the own code if they try to query the element by ID themselves, but it may save them the trouble of specifying an id in cases where they only need to do so to prevent ID contention. This is only a suggestion. Feel free to disregard it.