The documented lazy loading scenario is not compatible with Telerik UI for Blazor 15.0.0, because of the new ITelerikIconService. Unlike the ITelerikStringLocalizer, there is no alternative way to register this icon service outside Program.cs.
The ComboBox and MultiColumnComboBox retain their TextField string label when the value is cleared programmatically. The issue starts to occur in version 14.1.0.
Test Page:
<ul>
<li><code>AutoCompleteValue</code>: @AutoCompleteValue</li>
<li><code>SelectedValue</code>: @SelectedValue</li>
<li><code>SelectedValueNullable</code>: @SelectedValueNullable</li>
<li><code>MultiSelectValues</code>: @string.Join(", ", MultiSelectValues)</li>
</ul>
<p>
<TelerikButton OnClick="@(() => {
AutoCompleteValue = string.Empty;
SelectedValue = default;
SelectedValueNullable = default;
MultiSelectValues = new();
})">Clear Values</TelerikButton>
</p>
<TelerikAutoComplete Data="@ListItems"
@bind-Value="@AutoCompleteValue"
ValueField="@nameof(ListItem.Text)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px" />
<br /><br />
<TelerikComboBox Data="@ListItems"
@bind-Value="@SelectedValue"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px" />
<TelerikComboBox Data="@ListItems"
@bind-Value="@SelectedValueNullable"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px" />
<br /><br />
<TelerikDropDownList Data="@ListItems"
@bind-Value="@SelectedValue"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
DefaultText="Select Item"
Width="300px" />
<TelerikDropDownList Data="@ListItems"
@bind-Value="@SelectedValueNullable"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
DefaultText="Select Item"
Width="300px" />
<br /><br />
<TelerikMultiColumnComboBox Data="@ListItems"
@bind-Value="@SelectedValue"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px">
<MultiColumnComboBoxColumns>
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Id)" />
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Text)" />
</MultiColumnComboBoxColumns>
</TelerikMultiColumnComboBox>
<TelerikMultiColumnComboBox Data="@ListItems"
@bind-Value="@SelectedValueNullable"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Item"
ShowClearButton="true"
Width="300px">
<MultiColumnComboBoxColumns>
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Id)" />
<MultiColumnComboBoxColumn Field="@nameof(ListItem.Text)" />
</MultiColumnComboBoxColumns>
</TelerikMultiColumnComboBox>
<br /><br />
<TelerikMultiSelect Data="@ListItems"
@bind-Value="@MultiSelectValues"
TextField="@nameof(ListItem.Text)"
ValueField="@nameof(ListItem.Id)"
Placeholder="Select Items"
ShowArrowButton="true"
ShowClearButton="true"
AutoClose="false"
Width="600px" />
@code {
private List<ListItem> ListItems { get; set; } = new();
private int SelectedValue { get; set; } = 3;
private int? SelectedValueNullable { get; set; } = 3;
private string AutoCompleteValue { get; set; } = "Item 3";
private List<int> MultiSelectValues { get; set; } = new() { 3, 5 };
protected override void OnInitialized()
{
ListItems = new List<ListItem>();
for (int i = 1; i <= 24; i++)
{
ListItems.Add(new ListItem()
{
Id = i,
Text = $"Item {i}"
});
}
base.OnInitialized();
}
public class ListItem
{
public int Id { get; set; }
public string Text { get; set; } = string.Empty;
}
}
The PDF Viewer may open certain files as empty, even though they have text and image content.
The issue occurs in version 14.0.0.
(Test file available in private ticket 1718294)
(bug report only)
(optional)
Provide additional information if the steps for reproducing the faulty behavior are not sufficient to describe the issue.
The FontFamily tool should keep its value when an unordered list is added/removed.
(bug report only)
Environment
TabStrip Tab is never destroyed
Components/TabStrip/Tab.razor.cs registers each tab with initTabStripTab in OnAfterRenderAsync. Its Dispose() only releases the DotNetObjectReference; it never calls InvokeDisposeAsync(). The JS Tab.destroy() method is therefore never called, and TabStrip.destroy() does not destroy its child tabs. Every tab stays in window.TelerikBlazor._instances with its detached <li class="k-tabstrip-item">, which again keeps the disposed page reachable.
Object.entries(TelerikBlazor._instances) .filter(([k, i]) => i && i.element && !i.element.isConnected) .map(([k, i]) => k + ' / ' + i.constructor.name)
Sample project attached.
(optional)
One entry per TabStrip tab is returned, all pointing at detached elements. Each pageA -> pageB round trip adds more, and the detached DOM is never released.
An empty array is returned. PageA's components were disposed, so their JS instances should have been destroyed.
Workaround
After each navigation, we destroy and remove any registered instance whose element is no longer in the page:
const instances = window.TelerikBlazor && window.TelerikBlazor._instances; for (const key of Object.keys(instances || {})) { const i = instances[key]; if (i && i.element && !i.element.isConnected) { try { i.destroy && i.destroy(); } catch (e) { } delete instances[key]; } }
Suggested Fix
The ability to choose which options to appear in the ContextMenu.
=====
TELERIK EDIT: In the meantime, here is how to hide context menu items with CSS:
/* Hide the Rename item in the FileManager context menu */
.k-context-menu:has(.k-svg-i-download) .k-menu-item:nth-of-type(1) {
display: none;
}
/* Hide the Delete item in the FileManager context menu */
.k-context-menu:has(.k-svg-i-download) .k-menu-item:nth-of-type(3) {
display: none;
}Here is a complete example: https://blazorrepl.telerik.com/cpPkuBEq408A36p010
Hello,
Please consider a Grid feature that changes the component layout on mobile devices or narrow screens. The idea is to switch the column layout to a card layout or anything similar to this example: https://css-tricks.com/responsive-data-tables/
It is possible to implement a similar behavior with the Telerik Blazor Grid and MediaQuery components, but it requires reusing the column titles in the CSS code: https://blazorrepl.telerik.com/GnYPmHFR176Jg5Yg02
===
Telerik Blazor team: Everyone who is interested in this feature, please vote for it to help us prioritize. Also, share your opinion about which Grid features you strictly need in the "mobile" layout and which ones you are ready to sacrifice. Some features don't make sense in a card / listview layout anyway, but still, the mobile-friendly Grid may require completely different HTML markup and UX, so some features may need to be completely revamped.
When I click on the CheckBox's label, "Select All," the dropdown closes. While if I click the TelerikCheckBox itself, it remains open.
===
TELERIK EDIT
Please use the built-in Select All functionality of the MultiSelect. It doesn't exhibit the described problem.
For other scenarios that require a checkbox in the HeaderTemplate, Possible workarounds include:
I'm experiencing a flickering in the TreeList InCell Editing demo here: https://demos.telerik.com/blazor-ui/treelist/editing-incell
Steps to reproduce:
1. Click on "Mountain Bikes"
2. Click on "Road Bikes"
3. Click on "Touring Bikes"
It can actually be reproduced by clicking on any three editable cells.
Any ideas?
Thank you.
Use a ToolBar with its ToolBarTemplateItem (with DropDownList inside of the template) in a separate component. Try to switch values in the DropDownList with the arrows of the keyboard. The value in the DropDownList does not change until you move away from it with a right arrow. This only happens when the template with the dropdown inside is in a separated component.
-------------------- ADMIN EDIT --------------------
The workaround for such a scenario is to export the DropDownList too onto a separated component and then call it in the ToolBarTemplateItem. See the attached sample project.
I am overriding the built-in Add command and setting an InsertedItem through the TreeList state. However, it looks like the the built-in validation is invoked twice and two validation Tooltips are displayed for the field.
When you type something in the grid searchbox, there will be a X at the end to clear the box.
However, if you restore the grid from previously stored state like localstorage, and if the box has value, the X is not there.
Thanks!
If you use the FloatingLabel, when you tab into the DateInput control, the cursor is set at the very end of the text of the date format. However, if you do not use the FloatingLabel, and you tab into the DateInput control, the placeholder text is selected.
Reproduction: https://blazorrepl.telerik.com/wQlvclOZ14jEKaXU38.
===
ADMIN EDIT
===
The report is initially opened for DateInput, however, it also targets the rest of the date pickers that are compatible with FloatingLabel.
DatePicker cursor not advancing after month input. The problem arises when dd/MMM/yyyy format is applied.
To reproduce the issue open this REPL example. Type any date in the second DatePicker. When inserting a month value the cursor is not moved to the year section.
After inserting a month the cursor should be moved to the year section. As when no format is applied (the first DatePicker)The Font Size and Font Family tools display the currently applied style value in the user selection only if the selection is inside one HTML element. This prevents the user from resetting (removing) the current font style.
Test scenario:
@using Telerik.Blazor.Components.Editor
<TelerikEditor @bind-Value="@EditorValue"
Tools="@EditorToolSets.All" />
<h2>Raw Editor Value</h2>
<TelerikTextArea @bind-Value="@EditorValue"
Rows="5" />
@code {
private string EditorValue { get; set; } = @"<p><strong>Foo</strong> foo foo.</p><p>Bar <strong>bar</strong> bar.</p><p>Baz baz <strong>baz</strong>.</p>";
}The possible workarounds are:
Hello,
We've come across a bug. It seems as whatever tool button(s) that should be selected is not shown correctly. It appears to show the previously selected.
Repro steps:
Is this an intended behaviour? Our users are confused :)
/Patrik