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.
@(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())
JS exceptions on initializing the Grid and on attempting to group it by ShipCity.
CSP compatible templates.
@(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("Сортирай низходящ ред"))
)
The filter menu messages are not set.
The filter menu messages are set regardless of whether a ColumnMenu is enabled or not.