Function useProductFilters

  • Preact hook that imports the product filters to the component.

    Returns {
        filters: (
            | undefined
            | {
                field: string;
                filter: {
                    all?: InputSearchFilter[];
                    any?: InputSearchFilter[];
                    excludeFacets?: string[];
                    field?: string;
                    hasValue?: boolean;
                    not?: InputSearchFilter[];
                    prefix?: string[];
                    range: | undefined
                    | {
                        gt: undefined
                        | string
                        | number;
                        gte: undefined | string | number;
                        lt: undefined | string | number;
                        lte: undefined | string | number;
                    }[];
                    value?: string[];
                };
                name: string;
                remove: () => void;
                value: string;
            }
        )[];
        removeAll: () => void;
    }

    • filters: (
          | undefined
          | {
              field: string;
              filter: {
                  all?: InputSearchFilter[];
                  any?: InputSearchFilter[];
                  excludeFacets?: string[];
                  field?: string;
                  hasValue?: boolean;
                  not?: InputSearchFilter[];
                  prefix?: string[];
                  range: | undefined
                  | {
                      gt: undefined
                      | string
                      | number;
                      gte: undefined | string | number;
                      lt: undefined | string | number;
                      lte: undefined | string | number;
                  }[];
                  value?: string[];
              };
              name: string;
              remove: () => void;
              value: string;
          }
      )[]

      Selected filters array.

    • removeAll: () => void

      Should remove all selected filters.

    import { useProductFilters, useActions } from '@nosto/search-js/preact'

    export default () => {
    const { filters } = useProductFilters()
    const { toggleProductFilter } = useActions()

    return filters.map((filter) => <li>
    <button
    title="Remove Filter"
    onClick={(e) => {
    e.preventDefault()
    toggleProductFilter(
    filter.field,
    filter.value,
    false
    )
    }}
    >
    {filter.filter}: {filter.value}{' '}
    <span>&#10005;</span>
    </button>
    </li>)
    }
MMNEPVFCICPMFPCPTTAAATR