Completed
Last Updated: 05 Aug 2024 13:31 by ADMIN
Release 6.1.0
Created by: Eugenie
Comments: 5
Category: UI for Blazor
Type: Feature Request
53

I would like the DropDownList to automatically detect the boundaries of the screen in order not to truncate items when the popup is opened.

 

===========

ADMIN EDIT

===========

The request is also valid for the rest of the popups including AutoComplete, ComboBox, Context Menu, MultiSelect.

This is also valid for the Window.

Unplanned
Last Updated: 30 Jul 2024 15:06 by Bram

This public feature request:

  • Explains how the TelerikRootComponent works.
  • Outlines the problems of the current software design in static .NET 8 Blazor apps.
  • Measures customer demand for a major change that may possibly resolve the current limitations.

How the TelerikRootComponent Works

Historically, the TelerikRootComponent was designed with the following purposes:

  • To host and render all Telerik Blazor popups as RenderFragments. This means that all popups are rendered where the TelerikRootComponent is defined in the application's component hierarchy. In most cases, correct popup position requires the TelerikRootComponent to wrap all the content on the web page. Otherwise the correct position is not guaranteed and this is documented. In addition, the TelerikRootComponent instance is a CascadingValue, which allows it to collect all popup RenderFragments.
  • The TelerikRootComponent exposes parameters for global application-wide Telerik settings, such as icon type or RTL support. This is another reason why it makes sense to have a single TelerikRootComponent that wraps all the page content.

Problems and Limitations in .NET 8 Blazor Static Apps

.NET 8 Blazor apps with "Per Component" interactivity location create a big challenge for the above state of affairs:

  • Cascading values do not pass across render mode boundaries. .NET 8 includes a new feature for passing cascading values to interactive components (builder.Services.AddCascadingValues()), but this mechanism does not support passing of RenderFragments, because they are not JSON serializable. This brings the requirement that the TelerikRootComponent is part of an interactive component hierarchy.
  • When the TelerikRootComponent is in a non-layout .razor file, it triggers more re-renders than normally. They are related to internal MediaQuery instances and all popups, which the root component manages.

So, developers who work with a globally static app with specific interactive components ("islands of interactivity") may need to:

  • Place the TelerikRootComponent somewhere inside the component hierarchy, so it can't wrap all the page content. This will lead to wrong popup position.
  • Use multiple TelerikRootComponents. This requires to define the same parameters for each TelerikRootComponent instance.

Next Steps

All developers who develop static .NET 8 Blazor apps with "Per Component" interactivity location:

  1. Please vote for this feature request, so that we can measure how many customers are affected by the described limitations.
  2. Post here and describe:
    • Why do you need to use apps with "Per Component" interactivity.
    • Your specific challenges with the current TelerikRootComponent setup.
Declined
Last Updated: 12 Jul 2024 08:52 by ADMIN

I just spent hours trying to understand why my grid did not work and threw a "source can't be null" exception at me when I set data to a 100% initialized - not null - list of a struct type.. Eventually I figured that the struct was the problem and turning it into a class fixed it, but that was just by chance.

Please for the sake of developer sanity give this a proper check.

Declined
Last Updated: 05 Jul 2024 07:44 by ADMIN
Created by: Scott
Comments: 1
Category: UI for Blazor
Type: Feature Request
1

We would like to see all the Blazor controls support the ability to show the time in the browser's local time as a feature that can be enabled.  It should support converted from both UTC and server time.

A question on how to do this has been asked at least twice on the forums:

Some examples of how other's have implemented this as a control can be founde here:

Thanks

Completed
Last Updated: 02 Jul 2024 13:45 by Al
Created by: Al
Comments: 2
Category: UI for Blazor
Type: Feature Request
1
Request the TelerikNotification supports MarkupString or HTML or at least Multiline text
Need More Info
Last Updated: 27 Jun 2024 18:48 by Mauro
Created by: Hien
Comments: 12
Category: UI for Blazor
Type: Feature Request
30

I would like to be able to set the Id on any Blazor component for automated testing purposes.

---

ADMIN EDIT

If you need something different than automated testing selectors, please add your use case in the comments.

For automated testing, you can cascade selectors through a parent element (e.g., a div or span) that has the desired attributes (be that id, class, some data-* attribute, etc.). Adding ID parameters to Blazor components can easily make them brittle because they can be repeated and included in arbitrary hierarchy easily - that's the core concept of a razor component - so such IDs need to be unique, which defeats the predictability you will need for testing.

If you are interested in testing with Selenium, you may find useful this request: https://feedback.telerik.com/blazor/1513117-translators-for-selenium-testing-for-the-telerik-ui-for-blazor-components. If so, Vote for it and Follow it so we can know there is interest, and so you can get status updates.

You can also Follow a separate enhancement for the Grid Command buttons here : https://feedback.telerik.com/blazor/1463164-id-attribute-on-buttons-telerikbuttons-gridcommandbuttons-etc

---

Unplanned
Last Updated: 31 May 2024 23:00 by Jonathan

