Completed
Last Updated: 06 Dec 2024 12:20 by ADMIN
Release 2025 Q1 (Feb)

### Bug Report

Picker TagHelpers do not set the "value" attribute in conjunction with the "for" attribute.

### Reproduction of the problem

1. Create a model with a nullable DateTime property:

         public class MyModel
         {
               public DateTime? Birthday { get; set; }
         }

2. Declare either a DatePickerFor, DateInputFor, or TimePickerFor TagHelpers and set an initial value:

        @model OrderViewModel
        <kendo-dateinput for="OrderDate" value="DateTime.Now">
          ...
        </kendo-dateinput>

3. Notice, that the value has not been assigned accordingly.

This behavior is not consistent with the HTMLHelper, as the Value() attribute is taken more predominantly when the PickerFor HtmlHelper is utilized:

@(Html.Kendo().DatePickerFor(m => m.ShippedDate)
    .Value(DateTime.Today)
)

### Current behavior

Picker TagHelpers do not set the "value" attribute in conjunction with the "for" attribute.

### Expected behavior

Picker TagHelpers should set the "value" attribute in conjunction with the "for" attribute.

### Environment

Telerik UI for ASP.NET Core version:  2024.4.1112
Browser: [all]

Unplanned
Last Updated: 05 Dec 2024 14:44 by ADMIN
Created by: Steve
Comments: 0
Category: Form
Type: Feature Request
0

The FormItemBuilder exposes an EditorTemplateView method which allows a view to represent the item and provides the entire modal to the view.

As the elements available to forms are limited to those hard coded by Telerik and whilst extension methods can be employed to expand this limitation slightly, the ability to create a context specific view would be ideal

The current implementation looks like this

Html.Kendo().Form<Model>()
    .Items(items =>
    {
        items.AddGroup("Test", 1, 10)
            .Items(i =>
                {
                    i.Add().Field(x => x.Username)
                    i.Add().Field(x => x.Password).EditorTemplateView(Html.Partial("MyView"))
                }
            );
    })

In this example, the entire model is provided into MyView. 

I suggest adding an EditorTemplateFor that uses the lamda expression provided in the Field() method such as

Html.Kendo().Form<Model>()
    .Items(items =>
    {
        items.AddGroup("Test", 1, 10)
            .Items(i =>
                {
                    i.Add().Field(x => x.Username)
                    i.Add().Field(x => x.Password).EditorTemplateViewFor(Html.Partial("MyView"))
                }
            );
    })
Using the convention I would expect MyView to be provided the Password field only
Unplanned
Last Updated: 04 Dec 2024 16:01 by Ben
Created by: David
Comments: 1
Category: Grid
Type: Feature Request
1

By default, when the "paste" command is added, the default option is "insert" mode ("Paste (Insert)"). Is it possible to add an option that allows setting the default paste mode to "replace" ("Paste (Replace)")?

Planned
Last Updated: 04 Dec 2024 10:54 by ADMIN
Created by: Bryan Patrick
Comments: 0
Category: Grid
Type: Bug Report
1

Bug report

Expose additional API configurations for the Grid's ToolBar

Reproduction of the problem

As of recent releases, the Kendo UI Grid Toolbar has been substituted with the Kendo UI Toolbar. This change allows users to add the majority ToolBar.items API options apart from the built-in tools.

As noted within the Kendo UI for jQuery API documentation for the Grid's Toolbar:

"Apart from the built-in tools, the Grid fully exposes the ToolBar.items API. This way you can specify any custom tools in the widget using the components available in the ToolBar itself."

Current behavior

The inherited ToolBar.items API options are not available for the server-side Telerik UI Grid for ASP.NET Core and MVC wrappers as well.

Expected/desired behavior

It would be beneficial to the customers if the inherited ToolBar.items API options are available for the server-side Telerik UI Grid for ASP.NET Core and MVC wrappers as well.

Environment

  • Kendo UI version: 2024.1.130
  • Browser: [all]
Completed
Last Updated: 03 Dec 2024 13:20 by ADMIN
Release 2025 Q1 (Feb)

### Bug report

When the project is configured for runtime compilation, and the TagHelper DropDownList has custom classes or attributes, NullReferenceException is thrown.

### Reproduction of the problem

1. Create a .NET 8 project and install the  Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet package.

2. Define a TagHelper DropDownList and add a custom class:

//Program.cs
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();

builder.Services.AddMvc().AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null);
builder.Services.AddKendo();

//View

<kendo-dropdownlist for="Id" datatextfield="Text" datavaluefield="Value" auto-width="true" class="form-control w-75">
    <datasource type="Kendo.Mvc.UI.DataSourceTagHelperType.Ajax">
        <transport>
            <read url="@Url.Action("GetData", "Home")"/>
        </transport>
    </datasource>
</kendo-dropdownlist>

3. Run the application and observe the exception: "NullReferenceException: Object reference not set to an instance of an object."

