Completed
Last Updated: 14 Jun 2024 10:59 by ADMIN
Release 2024 Q3 (Aug)

Bug report

When a modal Dialog is open, if we open a modal Window and then attempt to close it, a js exception is thrown. This is a regression introduced in version 2024.1.319.

Reproduction of the problem

Run the following dojo example: https://dojo.telerik.com/IrEWEHAZ

  1. Click the "Open Nested Window" button.
  2. After the Window opens, try to close it by clicking its "x" button.

Current behavior

A js exception is thrown:
Uncaught TypeError: this._object(...)._overlay is not a function
The issue is related to the modal option being enabled in both the Dialog and the Window. Disabling this option in one of them, prevents the exception.

Expected/desired behavior

The Window closes without exceptions.

Environment

  • Kendo UI version: 2024.1.319
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 13 Jun 2024 14:59 by ADMIN
Release 2024 Q3 (Aug)
Created by: Bill
Comments: 0
Category: UI for ASP.NET MVC
Type: Bug Report
2

Bug report

Bundling the Kendo js files in an ASP.NET MVC application throws a NullReferenceException error. Reproduced with versions 2024.1.319 and 2024.2.514. The bundling works without exceptions in version 2023.3.1114.

Reproduction of the problem

  1. Add the following bundle to the BundleConfig.cs file:
bundles.Add(new ScriptBundle("~/bundles/kendo").Include(
        "~/Scripts/kendo/2024.2.514/kendo.web.min.js",
        "~/Scripts/kendo/2024.2.514/kendo.aspnetmvc.min.js"
));

Instead of kendo.web.min.js you can use kendo.all.min.js with the same result.

  1. Render the scripts in the _Layout.cshtml's head element after jQuery by calling:
@Scripts.Render("~/bundles/kendo")

Current behavior

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Workaround:

Use bundles.Add(new Bundle("~/bundles/kendo") instead of bundles.Add(new ScriptBundle("~/bundles/kendo")

Expected/desired behavior

No exception is thrown when bundling the Kendo script files.

Environment

  • Kendo UI version: 2024.2.514
  • jQuery version: x.y
  • Browser: [all ]
Completed
Last Updated: 11 Jun 2024 16:08 by ADMIN
Release 2024 Q3 (Aug)

### Bug report

When server-side localization is used (the culture is different than the default one ("en-US")), all columns are filterable, even when the Filterable() configuration is disabled.

### Reproduction of the problem

1) Create a filterable TreeList and disable the filtering of a specified column.

2) Set the server-side culture to "es-ES".

//Web.config

<system.web>
    <globalization uiCulture="es-ES" culture="es-ES"></globalization>
</system.web>

//View.cshtml
@(Html.Kendo().TreeList<UserViewModel>()
        .Name("treelist")
        .Columns(columns => {
            columns.Add().Field(p => p.id).Filterable(false);
            columns.Add().Field(p => p.Name);
            ...
        })
	.Filterable(true)
	...
)

3) The "id" column is filterable even though the filtering is disabled:

### Expected/desired behavior

The filtering per column must be configurable irrespective of whether localization is used or not.

### Workaround

After the TreeList is initialized, call the setOptions() method and disable the filtering of the respective columns:

<script>
    $(document).ready(function () {
        var treelist = $("#treelist").getKendoTreeList();
        if (treelist) {
            var colOptions = treelist.columns;
            colOptions[0].filterable = false;
            treelist.setOptions({ columns: colOptions });
        }
    })
</script>

### Environment

* **Telerik UI for ASP.NET MVC/Core version: 2024.1.130
* **jQuery version: 3.7.0
* **Browser: [all]

In Development
Last Updated: 11 Jun 2024 11:51 by ADMIN
Scheduled for 2024 Q3 (Aug)

Bug report

Reproduction of the problem

  1. Initialize a Grid with the following Filter and ColumnMenu configuration:
