Unplanned
Last Updated: 30 Oct 2024 09:57 by ADMIN
Created by: Hugo
Comments: 0
Category: Chart
Type: Feature Request
0

Hello,

It seams that Milliseconds are missing from ChartAxisLabelsDateFormats and so there is no Milliseconds(string format) in ChartAxisLabelsDateFormatsBuilder.

https://docs.telerik.com/aspnet-mvc/api/kendo.mvc.ui.fluent/chartaxislabelsdateformatsbuilder

This means that to configure it, we have to config it from client js on load

Note: My current version is 2022.2.621 but according to doc it's the same in 2024.3.1015


Unplanned
Last Updated: 30 Oct 2024 08:40 by Kishan

Bug report

Reproduction of the problem

  1. Run this dojo example: https://dojo.telerik.com/VBprsrAf
  2. Inspect the clear button (the element with class "k-clear-value").

Current behavior

The button does not have an aria-label attribute.

Expected/desired behavior

The button has an aria-label attribute.

Workaround:

<script>
    $(document).ready(function() {
        $(".k-clear-value").attr("aria-label", "Clear");
    })
</script>

Environment

  • Kendo UI version: 2024.3.1015
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 29 Oct 2024 08:47 by Zach

Bug report

The jQuery dependency is defined as follows in the package .nuspec file:

<dependency id="jQuery" version="(, 3.7.1]" />

This causes the following warning to appear when installing the package in a project:

Telerik.UI.for.AspNet.Mvc5 2024.3.1015 does not provide an inclusive lower bound for dependency jQuery (<= 3.7.1). jQuery 1.4.1 was resolved instead.

The affected packages are:
Telerik.UI.for.AspNet.Mvc5
Telerik.UI.for.AspNet.Mvc5.Trial

Reproduction of the problem

Install the Telerik.UI.for.AspNet.Mvc5 package in a project and check the warnings list.

Current behavior

Warning:
Telerik.UI.for.AspNet.Mvc5 2024.3.1015 does not provide an inclusive lower bound for dependency jQuery (<= 3.7.1). jQuery 1.4.1 was resolved instead.

Expected/desired behavior

Add a lower bound (https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu1604) to resolve the warning about the jQuery dependency.

Environment

  • Kendo UI version: 2024.3.1015
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 23 Oct 2024 13:24 by Ed

Bug report

The TabStrip Item Action() method is not loading content correctly.

