in packages/search-ui/src/actions/setFilter.ts [15:51]
export default function setFilter(
name: string,
value: FilterValue,
type: FilterType = "all",
persistent?: boolean
) {
// eslint-disable-next-line no-console
if (this.debug) console.log("Search UI: Action", "setFilter", ...arguments);
let { filters } = this.state as RequestState;
filters = filters.filter(
(filter) => filter.field !== name || filter.type !== type
);
const filterValue = Array.isArray(value) ? value : [value];
this._updateSearchResults({
current: 1,
filters: [
...filters,
{
field: name,
values: filterValue,
type,
persistent
}
]
});
const events: Events = this.events;
events.emit({
type: "FacetFilterSelected",
field: name,
value: value && serialiseFilter(filterValue),
query: this.state.searchTerm
});
}