The cache is used to control when the interceptDisplayedCriteria event needs to be called. Every time a criteria gain the focus we have to reset the cache to call the interceptor. allowedCriteriaCache?: string [] |
autoEditCriteria: boolean = false |
cdRef: ChangeDetectorRef = ... |
Clear button aria label. Needed for a11y clearButtonLabel: InputSignal <TranslatableString > = $localize`:@@SI_FILTERED_SEARCH.CLEAR:Clear` |
Color variant to determine component background colorVariant: InputSignal <BackgroundColorVariant > = 'base-1' |
Predefine criteria options. criteria: InputSignal <(Criterion [] | CriterionDefinition [])> = [] |
dataSource: Observable <InternalCriterionDefinition []> |
destroySubscriptions: Subject <boolean > = ... |
Disable any interactivity. disabled: InputSignalWithTransform <boolean , unknown > = false |
Disables the free text search to only use the criterion for filtering. disableFreeTextSearch: InputSignalWithTransform <boolean , unknown > = false |
By default, the Filtered Search will treat : as a special character to submit the current input in the freetext and immediately create a criterion. Use this input to disable this behavior. disableSelectionByColonAndSemicolon: InputSignalWithTransform <boolean , unknown > = false |
Output callback event that provides an object describing the selected criteria and additional filter text. doSearch: OutputEmitterRef <SearchCriteria > = ... |
If this is set to true , the search triggers for each input (implicit search). By default, the search is triggered when the user submits by pressing the search button or by pressing enter. doSearchOnInputChange: InputSignalWithTransform <boolean , unknown > = false |
Opt-in to search for each criterion only once. exclusiveCriteria: InputSignalWithTransform <boolean , unknown > = false |
freeTextInputElement: Signal <ElementRef <HTMLInputElement >> = ... |
icons: Record <("elementCancel" | "elementSearch" ), string > = ... |
The interceptor is called when the list of criteria is shown as soon as the user starts typing in the input field. The interceptor's DisplayedCriteriaEventArgs.allow method can be used to filter the list of displayed criteria. Note: The interceptor is called as long as the searchCriteria does not exceed maxCriteria . Further, the interceptor is not called when using the lazyCriterionProvider . Example: <si-filtered-search
[criteria]="[{ name: 'foo', label: 'Foo' }, { name: 'bar', label: 'Bar' }]"
(interceptDisplayedCriteria)="$event.allow(
$event.searchCriteria.criteria.some(s => s.name === 'foo')
? $event.criteria.filter(c => c !== 'foo')
: $event.criteria
)">
</si-filtered-search>
interceptDisplayedCriteria: OutputEmitterRef <DisplayedCriteriaEventArgs > = ... |
Internal criteria model internalCriterionDefinitions: InternalCriterionDefinition [] = [] |
isReadOnly: Signal <boolean > = ... |
isStrictOrOnlySelectValue: Signal <boolean > = ... |
Items count text appended to the count in case of multi-selection of values. Translation key, {{itemCount}} in the translation will be replaced with the actual value. itemCountText: InputSignal <TranslatableString > = '' |
Text or translate key for multi selection pills text. Deprecated: Use the new input itemCountText instead.
items: InputSignal <TranslatableString > = $localize`:@@SI_FILTERED_SEARCH.ITEMS:items` |
lastEmittedSearchCriteria?: SearchCriteria |
In addition to lazy loaded value, you can also lazy load the criteria itself lazyCriterionProvider: InputSignal <(undefined | (typed: string , searchCriteria: SearchCriteria ) => Observable <(Criterion [] | CriterionDefinition [])>)> = ... |
lazyLoadedCriteria: WritableSignal <(undefined | Criterion [] | CriterionDefinition [])> = ... |
Custom debounce time for lazy loading of criteria data. lazyLoadingDebounceTime: InputSignal <number > = 500 |
In many cases, your application defines the criteria, but the values need to be loaded from a server. In this case you can provide a function that returns the possible criterion options as an Observable. lazyValueProvider: InputSignal <(undefined | (criterionName: string , typed: (string | string [])) => Observable <OptionType []>)> = ... |
loadedCriteria: Signal <(Criterion [] | CriterionDefinition [])> = ... |
locale: string = ... |
Limit the number of possible criteria. The default is undefined so that any number of criteria can be used. For example, setting the value to 1 let you only select one criterion that you need to remove before being able to set another one. maxCriteria: InputSignal <(undefined | number )> = undefined |
Defines the maximum options within one criterion. The default is 20 and 0 means unlimited. maxCriteriaOptions: InputSignal <number > = 20 |
Deprecated: This property is unused and will be removed without a replacement.
noMatchingCriteriaText: InputSignal <TranslatableString > = $localize`:@@SI_FILTERED_SEARCH.NO_MATCHING_CRITERIA:No matching criteria` |
Limit criterion options to the predefined ones and prevent typing. [onlySelectValue] enforces [strictValue] and [strictCriterion] to true automatically. onlySelectValue: InputSignalWithTransform <boolean , unknown > = false |
Defines the number of criteria, criteria values and operators visible at once. optionsInScrollableView: InputSignal <number > = 10 |
The placeholder for input field. placeholder: InputSignal <string > = '' |
Do not allow changes. Search can still be triggered. Deprecated: Use disabled instead.
readonly: InputSignalWithTransform <boolean , unknown > = false |
scrollContainer: Signal <ElementRef <any >> = ... |
The current selected search criteria and entered search text. searchCriteria: ModelSignal <SearchCriteria > = { criteria: [], value: '' } |
Custom debounce time (in mills) to delay the search emission. (Default is 0 as in most cases a users manually triggers a search. Recommended to increase a bit when using doSearchOnInputChange=true) searchDebounceTime: InputSignal <number > = 0 |
Used to debounce the Search emissions searchEmitQueue: Subject <(undefined | SearchCriteria )> = ... |
Search input aria label, Needed by a11y searchLabel: InputSignal <TranslatableString > = $localize`:@@SI_FILTERED_SEARCH.SEARCH:Search` |
searchValue: string = '' |
Deprecated: Setting this property will make it harder for user to submit a search. Instead of using this property to preselect to most relevant option, sort the options by relevance.
selectedCriteriaIndex: InputSignal <(undefined | number )> = ... |
Deprecated: This property is unused and will be removed without a replacement.
showIcon: InputSignalWithTransform <boolean , unknown > = false |
Limit criteria to the predefined ones. strictCriterion: InputSignalWithTransform <boolean , unknown > = false |
strictCriterionOrValue: Signal <boolean > = ... |
Limit criterion options to the predefined ones. [strictValue] enforces [strictCriterion] to true automatically. strictValue: InputSignalWithTransform <boolean , unknown > = false |
The accessible label of the search button. submitButtonLabel: InputSignal <TranslatableString > = $localize`:@@SI_FILTERED_SEARCH.SUBMIT_BUTTON:Submit search` |
Deprecated: This property is unused and will be removed without a replacement. To provide translation for the new search button, use the submitButtonLabel input.
submitText: InputSignal <TranslatableString > = $localize`:@@SI_FILTERED_SEARCH.SUBMIT:Apply search criteria` |
translateService: SiTranslateService = ... |
Used to trigger a renewed search typeaheadInputChange: BehaviorSubject <string > = ... |
Limit on the number of criteria/criteria value to be displayed by the typeahead typeaheadOptionsLimit: InputSignal <number > = 20 |
valueComponents: Signal <readonly SiFilteredSearchValueComponent []> = ... |
values: { config: InternalCriterionDefinition , value: CriterionValue }[] = [] |
criterionRegex: RegExp = ... |