Unplanned
Last Updated: 28 Sep 2022 20:18 by n/a
Created by: Daniel
Comments: 4
Category: MultiSelect
Type: Feature Request
14

In the MultiSelect Component you have Item, Footer, and Header Template sub components. I see no way of providing a template for the selected items. This would be a very nice feature to have. 

My specific use case it that I would like to add a tool tip to the selected tags. 

 

Thanks

Completed
Last Updated: 23 Sep 2022 09:06 by ADMIN
Release 3.6.1 (26 Sep 2022)

To reproduce:

  • Use the Local Data code snippet
  • Open the popup
  • Scroll down
  • Close the popup
  • Open the popup again
  • Blank space will be rendered above the visible items.
Unplanned
Last Updated: 24 Aug 2022 10:57 by Patrik Madliak
Created by: Patrik Madliak
Comments: 0
Category: MultiSelect
Type: Bug Report
0

Description

In Firefox, there are occasions in which multiple items remain focused (k-focus class is not removed from the blurred item)

Reproduction (if bug)

  1. Create a multiselect and set AutoClose="false".
  2. Open the component and select a few items.
  3. Close the component.
  4. Open the component and select a new item.
  5. Two items have the k-focus class.

Second related case:

  1. Create a multiselect and set AutoClose="false".
  2. Open the component and navigate up and down with the keyboard arrows.
  3. Select an item.
  4. The last focused item with the arrows is focused as well as the newly selected item.

REPL for reproduction

Expected (if bug)

Only one item should have the k-focus class at a time.

Browser (if bug)

Firefox

Broken Telerik UI for Blazor version (if bug)

3.5.0

Unplanned
Last Updated: 13 Jul 2022 12:28 by Eugene
Created by: Eugene
Comments: 0
Category: MultiSelect
Type: Feature Request
1
My question is regarding MultiSelect. I would like to order the groups inside the MultiSelect as follows:

Category 2

- Item 1

- Item 2

Category 1

- Item 3

- Item 4

But the MultiSelect control seems to order the category name alphabetically (Category 1, Category 2, etc).
Completed
Last Updated: 02 Jun 2022 13:07 by ADMIN
Release 3.4.0
The MultiSelect does not update its tags when selecting items with the keyboard when the component is housed in the ContextMenu
Unplanned
Last Updated: 02 Mar 2022 15:43 by ADMIN

The following, took a bit of effort to identify where the behaviour was failing for a screen reader.

 

for all scenarios below the multi-select component currently has items (more than one) in it as selected.

 

GOOD

if keyboard focus is on text edit, and u leave the component (w/ tab key), when revisiting the component (w/ shift+tab keys) all selected items are read out correctly

 

BAD

if keyboard focus is on selected item, and u leave the component (w/ tab key), when revisiting the component (w/ shift+tab key) the focused (selected) item is not read out correctly.

(sorry example read out not provided)


GOOD

selected items are read out correctly when;

  • closing items panel w/ escape key,
  • closing items panel when selecting an item

 

BAD

delete item;

  • remove all selected items w/ escape key does not inform a screen reader user of the outcome; that no item is now selected (should state something).
  • removing last item with backspace does not inform screen reader of the outcome; that no item is now selected (should state something). I swear this worked once with firefox.

the following behaviour also occurs after removing all items via a keyboard, the keyboard focus becomes lost;

  • (BAD) most times u can't press a right / down key into the text section of the multi-select (experienced w/ firefox too)
  • (GOOD) most times can press alt+down to bring the panel (experienced w/ firefox too)
  • (GOOD) u can still tab out to next clickable object
Duplicated
Last Updated: 02 Jan 2022 11:40 by ADMIN

 

Hi,

When displaying a MultiSelect control on a TelerikWindow (modal), the dropdown of items is displayed behind the dialog:

 

How can I change the Z-Index of the dropdown?

Declined
Last Updated: 28 Dec 2021 14:11 by Alan

This appears to be documented behavior, but it also seems to me like this is something that the component should be handling.

When using row virtualization with a Grid, a DropDownList, a MultiSelect, etc, the OnRead is called for every scroll event, regardless of whether the component _actually_ needs to fetch new data or not.

 

For example:  A DropDownList with a PageSize of 100, but with only 10 items visible in the dropdown at a time will ask for 100 records every time the user even scrolls 1 record down. This results in many requests to the backend server, with many of the results being the majority of the contents from the previous request.

 

I have worked around this by implementing a buffer that keeps results for me and returns them as the user scrolls, only requesting for more from the backend server when the buffer runs out, but this feels like something that the components themselves should be handling.

 

If this is expected behavior, all good.  Just wanted to raise some awareness on it.

Duplicated
Last Updated: 21 Dec 2021 13:43 by ADMIN

Using row virtualization on MultiSelect, and am attempting to put a loading indicator into the popup content if the request to the server is still ongoing.

 

Problem with this is that the popup contents don't update if the popup is open when loading finishes.  I put together a reproduction on Telerik REPL showing the behavior I am experiencing.

https://blazorrepl.telerik.com/mvvQvVvN2458vinQ36

 

