I have a master-detail draggable Grid scenario in which both Grids have RowDraggable="true". When the user starts dragging a row from the DetailTemplate Grid, a JavaScript error occurs:
TypeError: Argument 1 ('node') to Node.replaceChild must be an instance of Node
Bug reproduced systematically on web browser Edge (131.0.29.03.146) & Firefox (134.0).
Beware: culture is fr-FR
Scheduler component sometimes put appointments at wrong coordinates (hour if ok but the day is wrong).
The screenshot "ExampleWrongCoordinates.png" set an example of an item wrongfully located. In this picture, console log shows details of the razor element who's supposed to be located on Tuesday 14th of January 2025 .. but which is rendered on Monday instead!
Appointments model defines "default (expected) property names Start & End":
private DateTime _start;
public DateTime Start
{
get { return _start; }
set { _start = value; }
}
private DateTime _end;
public DateTime End
{
get { return _end; }
set { _end = value; }
}
View is MultiDay but the glitch is the same on Week view.
Now if we switch on day view and navigate to Tuesday 14, scheduler shows the appointment on hours column! If we click it, a JS error is raised (Cf screenshot "ClickAppointmentWrongCoordinates.png").
When I try to move by drag and drop an event between resources the resource on the event is not updated.
I used this
<TelerikScheduler Data="@_trips" Height="500px"Currently, if a sub-menu is opened and the user moves the mouse back to a different parent item, the whole menu is closed.
Video: https://app.screencast.com/rcdHp9oklAU4z
Reproduction: https://blazorrepl.telerik.com/mxuClvaB36CB47v425
===
ADMIN EDIT
===
This bug also affects the ContextMenu component.
I previously raised an issue regarding the grid popup editor not linking the labels with the generated text inputs which was creating an issue with screenreaders. Since upgrading to version 7.1.0, I've seen that this issue has been fixed but in a way that breaks editor templates. Previously, the "for" attribute of the generated label was being set to the label text, but now everything is being set to a generated GUID.
This is fine for the generated fields since they can link the labels to the controls automatically (by setting the ID of the control to the GUID), but for templates, this means that we cannot link the generated label to the control since we cannot get access to the GUID in the template (as far as I know). Previously, when the "for" attribute on templates was the same as the label text, I could set the ID of the custom template control to the label text and the controls will be linked correctly.
===
ADMIN EDIT
===
For the time being, possible workarounds are:When enabling/disabling a form element that is defined in a child component, the element is successfully disabled, however a console error occurs. The error occurs whether the child component makes the update or the parent makes the update through a passed parameter. The error does not occur for form elements defined in the parent. The error does not occur for basic html input elements defined in the child.
Element definition:
<TelerikTextBox
Id="ElementMisc"
AutoComplete="new-password"
@bind-Value="@_searchModel.ElementMisc"
Enabled="!_elementSelectMode"
class="textbox-75"
DebounceDelay="0">
</TelerikTextBox>
Update Code defined in child:
if (results.Data.Count > 1)
{
_elementSelectMode= true;
StateHasChanged();
}
Console Error:
Uncaught (in promise) Error: Assertion failed - heap is currently locked
at mr (blazor.web.js:1:158963)
at Object.beginInvokeDotNetFromJS (blazor.web.js:1:157244)
at w.invokeDotNetMethodAsync (blazor.web.js:1:3978)
at C.invokeMethodAsync (blazor.web.js:1:5486)
at r.invokeMethodAsync (telerik-blazor.js:22:1272553)
at r.onBlur (telerik-blazor.js:22:1463592)
at ye.setOrRemoveAttributeOrProperty (blazor.web.js:1:28630)
at ye.applyAttribute (blazor.web.js:1:27574)
at ye.applyEdits (blazor.web.js:1:24601)
at ye.updateComponent (blazor.web.js:1:23606)
Describe the bug
The class 'k-tabstrip' item is missing in the rendering of the TabStrip component.
To Reproduce
1. Go to the following demo and open the DevTools:
https://demos.telerik.com/blazor-ui/tabstrip/overview
2. Check the source of truth:
https://github.com/telerik/kendo-themes/blob/develop/tests/tabstrip/tabstrip.html
Actual results
The class 'k-tabstrip-item' is missing.
Expected behavior
The class 'k-tabstrip-item' to be present.
Additional context
ThemeBuilder generates styles for the items of the TabStrip component with selectors like these:
.k-tabstrip .k-tabstrip-items-wrapper .k-tabstrip-items.k-reset.k-tabstrip-items-start .k-item.k-tabstrip-item.k-active .k-link
This works in other technologies, such as Kendo React, but it doesn't take effect in Blazor applications because of the issue.
Reported through t.1672526.
The AutoComplete component does not update the category grouping header, even when the data within that group has been removed. As a result, the outdated group header remains visible until you scroll down to another group, at which point the first group header refreshes and disappears as expected.
Repro: REPL link.
When you create or paste a table, you cannot move the cursor outside of it if there is no other content in the Editor.
----------ADMIN EDIT----------
Here is a possible workaround when using InsertTable() tool:
@using Telerik.Blazor.Components.Editor
<TelerikButton OnClick="@InsertTable">Insert Table</TelerikButton>
<TelerikEditor @ref="@TheEditor" Value="@TheContent" ValueChanged="@ValueChangedHandler"></TelerikEditor>
@code {
TelerikEditor TheEditor { get; set; }
string TheContent { get; set; } = "<p>Lorem ipsum.</p><p>Dolor sit amet.</p>";
void ValueChangedHandler(string value)
{
var checkEnd = value.EndsWith("</table>");
TheContent = checkEnd == true ? value + "<p></p>" : value;
}
async Task InsertTable()
{
await TheEditor.ExecuteAsync(new TableCommandArgs(4, 4));
}
}
Steps:
Good Morning,
I have recently started getting random and repeated Javascript errors when debugging my project using your controls for Blazor. It is completely random (sometimes happens immediately at project start, sometimes when navigating to a new page, sometimes when interacting with a control). It is ALWAYS the same error....
TypeError: Cannot read properties of undefined (reading 'visible')
Message=
Source=
StackTrace:
at __webpack_modules__.8219.constructor.onMouseEnter (https://localhost:44307/_content/Telerik.UI.for.Blazor/js/telerik-blazor.js?v=ITaQSsBTBmdJoUpPr2KiZ7JwhfKjwa7SGa6zvlv9kkU:50:1442661)
I am using the most current version of your product. I have gone through your "Javascript Errors" page and have worked through all the suggestions. Nothing resolves it.
This is becoming a giant time sink while trying to work on a project. What can we do to get appropriate error handling on your end to prevent these issues?
Thanks
The scenario involves a Grid and a Tooltip.
While doing sorting on the Grid quickly on 2,3 columns, I get the following error:
TypeError: Cannot read properties of undefined (reading 'anchor')
StackTrace:
at t.8219.constructor.closePopup (https://blazor.cdn.telerik.com/blazor/7.0.0/telerik-blazor.min.js:22:1597184)
at t.8219.constructor.onMouseDown (https://blazor.cdn.telerik.com/blazor/7.0.0/telerik-blazor.min.js:22:1595916)
When the Grid is databound via OnRead event, the initially displayed aggregates are wrong and take into account the first page only.
A possible workaround is to bind the Grid in OnAfterRenderAsync -
@using Telerik.DataSource
@using Telerik.DataSource.Extensions
<TelerikGrid @ref="@GridRef"
OnRead="@OnGridRead"
TItem="@Product"
Pageable="true">
<GridAggregates>
<GridAggregate Field="@nameof(Product.Name)" Aggregate="@GridAggregateType.Count" FieldType="@(typeof(System.String))" />
</GridAggregates>
<GridColumns>
<GridColumn Field="@nameof(Product.Name)" Title="Product Name">
<FooterTemplate>
@context.Count
</FooterTemplate>
</GridColumn>
<GridColumn Field="@nameof(Product.Price)" />
<GridColumn Field="@nameof(Product.ReleaseDate)" Title="Release Date" />
<GridColumn Field="@nameof(Product.Active)" />
</GridColumns>
</TelerikGrid>
@code {
TelerikGrid<Product> GridRef { get; set; }
List<Product> GridData { get; set; }
bool ShouldBindGrid { get; set; }
async Task OnGridRead(GridReadEventArgs args)
{
if (!ShouldBindGrid)
{
return;
}
await Task.Delay(200); // simulate network delay
DataSourceResult result = GridData.ToDataSourceResult(args.Request);
args.Data = result.Data;
args.Total = result.Total;
args.AggregateResults = result.AggregateResults;
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
// workaround for initial Grid aggregates
ShouldBindGrid = true;
GridRef.Rebind();
StateHasChanged();
}
}
protected override void OnInitialized()
{
GridData = new List<Product>();
var rnd = new Random();
for (int i = 1; i <= 50; i++)
{
GridData.Add(new Product()
{
Id = i,
Name = "Product " + i.ToString(),
Price = (decimal)rnd.Next(1, 100),
ReleaseDate = DateTime.Now.AddDays(-rnd.Next(60, 1000)),
Active = i % 3 == 0
});
}
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public DateTime ReleaseDate { get; set; }
public bool Active { get; set; }
}
}
Hello,
Hi Telerik Support
This is related to the feedback portal item: The Grid header gets focus only for the first time when tabbing
I had raised the above issue, now I can see that the issue is fixed in 7.0.0. But the fix does not work when the TelerikGrid is inside a TelerikWindow.
Please find the REPL sample https://blazorrepl.telerik.com/QIvmPrlI39rZ4whP10
Is there a work around for the scenario where the grid is inside a popup window?
Regards
Bably
Hi Telerik Support
Facing an issue with Keyboard navigation in Telerik Grid component.
When we use TAB to navigate, the grid header gets focus only for the first time. After completing one round of navigation, second time after the Toolbar buttons, if we TAB out, focus goes to the pager sections skipping the grid header part.
Pls refer the REPL sample from Telerik website:
Steps to reproduce:
1) Use ALT + W and then use TAB key to navigate
2) First focus goes to the Toolbar button (Add Product), then goes to the Grid Header and then if we TAB again focus goes to the Pager section
3) After the Pager section, if we do steps 1 and 2 again, we can see that it skips the Grid Header focus second time onwards.
We have recently update to version 7.0.0 of Telerik for Blazor controls.
We have also access to Progress ThemeBuilder application which we use to customize the default Material theme.
After the update to version 7 and also upgrading and compiling the new theme file for our application, TabStrip items fail to display the correct css and defaults to the theme's original css.
ThemeBuilder produces rules for the tab item items with the following path
.lvs-tabstrip.k-tabstrip .k-tabstrip-items-wrapper .k-tabstrip-items.k-reset.k-tabstrip-items-start .k-item.k-tabstrip-item
where the actual control generates the following
.lvs-tabstrip.k-tabstrip .k-tabstrip-items-wrapper .k-tabstrip-items.k-reset.k-tabstrip-items-start .k-item
As you can see it is missing the k-tabstrip-item class and the custom theme fails to render correctly. Either Telerik blazor libary did not add this extra class to each tab item or theme builder is inserting this class when it should not.
I can place this extra class on each TabStripTab element on its Class property, but I feel this is something that the actual Telerik for Blazor libray should do.
Looking at the source code of Telerik for Blazor library, the TabStipTab component generates add the k-item as default and then applies the value of property ClassToRender and its value is
$"{ActiveCssClass} {DisabledCssClass} {Class} {FirstItemClass} {LastItemClass}".Trim()
The Class is an empty string, which I currently use to "fix" the problem but I certainly would like a better solution like a real fix :)
Thank you telerik team