@tiller-ds/data-display
Version:
Data display module of Tiller Design System
19 lines (18 loc) • 720 B
TypeScript
import { SortInfo } from "./DataTable";
export default function useSortableDataTable<T, U extends keyof T>(initialData: T[], columnMapping: Record<U, string>, defaultSortBy?: SortInfo[]): {
sortedData: T[];
dataTableState: {
selected: Record<string, boolean>;
selectedCount: number;
isAllRowsSelected: boolean;
sortBy: SortInfo[];
defaultSortBy: SortInfo[];
};
dataTableHook: {
setSelected: (selection: Record<string, boolean>, isAllRowsSelected: boolean) => void;
setSortBy: (sort: SortInfo[]) => void;
selected: Record<string, boolean>;
isAllRowsSelected: boolean;
toggleSelectAll: () => void;
};
};