Note, Options finish loading (seen by the div update above the MultiSelect component), but if the popup is open, the contents do not update to reflect the loaded options.

 

 

My current workaround is to just make the MultiSelect disabled while it is doing its initial load.

Unplanned
Last Updated: 01 Dec 2021 16:16 by ADMIN
If the Multiselect has items selected and is not focused, clearing one item does not focus the component while clearing all items does. Deselecting single item should focus the component as well.
Declined
Last Updated: 30 Sep 2021 09:20 by ADMIN

When user is inside list of selected options/items, navigating amongst the items with keyboard left/right keys, it states "item # of # of items of level 1". 
what is "of level 1"? (is items selected in level 1 and level 2 is the text editable section?)

i am expecting the screen reader to state item "<value/label/title>" when i set focus to an item via keyboard left or right.

The issue did not occur in firefox. Sorry, i have not provided the firefox readout w/ the screen reader for comparison.

 

however, for the most likely user scenario the behaviour with the screen reader is correct.

if keyboard focus is on text edit, and u leave the component (w/ tab key), when revisiting the component (w/ shift+tab keys) all selected items are read out correctly

 

tested in Chrome and firefox using NVDA.

 

 

 

Duplicated
Last Updated: 29 Sep 2021 05:47 by ADMIN

Hi team,

I just upgraded Blazor version to 2.25 and the primary button in FooterTemplate of MultiSelect started behaving differently. This was shown correctly prior to update. Also, normal button where Primary="true" is shown with correct styling.

I have written a little code snippet to demonstrate.


            <div class="row">
                <div class="col-2">
                    <TelerikButton ButtonType="Telerik.Blazor.ButtonType.Button"
                                   Icon="k-icon k-i-add"
                                   Primary="true">
                        New Value
                    </TelerikButton>
                </div>

                <div class="col-10">
                    <TelerikMultiSelect Data="@(
                                            new List<SelectListItem>()
                                            {
                                                { new SelectListItem { Text = "Text 1", Value = "Value1" } },
                                                { new SelectListItem { Text = "Text 2", Value = "Value2" } },
                                                { new SelectListItem { Text = "Text 3", Value = "Value3" } },
                                                { new SelectListItem { Text = "Text 4", Value = "Value4" } }
                                            })"
                                        FilterOperator="StringFilterOperator.Contains"
                                        Filterable="true"
                                        TItem="SelectListItem"
                                        TValue="string"
                                        TextField="Text"
                                        ValueField="Value">
                        <FooterTemplate>
                            <TelerikButton ButtonType="Telerik.Blazor.ButtonType.Button"
                                           Icon="k-icon k-i-add"
                                           Primary="true">
                                New Value
                            </TelerikButton>
                        </FooterTemplate>
                    </TelerikMultiSelect>
                </div>
            </div>

 

As it can be seen the the code for button is exactly same in both places but the output is different.

Please have a look into this.

Many thanks,

 

 

Unplanned
Last Updated: 22 Sep 2021 14:08 by ADMIN
Created by: Johan
Comments: 1
Category: MultiSelect
Type: Feature Request
15

Hi,

I would like checkbox support including the check all checkbox on the multiselect component like: https://docs.telerik.com/devtools/aspnet-ajax/controls/combobox/functionality/checkbox-support

The url below shows how to create custom checkboxes in the multiselect component but adding a check all checkbox in the headertemplate does not update the multiselect popup

https://docs.telerik.com/blazor-ui/knowledge-base/multiselect-checkbox-in-dropdown?_ga=2.50111909.206897922.1631541466-694624900.1630583797&_gac=1.246637872.1631604077.EAIaIQobChMI8PnX6Pb98gIVkwCLCh381AjMEAAYASAAEgLROPD_BwE

Declined
Last Updated: 17 Sep 2021 16:58 by ADMIN

In drop down panel colour indicates which option has been selected (is it the dark colour or is the light colour). Suggestion: having an icon of tick would assist.

 

As an alternative option - Blazor MultiSelect - Templates | Telerik UI for Blazor this would be great if you could template selected and non-selected items, but at the moment there is just the one item template.

Completed
Last Updated: 17 Sep 2021 15:46 by ADMIN

When re-visiting the input when it has options selected as badges, using keyboard;

Completed
Last Updated: 17 Sep 2021 15:46 by ADMIN

First visit of options in drop down, using keyboard:

  • each option is read as 'blank' in screen reader
  • number of options not read out

Declined
Last Updated: 17 Aug 2021 16:39 by ADMIN
Created by: Matt
Comments: 4
Category: MultiSelect
Type: Bug Report
0
On focus via keyboard all options are not available. User has to type a char, filters options. User has to hit alt+down, spacebar or enter key would be a better approach to trigger all options (but all options should be listed by default on focus).
Unplanned
Last Updated: 27 Jul 2021 15:45 by ADMIN
Created by: Kevin
Comments: 0
Category: MultiSelect
Type: Feature Request
17

I would like to have the ability to refresh the Multiselect Popup.

Currently, if the AutoClose="false" feature is applied and the items are programmatically selected, you cannot display them as selected while the Popup is opened. You need to close it first to accordingly update the selected items collection in it.

