Unplanned
Last Updated: 28 Oct 2021 09:34 by Ian
Created by: Ian
Comments: 3
Category: UI for Blazor
Type: Feature Request
2

I am implementing custom filtering by column in a data grid. The data source is very large so the filtering will be done by a stored procedure in the database. In order to avoid excessive calls to the procedure it would be great if the TextBox had a DebounceDelay property like the one in the SearchBox.

---

ADMIN EDIT

While not technically useful for the grid itself (see the bottom of this thread for more ideas and information on that, a built-in feature is coming there as well), there can be benefit in adding that to the inputs (e.g., the Editor has something like that already by default because it is designed for large content).

Thus, I am reopening this so we can gauge the interest.

In the meantime, using a few lines of application code can achieve debouncing of expensive api calls. Using the OnChange or OnBlur event may also be suitable workarounds, depending on the goal you are after.

---

Unplanned
Last Updated: 27 Oct 2021 11:45 by ADMIN

Grid virtual scrolling will freeze in the following scenario:

  1. Open https://demos.telerik.com/blazor-ui/grid/virtual-scrolling
  2. Scroll to the lower part of the Grid
  3. Filter any column, so that the number of items becomes less than the current scroll position
  4. The Grid will show "no records to display" and row placeholders, even if there are items to display

 

Unplanned
Last Updated: 26 Oct 2021 16:18 by ADMIN
The generated checkbox column html does not have a label (either the label element or aria-label attribute).
Unplanned
Last Updated: 26 Oct 2021 15:08 by Dennis
Created by: Dennis
Comments: 2
Category: UI for Blazor
Type: Feature Request
11
Similar to the Bootstrap badges https://getbootstrap.com/docs/4.0/components/badge/
Unplanned
Last Updated: 25 Oct 2021 13:16 by ADMIN
Created by: n/a
Comments: 0
Category: Scheduler
Type: Feature Request
1
Add State feature so it will be possible to control add/insert/update operations in the Scheduler.
Unplanned
Last Updated: 23 Oct 2021 10:23 by Andrew
Created by: Andrew
Comments: 1
Category: Grid
Type: Feature Request
1

I would like to set increase the searchbox width with a parameter.

---

ADMIN EDIT

Here is a CSS workaround:

 

<style>
    .custom-searchbox-width .k-grid-search {
        width: 50%;
    }
</style>

<TelerikGrid Data=@GridData Pageable="true" Height="400px" Class="custom-searchbox-width">
    <GridToolBar>
        <span class="k-toolbar-spacer"></span> @* add this spacer to keep the searchbox on the right *@
        <GridSearchBox />
    </GridToolBar>
    <GridColumns>
        <GridColumn Field="@(nameof(Employee.EmployeeId))" />
        <GridColumn Field=@nameof(Employee.Name) />
        <GridColumn Field=@nameof(Employee.Team) Title="Team" />
        <GridColumn Field=@nameof(Employee.IsOnLeave) Title="On Vacation" />
    </GridColumns>
</TelerikGrid>

@code {
    public List<Employee> GridData { get; set; }

    protected override void OnInitialized()
    {
        GridData = new List<Employee>();
        var rand = new Random();
        for (int i = 0; i < 15; i++)
        {
            GridData.Add(new Employee()
            {
                EmployeeId = i,
                Name = "Employee " + i.ToString(),
                Team = "Team " + i % 3,
                IsOnLeave = i % 2 == 0
            });
        }
    }

    public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }
        public string Team { get; set; }
        public bool IsOnLeave { get; set; }
    }
}

 

---

Unplanned
Last Updated: 22 Oct 2021 14:54 by ADMIN
Created by: billy
Comments: 0
Category: Form
Type: Feature Request
4

I would like to change the location of the Form Buttons. Instead of having them at the bottom of the form, I would like them to be at the top of the form. 

Please allow customizing of the Form Buttons position.

===========

ADMIN EDIT

===========

If you want to position the Form Buttons on top of the Form you can try the following approach - use FormItemTemplate and place the desired buttons in it. For example:

@using System.ComponentModel.DataAnnotations

<TelerikForm EditContext="@theEditContext" OnValidSubmit="@OnValidSubmitHandler" Width="200px">
    <FormItems>
        <FormItem>
            <Template>
                <TelerikButton ButtonType="@ButtonType.Submit" Primary="true">Submit</TelerikButton>
                <TelerikButton ButtonType="@ButtonType.Button" OnClick="@ClearButton">Clear</TelerikButton>
            </Template>
        </FormItem>
        <FormItem Field="FirstName"></FormItem>
        <FormItem Field="LastName"></FormItem>
        <FormItem Field="DOB"></FormItem>
    </FormItems>
    <FormButtons>
    </FormButtons>