@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
    .Name("grid")
    .Columns(columns => {
        columns.Bound(p => p.OrderID).Filterable(false).Width(100);
        columns.Bound(p => p.ShipCity).Width(100);
        columns.Bound(p => p.ShipCity).Width(150);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}").Width(140);
    })
    .Sortable()
    .Filterable(f => f.Extra(true)
        .Messages(message => message.Equals("Равно"))
        .Messages(message => message.Filter("Приложи"))
        .Messages(message => message.Clear("Изчисти"))
        .Messages(message => message.Info("Покажи записи които:"))
        .Messages(message => message.And("и"))
        .Messages(message => message.Or("или"))
        .Messages(message => message.AdditionalOperator("fdfdfd"))
        .Messages(message => message.IsFalse("Активни  "))
        .Messages(message => message.IsTrue("Неактивни   "))
    )
    .ColumnMenu()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Model(model => model.Id(p => p.OrderID))
        .Read(read => read.Action("Orders_Read", "Grid"))
     )
)

Or use this REPL example: https://netcorerepl.telerik.com/QSYflePv05yaqnLZ07

The issue is also reproducible with the ColumnMenu set the following way:

.ColumnMenu(cm => cm
        .Messages(message => message.Columns("Колони"))
        .Messages(message => message.ColumnSettings("Насторйки"))
        .Messages(message => message.Filter("Филтър"))
        .Messages(message => message.SortAscending("Сортирай възходящ ред"))
        .Messages(message => message.SortDescending("Сортирай низходящ ред"))
    )

Current behavior

The filter menu messages are not set.

filter-menu-messages

Expected/desired behavior

The filter menu messages are set regardless of whether a ColumnMenu is enabled or not.

Environment

  • Kendo UI version: 2024.1.314
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 11 Jun 2024 10:11 by ADMIN
Release 2024 Q3 (Aug)
Created by: Ivan
Comments: 0
Category: Chart
Type: Bug Report
0

### Bug report

The legend items cannot be configured in the SeriesDefaults() configuration of the Pie Chart.

### Reproduction of the problem

1) Create a Pie Chart with a visible legend.

2) Add the SeriesDefaults() configuration and try to add the LegendItem() option to set the type of the legend items.

.SeriesDefaults(seriesDefaults =>
{
    seriesDefaults
            .Pie();
            .LegendItem(x => x
                .Type("line")
                .Line(y => y.DashType(ChartDashType.Solid)));
})

The Legenditem() option is available for Telerik UI for ASP.NET Core Pie Chart.

### Expected/desired behavior

The legend items of the Pie Chart must be configurable through the SeriesDefaults() option.


### Environment

* **Telerik UI for ASP.NET MVC version: 2024.1.319
* **Browser: [all]

Pending Review
Last Updated: 10 Jun 2024 10:00 by Rahul
Created by: Rahul
Comments: 0
Category: UI for ASP.NET MVC
Type: Bug Report
0

Hi Team,

1. Date column filter value shown full date instead of dd/MM/yyyy format. If I change the format  filter not working. 

Sample screenshot:

 

2. When I click on grid or some other area on the page selected filter text value like('Last month', 'Last week', 'Today', 'Yesterday') from custom date filter dropdown

 

Grid:

