Need More Info
Last Updated: 19 Feb 2025 13:26 by ADMIN
Created by: Michael
Comments: 0
Category: UI for Blazor
Type: Feature Request
4

Telerik UI for Blazor requires unsafe-inline styles in order to render style attributes from the .NET runtime.

Please add support for strict CSS CSP without the need for unsafe inline styles.

===

TELERIK EDIT:

Due to the complexity and required effort to add strict CSS CSP support:

  • The feature request must gather enough votes.
  • We may implement it gradually. That's why, everyone who is interested, please specify the exact components and features that you need to be compliant sooner.
Duplicated
Last Updated: 14 Feb 2025 12:05 by ADMIN

Hello together,

we are running into a problem with TelerikPdfViewer. When clicking the download button, download starts and performs properly.

BUT: the downloaded PDF file does not match the PDF that was provided via Data="@PdfData". On download something internally prepends some text to the PDF:

–€À³JS.ReceiveByteArray’Æ ‘¢%PDF-1.7
%úûüý
3 0 obj
<</ca 1.00000 /AIS false >>
endobj
5 0 obj

The original PDF file starts at "%PDF-1.7" (end of first line). That part before (including that "JS.ReceiveByteArray") was somehow added during the download workflow by Telerik. We ensured that the PDF data we provided to the viewer (via Data="@PdfData") ist valid. We did so by inspecting the byte[]-Array manually in the debugger as well as downloading it via a JS function to the client.

This is how we are using the TelerikPdfViewer. But the error occurs no matter if we are handling the OnDownload-Event (setting the filename) or not handlign that event at all (i.e. eliminating the OnDownload="@OnPdfDownload" completely)

        <TelerikPdfViewer Data="@PdfData" Width="100%" Height="100%" Zoom="1m" OnDownload="@OnPdfDownload">
            <PdfViewerToolBar>
                <PdfViewerToolBarPagerTool />

                <PdfViewerToolBarSpacer />

                <PdfViewerToolBarZoomTool />
                <PdfViewerToolBarSelectionTool />
                <PdfViewerToolBarSearchTool />

                <PdfViewerToolBarSpacer />

                <PdfViewerToolBarDownloadTool />
                <PdfViewerToolBarPrintTool />
            </PdfViewerToolBar>
        </TelerikPdfViewer>

We use Telerik.UI.for.Blazor (6.2.0).

Thanks for your feedback on this issue and best regards!

Sebastian

Declined
Last Updated: 13 Feb 2025 15:28 by ADMIN
Created by: Andrew
Comments: 3
Category: UI for Blazor
Type: Feature Request
0

I've been looking at your Keyboard Navigation page:
https://demos.telerik.com/blazor-ui/grid/keyboard-navigation

If you are navigating in the Grid and arrow over to the "+" sign and press ENTER it expands the Details. Then you can press TAB to access the button within the details. Great. Your demo works fine.

However, on my grid, I have another grid in my Details section. I would like to be able to expand the Details section and then TAB into those details so I can access the link in the header of the grid, and also be able to use arrow keys to navigate around this sub grid. Well, honestly MOSTLY I just wanted to be able to tab to the "View Checkout History" link within the Details grid. See attached screenshot.

However, pressing TAB after expanding the details simply moves the focus to the first button in the next column of that row. It doesn't go into the Details section like your web demo does for a button.

Please expand your Keyboard Navigation capabilities to allow more navigation into the Details section other than just a button like your demo shows. I'll bet a lot of people probably have sub-grids within their details section.

Thanks!

Completed
Last Updated: 13 Feb 2025 10:55 by ADMIN
Release 5.0.0 (15 Nov 2023) (R1 PI1)

I would like to use the new structs that are part of .NET6 - the DateOnly and TimeOnly. 

Their support should extend to all respective date and time pickers and more complex components like the Grid, Gantt, Scheduler, and other applicable components. 

Completed
Last Updated: 12 Feb 2025 16:04 by ADMIN
Release 8.0.0

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.

Completed
Last Updated: 12 Feb 2025 16:03 by ADMIN
Release 8.0.0
Created by: Michael P.
Comments: 12
Category: UI for Blazor
Type: Feature Request
58

Docking Control like WPF Docking Control: https://www.telerik.com/products/wpf/docking.aspx

Completed
Last Updated: 12 Feb 2025 16:03 by ADMIN
Release 8.0.0
Created by: Peter
Comments: 1
Category: UI for Blazor
Type: Bug Report
1

=== EDITED BY TELERIK ===

When using nullable enums, their DisplayNameAttrute doesn't show in the Grid.

https://blazorrepl.telerik.com/QTOlwiaM456Yh9Xp33

The bug is related to Enum DisplayName attributes are ignored in view mode of the Grid

 