Reproduction of the problem

  1. The configuration of the TabStrip, including the Action method:
    @(Html.Kendo().TabStrip() .Name("tabs") .Items(strip => { strip.Add().Text("Back").Action("About", "Home"); // ...
  2. Click on the tab.

Current behavior

For kendo.version '2024.3.806', when the tab is clicked, the controller method does not load from the Action().

Expected/desired behavior

For previous versions, like '2023.2.718', when the tab is clicked, the URL from the action method is loaded into the browser URL.

Environment

  • Telerik UI for ASP.NET version: 2024.3.806
  • Browser: [all ]
Completed
Last Updated: 22 Oct 2024 05:23 by ADMIN
Created by: Irvin
Comments: 0
Category: DateRangePicker
Type: Bug Report
0

Bug report

There is a difference in behavior between the wrappers (MVC and Core) and the Kendo UI for jQuery DateRangePicker. See the following dojo example, which shows initializing the component with a null value for the End date: https://dojo.telerik.com/IkAMUJoG/2

In contrast, the MVC and Core helpers display the Start value as End value.

Reproduction of the problem

  1. Run this REPL: https://netcorerepl.telerik.com/GoaDYoFu45uqxdEF31

Current behavior

The End value is the same as the Start value.

Expected/desired behavior

The End value is null.

Consider also the scenario, where the Range configuration is not set and the component gets the Start and End values from the model, and the value of the EndDate field is null:

@(Html.Kendo().DateRangePickerFor(m => m.StartDate, m => m.EndDate )
    .Name("dateRangePicker")
)

Environment

  • Kendo UI version: 2024.3.806
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 07 Oct 2024 11:14 by ADMIN
Release 2024 Q4 (Nov)

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 ]
Completed
Last Updated: 07 Oct 2024 05:46 by ADMIN
Release 2024 Q4 (Nov)

Bug report

Reproduction of the problem

  1. Run this dojo example: https://dojo.telerik.com/eVOVEdaR
  2. Click the bold, italic, and underline tools to activate all 3 of them
  3. Click away from the inline Editor

Alternatively to step 2, click the first justify tool and then consecutively click the other 3 justify buttons.

Current behavior

The Editor's toolbar does not close.

Expected/desired behavior

The Editor toolbar closes

Environment

  • Kendo UI version: 2024.2.514
  • jQuery version: x.y
  • Browser: [Chrome XX]
Completed
Last Updated: 30 Sep 2024 16:46 by ADMIN
Release 2024 Q3 (Aug)
Created by: Bill
Comments: 4
Category: UI for ASP.NET MVC
Type: Bug Report
4

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 ]
Need More Info
Last Updated: 18 Sep 2024 18:56 by ADMIN

I'm trying to modify the filter ui with a custom function that i passed to the kendo UI fuction.

here's my code :

@using Alstom_penali.Models.database;
@{
    ViewBag.Title = "Tutte le penali";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div class="container-fluid">
    <div class="row">

        <h3>@ViewBag.Title</h3>

        @*sotto permessi*@
        @if (ViewBag.CanUploadFilePenali == string.Empty)
        {
            @(Html.Kendo().Upload()
                .Name("up_supplychain")
                .Messages(y => y.Select("Upload excel penali").UploadSelectedFiles("Avvia"))
                .HtmlAttributes(new { accept = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" })
                .Multiple(false)
                .ShowFileList(false)
                .Events(e => e.Success("onUploadSuccess"))
                .Async(a => a
                    .Save("SuppChainExcelRead", "Summary", new { operation = "save" })
                    .Remove("SuppChainExcelRead", "Summary", new { operation = "remove" })
                    .AutoUpload(false)
                )
            )
            <br />
        }




        @if (ViewBag.CanViewSummaryAll == string.Empty)
        {
            @(Html.Kendo().Grid<PenaliModel>
                ()
                .Name("grid")
                .Events(e => e.ExcelExport("excelExport"))
                .Columns(
                columns =>
                {

                    columns.Bound(c => c.PO_Number).Title("PO Number").Width(125).Locked(true);
                    columns.Bound(c => c.Pos).Width(100).Locked(true);
                    columns.Bound(c => c.ddl_stato).Title("STATO").Width(180).Filterable(false).Sortable(false).Locked(true).ClientTemplate("#=ddl_stato.Text#").EditorTemplateName("DropDownEditor");
                    columns.Bound(c => c.ddl_Responsabilita).Title("Responsabilità").Width(200).Filterable(false).Sortable(false).Locked(false).ClientTemplate("#=descriptionTemplate(data) #").EditorTemplateName("DropDownEditorResponsabilita");
                    columns.Bound(c => c.isConQ).Title("Tipo").Width(125)
                        .Filterable(filter=> filter.UI("isConQRadioFilter"))
                        .Sortable(false)
                        .Locked(false)
                        .ClientTemplate("#=typeTemplate(data) #");

                    columns.Command(command => { command.Edit().Text("Modifica"); }).Width(100);

                    columns.Bound(c => c.Progressivo_Conferma).Width(150).Title("CONQ Report");
                    columns.Bound(c => c.DataInvioConferma).Title("Data Invio CONQ").Width(200).Format("{0:dd/MM/yyyy HH:mm}");

                    columns.Bound(c => c.NCR).Width(100);
                    columns.Bound(c => c.SupplierName).Title("Supplier Name").Width(200).Format("{0:n2}");
                    columns.Bound(c => c.ProgettoSito).Title("MBTO").Width(150);
                    columns.Bound(c => c.ImportoDaAddebitare).Title("Importo").Width(100).Format("{0:n2}");
                    columns.Bound(c => c.Importo_Negoziato).Title("Importo Negoziato").Width(150).Format("{0:n2}");
                    columns.Bound(c => c.Quality_Owner).Title("Quality Owner").Width(200);
                    columns.Bound(c => c.Progressivo_Avviso).Width(150).Title("ID_CLAIM");

                    columns.Bound(c => c.DataInvioAvviso).Title("Data Invio CLAIM ").Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.DataInvioPenale).Title("Data Invio penale").Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.NotaDebitoNr).Title("Nota debito").Width(125);
                    columns.Bound(c => c.DataInvioStorno).Title("Data Invio storno").Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.NotaCreditoNr).Title("Nota credito").Width(125);

                    columns.Bound(c => c.Id);

                    columns.Bound(c => c.WBS).Width(200);
                    columns.Bound(c => c.Progressivo).Width(150);
                    columns.Bound(c => c.YearMonth).Width(150);

                    columns.Bound(c => c.Material).Width(200);
                    columns.Bound(c => c.Description).Width(300).ClientTemplate("<span class='ellipsis'>#:Description#</span>");
                    columns.Bound(c => c.Del_Note_Nr).Width(150);
                    columns.Bound(c => c.EmailProcurement).Title("Material planner").Width(200);

                    columns.Bound(c => c.TotalOrderQty).Width(150);
                    columns.Bound(c => c.ReceivedQtyInDelay).Width(150);
                    columns.Bound(c => c.OrderValue).Width(150).Format("{0:n2}");
                    columns.Bound(c => c.Stat_Del_Date).Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.Del_Date).Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.WeeksOfDelay).Width(150);
                    columns.Bound(c => c.ReceivedValue).Width(150);
                    columns.Bound(c => c.DataCreazione).Width(150).Format("{0:dd/MM/yyyy HH:mm}");
                    columns.Bound(c => c.DataModifica).Width(150).Format("{0:dd/MM/yyyy HH:mm}");


                    columns.Command(command => { command.Destroy().Text("Elimina"); }).Width(100);

                })
                .HtmlAttributes(new { style = "height: 500px;" })
                .ToolBar(tools => tools.Excel().Text("Esporta excel"))
                .Excel(excel => excel.AllPages(true).FileName("Penali.xlsx"))
                .Editable(editable =>
                {
                    editable.Mode(GridEditMode.InLine);
                    editable.ConfirmDelete("Sei sicuro?");
                })
                .Scrollable()
                .Groupable()
                .Filterable(filterable => filterable
                    .Operators(operators => operators
                    .ForString(str => str.Clear()
                    .IsEqualTo("E' uguale a").StartsWith("Inizia con").EndsWith("Finisce con")
                    .Contains("Contiene").DoesNotContain("Non contiene"))
                    .ForDate(dt => dt.Clear()
                    .IsGreaterThanOrEqualTo("Dopo o uguale al").IsLessThanOrEqualTo("Prima o uguale del"))

                ))
                .Sortable()
                .Selectable()
                .Pageable(pageable => pageable
                .Refresh(true)
                .PageSizes(true)
                )
                .DataSource(dataSource => dataSource
                .Ajax()
                .Model(model =>
                {

                    model.Id(p => p.Id);
                    model.Field(p => p.DataInvioAvviso).Editable(false);
                    model.Field(p => p.DataInvioPenale).Editable(false);
                    model.Field(p => p.DataInvioStorno).Editable(false);
                    model.Field(p => p.DataCreazione).Editable(false);
                    model.Field(p => p.DataModifica).Editable(false);
                    model.Field(p => p.Del_Date).Editable(false);
                    model.Field(p => p.Del_Note_Nr).Editable(false);
                    model.Field(p => p.Description).Editable(false);
                    model.Field(p => p.Det_Selected).Editable(false);
                    model.Field(p => p.EmailProcurement).Editable(false);
                    model.Field(p => p.ImportoDaAddebitare).Editable(false);
                    model.Field(p => p.Importo_Negoziato).Editable(false);
                    model.Field(p => p.Material).Editable(false);
                    model.Field(p => p.NotaCreditoNr).Editable(false);
                    model.Field(p => p.NotaDebitoNr).Editable(false);
                    model.Field(p => p.OrderValue).Editable(false);
                    model.Field(p => p.PO_Number).Editable(false);
                    model.Field(p => p.Pos).Editable(false);
                    model.Field(p => p.ProgettoSito).Editable(false);
                    model.Field(p => p.Progressivo).Editable(false);
                    model.Field(p => p.ReceivedQtyInDelay).Editable(false);
                    model.Field(p => p.ReceivedValue).Editable(false);
                    model.Field(p => p.Stat_Del_Date).Editable(false);
                    model.Field(p => p.SupplierName).Editable(false);
                    model.Field(p => p.TotalOrderQty).Editable(false);
                    model.Field(p => p.WBS).Editable(false);
                    model.Field(p => p.WeeksOfDelay).Editable(false);
                    model.Field(p => p.YearMonth).Editable(false);
                    model.Field(p => p.NCR).Editable(false);
                    model.Field(p => p.Progressivo_Avviso).Editable(false);
                    model.Field(p => p.Progressivo_Conferma).Editable(false);
                    model.Field(p => p.Quality_Owner).Editable(false);

                    model.Field(p => p.ddl_stato).DefaultValue(new SelectListItem() { }); //unico editabile
                    model.Field(p => p.ddl_Responsabilita).DefaultValue(new SelectListItem() { });
                    model.Field(p => p.isConQ).Editable(false);
                    model.Field(p => p.DataInvioConferma).Editable(false);
                })
                .Events(events =>
                {

                    events.RequestEnd("onRequestEnd");
                    events.Error("onGridError");

                })
                .Read(read => read.Action("Penali_List", "Summary"))
                .Update(update => update.Action("Penali_Update", "Summary"))
                .Destroy(update => update.Action("Penali_Destroy", "Summary"))

                .PageSize(10)
                )
    )
        }
        else
        {
            <p style="font-size:16px;color:red">@ViewBag.CanViewSummaryAll</p>
        }
    </div>
