Unplanned
Last Updated: 21 Jun 2021 06:02 by ADMIN
Created by: Jon
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
2

Hi Telerik Team

Wil younot implement the LightBox also as a a asp.net core component ? 


We think it will be usefull. of course we could also implement in window component but its not the same

 

Telerik Web UI LightBox Overview Demo | Telerik UI for ASP.NET AJAX

 

Best regards

Murat Zürich

Completed
Last Updated: 20 Jan 2022 12:30 by ADMIN
Release 2021.R2.SP1

Bug report

A DataSource defined using TagHelpers with disabled serverPaging sets default pageSize:

    <datasource type="DataSourceTagHelperType.Ajax" server-filtering="true" server-paging="false">
            <transport>
                <read url="@Url.Page("Index", "Read")" data="forgeryToken" />
            </transport>
            <schema data="Data">
                <model id="OrderID">
                    <fields>
                        <field name="ShipName" type="string"></field>
                    </fields>
                </model>              
            </schema>
     </datasource>

generates the following initialization script:

{"dataSource":{"page":1,"pageSize":20,"schema":{"model":{"id":"OrderID","fields":{"ShipName":{"type":"string"}}},"data":"Data","errors":"Errors","total":"Total"},"serverAggregates":true,"serverFiltering":true,"serverGrouping":true,"serverPaging":true,"serverSorting":true,"transport":{"read":{"url":"/?handler=Read","data":forgeryToken}},"type":(function(){if(kendo.data.transports['aspnetmvc-ajax']){return 'aspnetmvc-ajax';} else{throw new Error('The kendo.aspnetmvc.min.js script is not included.');}})()}

with default pageSIze set.
Initializing using jQuery works as expected:

       dataSource: {
            type: "aspnetmvc-ajax",
            serverPaging: false,
            serverFiltering:true,
            transport: {
                read: {
                    url: "@Url.Page("Index", "Read")",
                    data: forgeryToken
                }
            },
            schema: {
                model: {
                    id:"OrderID"
                },
                data: "Data",
                total:"Total"
            }
        }

Current behavior

The "page" and "pageSize" values are set, which results in only 20 items being displayed, even though more are returned by the "read" action.

Expected/desired behavior

The "page" and "pageSize" should not be set.

Environment

  • Kendo UI version: 2021.1.330
  • Browser: [all]
Unplanned
Last Updated: 18 Mar 2021 12:53 by ADMIN

Issue

Using any overload of ToDataSourceResult(Async) with a DataSourceRequest containing filter descriptors on an IQueryable provided by Entity Framework core 2.x, causes Entity Framework's "Query cache" to fill up for different filter values, leaking memory in the process. This is caused by using Expression.Constant in the generated expression trees for a DataSourceRequest's FilterDescriptors. Refer to https://github.com/dotnet/efcore/issues/14859 for more details about why this leaks memory.

Since Entity Framework's cache is always missed for new filter values, performance is also degraded due to this issue.

The issue is not present when using Entity Framework core 3 or greater. Apparently using Expression.Constant is not an issue on these version.

I have attached a minimal working example that illustrates the memory leak.

Fix

This issue can be fixed by changing FilterDescriptorExpressionBuilder.CreateValueExpression to not return a ConstantExpression, but a MemberExpression instead. Entity Framework 2.x will correctly parameterize the MemberExpression, causing the query cache to be hit correctly for queries that only differ in parameter values. It won't parameterize ConstantExpressions. Refer to https://stackoverflow.com/a/60516780/147993 for an example of generating a MemberExpression instead of a ConstantExpression.

Unplanned
Last Updated: 09 Feb 2021 15:26 by Robert Madrian
Created by: Robert Madrian
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
0

especially for Grid, Tabstrip, Charts...

so autosize is standard without javascript

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.

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

Completed
Last Updated: 18 Jan 2024 07:55 by ADMIN
Release 2024 Q1

Bug report

When the Model for the Grid inherits the CustomTypeDescriptor, an error is thrown.

Reproduction of the problem

  1. Open the attached sample project -
    TelerikAspNetCoreApp3.zip

  2. Load the About page

Current behavior

The following error is thrown:

An unhandled exception occurred while processing the request.
InvalidOperationException: Bound columns require a field or property access expression.
Kendo.Mvc.UI.GridBoundColumn<TModel, TValue>..ctor(Grid grid, Expression<Func<TModel, TValue>> expression)

Expected/desired behavior

The view should load without any errors

Environment

  • Kendo UI version: 2020.3.1118
  • Browser: [all ]
Declined
Last Updated: 04 Jan 2021 10:09 by ADMIN

Can't update Razor.RuntimeCompilation to 5.0.0, because Telerik.UI.for.AspNet.Core (2020.3.1118) uses Microsoft.CodeAnalysis.Common=3.3.1 (needed >=3.7.0).

NU1107: 
 OperationalAccounting -> Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 5.0.0 -> Microsoft.CodeAnalysis.Razor 5.0.0 -> Microsoft.CodeAnalysis.Common (>= 3.7.0) 
 OperationalAccounting -> Telerik.UI.for.AspNet.Core 2020.3.1118 -> Microsoft.CodeAnalysis 3.3.1 -> Microsoft.CodeAnalysis.CSharp.Workspaces 3.3.1 -> Microsoft.CodeAnalysis.Common (= 3.3.1).
Please, if it's not critical, update the version of CodeAnalysis.Common
Completed
Last Updated: 09 Nov 2020 12:44 by ADMIN
Created by: Aaron
Comments: 1
Category: UI for ASP.NET Core
Type: Bug Report
1

When assigning the Name of a Telerik UI control, the value specified is used for both the name and id attributes of HTML elements. If the value specified contains a period (ex. a property of a complex model property, ex. Model.Address.Line1) then the "name" attribute will still contain the period (ex. "Address.Line1") but because periods are invalid for the "id" attribute, the periods should get replaced with an underscore by default (ex. "Address_Line1"). Using HTML helpers, this appears to be happening correctly. Using Tag Helpers, on the other hand, does not appear to be sanitizing the id values and instead leaves the period, causing an invalid value to be used and inconsistent results when compared to the HTML Helpers.

 

Example using the ListBox component:

// Tag Helper, generates this: <select id="ComplexModelProperty.ListBoxTagHelper" name="ComplexModelProperty.ListBoxTagHelper">
<kendo-listbox name="ComplexModelProperty.ListBoxTagHelper" bind-to="new List<string>()"></kendo-listbox>

// HTML Helper, generates this: <select id="ComplexModelProperty_ListBoxHtmlHelper" name="ComplexModelProperty.ListBoxHtmlHelper">
@(Html.Kendo().ListBox()
  .Name("ComplexModelProperty.ListBoxHtmlHelper")
  .BindTo(new List<string>())
)

Example using the Button component:

// Tag Helper, generates this: <button id="ComplexModelProperty.ButtonTagHelper" name="ComplexModelProperty.ButtonTagHelper" type="button">
<kendo-button name="ComplexModelProperty.ButtonTagHelper">Image icon</kendo-button>

// HTML Helper, generates this: <button id="ComplexModelProperty_ButtonHtmlHelper" name="ComplexModelProperty.ButtonHtmlHelper" type="button">
@(Html.Kendo().Button()
      .Name("ComplexModelProperty.ButtonHtmlHelper")
      .HtmlAttributes(new { type = "button" })
      .Content("Image icon"))

I only tested with these two components to verify this wasn't an issue specific to the ListBox component, but I'm assuming this is a problem with any component when using Tag Helpers. After looking at some of the relevant code, I'm guessing this could be corrected by updating the GenerateId() method in the TagHelperBase class (ex. by calling something like GenerateIdFromName() that would handle sanitizing the value).

I also found this forum post from over two years ago reporting what appears to be this same issue. There was a reply that acknowledged the issue and offered a workaround "until this issue is fixed", however after two years I would think something like this would have already been fixed (a bug that applies to all Tag Helpers, results in invalid HTML being generated, and can be fixed by using a built-in .NET method that was created specifically for this purpose).

Unplanned
Last Updated: 08 Oct 2020 12:11 by ADMIN

It would be useful to have an exemple of how to uploda directly to an Azure Storage container from a Kendo UI upload or FileManager component.

 

Unplanned
Last Updated: 01 Oct 2020 10:34 by Jon
Created by: Jon
Comments: 2
Category: UI for ASP.NET Core
Type: Feature Request
6

Hallo Teleirk team

Please add Rotate function to the imageeditor

Thank you

https://demos.telerik.com/aspnet-core/imageeditor/index

 

Best regards

Murat from Zurich

 

Completed
Last Updated: 25 Aug 2021 12:55 by ADMIN
Release 2021.R2
Created by: Marcin
Comments: 4
Category: UI for ASP.NET Core
Type: Feature Request
1

Since support for cancellation token on user vote:

https://feedback.telerik.com/aspnet-core-ui/1357637-duplicate-kendo-mvc-extensions-support-for-cancellationtokens

https://feedback.telerik.com/aspnet-mvc/1357593-todatasourceresultasync-should-support-cancellation-token

was declined and is unplanned.

I would like to implement it by myself.

However most of methods used by code is private or internal, so extending current one is difficult to achieve without copying a lot of existing methods and marking them public. It would be good make them part of public api so implementing own extension to ToDataSourceResult and ToTreeDataSourceResult would be possible. Currently it is not.

Kind Regards

Marcin

Unplanned
Last Updated: 02 Oct 2020 08:28 by ADMIN
Created by: PAS
Comments: 1
Category: UI for ASP.NET Core
Type: Feature Request
5

We want to have a tabstrip that a user can select the tabs that he wants with checkbox. For example:

It will be a great feature.

<div id="tabstrip">
      <ul>
             <li>@Html.Checkbox("name",false) A </li>
      </ul>
</div>

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]
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 ]
Unplanned
Last Updated: 13 Aug 2020 13:32 by ADMIN
Created by: JeffSM
Comments: 0
Category: UI for ASP.NET Core
Type: Feature Request
1
Having a component that is an equivalent of the RadPanorama (https://docs.telerik.com/devtools/winforms/controls/panorama/overview) would be nice to have in UI for ASP.NET Core. 
Unplanned
Last Updated: 16 Jul 2020 13:35 by ADMIN

Currently the components accept only ClientTemplates. From an ASP.NET perspective it is more  convenient to store the templates in ~Views\Shared\DisplayTemplates folder.

Please provide a new method TemplateView("ViewName") that will look for the partial in the folders much like we have it for the EditorTemlates.

Completed
Last Updated: 09 Oct 2020 10:56 by ADMIN
Release 2020.R3.SP.next
Such mechanism is available for the Kendo HTML helper methods (ToClientTemplate). But similar mechanism is missing from the Tag Helpers. 
Completed
Last Updated: 09 Jun 2021 07:35 by ADMIN
Created by: Jon
Comments: 4
Category: UI for ASP.NET Core
Type: Feature Request
1

Hi Telerik Team

We think it might be very useful an component in telerik like this one https://fengyuanchen.github.io/cropperjs/  for rotate, crop, resize, zoom and move. with a picture box like https://ashleydw.github.io/lightbox/#videos-gallery

If you implement this we will very happy

Thank you

 

 

Completed
Last Updated: 20 May 2022 14:16 by ADMIN
Release 2022.R2.SP.next

kendo.aspnetmvc.js does not account for server aggregates serialized with came case property names like it does for Groups.

Can the following code (minus the comments) be included in a future release to resolve this?

function translateAggregateResults(aggregate) {
            var obj = {};
            // LSS: support for camel case serialization
            obj[(aggregate.AggregateMethodName || aggregate.aggregateMethodName).toLowerCase()] = (aggregate.Value || aggregate.value);
            return obj;
        }
        function translateAggregate(aggregates) {
            var functionResult = {}, key, functionName, aggregate;
            for (key in aggregates) {
                functionResult = {};
                aggregate = aggregates[key];
                for (functionName in aggregate) {
                    functionResult[functionName.toLowerCase()] = aggregate[functionName];
                }
                aggregates[key] = functionResult;
            }
            return aggregates;
        }
        function convertAggregates(aggregates) {
            var idx, length, aggregate;
            var result = {};
            for (idx = 0, length = aggregates.length; idx < length; idx++) {
                aggregate = aggregates[idx];
                // LSS: support for camel case serialization
                result[(aggregate.Member || aggregate.member)] = extend(true, result[(aggregate.Member || aggregate.member)], translateAggregateResults(aggregate));
            }
            return result;
        }
        extend(true, kendo.data, {
            schemas: {
                'aspnetmvc-ajax': {
                    groups: function (data) {
                        return $.map(this._dataAccessFunction(data), translateGroup);
                    },
                    aggregates: function (data) {
                        data = data.d || data;
                        // LSS: support for camel case serialization
                        var aggregates = data.AggregateResults || data.aggregateResults || [];
                        if (!$.isArray(aggregates)) {
                            for (var key in aggregates) {
                                aggregates[key] = convertAggregates(aggregates[key]);
                            }
                            return aggregates;
                        }
                        return convertAggregates(aggregates);
                    }
                }
            }
        });