Open this dojo example: https://dojo.telerik.com/BzNkZgSf
The input tooltip shows:
k-editor-link-url
because the input's title attribute is set like this: title="k-editor-link-url"
Instead of the name of a class, the tooltip should show "Web address", "Text", or "ToolTip" respectively.
The custom ordering of the filter values in the Telerik UI ASP.NET Core Grid does not function correctly when using TagHelpers.
A REPL sample for reproduction: https://netcorerepl.telerik.com/wIYNvEvn00CAqNGL14
The filter values should be presented in the same order as specified in the Filterable configuration.
### Bug report
The label configuration is not available for the plotband when using the TagHelper version of the Bar Chart.
### Reproduction of the problem
1. Open the following REPL sample: https://netcorerepl.telerik.com/woEMFDll17ui7F4122
2. The label of the plotband is not available.
3. The label option is available when defining the Chart by using HtmlHelpers: https://netcorerepl.telerik.com/QSYMvNFP187x0nAl24
### Expected/desired behavior
The plotband must have a label option.
### Environment
* **Telerik UI for ASP.NET Core version: 2024.3.806
* **Browser: [all]
Grid Hidden Column is set as exportable by default for Pdf and Excel
The Grid Hidden Column should be set as exportable by default for Pdf and Excel.
The Grid Hidden Column should not be set as exportable by default for Pdf and Excel.
The issue is reproducible when the TimePicker's dates configuration is set and its min() API method is called. Afterwards, if the user select a time, the component shows the wrong time (2h earlier) as selected.
The TimePicker shows a selected value that is 2h earlier than the actual time the user has selected.
The time the user selects is shown as selected value.
Toolbar.Items.Group.CustomTool() API of the Scheduler produces an invalid configuration.
To give more context, the Toolbar's buttonGroup items do not expose, nor should they expose a template
configuration. The currently available options advocate that each of the buttons must apply options similar to that of the ToggleButton.
Thus, making the wrapper configuration not applicable. The following dojo verifies this - https://dojo.telerik.com/@alexander64836/ayedUsAh
Toolbar.Custom.Items.Group.CustomTool() API configuration of the Scheduler produces an invalid configuration which is not serialized accordingly.
Toolbar.Items.Group API configuration of the Scheduler should expose a CustomTool() API configuration for the ButtonGroups.
The current workaround would be to declare the CustomTool via the Toolbar.Custom.Items.CustomTool() API configuration. And a ButtonGroup via the Template component:
@(Html.Kendo().Scheduler<Kendo.Mvc.Examples.Models.Scheduler.TaskViewModel>()
.Name("scheduler")
...
.Toolbar(t => t.Custom(c =>
c.Items(itm => {
itm.CustomTool(Html.Kendo().Template().AddComponent(c => c
.ButtonGroup()
.Name("select-period")
.Items(t =>
{
t.Add().Text(string.Empty).Icon("chevron-up");
t.Add().Text(string.Empty).Icon("chevron-down");
})
));
})
)
)
)
The following Telerik REPL illustrates this approach.
Note: I already opened issue #7910 in the kendo-ui-core repo for this but wasn't sure if I should report this through the Feedback Portal.
The TextArea TagHelper does not render the "maxlength" attribute when set via data annotations.
Note: this is essentially the same issue from #6884 but applies to the TextArea helper (and not the TextBox helper), so perhaps the fix for that issue just needs to be applied to the TextArea helper (it's always that easy, right? 😉).
Given the following model property:
[StringLength(500)]
[DisplayName("Example")]
public string Example { get; set; }
The Kendo TextArea helper:
<kendo-textarea for="Example" rows="3"></kendo-textarea>
...generates code without the "maxlength" attribute:
<textarea
data-val="true"
data-val-length="The field Example must be a string with a maximum length of 500."
data-val-length-max="500"
id="Example"
name="Example"
data-role="textarea"
aria-disabled="false"
rows="3"
class="!k-overflow-auto !k-flex-none k-input-inner"
autocomplete="off">
</textarea>
The default ASP.NET Core TextArea helper:
<textarea asp-for="Example" rows="3"></textarea>
...generates code with the "maxlength" attribute:
<textarea
rows="3"
data-val="true"
data-val-length="The field Example must be a string with a maximum length of 500."
data-val-length-max="500"
id="Example"
maxlength="500"
name="Example">
</textarea>
The Kendo helper should generate the "maxlength" attribute like the built-in helper.
### Bug report
The ExpandAll() option does not expand or collapse the TreeView nodes.
### Reproduction of the problem
1. Enable or disable the ExpandAll() option.
2. The nodes are not expanded/collapsed when the TreeView is initialized.
A REPL sample for reproduction: https://netcorerepl.telerik.com/mSuMEPkZ10ZA6l8P00
### Expected/desired behavior
All nodes must be initially expanded when ExpandAll(true) is set.
### Environment
* **Telerik UI for ASP.NET Core version: 2024.2.514
* **Browser: [all]
At this stage, the Telerik UI for ASP.NET Core Notification allows setting arbitrary templates via the NotificationTemplateTagHelper. Despite the API documentation implying that the TagHelper can be nested, the following configuration:
<kendo-notification name="notifications" stacking="NotificationStackingSettings.Down" auto-hide-after="2500">
...
<templates>
<notification-template type="error">
<notification-template>
<p>Some Template</p>
</notification-template>
</notification-template>
</templates>
</kendo-notification>
It does not successfully serialize the Template TagHelper.
success
type is not serialized.The NotificationTemplateTagHelper does not serialize successfully the TemplateTagHelper.
The NotificationTemplateTagHelper should successfully serialize the TemplateTagHelper.
Currently, the Telerik UI for ASP.NET Core DataSource does not expose a Deferred()
API configuration. In comparison to its Telerik UI for ASP.NET MVC counterpart.
It would be beneficial to expose the ability to defer the component in the following manner:
@(Html.Kendo().DataSource<TelerikMvcApp119.Models.OrderViewModel>()
.Name("ds")
.Ajax(dataSource => dataSource
.Read(read => read.Action("AssetType_Read", "AssetTypes"))
)
.Deferred()
)
It will also enable users to employ CSP using a granular deferred initialization into a separate script tag. Annotated with the nonce
attribute
The Telerik UI for ASP.NET Core DataSource does not expose a built-in configuration for deferring the DataSource.
The Telerik UI for ASP.NET Core DataSource should expose a built-in configuration for deferring the DataSource.
A specific PDF file (example can be found in ticket : 1493640) shows upside down in DPL case
Run the DPL processing demo locally and replace the file with the one provided in the ticket
The file is shown upside down
The file should not be rendered upside down
Reproducible with the Grid's tag helper. Works as expected in the Html helper.
The toolbar does not show the RadioGroup.
A RadioGroup should appear in the toolbar, as set in the toolbar command template:
<toolbar-command-template>
<kendo-radiogroup name="test">
<kendo-radiogroup-items>
<kendo-radiogroup-item label="Factor" value="F"></kendo-radiogroup-item>
<kendo-radiogroup-item label="Equation" value="E"></kendo-radiogroup-item>
</kendo-radiogroup-items>
</kendo-radiogroup>
</toolbar-command-template>
### Bug report
Adding the [Authorize(Roles = "Admin, User")] attribute at Controller or Actions within the Controller does not show the Menu items.
### Reproduction of the problem
1. Create an application with authorization and add "Admin" and "User" roles.
2. Add the [Authorize(Roles = "Admin, User")] attribute to a specified Action method within the Controller:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[Authorize(Roles = "Admin, User")]
public IActionResult Security_Information()
{
return View();
}
}
3. Add a Menu:
@(Html.Kendo().Menu()
.Name("htmlhelperMenu")
.SecurityTrimming(true)
.Items(menu =>
{
menu.Add().Text("Home").Action("Index", "Home");
menu.Add().Text("Security Information").Action("Security_Information", "Home");
})
)
<kendo-menu name="taghelperMenu">
<items>
<menu-item text="View Inventory">
<sub-items>
<menu-item text="Home" asp-controller="Home" asp-action="Index"></menu-item>
<menu-item text="Security Information" asp-controller="Home" asp-action="Security_Information"></menu-item>
</sub-items>
</menu-item>
</items>
</kendo-menu>
3. The "Security Information" Menu item is not visible when the user is logged as "Admin" or as "User".
### Expected/desired behavior
The "Security Information" Menu item should be visible when the [Authorize(Roles = "Admin, User")] attribute is added to the respective Action/Controller and the user is logged as "Admin" or as "User".
### Environment
* **Telerik UI for ASP.NET Core version: 2023.2.606
* **Browser: [all]
DropDownTreeFor with checkboxes enabled is not binding to model value after postback.
Use the following definition of a DropDownTreeFor HtmlHelper in a plain HTML form, where MySelectedIds is int[]
:
@(Html.Kendo().DropDownTreeFor(m => m.MyClass.MySelectedIds)
.Checkboxes(checkboxes => checkboxes
.CheckChildren(false)
)
.DataTextField("MyText")
.DataValueField("MyId")
.AutoClose(false)
.CheckAll(true)
.DataSource(dataSource => dataSource
.Custom()
.Transport(t => t
.Read(r => r.Url("/api/items"))
)
)
)
The DropDownTree is bound to the model value on page load, but on successful form submission and returning the model the DropDownTree is not bound to the data. Refer to ticket 1648108 for a runnable example.
The DropDownTree should be bound to the model value after successful form submission.
Bind the model to a string[]
instead of int[]
.
### Bug report
The DropDownTree TagHelper with enabled checkboxes does not submit the selected options when it is bound to a Model property.
### Reproduction of the problem
1. Define a DropDownTree TagHelper as a form editor and and enable its checkboxes.
2. Bind the editor to a Model property (an array of integers).
3. Submit the form and examine the submit request payload. The values of the selected items are missing.
//Model
public class TestFormModelClass
{
public int[] MonthsSelectedIds { get; set; }
}
//View
@model TestFormModelClass
<form method="post">
<kendo-dropdowntree for="MonthsSelectedIds"
check-all="true"
datatextfield="Month"
datavaluefield="Id">
<hierarchical-datasource type="DataSourceTagHelperType.Custom">
<schema>
<hierarchical-model id="id"></hierarchical-model>
</schema>
<transport>
<read url="/api/items" />
</transport>
</hierarchical-datasource>
<checkboxes check-children="false" name="CheckedMonths" enabled="true" />
</kendo-dropdowntree>
<button type="submit">Save</button>
</form>
### Expected/desired behavior
When the DropDownTree TagHelper with checkboxes is used as a form editor, the values of the selected items must be submitted as expected to the server.
### Workaround
Use the HtmlHelper version of the DropDownTree
### Environment
* **Telerik UI for ASP.NET Core version: 2024.1.319
* **Browser: [all]
Setting the Reoderable.Rows.ClickMoveClick() API configuration explicitly to false
results in an error when using the HTML Helper wrappers.
Setting the Reoderable.Rows.ClickMoveClick() explicitly to false
throws the following error:
Setting the Reoderable.Rows.ClickMoveClick() explicitly to false
should not throw an error.
Scheduler Adaptive Rendering in Month View shows wrong year when the selected month is switched from December to January
Next
button to select the next monthThe year doesn't get update properly when the selected Month is switched from December to January
The correct year must be shown in the Scheduler's .k-scheduler-navigation element.
### Bug report
The ContextMenu does not show when the mouse is moved normally. It will show only when the mouse is moved very slowly.
### Reproduction of the problem
1. Create a Grid with a custom column command.
2. Define a ContextMenu that will be displayed when the custom column command is clicked.
3. Click over a specified column command - the ContextMenu opens.
4. Move the mouse over another row and click the custom column command - the ContextMenu does not open.
A Dojo sample for reproduction: https://dojo.telerik.com/aYiVUzum
### Current behavior
The ContextMenu does not open over every item as expected.
### Expected/desired behavior
The ContextMenu must open when clicking each item.
#### The issue is a regression starting with 2023.1.314 version
### Workaround
Add the following script before the ContextMenu initialization:
<script>
function contains(parent, child) {
try {
return $.contains(parent, child);
} catch (e) {
return false;
}
}
kendo.ui.ContextMenu.fn.open = function (x, y) {
var OPEN = "open",
ACTIVATE = "activate",
DOCUMENT_ELEMENT = $(document.documentElement),
NS = ".kendoMenu";
var that = this;
x = $(x)[0];
if (contains(that.element[0], $(x)[0]) || that._itemHasChildren($(x))) { // call parent open for children elements
kendo.ui.Menu.fn.open.call(that, x);
} else {
if (that._triggerEvent({ item: that.element, type: OPEN }) === false) {
if (that.popup.visible() && that.options.filter) {
that.popup.close(true);
that.popup.element.parent().kendoStop(true);
}
if (!that._triggerFocusOnActivate) {
that._triggerFocusOnActivate = that._focusMenu.bind(that);
}
that.bind(ACTIVATE, that._triggerFocusOnActivate);
if (y !== undefined) {
var overflowWrapper = that._overflowWrapper();
if (overflowWrapper) {
var offset = overflowWrapper.offset();
x -= offset.left;
y -= offset.top;
}
that.popup.wrapper.hide();
that._configurePopupScrolling(x, y);
that.popup.open(x, y);
} else {
that.popup.options.anchor = (x ? x : that.popup.anchor) || that.target;
that.popup.element.parent().kendoStop(true);
that._configurePopupScrolling();
that.popup.open();
}
DOCUMENT_ELEMENT.off(that.popup.downEvent, that.popup._mousedownProxy);
DOCUMENT_ELEMENT
.on(kendo.support.mousedown + NS + that._marker, that._closeProxy);
}
}
return that;
};
</script>
### Environment
* **Kendo UI version: 2023.1.314
* **Browser: [all]
### Bug report
The "confirmation" attribute of the editable tag does not accept a string.
### Reproduction of the problem
Add a confirmation text as a string in the "confirmation" attribute, as per the example below:
<kendo-grid name="grid">
...
<editable mode="popup" confirmation="Are you sure you want to hide this invoice?" />
</kendo-grid>
A REPL sample for reproduction: https://netcorerepl.telerik.com/moEqPSFo32PrwW4d01
### Expected/desired behavior
The "confirmation" option must accept a string.
### Environment
* **Telerik UI for ASP.NET Core version: 2024.2.514
* **Browser: [all]
### Bug report
The DropDownTree TagHelper does not serialize the "Value" and "Id" properties when it is configured for local data binding (using the "bind-to" option).
### Reproduction of the problem
1) Use the following DropDownTree TagHelper configuration:
//Controller
public IActionResult Index()
{
List<DropDownTreeItemModel> ddtData = new List<DropDownTreeItemModel>()
{
new DropDownTreeItemModel() { Id = "1", Text = "Option 1", Value = "S1" },
new DropDownTreeItemModel() { Id = "2", Text = "Option 2", Value = "S2",
Items = new List<DropDownTreeItemModel>()
{
new DropDownTreeItemModel() { Id = "3", Text = "Option 3", Value = "S3" }
}
}
};
ViewBag.StateTreeListData = ddtData;
return View();
}
// View
<kendo-dropdowntree name="StateLocationDropDownTree" style="width: 100%"
height="500px"
auto-width="true"
bind-to="(IEnumerable<DropDownTreeItemModel>)ViewBag.StateTreeListData">
</kendo-dropdowntree>
2) When the DropDownTree is loaded, inspect its initialization script - the "value" and "id" properties are "null".
### Expected/desired behavior
The "Id" and "Value" properties must be serialized as the rest of the DropDownTreeItemModel properties.
### Environment
* **Telerik UI for ASP.NET Core version: 2024.2.514
* **Browser: [all]