@(Html.Kendo().Grid<InteractiveReports.Model.ViewModel.UserReportResult>()
                                    .Name("userreport")
                                    .HtmlAttributes(new {  @class = "reportgrid" })
                                    //.ToolBar(toolBar => toolBar.Template(
                                    //"<a id='exportpdfdata' class='k-button k-button-icontext k-grid' href='#'><span class='k-icon k-i-pdf'></span>Export to PDF</a>" +
                                    //"<a class='k-button k-button-icontext k-grid-excel' href='#'><span class='k-icon k-i-excel'></span>Export to Excel</a>" +
                                    //"<a id='exportcsvdata' class='k-button k-button-icontext k-grid-csv' href='#'><span class='k-icon k-i-csv'></span>Export to CSV</a>"
                                    //))
                                    .Excel(excel => excel
                                        .AllPages(true)
                                        .FileName("User Report.xlsx")
                                        .Filterable(true)
                                    )
                                    .Columns(columns =>
                                    {

                                        columns.Bound(c => c.Team).Title("Team Name").Filterable(ftb => ftb.Multi(true).Cell(cell => cell.ShowOperators(false).Template("TeamDropDownList")))
                                          .Locked(true)
                                          .ClientTemplate("<a class = 'link-button' title='Team Report'  href='\\#' onclick=" + " onteamClick('#=escape(Team)#');>" + "#= Team != null && Team != '(Blanks)' ? Team : '' #" + "</a>")
                                          .Width(200);

                                        //columns.Bound(c => c.Team_type).Title("Team type").Filterable(ftb => ftb.Multi(true)).Width(200);
                                        columns.Bound(c => c.Team_type).Title("Team type").Filterable(ftb => ftb.Multi(true).Cell(cell => cell.ShowOperators(false).Template("Team_typeDropDownList")))
                                         .Width(200).ClientTemplate("#= (Team_type == '(Blanks)') ? '' : Team_type #");
                                        columns.Bound(c => c.Username).Title("Username")
                                         .Width(200).ClientTemplate("#= (Username == '(Blanks)') ? '' : Username #");
                                        columns.Bound(c => c.Title).Title("Title").Width(200).ClientTemplate("#= (Title == '(Blanks)')? '' : Title #");
                                        columns.Bound(c => c.First_name).Title("First Name").Width(200).ClientTemplate("#= (First_name == '(Blanks)') ? '' : First_name #");
                                        columns.Bound(c => c.Last_name).Title("Last Name").Width(200).ClientTemplate("#= (Last_name == '(Blanks)') ? '' : Last_name #");
                                        columns.Bound(c => c.Email_address).Title("Email Address")
                                         .Width(200).ClientTemplate("#= (Email_address == '(Blanks)') ? '' : Email_address #");
                                        columns.Bound(c => c.Company).Title("Company").Filterable(ftb => ftb.Multi(true).Cell(cell => cell.ShowOperators(false).Template("CompanyDropDownList")))
                                        .Width(200).ClientTemplate("#= (Company == '(Blanks)') ? '' : Company #");

                                        columns.Bound(c => c.User_status).Title("User Status").Filterable(ftb => ftb.Multi(true).Cell(cell => cell.ShowOperators(false).Template("User_statusDropDownList")))
                                         .Width(200).ClientTemplate("#= (User_status == '(Blanks)') ? '' : User_status #");
                                        columns.Bound(c => c.Total_time_logged_in).Title("Total Time Logged In").Width(200)
                                        .ClientTemplate("#= (Total_time_logged_in == '(Blanks)') ? '' : Total_time_logged_in #");
                                        columns.Bound(c => c.Last_login_date).Title("Last Login Date").Width(200)
                                        //.ClientTemplate("#= Last_login_date != null ? Last_login_date : '' #")
                                        .ClientTemplate("#= Last_login_date != null ? kendo.toString(Last_login_date, 'dd/MM/yyyy') : '' #")
                                        .Format("{0:dd/MM/yyyy}")
                                        //.Filterable(ftb => ftb.Cell(cell => cell.Template("datePickerFilter")));
                                        .Filterable(f => f.Cell(c => c.ShowOperators(false).Template("dateFilterCustomization")));
                                        columns.Bound(c => c.Last_login_time).Title("Last Login Time").Width(200)
                                        .ClientTemplate("#= (Last_login_time == '(Blanks)') ? '' : Last_login_time #");
                                        //.Filterable(f => f.Cell(c => c.ShowOperators(false).Template("timeFilterCustomization")));



                                        columns.Bound(c => c.No_of_Index_Actions).Title("No. of Index Actions").Width(200)
                                       .ClientTemplate("<a class = 'link-button' title='Index Report' href='\\#' onclick=" + " onidxActionClick('#=escape(UserId)#');>" + "#= No_of_Index_Actions != null ? No_of_Index_Actions : '' #" + "</a>")
                                           .Filterable(ftb => ftb
                                          .Cell(cell => cell
                                          .Operator("eq")
                                          .ShowOperators(false)
                                          .Template("integerFilter_nodecimal")
                                      ));                                    })
                                     .NoRecords(n => n.Template("NO DATA TO DISPLAY"))
                                     .Events(events => events.Filter("onFiltering"))
                                    .Resizable(resize => resize.Columns(true))
                                    .Reorderable(reorder => reorder.Columns(true))
                                    .ColumnMenu()
                                    .Sortable()
                                    .Scrollable()
                                    .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
                                    .Events(events => events.Filter("onFilter"))
                                    .Pageable(pageable => pageable
                                        .Refresh(true)
                                        .PageSizes(true)
                                        .PageSizes(new[] { 50, 100, 150 })
                                        )
                                    .DataSource(dataSource => dataSource
                                        .Ajax()
                                        .ServerOperation(false)
                                        .Read(read => read.Action("GetUserReportData", "UserReport").Data("passParameter"))
                                        .PageSize(50).Events(x => x.Error("onGridError"))
                                )
)

               

 