I would like to have a boolean flag like ExpandDropdownOnFocus which when set to true and the component is focused the dropdown will be expanded.

ADMIN EDIT: When voting, please add your comment on how you would like this to be implemented. At the moment, there are two ideas:

  • A parameter that, when set to true, will make the dropdowns shop up when the component receives focus - less code, but solves only one specific scenario
  • An OnFocus event plus an instance method that opens the dropdown - a little more code (handle an event, populate a reference, call its method) which will provide more functionality and flexibility as the event will let you know that focus happened and you can add more logic (calculations, change CSS classes,...)
Declined
Last Updated: 27 May 2024 19:37 by George

See below repl

https://blazorrepl.telerik.com/GeYodYvp135zJH7N22

The first dropdown is populated correctly, it is not in a FormItem or Template

The second one, populated in the same way but inside a FormItem context does not show the data, it only redraws and shows data when entering another control i.e. the other working dropdown.

This was previously working when the application was using .net 6 and Telerik 3.6.1
It has since been updated to .net 8 and Telerik 5.1.1

What is the correct way to populate this?
Can you provide more information?

Thanks.

Duplicated
Last Updated: 27 May 2024 11:36 by ADMIN
Created by: Christian
Comments: 0
Category: UI for Blazor
Type: Feature Request
3

Please consider adding to Blazor UI a drop-down treeview component with:

  • multiple selections via checkboxes
  • expand/collapse
  • lazy loading on expand
  • tag mode

Example:

Blazor Dropdown Tree with checkboxes.

Thank you

Unplanned
Last Updated: 23 May 2024 13:46 by ADMIN
Created by: Maria
Comments: 4
Category: UI for Blazor
Type: Feature Request
67

I would like a comopnent similar to this one https://demos.telerik.com/kendo-ui/dropdowntree/index

The goal is to be able to show and select hierarchical data, because the multiselect is flat https://demos.telerik.com/blazor-ui/multiselect/overview

Duplicated
Last Updated: 22 May 2024 12:58 by ADMIN
Created by: Tung
Comments: 1
Category: UI for Blazor
Type: Bug Report
0

Hi,

 

Here is my demo DatePicker Demo

In Firefox, after I use the mouse to black all texts out, then DatePicker only selects the month field in the place holder. I expect to select all texts.

In Chrome or Edge, the DatePicker works as expected, after blacking texts out, it selects all texts in the place holder

Could you please check the issue?

 

Thanks and regards,

Tung

Unplanned
Last Updated: 22 May 2024 08:34 by ADMIN
Created by: NovaStor
Comments: 3
Category: UI for Blazor
Type: Feature Request
38

Hi.

 

I'd like to request the ability to use a TimeSpanPicker component in Blazor.

 

For example, see https://www.telerik.com/maui-ui/timespanpicker

 

Thank you.

Declined
Last Updated: 15 May 2024 12:09 by ADMIN

Currently using Telerik.DataSource.QueryableExtensions.CreateDataSourceResult() results in queryable.Count() + queryable.Skip(...).Take(...). done seperatelly. EF Core specific tests are already present it seems, based on decompiled code, I can see: "if (!sort.Any() && queryable.Provider.IsEntityFrameworkProvider())". 

Request: Add support for other ORM's that are more capable than EF Core. In case of pagination, window-function could be used to save from extra count query. A short sample bellow:

var dbResults = await queryable
	.Select(x => new {
		Item = x,
		TotalCount = Sql.Ext.Count().Over().ToValue()
	})
	.Skip(() => offset)
	.Take(() => limit)
	.ToListAsync();

var count = dbResults.FirstOrDefault()?.TotalCount ?? 0;
var items = dbResults.Select(x => x.Item);

Read more about Window functions: https://statics.teams.cdn.office.net/evergreen-assets/safelinks/1/atp-safelinks.html 

Unplanned
Last Updated: 08 May 2024 08:40 by ADMIN
Created by: Thomas
Comments: 0
Category: UI for Blazor
Type: Feature Request
4

Hello,

We use extensively the features of Telerik WPF RadMap and are now migrating to Blazor. So we are trying to use TelerikMap to cover our needs.

TelerikMap doesn't support WMS (most important) and vector tile (nice to have) layers.

Implementing them directly is not really important but having some class available for us to override to implement our way could be enough.

In Telerik WPF RadMap, we had TiledProvider and TiledMapSource from which we made our own implementations to cover our needs (WMS with specific parameters mostly), we override the method GetTile and from here we can do whatever we want.

It would be nice to have the same system in Blazor

Thanks

Thomas

Completed
Last Updated: 06 May 2024 12:02 by ADMIN
Release 2024 Q2 (May)

We find this in our infrastructure but it can be reproduced even in Telerik docs.

Docs page: https://docs.telerik.com/blazor-ui/components/grid/grouping/overview try to drop all three columns using drag and drop in sequence: Team, Name, On Vacation.

Expected sequence: Team, Name, On Vacation

Expected sequence: Team, On Vacation, Name

All Elements are always added as 1 item. It is an important feature for us, as our customers use it frequently.

===

TELERIK EDIT:

