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!

Unplanned
Last Updated: 13 Feb 2025 11:02 by Stephanie
Created by: Stephanie
Comments: 0
Category: Grid
Type: Feature Request
1
Please render the Grid column headers repeatedly at the top of each new page in the exported PDF document.
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. 

Unplanned
Last Updated: 13 Feb 2025 09:27 by ADMIN

When using the DropDownList component with less than seven items, there is extra whitespace:

In terms of user experience, this extra whitespace is clutter as it takes up visual space yet serves no viable purpose to the user. Clutter gives an unfinished appearance and should be removed if possible.

You can remove the extra whitespace by specifying Height and MaxHeight in the DropDownListSettings render fragment:

<TelerikDropDownList Data="@_dropDownData" @bind-Value="@_selectedPod">
    <DropDownListSettings>
        <DropDownListPopupSettings Height="auto" MaxHeight="200px"/>
    </DropDownListSettings>
</TelerikDropDownList>

However, having to specify DropDownListSettings for every DropDownList component that has fewer than seven items is laborious and verbose. I would like there to be no extra whitespace in DropDownList components by default without having to specify DropDownListSettings.

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: Ryan
Comments: 10
Category: Grid
Type: Feature Request
96

Please add a feature to export the grid to a PDF file.

---

ADMIN EDIT

We have made two examples you can use for the time being to get a PDF document from the grid:

---

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

Need More Info
Last Updated: 12 Feb 2025 15:42 by Hatef
Created by: Jesper
Comments: 6
Category: Map
Type: Feature Request
31
I want to easily draw lines and polygons on the map. 
Unplanned
Last Updated: 12 Feb 2025 14:56 by Steven
Created by: Steven
Comments: 0
Category: UI for Blazor
Type: Feature Request
1

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();
    }
}
Unplanned
Last Updated: 12 Feb 2025 11:46 by David
Created by: David
Comments: 0
Category: FileManager
Type: Feature Request
1
Please expose the ability to select FileManager items in the Grid view with checkboxes. This will allow users to use similar UX to the GridCheckBoxColumn.
Completed
Last Updated: 12 Feb 2025 09:39 by ADMIN
Release 2025 Q1 (12.02.2025)
As a workaround, you could take full advantage of UI for Blazor using our Visual Studio Extensions in a few easy steps:

I. Download and install the Telerik UI for Blazor Visual Studio Extension directly from your Visual Studio:
   1. Launch Visual Studio
   2. Select Extensions -> Manage Extensions option and click on the Browse tab
   3. Type "Telerik UI for Blazor" and press the Download button
   4. Restart your Visual Studio

||. Download the latest UI for Blazor file from:

   1. The download page on our website. Please, bear in mind that if you choose this way, you need to unzip the file and place it under the %appdata%\Telerik\Updates folder. This is the default download location from which our Visual Studio extensions use the product's files

   2. The Download new version dialog in our Visual Studio extensions. More details about the Telerik UI for Blazor VS extension can be found here: https://docs.telerik.com/blazor-ui/gettin
Unplanned
Last Updated: 11 Feb 2025 15:11 by ADMIN
Created by: Ted
Comments: 2
Category: TreeList
Type: Feature Request
11

Hello,

Please add support for sorting and filtering when the TreeList is data bound to a ExpandoObject. Currently these data operations throw an exception System.ArgumentException: Invalid property or field

TreeList REPL page with ExpandoObject

===

TELERIK EDIT: This public item was created as a bug and for both ExpandoObject and Dictionary support. However:

  • This is a limitation, rather than a bug, so I am converting the item to a feature request. Dynamic data support needs to be explicitly implemented.
  • The required implementation for ExpandoObject and Dictionary support is different, so we are focusing this item just on ExpandoObject, which the Grid already supports. There is another item about TreeList Dictionary support.
Unplanned
Last Updated: 11 Feb 2025 11:41 by Telerik Admin
Created by: Telerik Admin
Comments: 0
Category: TreeList
Type: Feature Request
11

Please add support for sorting and filtering when the TreeList is data bound to a Dictionary. Currently this scenario throws a runtime exception:

Error: System.ArgumentException: Invalid property or field - 'Name' for type: Dictionary`2

Test page: https://blazorrepl.telerik.com/QGYqutaM03L3tMcr53

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.

 

 

Unplanned
Last Updated: 06 Feb 2025 11:18 by ADMIN
Created by: Isaac
Comments: 1
Category: Drawer
Type: Feature Request
1

You can trigger the animation for the Drawer component by calling ToggleAsync() on the reference to the Drawer component:

<TelerikButton OnClick="@(async Task () => await DrawerRef!.ToggleAsync())" />

However, when you toggle the Expanded parameter instead, it still toggles the Drawer but does not trigger the animation:

<TelerikButton OnClick="@(() => Expanded = !Expanded)" />

As a result, if I want the Drawer component to be expanded by default, but I still want the user to be able to toggle it, I have to call ToggleAsync() on the reference to the component and bind the Expanded parameter, which is unnecessary verbose for such a common scenario:

<TelerikDrawer TItem="int" @ref="@DrawerRef" @bind-Expanded="@DrawerExpanded" Mode="@DrawerMode.Push">
	<Template>
		<NavMenu/>
	</Template>
	<DrawerContent>
		@Body
	</DrawerContent>
</TelerikDrawer>

@code
{
    private TelerikDrawer<int>? DrawerRef { get; set; }
    private bool DrawerExpanded { get; set; } = true;

    /// <remarks>
    /// We can't toggle DrawerExpanded because that won't trigger the animation.
    /// Only DrawerRef.ToggleAsync() triggers the animation.
    /// </remarks>
    private async Task ToggleDrawer() => await DrawerRef!.ToggleAsync();
}

I would like to trigger the animation for the Drawer component by toggling the Expanded parameter and not calling ToggleAsync() on the reference to the Drawer component. Toggling the Expanded parameter instead of calling a function on a reference to a component is a cleaner, simpler approach that better aligns with the philosophy of Blazor (using parameters rather than properties or functions on reference to components). Furthermore, this approach is used by various other Blazor component libraries such as MudBlazor, SyncFusion, and DevExpress. See:

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! :)

Unplanned
Last Updated: 05 Feb 2025 14:30 by ADMIN
Created by: Isaac
Comments: 3
Category: Drawer
Type: Feature Request
2

I would like to be able to create Drawer Items in markup, not programmatically in code. Similar to https://feedback.telerik.com/blazor/1433539-declare-the-menu-items-in-markup-without-code. Ideally, I would like to have an implementation similar to MudBlazor's Drawer: https://www.mudblazor.com/components/drawer#usage.

Example:

<TelerikDrawer>

    <DrawerSidebar>

        <DrawerItem>

            <NavLink />

        </DrawerItem>

        <DrawerItem>

            <NavLink />

        </DrawerItem>

    </DrawerSidebar>

    <DrawerContent>

        @Body

    </DrawerContent>

</TelerikDrawer>

 

Alternative Example:

<TelerikDrawer>

    <TelerikMenu />

</TelerikDrawer>

Unplanned
Last Updated: 05 Feb 2025 14:24 by ADMIN
Created by: IT
Comments: 1
Category: ArcGauge
Type: Feature Request
1

Is it possible to have an Arc Gauge with multiple points? I want to be able to have one (or more) marked points along the arc.

Here is a rendering of what I am trying to achieve:

The center value (and progress along the arc) would be the 1.236 value whereas the 1 would be a marked point along the arc. It would be ideal if multiple marked points could be added.

Unplanned
Last Updated: 05 Feb 2025 12:52 by ADMIN
Created by: Isaac
Comments: 1
Category: Drawer
Type: Feature Request
1

I see that we can create Hierarchical Drawers by using the Template: Blazor Drawer Demos - Hierarchical Drawer | Telerik UI for Blazor.

However, implementing a Hierarchical Drawer through the Template is very verbose, complicated, and takes time to setup. This slows down initial development and future maintenance. With how common hierarchical sidebar menus are, I think there is significant value in updating the Telerik Drawer component to render hierarchical sidebar menus without the need to configure the Template or add other code.

Overall, I would like the Telerik Drawer component to automatically render a hierarchical sidebar menu by only passing in hierarchical data into the Data parameter and not having to configure the Template or provide additional code. Looking at MudBlazor's Navigation Menu component, they provide support for hierarchical sidebar menus up to four levels without any extra configuration.

Generally, I would expect Templates of components to only be necessary in uncommon scenarios. I would not consider hierarchical sidebar menus uncommon.

Unplanned
Last Updated: 04 Feb 2025 11:28 by Carl
I want to implement a mouse-over tooltip label for each layer in the Map.
1 2 3 4 5 6