adizen-tanstack-table
Version:
Enhanced DataTable with TanStack Table
31 lines (30 loc) • 1.03 kB
TypeScript
import { ServerSideConfig } from "../types";
export declare function useServerSideTable<T>(serverConfig: ServerSideConfig<T>, initialPageSize?: number): {
data: T[];
totalCount: number;
loading: boolean;
error: string;
currentPage: number;
pageSize: number;
filters: Record<string, any>;
sorting: {
field: string | null;
direction: "asc" | "desc" | null;
};
dateRange: {
field: string | null;
range: string;
startDate: string | null;
endDate: string | null;
};
setPage: (page: number) => void;
setPageSize: (pageSize: number) => void;
setColumnFilter: (columnId: string, value: any) => void;
setSorting: (field: string | null, direction: "asc" | "desc" | null) => void;
setDateRangeFilter: (field: string | null, range: string, startDate?: string, endDate?: string) => void;
clearAllFilters: () => void;
refresh: () => void;
totalPages: number;
hasNextPage: boolean;
hasPreviousPage: boolean;
};