Customized Dropdown filter for date column:

var field = {};
var filter = true;
var dateformate = "DD/MM/YYYY";
const formatter = new Intl.DateTimeFormat(['ban', 'id'], { day: '2-digit', month: '2-digit', year: 'numeric' });

function dateFilterCustomization(args) {
    var date = new Date();
    var yesterday = new Date(date);
    yesterday.setDate(date.getDate() - 1);
    args.element.kendoComboBox({
        dataSource: [
            { text: "Today", value: "1" },
            { text: "Yesterday", value: "2" },
            { text: "This Week", value: "3" },
            { text: "Last Week", value: "4" },
            { text: "Last Month", value: "5" },
            { text: "Since Live", value: "6" },
            { text: "Custom Date range", value: "7" },



        ],
        placeholder: "Select",
        dataTextField: "text",
        dataValueField: "value",
        dataTypeField: "",
        valuePrimitive: true,
        value: 7,
        open: function (e) {
            var grid = $('.reportgrid').data("kendoGrid");
            var colname = e.sender.element[0].title;
            field = getColName(grid.columns, colname);
            if (grid.dataSource.filter() != undefined) {
                var filters = checkForExistingDates(grid);
                if (filters != undefined && filters.length > 0) {
                    var result = jQuery.grep(filters, function (item) { return item.operator == "gte" })
                    if (result != undefined && result.length > 0) {
                        $("#startDate").val(formatter.format(result[0].value));
                    }
                    else {
                        $("#startDate").val('');
                    }
                    result = jQuery.grep(filters, function (item) { return item.operator == "lte" })
                    if (result != undefined && result.length > 0) {
                        $("#endDate").val(formatter.format(result[0].value));
                    } else {
                        $("#endDate").val('');
                    }
                }
                else {
                    $("#startDate").val('');
                    $("#endDate").val('');
                }
            } else {
                $("#startDate").val('');
                $("#endDate").val('');
            }
        },
        select: function (e) {           
            e.preventDefault();

            var dataItem = e.dataItem;
            var grid = $('.reportgrid').data("kendoGrid");
            var colname = e.sender.element[0].title;
            field = getColName(grid.columns, colname);
            var vm = this;
            var text = dataItem.text;
            flag = parseInt(dataItem.value);
            if (flag == 1) {
                filterSingleDate(date);
            } else if (flag == 2) {
                filterSingleDate(yesterday);
            } else if (flag == 3) {
                getThisWeekData();
            } else if (flag == 4) {
                getPastWeekData();
            } else if (flag == 5) {
                getPastMonthData();
            } else if (flag == 6) {
                removeFilter(grid);
            }
            else if (flag == 7) {

                $(".daterangemodel").modal('toggle');

            }
            vm.text(text);
        }
    });
}

function startOfLastWeek() {
    var today = moment();
    var daystoLastMonday = 0 - (1 - today.isoWeekday()) + 7;
    var lastMonday = today.subtract('days', daystoLastMonday);
    return lastMonday;
}

