• Type Parameters

    • Item
    • Additional
    • Error
    • FiltersAndSortData

    Parameters

    • params: Readonly<Readonly<{
          additional?: Additional;
          alwaysResetFilters?: Readonly<Record<string, unknown>>;
          appliedFilters?: Readonly<Record<string, unknown>>;
          autoload?: boolean;
          createDataStore?: ((initalValue: Readonly<{
              appliedFilters: Record<string, unknown>;
              page: number;
              pageSize?: null | number;
              sort: Readonly<{
                  asc: boolean;
                  param?: (...) | (...) | (...);
              }>;
          }>) => DataStore);
          debounceTimeout?: number;
          isDefaultSortAsc?: boolean;
          items?: readonly Item[];
          loadItems: ItemsLoader<Item, Additional, Error>;
          page?: null | number;
          pageSize?: null | number;
          refreshTimeout?: number;
          resetFiltersTo?: Readonly<Record<string, unknown>>;
          saveFiltersOnResetAll?: readonly string[];
          saveItemsWhileLoad?: boolean;
          shouldRefresh?: (() => boolean);
          sort?: Readonly<{
              asc: boolean;
              param?: null | string;
          }>;
          total?: null | number;
      }> & {
          canInit?: boolean;
          filtersAndSortData?: FiltersAndSortData;
          onChangeLoadParams?: OnChangeLoadParams<Item, Additional, Error>;
          parseFiltersAndSort?: ParseFiltersAndSort<FiltersAndSortData>;
          shouldRecount?: ShouldRecount<FiltersAndSortData>;
      }>
    • inputs: readonly unknown[] = []

    Returns [null | Readonly<{
        appliedFilters: Record<string, unknown>;
        page: number;
        pageSize?: null | number;
        sort: Readonly<{
            asc: boolean;
            param?: null | string;
        }>;
    }>, null | Readonly<{
        additional: Additional;
        error: null | Error;
        filters: Record<string, unknown>;
        isFirstLoad: boolean;
        items: readonly Item[];
        loadedPages: number;
        loading: boolean;
        shouldClean: boolean;
        total?: null | number;
    }>, null | Filterlist<Item, Additional, Error>, {
        useBoundFilter: (<Value>(filterName: string) => Readonly<{
            appliedValue: null | Value;
            applyFilter: (() => void);
            resetFilter: (() => void);
            setAndApplyFilter: ((value: Value) => void);
            setFilterValue: ((value: Value) => void);
            value: null | Value;
        }>);
    }]