=== ORIGINAL POST CONTENT ===

Sample Code to reproduce the error: 

https://blazorrepl.telerik.com/QzYPGLFj11s0rZwp47

If you change line 44 to a non-nullable field type, it crashes the grid with an error message in the CSS file.  I have included the error message I get in my blazor app with the same code above, console then sources:

Completed
Last Updated: 12 Feb 2025 16:02 by ADMIN
Release 8.0.0
Created by: Dusty
Comments: 0
Category: UI for Blazor
Type: Feature Request
21

I saw the FloatingActionButton Web control available in KendoUI and ASP.NET Core and I would like it in UI for Blazor: https://demos.telerik.com/kendo-ui/floatingactionbutton/index

Unplanned
Last Updated: 12 Feb 2025 14:56 by Steven
Created by: Steven
Comments: 0
Category: UI for Blazor
Type: Feature Request
2

Add support for DateOnly and TimeOnly properties to the ToODataString() method in the DataSourceExtensions namespace.

===

TELERIK NOTE

@Steven I forked this thread from the already complete feature request Provide support for DateOnly and TimeOnly structs for the respective pickers

Currently DateOnly and TimeOnly types are not supported by the ToODataString() method. As a result, they are serialized with the default ToString() method. Please use DateTime instead or implement a custom serialization method. Downloading our source code and using the built-in method as a base is also an option.

===

ORIGINAL POST

Would you have any updates regarding this support for early 2024?
 
My main issue regarding this at the moment is:
- My Backend returns DTOs with DateOnly properties.
- I wish to use these properties in a grid
- So far... So good... We can see the items etc... But then...
- We want to filter these properties...
- When we get the OData query... Our DateOnly is not in the correct ISO format... As there's no support for those in DataSourceExtensions.cs
 
I already tried solving this by creating my own GridColumn type, but I'm afraid there's nothing I can do about the OData serialization without just writing our own DataSourceExtensions... At which point we're just making it confusing for other developers needing to include this...

public class DateOnlyGridColumn : GridColumn
{
    private DateOnly? _filterValue;
    public DateOnly? FilterValue
    {
        get => _filterValue;
        set
        {
            if (_filterValue != value)
            {
                _filterValue = value;
                StateHasChanged();
            }
        }
    }

    public DateOnlyGridColumn()
    {
        DisplayFormat = "{0:dd/M/yyyy}";
        FilterMenuTemplate = FilterMenu;
        FilterMenuButtonsTemplate = FilterButtons;
    }

    private RenderFragment<FilterMenuTemplateContext> FilterMenu => (context) => (builder) =>
    {
        builder.OpenComponent<TelerikDatePicker<DateOnly?>>(0);
        builder.AddAttribute(0, "Value", FilterValue);
        builder.AddAttribute(2, "ValueChanged", EventCallback.Factory.Create<DateOnly?>(this, (value) => FilterValue = value));
        builder.CloseComponent();
    };

    private RenderFragment<FilterMenuTemplateContext> FilterButtons => (context) => (builder) =>
    {
        // Filter button
        builder.OpenComponent<TelerikButton>(0);
        builder.AddAttribute(1, "OnClick", EventCallback.Factory.Create<MouseEventArgs>(this, async () => await ApplyFilter(context)));
        builder.AddAttribute(2, "ThemeColor", ThemeConstants.Button.ThemeColor.Primary);
        builder.AddAttribute(3, "ChildContent", (RenderFragment)(childBuilder =>
            childBuilder.AddContent(0, "Filter")));
        builder.CloseComponent();

        // Clear button
        builder.OpenComponent<TelerikButton>(4);
        builder.AddAttribute(5, "OnClick", EventCallback.Factory.Create<MouseEventArgs>(this, async () =>
        {
            FilterValue = null;
            await context.ClearFilterAsync();
        }));
        builder.AddAttribute(6, "ChildContent", (RenderFragment)(childBuilder =>
            childBuilder.AddContent(0, "Clear")));
        builder.CloseComponent();
    };

    private async Task ApplyFilter(FilterMenuTemplateContext filterContext)
    {
        if (filterContext == null || string.IsNullOrEmpty(Field) || !FilterValue.HasValue)
            return;

        var filter = new FilterDescriptor
        {
            Member = Field,
            MemberType = typeof(DateOnly),
            Operator = FilterOperator.IsEqualTo,
            Value = FilterValue.Value, //.ToString("o") Convert to ISO-8601 format
        };

        filterContext.FilterDescriptor.FilterDescriptors.Clear();
        filterContext.FilterDescriptor.FilterDescriptors.Add(filter);
        await filterContext.FilterAsync();
    }
}
Duplicated
Last Updated: 10 Feb 2025 13:08 by ADMIN
Created by: ranga
Comments: 0
Category: UI for Blazor
Type: Feature Request
0

