ReadonlyallowWhether advanced mode is available. Defaults to true.
Advanced mode renders the full multi-rule predicate builder.
ReadonlyallowWhen true the user can toggle between all (AND) and any (OR).
Defaults to false (AND-only).
ReadonlyallowWhether simple mode is available. Defaults to true.
Simple mode renders a single search textbox using "Any field contains" logic behind the scenes.
Protected ReadonlycurrentReadonlydataOptional raw dataset used to derive distinct values per string field.
When provided and the total row count is below 1 000, each string field's unique values are collected and forwarded to child rows so they can render a dropdown (≤ 5 distinct) or autocomplete (6–99) instead of a plain text input.
ReadonlydisabledWhether the filter is disabled.
ReadonlyexpressionEmits a FilterExpression every time the filter rules change.
FilterableArrayDatasource.filterBy().ReadonlyfieldsFilterable field definitions.
Protected ReadonlyjunctionReadonlymodeThe current display mode of the filter.
Determined automatically from allowSimple / allowAdvanced
on init. Toggled by the user via the mode toggle button when
both modes are enabled.
ReadonlymodeWhether the simple / advanced mode toggle is hidden.
When true, the component stays permanently in whichever mode
was resolved at init (from allowSimple / allowAdvanced).
The user cannot switch modes.
Protected ReadonlyrulesReadonlysaveEmitted when the user clicks the "Save Filter" button.
Only fires when showSaveButton is true and the filter
is in advanced mode.
ReadonlyshowWhether to show a "Save Filter" button in the advanced mode header.
When clicked, the saveFilter output emits.
ReadonlyvalueThe complete filter state (two-way bindable).
Adds a new empty rule defaulting to the "Any field" option.
Removes the rule at the given index.
Changes the junction mode.
Toggles between simple and advanced mode.
When switching to advanced, if there are no rules, one empty rule is added so the user sees a starting row. If the simple search had text, the "Any field contains" rule is preserved.
When switching to simple, the current descriptor is replaced by the simple search term.
Replaces a single rule (called by child rows on edit).
Predicate builder — lets the user compose filter rules against typed fields, similar to the macOS Finder "Smart Folder" editor.
Basic usage
Two-way binding
The component exposes a
model()signal namedvalue. Use[(value)]for two-way binding or listen to(valueChange).Junction mode
By default all rules are combined with AND. Set
[allowJunction]="true"to let the user switch between all (AND) and any (OR).