</TelerikForm>

@code {
    private void ClearButton()
    {
        person = new Person();
        CreatedEditContext(person);
    }

    void CreatedEditContext(Person model)
    {
        theEditContext = new EditContext(model);

        theEditContext.AddDataAnnotationsValidation();
    }

    Person person { get; set; } = new Person();
    EditContext theEditContext { get; set; }

    protected override async Task OnInitializedAsync()
    {
        person = new Person();
        
        CreatedEditContext(person);
    }

    async Task OnValidSubmitHandler()
    {
        Console.WriteLine($"SAVING {person.FirstName} {person.LastName} who was born on {person.DOB}");
    }

    public class Person
    {
        [Required]
        public string FirstName { get; set; }
        [Required]
        public string LastName { get; set; }
        public DateTime DOB { get; set; }
    }
}

Unplanned
Last Updated: 22 Oct 2021 05:47 by ADMIN
Created by: Benjamin
Comments: 0
Category: Gantt
Type: Feature Request
1
I would like to use the Quarter View for the Gantt
Unplanned
Last Updated: 21 Oct 2021 20:43 by NovaStor

It would help me with my testing mostly.

===

ADMIN EDIT

You may also want to vote for and follow this request for adding Id property to all components

https://feedback.telerik.com/blazor/1495842-add-id-parameter-on-all-blazor-components

If you need this attribute for testing only,  you may find interesting 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.

===

 

Unplanned
Last Updated: 21 Oct 2021 20:20 by Sanjay
Created by: Minto
Comments: 2
Category: DateInput
Type: Feature Request
5
Pressing 0 in the date input deletes the date and shows the format 
Unplanned
Last Updated: 21 Oct 2021 15:43 by ADMIN
Created by: Jack
Comments: 5
Category: TreeList
Type: Feature Request
5
Need an OnRowDoubleClick event for editing purposes.
Unplanned
Last Updated: 21 Oct 2021 14:35 by ADMIN
Create a page that hosts a TreeView with checkbox selection inside a TelerikWindow. Provide an initially checked item and navigate to this page. When it renders the checkbox is not in a checked state. 
Unplanned
Last Updated: 20 Oct 2021 14:32 by ADMIN

I'd like to bind a model with a different field name to the TelerikCheckBoxListFilter in the filter menu.  Currently, this does not work because the Data has to have a member with the same name as the Field, which is used to update the filter descriptors.

 

Current Situation:

I have a single API for retrieving lookup values for the filters, that are always called on-demand (when the menu displays). This also supports cascading filter menus. If I want to supply the values back to filter menu I have to make specific code for each field on the model that I want to filter. For example, if I have a FlightNumber column it looks something like this...

public async Task<IEnumerable<object>> FilterValues_FlightNumberAsync() =>
       (await Service.GetFilterValuesAsync(nameof(MyModel.FlightNumber), GetLastGridRequest()))
       .Select(v => new { FlightNumber = v.Value });

The results of FilterValues_FlightNumberAsync() are then passed in via FilterData below (where @Field would be set to "FlightNumber")

<TelerikCheckBoxListFilter Data="@FilterData" Field="@Field" @bind-FilterDescriptor="Filters" />

This leads to a bunch of tedious code that should not be needed... A specific FilterValues_ function is needed for every column that needs to be filtered

 

What would be preferable:

Being able to use a single method to retrieve filter values. e.g.

public async Task<IEnumerable<object>> FilterValuesAsync(string memberName) =>
       await Service.GetFilterValuesAsync(memberName, GetLastGridRequest()); // returns something like LookupValue[] which is a generic LookupValue { Value  =... } class

 

To not break backwards compat, maybe could have an optional DataField parameter...

<TelerikCheckBoxListFilter Data="@FilterData" DataField="Value" Field="@Field" @bind-FilterDescriptor="Filters" />

This would take in LookupValues and and produce FilterDescriptors with MemberName set to Field

Or maybe event better, use generics and allow a callback to extract the filter value...

<TelerikCheckBoxListFilter Data="@FilterData" GetFilterValue="GetFilterValue" Field="@Field" @bind-FilterDescriptor="Filters" />

where GetFilterValue is a Func<TData, string> for example. 

===========

ADMIN EDIT

===========

We will most likely keep the Field parameter as is (pointing to the field from the Grid data that will be used to take the distinct options) and expose something like TextField parameter that will point to the field form the TelerikCheckBoxListFilter data containing the distinct options/labels.