</div>


<div id="Pop_up" style="display:none">
    <p>Seleziona di chi sarà la responsabilità di questa penale</p>
</div>
@section scripts {
    <script type="text/javascript">


        function isConQRadioFilter(element) {
            // Create radio buttons for filtering boolean values
            var html = `
            <label>
                <input type="radio" name="isConQFilter" value="true" /> CONQ
            </label>
            <label>
                <input type="radio" name="isConQFilter" value="false" /> Ritardo
            </label>
        `;
            // Append the radio button HTML to the filter container
            element.append(html);

            // Trigger filtering when a radio button is clicked
            element.find("input[type=radio]").change(function () {
                var filterValue = $(this).val();
                var grid = $("#grid").data("kendoGrid");
                grid.dataSource.filter({
                    field: "isConQ",
                    operator: "eq",
                    value: filterValue === "true" // Convert the value to a boolean
                });
            });
        }

        function onEdit(e) {


        }

        function excelExport(e) {
            var sheet = e.workbook.sheets[0];
            var template2 = kendo.template(e.sender.columns[2].template);
            var template3 = kendo.template(e.sender.columns[3].template);

            var data = e.data;
            for (var i = 0; i < data.length; i++) {
                sheet.rows[i + 1].cells[2].value = template2(data[i]);
                sheet.rows[i + 1].cells[3].value = template3(data[i]);
                if (data[i].isConQ) {
                    sheet.rows[i + 1].cells[4].value = "CONQ";
                } else {
                    sheet.rows[i + 1].cells[4].value = "Ritardo";
                }

            }
        }



        function descriptionTemplate(data) {


            if ((data.ddl_stato.Text == "INLAVORAZIONE" || data.ddl_stato.Text == "NEGOZIATA")  && data.ddl_Responsabilita.Text != null) {
                return data.ddl_Responsabilita.Text;
            }
            else {
                return "";
            }
        }


        function typeTemplate(data) {

            var html;
            if (data.isConQ) {
                html = kendo.format(
                    "<a class=\"k-button\" href='" + '@Url.Action("Create_Penale_CONQ", "Summary")' + "/" + data.Id + " '>CONQ</a>  ",

                );
            } else {
                  html = kendo.format(
                    "Ritardo ",

                );
            }
            return html;
        }

        //(function () {
        //    isConQFilter("ciao");
        //})();

            function isConQFilter(element)
            {
                console.log("isConQFilter called");
                element.kendoDropDownList({
                    dataSource: [
                        { text: "CONQ", value: true },
                        { text: "Ritardo", value: false }
                    ],
                    dataTextField: "text",
                    dataValueField: "value",
                    optionLabel: "-- Seleziona Tipo --",
                    valuePrimitive: true
                });
            }


            //function isConQFilter(element) {
            //    debugger;
            //    console.log("isConQFilter called");

            //}
    </script>
    }
    <style>
        .ellipsis {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }


        .k-grid-header .k-header {
            height: 20px;
            padding: 0;
        }

        .k-grid tbody tr {
            line-height: 14px;
        }

        .k-grid tbody td {
            padding: 1px;
        }
    </style>


