We are building our product using an ASP.NET Core MVC project and are very excited to use the Kendo UI Sass Template. We took a lot of time to integrate the Bootstrap Sass distribution into the project build process using Gulp and Node.js in Visual Studio to build and minify the Bootstrap Sass files so we have full control over the style and features included in our CSS files to maximize performance. Part of this process was to make sure we used the same exact process used by Bootstrap to compile the Sass into the CSS so our process did not introduce bugs because the Sass was compiled and minified using different options than the Bootstrap team. It would be greate if you could include options in the new project wizard to include the Kendo UI Sass template and the code necessary to build the CSS. Additionally it would be ideal if your Sass can be compiled and minified using the same options as Bootstrap so that if a team decides to combine and minify that code it will still work as expected. A bonus would be if you allowed the template to also select to use Bootstrap Sass alongside the Kendo UI Sass so that a project like this can be setup quickly with minimal effort on the developers part. Thanks for taking this into consideration, Bryan
Please add an option so that is possible to set Deferred rendering default setting to either true or false globally. Currently the default is false and can only be overwritten on a control basis and not globally. This would benefit those customers that have decided that all/most of the controls are rendered as deferred(true). Currently they have to append the Deffered(true) to each of the helpers.
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.
I`m working development and produced I4.0 devices as well app systems since 3 years. Are Telerick involve in this applications.
especially for Grid, Tabstrip, Charts...
so autosize is standard without javascript
I want to design a web page with text and signature input. In Tablet I need to enter the text fields and signature fields using touch pen. I want the web page to allow the touch pen to write comments and signature and save into database
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 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.
Provide support for the asp-page-handler attribute to call a handler in an ASP.NET Core 2.1 Razor page in addition to supporting controller/action methods.
Allow general configuration of SuggestionOperator, as is available for Operators.
I can do something like this in GridFilterableSettingsBuilder --
filterable.Operators(operators => operators
.ForString(str => str
.Clear()
.Contains("contains"))
I would like to also be able to do this --
filterable.SuggestionOperator(FilterType.Contains)
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).
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
I am looking for an extension to the Grid Columns fluent api that adds .Exportable(true or false). Exportable(true) would be the default and indicate that this column does get exported when exporting to Excel (or PDF). Exportable(false) would indicate that the column does NOT get exported.
Imagine the following Grid Definition:
@(Html.Kendo().Grid<Services>
()
.Name("gridMain")
.Columns(columns =>
{
columns.Bound(p => p.ServiceId).ClientTemplateId("rowNumTemplate").Title("Row").Width(50);
//columns.Bound(p => p.ServiceId).ClientTemplateId("cmdsTemplate").Title("Cmds").Width(125).Media("(min-width: 768px)");
columns.Bound(p => p.ServiceCode).Media("(min-width: 768px)");
columns.Bound(p => p.ServiceId).ClientTemplateId("xsTemplate").Title("Service / Desc / Code").Media("(max-width: 768px)");
columns.Bound(p => p.ServiceId).ClientTemplateId("serviceTemplate").Title("Service / Desc").Media("(max-width: 992px) and (min-width: 768px)");
columns.Bound(p => p.ServiceName).Media("(min-width: 992px)");
columns.Bound(p => p.ServiceDescription).Media("(min-width: 992px)");
columns.Bound(p => p.ServiceActive).ClientTemplateId("activeTemplate").Width(60).Media("(min-width: 768px)");
columns.Bound(p => p.ServiceId).ClientTemplateId("btnsTemplate").Title("View/Edit/Del").Width(150);
//columns.Bound(p => p.ServiceId).ClientTemplateId("xsCmdsTemplate").Title("Cmds").Media("(max-width: 768px)");
})
.Scrollable(scrollable => scrollable.Endless(true))
.Pageable(p => p.Numeric(false).PreviousNext(false))
.ToolBar(t => t.Search())
.Search(s => { s.Field(c => c.ServiceCode); s.Field(c => c.ServiceName); s.Field(c => c.ServiceDescription); })
.Resizable(resize => resize.Columns(true))
.ToolBar(t => t.Excel().Text("Excel"))
.Excel(excel => excel
.FileName("ABT_Services.xlsx")
.Filterable(true)
)
.DataSource(dataSource =>
dataSource
.WebApi()
.PageSize(Model.GridPageSize)
.Model(model =>
{
model.Id(p => p.ServiceId);
})
.Events(events => events.Error("errorHandler").RequestEnd("gridMainRequestEnd"))
.Read(read => read.Action("Get", "Services"))
)
)
What I would like to do is define a column like the following:
columns.Bound(p => p.ServiceId).ClientTemplateId("rowNumTemplate").Title("Row").Width(50).Exportable(false);
In the case above, the "Row" column would not be Exported to Excel.
If you take a closer look at the Columns definition above you will see that the configuration is implemented to support responsive page sizing. Because the current implementation of Export to Excel does not allow an Exportable(true/false), I get these columns that I don't want in the exported Excel.
Although there appear to be workarounds (like keeping a second hidden grid -- a poor solution at best), none would be as useful to a Developer as defining an Exportable(true/false) as part of the Column configuration.
Thanks for considering my request.
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).
The Rating is unresponsive.
The Rating works properly.
Even when using server side paging some requests can be very long, and may be canceled by the user. Adding a CancellationToken parameter to the ToDataSourceResultAsync.
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.
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>
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