Hello,
I created a repl to replicate the issue that I'm having. I created a Filter with a custom editor. For this example, I used a Textbox and I save the changes back to the context.FilterDescriptor.Value in the OnChange method which occurs when the user blurs focus.
If you start the repl w/o checking the Use Custom Editor checkbox and enter text where the "Sample" value is located you will see the changes are saved properly to the bound CompositeFilter property and are echo'd back in the screen.
If instead you check the Use Custom Editor box and perform the same test you'll see that the same changes are not present in the bound CompositeFilter.
Note that this issue only occurs if you start with an existing CompositeFilter and bind it to the filter control. It seems that if the control creates the FilterDescriptor objects then their changes bind properly, but if the FilterDescriptor objects existed before binding to the control then the issue occurs.
https://blazorrepl.telerik.com/wIOtcKOb31mjTc3351
Thank You,
-Andy
Please expose a refresh/rebind method for the Filter. I want to force refresh the component when programmatically changing its value during runtime.
===
ADMIN EDIT
===
A possible workaround for the time being is to dispose the component and reinitialize it again after programmatically changing the value. Here is an example: https://blazorrepl.telerik.com/GnkgQPPU37sHWkak55.
When I change the field from the dropdown to another field of the same type, the filter editor is not updated.
The issue occurs when I'm using Enum fields - the dropdown editor is not updated to display the correct values of the newly selected Enum field.
Reproduction: https://blazorrepl.telerik.com/QHExPalR55jvaD1t12.
Steps to reproduce:
I'd like to be able to change the default editor of the filter field. For example, for DateTime fields, I want to use DateTimePicker instead of the default DatePicker.
Please expose an option to customize that similar to https://docs.telerik.com/blazor-ui/components/grid/filter/overview#customize-the-filter-editors.
I want my users to be able to add only one level of groups to their filters. I want to remove the "Add Group" button in the second level toolbar.
===
ADMIN EDIT
===
For the time being, such a result can be achieved with CSS. You can target and hide the "Add Group" button of the desired level to prevent the user from creating another nested group.
Steps to reproduce:
Can the ability to define a height/width for the Filter component be exposed?
Width - I've noticed that if your Column names are to long names are cut off. I've used CSS to work around this.
Height - This isn't exactly a bug but if you populate enough "<FilterField/>" the dropdownlist will extend down past the bottom of the page.
It would be helpful if we can we can define more settings from the dropdownlists Or atleast make it so the dropdownlist will not go beyond the bottom of the page.
I would like to request an ability to add a dropdown of available values so that a user could select one or more items on the value side.
For Example:
User selects "Room Type" for Filter Name and is presented with "Queen", "King", "Double". The user would then be able to select one or more of those values. This would replace a multitude of "OR" statements, in additional; it could make finding things easier by knowing what values I can search for.
Possibly apply a "Template" for the value of a Filter Name. Purely as a concept:
<TelerikFilter Value="@Value" ValueChanged="@OnValueChanged">
<FilterFields>
<FilterField Name="@nameof(OrderDetailDto.OrderId)" Type="typeof(int)" Label="Id" />
<FilterField Name="@nameof(OrderDetailDto.Quantity)" Type="typeof(short)" />
<FilterField Name="@nameof(OrderDetailDto.OrderFreight)" Type="@typeof(decimal)" Label="Freight" />
<FilterField Name="@nameof(OrderDetailDto.OrderShipCountry)" Type="typeof(string)" Label="Country">
<FilterValueTemplate>{{Some Template Here}}</FilterValueTemplate>
</FilterField>
<FilterField Name="@nameof(OrderDetailDto.OrderShipName)" Type="typeof(List<string>)" Label="Ship to">
<FilterValueTemplate>{{Some Template Here}}</FilterValueTemplate>
</FilterField>
<FilterField Name="@nameof(OrderDetailDto.OrderShipAddress)" Type="typeof(string)" Label="Ship Address" />
</FilterFields>
</TelerikFilter>
If the CompositeFilterDescriptor is set with a predefined filter before the filter component is rendered on the page it locks up the UI.
I've noticed this issue if the Filter is user under a TabStrip.. You set the filter and navigate way from the tab and back it will lock up.
I would like to limit how many nested groups in the Filter the user can make.
It would be nice to have events raised when filters are added. This will allow me to use my own logic (e.g., to ensure something exists before adding/removing another).