function EndOfLastWeek() {
    var lastMonday = startOfLastWeek();
    var lastSunday = lastMonday.add('days', 6);
    return lastSunday;
}

function getPastWeekData() {
    var startDate = startOfLastWeek();
    var endDate = EndOfLastWeek();
    filterData(startDate, endDate, field);
}

function getThisWeekData() {
    var date = new Date();
    var startDate = startOfThisWeek(date);
    var endDate = endOfThisWeek(date);
    filterData(startDate, endDate, field);
}

Script:

function onFilter(e) {       

    if (e.filter && e.filter.filters[0].field == "Last_login_date" || e.filter && e.filter.filters[0].field == "Creation_date" || e.filter && e.filter.filters[0].field == "Invitation_date" || e.filter && e.filter.filters[0].field == "Registration_date") {
        e.filter.filters[0].operator = function (item, value) {
            var itemValue = new Date(item);
            var userValue = new Date(value);
            var condition = itemValue.getFullYear() == userValue.getFullYear()
                && itemValue.getMonth() == userValue.getMonth()
                && itemValue.getDate() == userValue.getDate();
            return condition;
        };
    }
}

 

Model:

public class UserReportResult
{
    public string Team { get; set; }
    public string Team_type { get; set; }      
    public string Username { get; set; }
    public string Title { get; set; }
    public string First_name { get; set; }
    public string Last_name { get; set; } 

public DateTime ? Last_login_date { get; set; }

}

 

Can any admin tell me what is wrong??

Planned
Last Updated: 07 Jun 2024 13:25 by ADMIN
Created by: Ed
Comments: 1
Category: UI for ASP.NET MVC
Type: Feature Request
1

When I am trying to use your components, I have to look things up on your web site.  Considering you develop web site components, I would think that your site would behave very well.  What I find is that I am often frustrated by web site.  Here is an example:
https://docs.telerik.com/aspnet-mvc/api/kendo.mvc.ui.fluent/taskboardbuilder?_gl=1*3hzp1t*_ga*MTEwODg5NTUzNy4xNjc5MDc0ODQy*_ga_9JSNBCSF54*MTcxNzE3MjQ2NS4zNDMuMS4xNzE3MTczMzA1LjE2LjAuMA..*_gcl_aw*R0NMLjE3MTY0NzU0MDYuQ2owS0NRancwcnV5QmhEdUFSSXNBTlNaM3dwOXNTVTZDZC1rU0ViRVdYNDNjYVV2U0pnOWZOcFpHSk10YzVmOWhOX3hZY3owQlppb045RWFBbVpnRUFMd193Y0I.*_gcl_dc*R0NMLjE3MTY0NzU0MDYuQ2owS0NRancwcnV5QmhEdUFSSXNBTlNaM3dwOXNTVTZDZC1rU0ViRVdYNDNjYVV2U0pnOWZOcFpHSk10YzVmOWhOX3hZY3owQlppb045RWFBbVpnRUFMd193Y0I.*_gcl_au*MTAyOTkxNjgzOC4xNzEyOTMxMDQ3&_ga=2.233747739.449664680.1716902667-1108895537.1679074842&_gac=1.124170360.1714792673.Cj0KCQjwltKxBhDMARIsAG8KnqWeETNM6gbjk2Jt1wTc9LrEO5gPp1cwyMu5bYB9fTjPB6DpZ_mC0MsaAixAEALw_wcB

On this page you basically have three main sections:
The "Api reference" list on the left with a vertical scroll bar.
The "IN THIS ARTICLE" list on the right.  No scrollbar
The actual api methods in the middle which scrolls with the main scroll bar.

But the "IN THIS ARTICLE" list section on the right never scrolls.  I would like to be able to scroll through the list to see possible methods, but I can't.  I know they are there to help navigate to a method but since a bunch of methods are basically cut off .....

Remember that first impressions aren't the only impression.  You can make the sale with your demos, but can you keep the customer with your documentation?

 

 