A possible workaround is to intercept the grouping and reorder the groups:

@using Telerik.DataSource

<p>Group by a third column, so that it should come last in the Group Panel:</p>

<TelerikGrid @ref="@GridRef"
             Data="@GridData"
             Pageable="true"
             Sortable="true"
             Groupable="true"
             FilterMode="GridFilterMode.FilterRow"
             OnStateInit="@( (GridStateEventArgs<Employee> args) => OnGridStateInit(args) )"
             OnStateChanged="@( (GridStateEventArgs<Employee> args) => OnGridStateChanged(args) )">
    <GridColumns>
        <GridColumn Field="@nameof(Employee.Name)" />
        <GridColumn Field="@nameof(Employee.Team)" />
        <GridColumn Field="@nameof(Employee.Salary)" />
        <GridColumn Field="@nameof(Employee.OnVacation)" />
    </GridColumns>
</TelerikGrid>

@code {
    private TelerikGrid<Employee>? GridRef { get; set; }

    private List<Employee> GridData { get; set; } = new();

    private void OnGridStateInit(GridStateEventArgs<Employee> args)
    {
        args.GridState.GroupDescriptors = new List<GroupDescriptor>();

        args.GridState.GroupDescriptors.Add(new GroupDescriptor()
        {
            Member = nameof(Employee.Team),
            MemberType = typeof(string)
        });

        args.GridState.GroupDescriptors.Add(new GroupDescriptor()
        {
            Member = nameof(Employee.OnVacation),
            MemberType = typeof(bool)
        });
    }

    private async Task OnGridStateChanged(GridStateEventArgs<Employee> args)
    {
        if (args.PropertyName == "GroupDescriptors" && args.GridState.GroupDescriptors.Count > 2 && GridRef != null)
        {
            var secondGroupDescriptor = args.GridState.GroupDescriptors.ElementAt(1);

            args.GridState.GroupDescriptors.Remove(secondGroupDescriptor);
            args.GridState.GroupDescriptors.Add(secondGroupDescriptor);

            await GridRef.SetStateAsync(args.GridState);
        }
    }

    protected override void OnInitialized()
    {
        var rnd = new Random();

        for (int i = 1; i <= 20; i++)
        {
            GridData.Add(new Employee()
            {
                Id = i,
                Name = "Name " + i,
                Team = "Team " + (i % 4 + 1),
                Salary = (decimal)rnd.Next(1000, 3000),
                OnVacation = i % 3 == 0
            });
        }
    }

    public class Employee
    {
        public int Id { get; set; }
        public string Name { get; set; } = string.Empty;
        public string Team { get; set; } = string.Empty;
        public decimal Salary { get; set; }
        public bool OnVacation { get; set; }
    }
}

 

Completed
Last Updated: 06 May 2024 07:07 by ADMIN
Release 2024 Q2 (May)
Created by: Alois
Comments: 22
Category: UI for Blazor
Type: Feature Request
112

When is Spreadsheet for Blazor available or can i use Kendo Spreadsheat?

Regards

Alois Seidler 

Unplanned
Last Updated: 04 May 2024 16:19 by Cirrus
Created by: Cirrus
Comments: 3
Category: UI for Blazor
Type: Feature Request
1

On Blazor Filter, please consider option to drag and drop rules to re-order the rules. It's a common user request that when creating complex rules that user has ability to move rules around without having to delete and create again. User loses information and data when rules are deleted and can be difficult to relocate in long drop downs.

Ability to drag and drop move of existing rules would improve user experience. Any change to GUI should also reflect in updated FilterDescriptor.

===

ADMIN EDIT

===

The order of the filter rules in one group does not make a difference for the FilterDescriptor. Thus, the current request applies to dragging filter rules from one group to another.

Unplanned
Last Updated: 01 May 2024 12:05 by ADMIN
Created by: Emil
Comments: 3
Category: UI for Blazor
Type: Feature Request
6
Is there a chance that there will be added a Treemap component in the near future?
Completed
Last Updated: 25 Apr 2024 13:22 by ADMIN
Release 5.0.0 (15 Nov 2023) (R1 PI1)
Created by: James
Comments: 5
Category: UI for Blazor
Type: Feature Request
32
Please add an app bar component
Declined
Last Updated: 24 Apr 2024 08:34 by ADMIN

Horizontal scrolling in the grid works when its width is set to a fixed value (px, rem, etc.). But the h scroll disappear when a percentage is assigned to the width of the grid.

This seems to be a known 'feature' to Telerik:

https://docs.telerik.com/blazor-ui/components/grid/columns/width?_gl=1*78gyue*_ga*MzUzNTU3NTM0LjE2ODU2MTc3Njk.*_ga_9JSNBCSF54*MTcxMjIyMTAxNS44My4xLjE3MTIyMjExMzQuOS4wLjA.*_gcl_au*MTA3OTA1NzUyOS4xNzEwNTE1Njgy&_ga=2.263164300.1038437897.1712221016-353557534.1685617769

A sensible behaviour is to have the horizontal scrolling enabled and at the same time being able to set the grid to percentage width.