the coulm i'm talking about is the "isConq" one, i would like to show "Conq" or "Ritardo" instead of "è vero" or "è falso".

Following the doc, i'm calling the "isConQFilter" js function, but it is never triggered by the kendo.

Where am i wronged?

If you need something else, please, tell me.

I'm using kendo mvc grid version 2016.

 

Unplanned
Last Updated: 17 Sep 2024 11:11 by ADMIN
The wizard encountered an error while trying to handle user event.

System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.KendoUI.Mvc.VSX.Wizards.ViewModels.MvcDistributionChooserUpgradeViewModel.GetProjectWithLowestTargetFramework(List`1 projects)
   at Telerik.KendoUI.Mvc.VSX.Wizards.ViewModels.MvcDistributionChooserUpgradeViewModel.GetDistributions()
   at Telerik.VSX.ViewModels.DistributionChooserViewModelBase`1.get_Distributions()
   at Telerik.VSX.ViewModels.DistributionChooserViewModelBase`1.get_CurrentDistribution()
   at Telerik.KendoUI.Mvc.VSX.Wizards.UpgradeProjectWizard.TryGetDistributionToken(TargetMvcVersion mvcVersion)
   at Telerik.KendoUI.Mvc.VSX.Wizards.UpgradeProjectWizard.GetPropertyValue(String propertyName)
   at Telerik.VSX.WizardEngine.Controls.WizardControlBase.PopulateCollectedValues(IPropertyDataDictionary gatheredData)
   at Telerik.VSX.WizardFramework.Pages.DynamicPageController.GetData()
   at Telerik.WizardFramework.Wizard.GetCurrentPageData()
   at Telerik.WizardFramework.Wizard.UpdateNavigation()
   at Telerik.WizardEngine.Helpers.EventHelper.CatchExceptionAndSendReport(Action action)
In Development
Last Updated: 17 Sep 2024 07:08 by ADMIN
Scheduled for 2024 Q1

Bug report

The ClientGroupFooterTemplate and ClientFooterTemplate configuration lead to an invalid template error when strict CSP mode is enabled. There are no corresponding methods that accept a TemplateHandler.

Reproduction of the problem

@(Html.Kendo().Grid<TelerikMvcApp3.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).ClientGroupFooterTemplate("Total:").ClientFooterTemplate("Team Total");
    })
    .Groupable()
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Home"))
    )
)


@(Html.Kendo().DeferredScriptFile())

Current behavior

JS exceptions on initializing the Grid and on attempting to group it by ShipCity.

Expected/desired behavior

CSP compatible templates.

Environment

  • Kendo UI version: 2023.3.1114
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 13 Sep 2024 15:48 by ADMIN
Release 2024 Q4 (Nov)

Bug report

Reproduction of the problem

  1. Run this dojo example: https://dojo.telerik.com/oVAViPiD
  2. Focus the Editor's content area
  3. Click the background color or the color tool's dropdown arrow. Make sure to click precisely the arrow icon.

Current behavior

The dropdown opens and the Editor hides.

Expected/desired behavior

The dropdown opens and the Editor remains open.

Environment

  • Kendo UI version: 2024.3.806
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 30 Aug 2024 11:57 by ADMIN
Release 2024 Q4 (Nov)

### Bug report

When the Grid is set up for InCell editing, and the column editor is the Upload widget, the user cannot select a file to upload when the Grid is navigatable.

The issue occurs in version >= 2024.1.130

### Reproduction of the problem

1. Create an InCell editable Grid and enable its "navigatable" option.

2. Set the Upload widget as a column editor.

3. Enter a specified cell in edit mode and try to select a file for upload.

4. The cell closes immediately.

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

### Expected/desired behavior

The cell must remain focused when the Upload button is clicked.

### Workaround

Handle the "edit" event of the Grid, handle the "mousedown" event of the Upload button, and call stopImmediatePropagation():

 

            $("#grid").kendoGrid({
                editable: true,
              	navigatable: true,
                edit: function(e) {
                   if($(e.container).find("input[type='file']")) {
                   	$(".k-upload-button").on("mousedown", function (event) {
                          event.stopImmediatePropagation();
            		});
                   }
                }
                ...
            });

 

### Environment

* **Kendo UI version: 2024.1.130
* **jQuery version: 3.7.0
* **Browser: [all]

Completed
Last Updated: 30 Aug 2024 08:16 by ADMIN
Release 2024 Q4 (Nov)
Created by: George
Comments: 0
Category: Grid
Type: Feature Request
1

Is it possible to add the ClientTemplateView() to load a partial view into the column template?

@(Html.Kendo().Grid <OrderViewModel>()
        .Name("grid")
        .Columns(columns =>
        {
            columns.Bound(p => p.ShipName).ClientTemplateView(Html.Partial("~/Views/Details/MyView.cshtml")); 
            ...
        })
        ...
)

Completed
Last Updated: 29 Aug 2024 11:48 by ADMIN

Bug report

The Grid cell does not enter edit mode on double tap on iOS in Chrome and Edge. Works correctly in Safari.

Reproduction of the problem

  1. Run this dojo example on iOS in Chrome or Edge: https://dojo.telerik.com/idOVAZiP/3
  2. Double tap a cell to edit its value

Current behavior

The cell does not enter edit mode.

Expected/desired behavior

The cell enters edit mode.

Environment

  • Kendo UI version: 2023.3.1114
  • jQuery version: x.y
  • Browser: [iOS Chrome, iOS Edge]
Completed
Last Updated: 28 Aug 2024 14:59 by ADMIN
Release R2.2023-Increment.1(15.Mar.2023)

Bug report

Regression in R1 2023.

Reproduction of the problem

  1. Set the following HtmlAttributes configuration in a Grid column:
columns.Bound(p => p.OrderDate).HtmlAttributes(new { title = "Order Date: #=kendo.toString(OrderDate, 'dd-MM-yyyy')# " });

Current behavior

kendo.toString is not executed and as a result the date is not formatted. The exact value of the title attribute, as shown above is rendered as title of the cell.

Expected/desired behavior

The logic is executed and the OrderDate value is rendered in the title with the specified format.

Environment

  • Kendo UI version: 2023.1.117
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 26 Aug 2024 03:29 by ADMIN

### Bug report

When the Grid uses an external DataSource, the aggregates are undefined within the ClientGroupFooterTemplate().

### Reproduction of the problem

Use the following REPL sample that demonstrates the issue:

https://netcorerepl.telerik.com/mIkyQnvB382bsiFt24

1. Group the Grid by the "Freight" column.

2. An error is thrown in the browser console: "Uncaught ReferenceError: sum is not defined".

3. The aggregates=["sum"] is missing in the column options in the Grid initialization script;

"columns":[{"title":"Order ID","field":"OrderID","filterable":false,"encoded":true},{"title":"Freight","groupFooterTemplate":"Sum: #=sum#","field":"Freight","filterable":{"messages":{"title":"Show items with value that"},"checkAll":false},"encoded":true},{"title":"Ship City","width":"150px","field":"ShipCity","filterable":{"messages":{"title":"Show items with value that"},"checkAll":false},"encoded":true}]

When the DataSource is defined within the Grid configuration, the aggregate is displayed as expected.

### Expected/desired behavior

The "sum" aggregate must be displayed within the group footer template of the column when the Grid is grouped.

### Workaround

Define the DataSource in the Grid configuration or update the Grid settings by using the setOptions() method when the page is loaded:

<script>
    $(document).ready(function () {
        var grid = $("#grid").data("kendoGrid");
        if (grid) {
            let gridColumns = grid.columns;
            if (!gridColumns[1].aggregates) { // update [1] with the index of the column that has a group footer template. For example, "1" is the 2nd Grid column
                gridColumns[1].aggregates = ["sum"];
                grid.setOptions({ columns: gridColumns });
            }
        }
    });
</script>

### Environment

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

Unplanned
Last Updated: 13 Aug 2024 05:26 by ADMIN
Created by: Phạm
Comments: 0
Category: UI for ASP.NET MVC
Type: Bug Report
0
I have a grid like this:

@(Html.Kendo().Grid<VIP_Logic.Models.Dashboard.CriteriaModel>().Name("dgdCriteria")
                  .Columns(column =>
                  {
                      column.Bound(b => b.ParamIndex).Title("No.").Width(40);
                      column.ForeignKey(b => b.ColumnName, (IEnumerable<SelectListItem>)ViewBag.LstColumnNames, "value", "text").HtmlAttributes(new { style = "text-align: left", onChange = "onChangeColumn('#=ParamIndex#');" }).Title("Column").Width(100);
                      column.ForeignKey(b => b.Operator, (IEnumerable<SelectListItem>)ViewBag.LstOperators, "value", "text").HtmlAttributes(new { style = "text-align: left", onChange = "onChangeOperator('#=ParamIndex#');" }).Title("Operator").Width(100);
                      column.Bound(b => b.ParamValue).HtmlAttributes(new { style = "text-align: left", onChange = "setCriteriaXml();" }).Title("Value").Width(150).Encoded(false);
                      column.Bound(b => b.ParamIndex).ClientTemplate("<button class= 'k-button' type='button' onclick=onRemoveCriteria('#=ParamIndex#')>" + "Remove" + "</button>").HtmlAttributes(new { style = "text-align: center" }).Title(string.Empty).Width(50);
                  })

All the function in onchange attribute required a parameter ParamIndex. In old version, the syntax "#=ParamIndex#'" still work fine, but since i upgrade Kendo UI to latest version, this syntax doesn't work anymore. How can i make it work like old version?
Completed
Last Updated: 09 Aug 2024 14:55 by ADMIN
Release 2024 Q2 (15.05.2024)

1. Create a solution with several Telerik UI for MVC projects

2. Perform a rename of a value that is present in multiple projects

Expected result: Rename is performed successfully.

Actual result: Visual Studio crashes.

Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
   at EnvDTE.Document.get_ProjectItem()
   at Telerik.VSX.Web.Tracking.VSDocumentInfo.<CheckIsBlazorProject>b__9_0()
   at Telerik.VSX.Internal.VisualStudio.VisualStudioThreadHelper+<>c__DisplayClass1_0`1+<<RunInMainThread>b__0>d[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
   at Microsoft.VisualStudio.Threading.JoinableTask`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].CompleteOnCurrentThread()
   at Telerik.VSX.Internal.VisualStudio.VisualStudioThreadHelper.RunInMainThread[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func`1<Boolean>)
   at Telerik.VSX.Tracking.Web.KendoTrackedDocumentsManager.FindBlazorComponents(System.Collections.Generic.HashSet`1<Telerik.VSX.Tracking.Web.KendoWidgetComponent>, Telerik.VSX.Tracking.ProjectWrappers.DocumentInfo, System.String, System.String)
   at Telerik.VSX.Tracking.Web.KendoTrackedDocumentsManager.FindComponents(Telerik.VSX.Tracking.ProjectWrappers.DocumentInfo)
   at Telerik.KendoUI.Mvc.VSPackage.VsPackage+<>c__DisplayClass34_0+<<DocumentEvents_DocumentSaved>b__0>d.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at Telerik.KendoUI.Mvc.VSPackage.VsPackage+<DocumentEvents_DocumentSaved>d__34.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.Threading.JoinableTaskFactory+SingleExecuteProtector.TryExecute()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)

 

Need More Info
Last Updated: 08 Aug 2024 14:53 by ADMIN
Created by: Sujeet
Comments: 1
Category: PDFViewer
Type: Bug Report
0

We are using Kendo MVC version: 2021.3.1109.545

When we tried to open the PDF file from the application using PDF viewer, we can see the fonts getting blurred and fuzzy as shown below.

 

1 2 3 4 5 6