Completed
Last Updated: 04 Jun 2024 06:04 by ADMIN
Release 2024 Q1

Bug report

Reproduction of the problem

  1. Compare the rendering of the "Next Page", "Last Page", "Previous Page" and "First Page" buttons in RTL between the MVC Grid and the jQuery and Core Grids:

https://demos.telerik.com/aspnet-mvc/grid/right-to-left-support
https://demos.telerik.com/kendo-ui/grid/right-to-left-support
https://demos.telerik.com/aspnet-core/grid/right-to-left-support

Current behavior

Incorrect rendering of the buttons.

Expected/desired behavior

Buttons rendered consistently with the jQuery and Core Grids.

Environment

  • Kendo UI version: 2023.3.1010
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 03 Jun 2024 08:12 by ADMIN
Release 2024 Q2 (May)
Created by: William Wittsche
Comments: 4
Category: Grid
Type: Bug Report
4

Bug report

Dragging a row from a Grid to another empty Grid is not working.

Reproduction of the problem

  1. Open the following dojo:
    https://dojo.telerik.com/EGIyemen
  2. Try to drag a row to the empty Grid

Current behavior

The row is not inserted in the empty Grid

Expected/desired behavior

The row should be inserted in the empty Grid.

Environment

  • Kendo UI version: 2022.3.1109
  • Browser: [all]
Unplanned
Last Updated: 30 May 2024 14:27 by Shawn

### Bug report

When there is an initially hidden column in the Grid with multi-column headers, the hiding/showing of columns through the ColumnMenu does not work correctly.

### Reproduction of the problem

1) Hide a column in the Grid with the Hidden(true) option.

2) Hide a column through the Grid column menu.

3) The header of the column that is hidden is added to the previous visible column.

4) Show the same column through the column menu - it does not render back as expected.

The issue is caused by the a mismatch in the column group header rendering:

  • Group header:
    • aria-haspopup="dialog" is missing;
    • data-title="{group name}" is missing;
    • the title in the group header must be rendered as:

<span class="k-cell-inner"><span class="k-link"><span class="k-column-title">Product Information</span></span></span>
  • Header:
    • aria-haspopup="menu" is missing;

 

### Environment

* **Telerik UI for ASP.NET MVC version 2024.2.514

Under Review
Last Updated: 23 May 2024 13:52 by ADMIN
Created by: Ed
Comments: 1
Category: UI for ASP.NET MVC
Type: Feature Request
1

I would recommend that you look at your MVC and ASP.NET core products and try to build some consistency.   

When I learn one component, I kind of expect other similar components to be close to the others.  For instance TreeList and Grid both have toolbars, yet the builders use different capitalizations for their names.   Treelist and Grid both have editable settings, but Treelist does not have the method AdditionalViewData.  

There are many more inconsistency that make these components really hard to use. 

Unplanned
Last Updated: 21 May 2024 14:26 by Abhi

Bug report

There are multiple differences in the theme files. In the theme file added by the NuGet browser-specific styles are missing and calc values differ. Likely the issue is due to autoprefixer and postcss-calc being used in the kendo-themes repo: https://github.com/telerik/kendo-themes/blob/develop/postcss.config.js
and not being used in theme compilation logic in the kendo repo:
https://github.com/telerik/kendo/blob/production/gulpfile.js#L55C38-L55C39
https://github.com/telerik/kendo/blob/master/build/gulp/sass.js

Reproduction of the problem

  1. In an ASP.NET MVC app install the Telerik.UI.for.AspNet.Mvc NuGet package.
  2. The NuGet package adds the kendo theme files to the MyApp\Content\kendo\2024.2.514
  3. Open the classic-silver.css file added by the NuGet package and compare it to the file hosted on the CDN: https://kendo.cdn.telerik.com/themes/8.0.1/classic/classic-silver.css

Current behavior

There are multiple differences similar to the exemplary ones posted below:

Example 1:
CDN line 33994:

