[Data Filter] New Component
Hello everyone,
After 3 weeks of work I am happy to present the FluentDataFilter component. I have analyzed DevExpress, Telerik, SyncFusion, MudBlazor, Radzen, PowerApps and I think I have taken the best of everything.
No library for Linq has been included, everything is solved with expressions created at runtime. Eg. Radzen use https://dynamic-linq.net.
Features:
- Conditions based on type
- Creation of groups
- Association to properties or fields
- Logical operators And/Or/NotAnd/NotOr
- Condition operator "In/NotIn" selects from data and populates a list for selection
- FluenDataFilterManager component to manage filters eg. in grid
- DataFilterHelper creation of expressions to be used with linq
I know the documentation is incomplete and the tests are totally missing.
I wanted to share my idea and continue the development with your suggestions
Enm data
Condition
Editor
Operator In
Cutom Editor Vakue
Nullable value
Manager filter
Withe box filter
@franklupo please hold work on this until we've taken a closer look at this.
Both Denis and my first impression of this was that we doubt whether this should be functionality offered by the library. This is not a disqualification, just give us time to properly assess.
Let me explain the structure better
DataFilterCriteria<TItem>andDataFilterCriteriaCondition<TItem>are used to define the structure of the criteria. These can work without any components and generate expression.FluentDataFilter<Item>is the component to manage the creation of criteria. It is configured with theFluentPropertyFilter<TItem>orFluentFieldFilter<TItem>filters.FluentPropertyFilter<TItem>work with expression propertyFluentFieldFilter<TItem>work with files name string. Is possible to specify pathItem.SubItem.SubSubItem.FilterBase<TItem>is a base for any filters.FluentDataFilterManager<TItem>is the the filter manager.DataFilterHelperandDataFilterPredicateBuilderare helper for genereting expression.
After some research, I could only find Telerik, which offers a similar component: https://demos.telerik.com/blazor-ui/filter/overview
Can you give us links to the other libraries you're talking about? DevExpress, SyncFusion, MudBlazor, Radzen, PowerApps
- https://mudblazor.com/components/datagrid#filtering
- https://demos.devexpress.com/ASPNetCore/Demo/DataGrid/FilterPanel
- https://blazor.syncfusion.com/demos/query-builder/default-functionalities?theme=bootstrap5
- https://blazor.radzen.com/datafilter
- https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-view-filters
- https://www.blazor.zone/query-builder
This component, like others, selecttree, treeview, overloads the standard library which should be composed of lightweight and basic components. Is creating a new library a good idea?
Another similar component: https://github.com/manureini/MComponents/blob/master/MComponents/MQueryBuilder/MQueryBuilder.razor
This component, like others, selecttree, treeview, overloads the standard library which should be composed of lightweight and basic components. Is creating a new library a good idea?
Yes, we think components like this are better suited to be in a separate package. For others, see the discussion in #2419 about just that.
Closing this as there has been no activity for a while. As discussed, this could be delivered through an external package, not as part of the core library.