Unplanned
Last Updated: 09 Jul 2021 10:28 by ADMIN
Created by: Ankit
Comments: 1
Category: MultiSelect
Type: Feature Request
22

I would like to add a feature similar to the Tag Mode in the Kendo suite 

 

===========

ADMIN EDIT

===========

In the meantime, there are two possible workarounds:

1. Mimic the desired 'single' TagMode behavior and display the number of selected items inside the MultiSelect, instead of the selected items themselves.

This approach uses custom CSS, which hides the list of selected items and displays a dynamically updated count value. The most important bits are highlighted:

UI for Blazor 2.30

<TelerikMultiSelect Data="@Products" Class="single-tag-mode"
                    @bind-Value="@SelectedProductIDs"
                    ValueField="@nameof(Product.ProductID)"
                    TextField="@nameof(Product.ProductName)"
                    Placeholder="Select Products">
</TelerikMultiSelect>

<style>
    .single-tag-mode ul.k-reset {
        float: left;
    }

    .single-tag-mode ul.k-reset li.k-button {
        display: none;
    }

    .single-tag-mode ul.k-reset:before {
        content: "Selected items: @SelectedProductIDs.Count";
        display: inline-block;
        line-height: 1.8em;
        padding: 0 7px;
        vertical-align: bottom;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: #f5f5f5 linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
    }
</style>

@code {
    List<Product> Products = new();
    List<int> SelectedProductIDs = new();

    protected override async Task OnInitializedAsync()
    {
        for (int i = 1; i <= 10; i++)
        {
            Products.Add(new Product()
            {
                ProductID = i,
                ProductName = "ProductName " + i
            });
        }

        await base.OnInitializedAsync();
    }

    public class Product
    {
        public int ProductID { get; set; }
        public string ProductName { get; set; }
    }
}

 

UI for Blazor 3.0

 

<TelerikMultiSelect Data="@Products" Class="single-tag-mode"
                    @bind-Value="@SelectedProductIDs"
                    ValueField="@nameof(Product.ProductID)"
                    TextField="@nameof(Product.ProductName)"
                    Placeholder="Select Products">
</TelerikMultiSelect>

<style>
    .single-tag-mode .k-input-values {
        float: left;
    }

    .single-tag-mode .k-input-values .k-chip {
        display: none;
    }

    .single-tag-mode .k-input-values:before {
        content: "Selected items: @SelectedProductIDs.Count";
        display: inline-block;
        line-height: 1.8em;
        padding: 0 7px;
        vertical-align: bottom;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: #f5f5f5 linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
    }
</style>

@code {
    List<Product> Products = new();
    List<int> SelectedProductIDs = new();

    protected override async Task OnInitializedAsync()
    {
        for (int i = 1; i <= 10; i++)
        {
            Products.Add(new Product()
            {
                ProductID = i,
                ProductName = "ProductName " + i
            });
        }

        await base.OnInitializedAsync();
    }

    public class Product
    {
        public int ProductID { get; set; }
        public string ProductName { get; set; }
    }
}

 

 

2. Restrict the component's size and allow scrolling to see all selected items.

Use some custom CSS to set desired height of the container holding the selected items (.k-chip-list) and to control its overflow. You can use the Class parameter of the Multiselect to set your custom CSS class to the main wrapping container of the component and style a specific instance of the component, not all instances on the page/app.

In terms of controlling the container's height, you can:

  • Set fixed height : the container will have fixed height and if its content exceeds it, a scrollbar will appear.

  • Set max-height: when filled with content, the container will expand until it reaches its max height. Scrollbar will appear afterwards.
<style>
    .my-multiselect .k-input-values.k-chip-list {
        overflow: auto;
        max-height: 60px;
    }
</style>

<TelerikMultiSelect Class="my-multiselect"
                    Data="@Countries"
                    @bind-Value="@Values"
                    Placeholder="Enter Balkan country, e.g., Bulgaria"
                    Width="350px" ClearButton="true" AutoClose="false">
</TelerikMultiSelect>

@code {
    List<string> Countries { get; set; } = new List<string>();
    List<string> Values { get; set; } = new List<string>();

    protected override void OnInitialized()
    {
        Countries.Add("Albania");
        Countries.Add("Bosnia & Herzegovina");
        Countries.Add("Bulgaria");
        Countries.Add("Croatia");
        Countries.Add("Kosovo");
        Countries.Add("North Macedonia");
        Countries.Add("Montenegro");
        Countries.Add("Serbia");
        Countries.Add("Slovenia");

        base.OnInitialized();
    }
}


Unplanned
Last Updated: 28 Apr 2021 08:40 by ADMIN
Created by: Oscar
Comments: 0
Category: MultiSelect
Type: Bug Report
3
I would like to avoid that the component cleans the filter user input when an item is clicked and auto-close is set to false.

So, imagine I want to select every item which contains letter 'S'. I type 'S' then when I click on the first item containing 'S', the 'S' in the input is removed and all the items are shown. So I need to type S again and again 1 time for each Item I want to select.

I attach a gif showing the behavior.
1 2