denwa-react-shared
Version:
75 lines (74 loc) • 2.88 kB
TypeScript
import { SearchRadioType } from '../../ui/admin-table/types';
export interface TableFitersSortFields {
key: string;
field: string;
order: 'asc' | 'desc';
}
export interface TableFitersFields {
key: string;
field: string;
}
export interface UseFetchTableDataProps {
sortFields: TableFitersSortFields[];
numberFilters: TableFitersFields[];
radioFilters: TableFitersFields[];
dateFilters: TableFitersFields[];
multiselectFilters: TableFitersFields[];
searchFields: string[];
textSearchFields: string[];
radioSearchFields: string[];
dateSearchFields: string[];
numberSearchFields: string[];
multiselectSearchFields: string[];
order: string;
search: string | null;
searchSelect: string;
numberSearch: number;
radioSearch: string;
dateSearch: number | null;
multiselectSearch: string[] | null;
defaultSearchSelect?: string;
onSetSearch: (value: string) => void;
onSetSearchSelect: (value: string) => void;
onSetSearchType: (value: string) => void;
onSetRadioSearch: (value: string) => void;
onSetDateSearch: (value: number | null) => void;
onSetNumberSearch: (value: number) => void;
onSetMultiselectSearch: (value: string[] | null) => void;
onSetOrder: (value: string) => void;
onSetPage: (value: number) => void;
onSetLimit: (value: number) => void;
}
export declare const useFetchTableData: ({ defaultSearchSelect, sortFields, radioFilters, dateFilters, multiselectFilters, numberFilters, searchFields, textSearchFields, radioSearchFields, dateSearchFields, numberSearchFields, multiselectSearchFields, order, search, searchSelect, numberSearch, radioSearch, dateSearch, multiselectSearch, onSetSearch, onSetSearchSelect, onSetSearchType, onSetRadioSearch, onSetDateSearch, onSetNumberSearch, onSetMultiselectSearch, onSetOrder, onSetPage, onSetLimit, }: UseFetchTableDataProps) => {
order: string;
sort: {
field: string;
order: string;
};
filter: {
[x: string]: number;
} | {
[x: string]: boolean;
} | {
[x: string]: Date;
} | {
[x: string]: string[];
};
searchValue: {
[x: string]: string;
};
searchSelect: string;
textSearchValue: string;
multiselectSearchValue: string[];
numberSearchValue: number;
dateSearchValue: Date | undefined;
onChangeSearch: (value: string) => void;
onChangeTextSearch: (text: string) => void;
onChangeOrder: (value: string) => void;
onSetPaginate: (value: number, pageSize: number) => void;
onShowSizeChange: (_current: number, size: number) => void;
onChangeRadioSearch: (value: SearchRadioType) => void;
onChangeDateSearch: (value: Date | null) => void;
onChangeNumberSearch: (value: number) => void;
onChangeMultiselectSearch: (value: string[]) => void;
};