export default function setFilter()

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
  });
}