- useFilterlist<Item, Additional, Error, FiltersAndSortData>(params, inputs?): [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;
}>);
}] 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;
}>);
}]