4. When using the HtmlHelper version of the DropDownList or removing the custom class from the TagHelper declaration, the error does not occur.

### Expected/desired behavior

The TagHelper DropDownList must exhibit the same behavior as the HtmlHelper DropDownList.

### Workaround

Add the custom class with jQuery:

<kendo-dropdownlist for="Id" datatextfield="Name"  datavaluefield="Id"  auto-width="true">
 ...
</kendo-dropdownlist>

<script>
$(document).ready(function(){
    $("#Id").addClass("form-control w-75"); // add the class to the hidden input element
    $("#Id").attr("required", "required");
    $("#Id").closest("span.k-dropdownlist").addClass("form-control w-75"); // add the class to the wrapper element
});
</script>

### Environment

* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [all]

Unplanned
Last Updated: 03 Dec 2024 12:05 by Chris

### Bug report

When loading an editor through a partial View using EditorTemplateView(await Html.PartialAsync("PartialViewName")), the following error occurs:

The 'await' operator can only be used within an async lambda expression. Consider marking this lambda expression with the 'async' modifier.

### Reproduction of the problem

@(Html.Kendo().Form<UserViewModel>()
     .Name("myForm")
     .Items(items =>
     {
         items.Add().Field(f => f.Username).EditorTemplateView(await Html.PartialAsync("PartialViewName"));
      })
)

### Expected/desired behavior

The EditorTemplateView() must accept Html.PartialAsync("PartialViewName").

### Environment

* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [all]

Completed
Last Updated: 03 Dec 2024 11:12 by ADMIN
Created by: Gaurav
Comments: 1
Category: Grid
Type: Feature Request
1
Is it possible to enhance the column menu by adding an option allowing the user to lock a specified column through the column menu?
Unplanned
Last Updated: 29 Nov 2024 09:51 by Steve
Created by: Steve
Comments: 0
Category: Switch
Type: Feature Request
1

The "Switch" component does not expose "Label" configuration.

For example:

@(Html.Kendo().Switch()
    .Name("switch")
    .Label(f => f
        .Content("Theme")
    )
)

 

Completed
Last Updated: 28 Nov 2024 15:02 by ADMIN
Release 2024 Q2 (May)

Bug report

In a .NET 7 project when TagHelper Grid is configured and RuntimeCompilation is employed, starting from version 2023.2.606 an unhandled exception is thrown.
image

Reproduction of the problem

  1. Create a .NET 7 project
  2. Enable RuntimeCompilation
  3. Install a 2023.3.606 or later version of Telerik UI for ASP.NET Core
  4. Configure a TagHelper Grid

Current behavior

When run a runtime error occurs

Expected/desired behavior

TagHelper Grid should exhibit the same behavior as HtmlHelper ones.

Environment

  • Kendo UI version: 2024.1.130
  • Browser: [all]
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

Unplanned
Last Updated: 27 Nov 2024 13:15 by Josh

Is it possible to implement template options for the "update" and "cancel" column commands of the Grid?

For example:

$("#grid").kendoGrid({
  columns: [{ 
    command: [{
        name: "edit",
        template: {
            update: "<button class='customUpdate'>Save</button>",
            cancel: "<button class='customCancel'>Cancel</button>",
          }
      }]
   }],
  ...
});

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.
Completed
Last Updated: 26 Nov 2024 07:15 by ADMIN
Release 2025 Q1 (Feb)

### Bug report

When building the scripts through the 'npx gulp scripts' command, there is an error "Error: Cannot find module './build/gulp/kendo-version'".

### Reproduction of the problem

Download any of the source bundles (Core, MVC, jQuery) and try to build the scripts.


### Environment

* **Kendo UI version: 2024.4.1112

Completed
Last Updated: 22 Nov 2024 14:12 by ADMIN
Release 2025 Q1 (Feb)
Created by: Jon
Comments: 0
Category: Splitter
Type: Bug Report
1

### Bug report

When you click on the splitbar of a horizontal Splitter, the page scrolls down.

### Reproduction of the problem

1. Create a horizontal Splitter with 2 panes;

2. Set a height of the Splitter;

3. When the page is loaded, focus on the splitbar (click on it or resize the panes). As a result, the page scrolls down.

A Dojo sample for reproduction: https://dojo.telerik.com/uSanOtaW/2

### Expected/desired behavior

The page should not be scrolled vertically.

### Environment

* **Kendo UI version: 2021.3.1207
* **jQuery version: 1.12.4
* **Browser: [all]

Completed
Last Updated: 20 Nov 2024 08:33 by ADMIN
Release 2025 Q1 (Feb)

Bug Report

The Pickers are not bound to model value when a nullable DateTime is set.