We need a formal, Accordion component. This is missing like a sore thumb ! 

The Accordion should be the first component in the component list.

Using the panel bar is not the same as the functionality of Accordion. So, do not mark this request as a duplicate of a panel bar enhancement request.

This is a simple component and I request you to prioritize and release it urgently in the next release.

Thanks.

 

 

Duplicated
Last Updated: 07 Feb 2025 14:07 by ADMIN
Hello,

This seems to be a regression in this version. I cannot find an open issue on it. I think it's the same as this issue.

Here is a REPL link with the issue recreated. The bug happens the second time you open the dialog. You can see on the first close of the dialog that the parent window z-index is increased by 2. Then the second time you open the dialog the z-index is less than it's "parent" component.

Please link me to the current issue if there is an open duplicate.

Kind regards,
Linda
In Development
Last Updated: 07 Feb 2025 11:00 by ADMIN
Scheduled for 2025 Q2 (May)

It appears there are some issues with encoding special characters in the DataSourceExtensions.ToODataString extension method.

See snippet below. 

var ds = new DataSourceRequest()
{
	Filters = [new FilterDescriptor("FieldName", FilterOperator.IsEqualTo, "Route #")],
	Sorts = []
};
{
Console.WriteLine(ds.ToODataString());

$count=true&$filter=(FieldName%20eq%20%27Route%20#%27)&$skip=0

This results in a malformed url as the last part of of the query is interpreted as a fragment due to this character not being encoded.

Completed
Last Updated: 06 Feb 2025 07:59 by ADMIN

After reading your documentation, it appears that the Pager Position enum only allows for the grid pager to be at the top OR the bottom of the grid.

It would be most excellent to allow it to be BOTH. For very large grids, it would be convenient for the user to see the grid at the very top, but if they do happen to need to scroll to the very bottom of the grid, seeing the pager component there would also be convenient for the user.

This is in regard to this page:
https://www.telerik.com/blazor-ui/documentation/components/grid/paging

Please add a .Both option to the PagerPosition enum that allows both Top and Bottom at the same time.

Thanks! :)

Completed
Last Updated: 27 Jan 2025 16:29 by ADMIN
Created by: Ben
Comments: 1
Category: UI for Blazor
Type: Feature Request
0

Within the grids, be able to filter and group using And & Or statements.  The following is our design.

Unplanned
Last Updated: 21 Jan 2025 20:23 by Mac
Created by: Humayoon
Comments: 1
Category: UI for Blazor
Type: Feature Request
15

Hi,

I would like to have a Expand/Collapse All Grid Groups button in the Grid Header. I know this is possible to do so programmatically outside of the grid but my users want it inside the Grid. 

Thanks,

Humayoon

Need More Info
Last Updated: 14 Jan 2025 12:24 by ADMIN

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)

Unplanned
Last Updated: 13 Jan 2025 17:11 by Xorcist
Created by: Xorcist
Comments: 0
Category: UI for Blazor
Type: Feature Request
2

When a user hits the ENTER key at the end of their typing and expects the full text to be submitted, they potentially have partial text being submitted (depending on how quickly ENTER is hit). We know the general accepted solution is to set the DebounceDelay to zero, but we are using two-way binding with state management that results in a very laggy/delayed experience while typing is this is done.

Please allow pressing Enter or blurring the input to short-circuit the debouncing.

===

ADMIN EDIT

===

This request applies to all inputs - NumericTextBox, TextBox, TextArea, etc.

Unplanned
Last Updated: 10 Jan 2025 10:00 by Xavier
Created by: Jia
Comments: 22
Category: UI for Blazor
Type: Feature Request
124

Hello, 

 

We are looking to port an angularjs web application to Blazor and I didn't see the diagram component similar to the one found in Kendo UI. It would be nice to see a viso-like component in UI for Blazor.

Thank you.

Unplanned
Last Updated: 10 Jan 2025 09:05 by Meindert
Created by: Meindert
Comments: 1
Category: UI for Blazor
Type: Feature Request
4

Please add group header template for the select components. There are two goals:

  • Customize the group items' appearance.
  • Implement custom behaviors, for example - batch select or unselect of all items in the group by clicking on the group header.
Unplanned
Last Updated: 06 Jan 2025 07:17 by ADMIN
Created by: cmarsh
Comments: 11
Category: UI for Blazor
Type: Feature Request
53

I'm looking for what you have in WPF as we migrate ourselves over to Blazor - https://www.telerik.com/products/wpf/conversational-ui.aspx

---

ADMIN EDIT

For the time being, you can consider using the Kendo Chat widget as described in this sample project.

---