.k-menu-vertical > .k-menu-item > .k-menu-link > .k-menu-expand-arrow {
    margin-inline-start: var(--kendo-spacing-2, 0.5rem);
    margin-inline-end: calc(var(--kendo-spacing-2, 0.5rem)*2*-1 + -16px - var(--kendo-spacing-2, 0.5rem)/2*-1);
}

NuGet:

.k-menu-vertical > .k-menu-item > .k-menu-link > .k-menu-expand-arrow {
    margin-inline-start: var(--kendo-spacing-2, 0.5rem);
    margin-inline-end: calc( -1 * (calc( var(--kendo-spacing-2, 0.5rem) * 2 + 16px) - var(--kendo-spacing-2, 0.5rem)/2));
}

Note the difference in the margin-inline-end value.

Example 2:
CDN line 36510:

.k-progressbar-vertical .k-progress-status {
    -ms-writing-mode: tb-lr;
        writing-mode: vertical-lr;
}

NuGet:

.k-progressbar-vertical .k-progress-status {
    writing-mode: vertical-lr;
}

Expected/desired behavior

The theme files distributed through CDN and NuGet should be identical.

Environment

  • Kendo UI version: 2024.2.514
  • jQuery version: x.y
  • Browser: [all ]
Unplanned
Last Updated: 21 May 2024 08:45 by Fajleabbas
Created by: Fajleabbas
Comments: 0
Category: ProgressBar
Type: Feature Request
0

Is it possible to create a template option for the ProgressBar value? It can be used when the ProgressBar value must be formatted based on the current culture (for example, when the number groups must be separated by space rather than comma (",")).

  $("#progressbar").kendoProgressBar({
    min: 10,
    max: 20,
    value: 15,
    template: "#:kendo.toString(kendo.parseFloat(data.value), 'n2', 'fr-FR')#"
  });

Unplanned
Last Updated: 20 May 2024 12:30 by Ed
Created by: Ed
Comments: 0
Category: TreeList
Type: Feature Request
1
Missing AdditionalViewData Method for the TreeList
Completed
Last Updated: 14 May 2024 13:19 by ADMIN
Release 2024 Q2 (May)

Bug report

Reproducible in MVC with a custom toolbar tool that has a ClientTemplate.

Reproduction of the problem

  1. Configure the Grid for incell editing and a custom command with a template to its toolbar configuration
@(Html.Kendo().Grid<TelerikMvcApp2.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);
    })
    .ToolBar(toolbar =>
    {
        toolbar.Save();
        toolbar.Spacer();
        toolbar.Custom().ClientTemplate("<span>test</span>");
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:550px;" })
    .Editable(editable => editable.Mode(GridEditMode.InCell))
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Model(model => model.Id(p => p.OrderID))
        .Read(read => read.Action("Orders_Read", "Grid"))
        .Create("Orders_Create", "Grid")
        .Update("Orders_Update", "Grid")
    )
)

Current behavior

Duplication of the "Cancel" button.

Expected/desired behavior

A single "Cancel" button is rendered in the toolbar.

Environment

  • Kendo UI version: 2024.1.130
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 14 May 2024 11:58 by ADMIN
Release 2024 Q2 (May)

Bug report

DropDownList editor in a Form component with ServerFiltering enabled causes a js exception.

Reproduction of the problem

  1. Enable ServerFiltering in the DropDownList editor:
@(Html.Kendo().Form<MVCFormValidation.Models.UserViewModel>()
	.Name("formExample")
	.HtmlAttributes(new { action = "/Home/Index", method = "POST" })
	.Validatable(v =>
	{
		v.ValidateOnBlur(true);
		v.ValidationSummary(vs => vs.Enable(false));
	})
	.Items(items =>
	{
		items.AddGroup()
			.Label("Registration Form")
			.Items(i =>
			{

				i.Add()
					.Field(f => f.FirstName)
					.Label(l => l.Text("First Name:"));

				i.Add()
					.Field(f => f.LastName)
					.Label(l => l.Text("Last Name:"));

				i.Add()
					.Field(f => f.NumberOfShares)
					.Label(l => l.Text("Number Of Shares:"));

				i.Add().Field(m => m.Country.Id)
					.Editor(e => e.DropDownList().DataSource(source =>
					{
						source.Read(read =>
						{
							read.Action("GetCountries", "Home");		
						})
						.ServerFiltering(true);
					}).Filter(FilterType.Contains).DataTextField("Name").DataValueField("Id"))
					.Label("Country");

				i.Add()
					.Field(f => f.Email)
					.Label(l => l.Text("Email:"));
				i.Add()
					.Field(f => f.DateOfBirth)
					.Label(l => l.Text("Date of Birth:").Optional(true));
				i.Add()
					.Field(f => f.Agree)
					.Label(l => l.Text("Agree to Terms:"));
			});
	})
)

