@hhgtech/hhg-components
Version:
Hello Health Group common components
28 lines (27 loc) • 1.03 kB
TypeScript
import { ListProviderType, TFilterOptions } from "./type";
export declare function useList<T>({ fetcher, pageSize, defaultSearch, defaultFilters, debounceSearch, defaultLoading, defaultItems, defaultTotal, defaultPage, }: {
fetcher: ListProviderType<T>['fetcher'];
pageSize?: number;
defaultSearch?: string;
defaultFilters?: Record<string, any>;
debounceSearch?: number;
defaultLoading?: boolean;
defaultItems?: T[];
defaultTotal?: number;
defaultPage?: number;
}): {
items: T[];
total: number;
page: number;
pageSize: number;
search: string;
loading: boolean;
loadingMore: boolean;
filters: Record<string, any>;
handleChangePage: (page: number) => void;
handleChangeSearch: (value: string) => void;
handleLoadMore: () => void;
handleChangeFilter: (filterData: TFilterOptions, filterOptions: TFilterOptions[]) => void;
handleUpdateFilter: (filterObject: Record<string, any>) => void;
resetData: () => void;
};