Reproduction of the problem

  1. Create a model with a nullable DateTime property
         public class MyModel
         {
               public DateTime? Birthday { get; set; }
         }
    
  2. Declare either a DatePickerFor, DateRangePickerFor, DateInputFor, or TimePickerFor Helpers
        @(Html.Kendo().TimePickerFor(m => m.Birthday))
    
  3. Notice, that the value has not been bound accordingly.

Current behavior

The Pickers are not bound to model value when nullable.

Expected behavior

The Pickers are not bound to model value when a nullable DateTime is set.

Environment

Kendo UI version: 2024.4.1112
jQuery version: x.y
Browser: [all]

Unplanned
Last Updated: 19 Nov 2024 13:36 by ADMIN
Scheduled for 2024 Q4 (Nov)

### Bug report

When the Virtualization of the MultiColumnComboBox is enabled, the table headers and rows are not aligned correctly.

### Reproduction of the problem

A Dojo sample for reproduction: https://dojo.telerik.com/ORalaWoq

The tables and rows are aligned as expected when using version 2021 R3 SP2 (2021.3.1207).

A temporary workaround:

<style>
    .k-table-list .k-table-group-row, .k-table-list .k-table-row {
        display: inline-flex;
    }
</style>

 

### Expected/desired behavior

The headers and rows should be aligned correctly when the Virtualization is enabled.


### Environment

* **Kendo UI version: 2022.1.412
* **jQuery version: 1.12.4
* **Browser: [all]

Planned
Last Updated: 19 Nov 2024 09:55 by ADMIN
Scheduled for 2025 Q2 (May)
Created by: Janick
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
4

Consider the use of TextWriter async methods for the HTML Helpers, for example the WriteInitializationScript methods.  In certain scenarios the use of the synchronous methods causes an exception: System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.

This can be resolved by explicitly enabling synchronous operations

services.Configure<IISServerOptions>(options =>
    {
        options.AllowSynchronousIO = true;
    });

though synchronous operations have been disabled by default at framework level as of .NET 3.0.

Planned
Last Updated: 19 Nov 2024 08:58 by ADMIN
Scheduled for 2025 Q1 (Feb)
Created by: Kaya
Comments: 0
Category: DateTimePickers
Type: Feature Request
1

This just seems like a minor oversight since the Enable(bool) method exists on the DatePicker html helper and other Kendo taghelpers support the enable or enabled attribute, but there doesn't seem to be an enable-like attribute for the kendo-datepicker. Thanks!

<kendo-datepicker for="ReadOnlyDate" enable="false"></kendo-datepicker>

Planned
Last Updated: 19 Nov 2024 08:58 by ADMIN
Scheduled for 2025 Q1 (Feb)
Created by: Alistair
Comments: 0
Category: Wizard
Type: Feature Request
3

Currently, the Content function for Steps in a Wizard only accepts a string value (see API here). 
This means that in order to add a partial view (bound to the current model and its properties), the most straightforward way I could find was to put the partial view (and any wrappers) in its own file and add an extension method "ToHtmlString()". For example:

@model MyModel

@(Html.Kendo().Wizard().Steps(step => {

step.Add().Content(Html.Partial("~/Path/To/View/Wrapper.cshtml", Model).ToHtmlString());

})

using Microsoft.AspNetCore.Html;
using System.IO;

public static class HtmlContentExtensions
{
    public static string ToHtmlString(this IHtmlContent htmlContent)
    {
        if (htmlContent is HtmlString htmlString)
        {
            return htmlString.Value;
        }

        using StringWriter writer = new();
        htmlContent.WriteTo(writer, System.Text.Encodings.Web.HtmlEncoder.Default);
        return writer.ToString();
    }
}
This is not ideal, as it requires the usage of Html.Partial (which displays a warning in the latest versions of .NET 8). It is also awkward as it sometimes means that new view files need to be created for the explicit purpose of being a "wrapper" even though they do not contain much content. And lastly, it also requires an extension method, so it's not immediately easy for other Telerik users to use.

In the Telerik TabStrip, a better approach is possible, as the Content for Items can take in a function which accepts Razor syntax (see API here). For instance:

@model MyModel @(Html.Kendo().TabStrip().Items(tabstrip => { tabstrip.Add()

.Content(@<div id="@Model.TabContainer" class="myTabWrapperClass">

@await Html.PartialAsync("~/Path/To/View.cshtml", Model)

</div>); })

In this case, we can use Html.PartialAsync (avoiding .NET 8 warnings), we don't need an extension method, and it is easy to add any required "wrapping" such as a div with an ID, without needing a whole separate view.

If we had the option to use the same approach with Wizard Steps, that would be ideal!

Completed
Last Updated: 18 Nov 2024 15:06 by ADMIN

Bug report

Reproduction of the problem

Dojo example.

  1. Run the example

Current behavior

The Chart's animation does not work when it is nested in the Splitter.

Expected/desired behavior

The Chart's animation should work.

Environment

  • Kendo UI version: 2021.1.119
  • jQuery version: x.y
  • Browser: [all]
1 2 3 4 5 6