Current behavior

On page load a js exception is thrown:
Uncaught Error: Syntax error, unrecognized expression: #

Expected/desired behavior

No exceptions.

Environment

  • Kendo UI version: 2023.3.1114
  • jQuery version: 3.4.1, 3.7.1
  • Browser: [all]
Completed
Last Updated: 14 May 2024 07:18 by ADMIN
Release 2024 Q2 (May)
Created by: Support
Comments: 2
Category: UI for ASP.NET MVC
Type: Bug Report
2

Bug report

Reproduction of the problem

  1. Reference kendo.all.min.js and kendo.all.min.js.map in a project
  2. Add a basic Grid:
<div id="grid"></div>
<script>
    // The dataSource is initialized as a stand-alone widget that can be bound to the Grid.
    var dataSource = new kendo.data.DataSource({
        transport: {
            read: {
                // The remote endpoint from which the data is retrieved.
                url: "https://demos.telerik.com/kendo-ui/service/products",
                dataType: "jsonp"
            }
        },
        pageSize: 10
    });

    $("#grid").kendoGrid({
        // The dataSource configuration is set to an existing DataSource instance.
        dataSource: dataSource,
        pageable: true
    });
</script>
  1. Open the browser's dev tools Source tab and place a breakpoint (e.g., on line 3715).

Current behavior

The breakpoint is added at the last line (326079) of the file.

Expected/desired behavior

The breakpoint is added at the desired line (e.g., 3715).

Environment

  • Kendo UI version: 2023.3.1010
  • jQuery version: x.y
  • Browser: [ Chrome XX]
Completed
Last Updated: 13 May 2024 12:59 by ADMIN
Release 2024 Q2 (May)

Bug report

Reproduction of the problem

https://dojo.telerik.com/ORahihiZ/2

  1. Edit a card

Current behavior

The second editor (NumericTextBox) in the popup is focused by default.

Expected/desired behavior

Since the form's focusFirst option is enabled, the first editor (textarea) in the popup should be focused by default.

As a workaround, the textarea can be focused in the editCard event handler:

function onEditCard(e) {
    setTimeout(function() {
        $(".k-taskboard-pane-content textarea").focus();
    }, 100)
}

Environment

  • Kendo UI version: 2023.2.306
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 13 May 2024 12:58 by ADMIN
Release 2024 Q2 (May)

In a Selectable grid, when only one column is shown in the grid, and the model's Id field is specified, an error occurs on selection.

If you include more than one column (must be more than one visible) it works correctly.

If the model's Id is not specified, it works correctly even with only one column visible. 

 

@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
    .Name("grid1")
    .Columns(columns => {
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity).Hidden(true);
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .Selectable(s => s.Mode(GridSelectionMode.Single))
    .HtmlAttributes(new { style = "height:430px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Grid"))
        .Model(m => m.Id("OrderID"))
     )
)


Unplanned
Last Updated: 10 May 2024 15:28 by Abhishek
Created by: Abhishek
Comments: 0
Category: Upload
Type: Feature Request
0
During chunk upload, if the connection to the server is lost, the upload fails. To upload the file, the upload should start all over again and all the file chunks must be sent to the server.

It would be nice to have an option to continue the upload of a file from a specific chunk, instead of having to re-upload all chunks.
1 2 3 4 5 6