Unplanned
Last Updated: 20 Oct 2021 13:26 by ADMIN

When using the TelerikCheckBoxListFilter component in a FilterMenuTemplate, it does render a checkbox with a blank label, but selecting it does not generate a filter descriptor.

For reference, the built-in CheckBoxList filtering correctly filters null values.

Unplanned
Last Updated: 19 Oct 2021 21:15 by ADMIN
I would like to be able to change the background color of the plot are by passing a CSS color to a parameter.
Unplanned
Last Updated: 19 Oct 2021 14:23 by ADMIN

I want to apply some custom CSS to hide the disabled dates. However, it appears that k-state-disabled class is not applied to all of them. 

For example, if I set the Max parameter to October 15th 2021, the remaining dates of October have the k-state-disabled but the ones in November only have k-other-month class.

 

The same behavior occurs when I set the Min parameter - the dates from the previous month do not have k-state-disabled class.

===========

ADMIN EDIT

===========

Note: This bug also affects Calendar, DateRangePicker and DateTimePicker components.

As a workaround for the time being you might try another approach - all the disabled cells have aria-disabled = "true" attribute which you can use as a CSS selector to target the disabled cells:

<style>
    [aria-disabled="true"] {
        visibility: hidden;
    }
</style>

<TelerikDatePicker @bind-Value="datePickerValue" Max="@MaxValue"></TelerikDatePicker>

@code  {
    DateTime datePickerValue { get; set; } = new DateTime(2021, 10, 1);
    DateTime MaxValue { get; set; } = DateTime.Now;
}


 

Unplanned
Last Updated: 19 Oct 2021 14:06 by Srihari

Hi, please expose a property in TelerikGrid where we can set the number of virtual columns to load in advance. A lot of times we would like to load data in advance for 5-10 columns left & right of the current viewport, so the user doesn't see empty columns while scrolling. This may apply to rows as well. It would be very helpful to have this property, please consider exposing it. Thank you.

============

ADMIN EDIT

============

The column Virtualization feature improves the Grid performance when it has a lot of columns. This does not include loading data on demand, but rather UI virtualization. All the data is retrieved and the performance optimization is achieved by rendering only the columns for the current Grid viewport. When the user scrolls horizontally the content for the other columns is rendered and while this happens, the cells appear empty. The requested parameter will control the number of columns that will be rendered in the current viewport but will not be visible until the user scrolls. Thus, the user will not see empty columns.

Unplanned
Last Updated: 18 Oct 2021 19:04 by ADMIN

Sometimes, we just want a simple equal filter in grid, without operators options

---

ADMIN EDIT

If you want to modify the current behavior and layout of the filters, use the filter template (there is another example in this thread - in the post from 29 Jun 2020 that you can also use as base).

---

Unplanned
Last Updated: 18 Oct 2021 18:47 by ADMIN
Created by: Salman
Comments: 6
Category: Scheduler
Type: Feature Request
1

Is this available for blazor? if not could it be added somehow temporarily until support for it is added?

 

https://demos.telerik.com/aspnet-mvc/scheduler/yearview

Unplanned
Last Updated: 17 Oct 2021 07:58 by Paul Wood

The Validation does not trigger when I load my model from an async method.

 

<AdminEdit>

A workaround for the time being:

@inject HttpClient http
@using System.ComponentModel.DataAnnotations

<TelerikForm @ref="@EditForm" 
             Model="@TheCatFactTelerik" 
             ValidationMessageType="@FormValidationMessageType.None">
    <FormValidation>
        <ValidationSummary />
    </FormValidation>
    <FormItems>
        <FormItem Field="fact">
        </FormItem>
    </FormItems>
    <FormButtons>
        <TelerikButton ButtonType="ButtonType.Submit" Primary="true">Apply</TelerikButton>
    </FormButtons>
</TelerikForm>

@code {
    public TelerikForm EditForm { get; set; }

    public CatFact TheCatFactTelerik = new CatFact();

    public EditContext editContext { get; set; }

    protected async override Task OnInitializedAsync()
    {
        TheCatFactTelerik = await http.GetFromJsonAsync<CatFact>("https://catfact.ninja/fact");
    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        EditForm.EditContext.AddDataAnnotationsValidation();
    }

    public class CatFact
    {
        [Required(ErrorMessage = "Required Error Text")]
        [MinLength(10, ErrorMessage = "Min Length 10")]
        public string fact { get; set; }
        public int length { get; set; }
    }
}

</AdminEdit>

1 2 3 4 5 6