in packages/search-ui/src/actions/removeFilter.ts [14:50]
export default function removeFilter(
name: string,
value?: FilterValue,
type?: FilterType
) {
if (this.debug)
// eslint-disable-next-line no-console
console.log("Search UI: Action", "removeFilter", ...arguments);
const { filters } = this.state as RequestState;
let updatedFilters = filters;
if (!value && type) {
updatedFilters = filters.filter(
(filter) => !(filter.field === name && filter.type === type)
);
} else if (value) {
updatedFilters = removeSingleFilterValue(filters, name, value, type);
} else {
updatedFilters = filters.filter((filter) => filter.field !== name);
}
this._updateSearchResults({
current: 1,
filters: updatedFilters
});
const events: Events = this.events;
events.emit({
type: "FacetFilterRemoved",
field: name,
value: value && serialiseFilter([value]),
query: this.state.searchTerm
});
}