From 08d5b16123f379f6189993d7b9d89091d277bada Mon Sep 17 00:00:00 2001 From: Giancarlo Buomprisco Date: Wed, 5 Feb 2025 22:18:12 +0700 Subject: [PATCH] Add optional sorting state to DataTable component (#148) - Introduce `sorting` prop to allow initial sorting configuration - Update DataTable to use provided initial sorting state - Maintain default empty sorting state when no initial sorting is specified --- packages/ui/src/makerkit/data-table.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/makerkit/data-table.tsx b/packages/ui/src/makerkit/data-table.tsx index 90ac163c9..31b9571c9 100644 --- a/packages/ui/src/makerkit/data-table.tsx +++ b/packages/ui/src/makerkit/data-table.tsx @@ -48,6 +48,7 @@ interface ReactTableProps { onPaginationChange?: (pagination: PaginationState) => void; manualPagination?: boolean; manualSorting?: boolean; + sorting?: SortingState; tableProps?: React.ComponentProps & Record<`data-${string}`, string>; } @@ -62,13 +63,14 @@ export function DataTable({ tableProps, manualPagination = true, manualSorting = false, + sorting: initialSorting, }: ReactTableProps) { const [pagination, setPagination] = useState({ pageIndex: pageIndex ?? 0, pageSize: pageSize ?? 15, }); - const [sorting, setSorting] = useState([]); + const [sorting, setSorting] = useState(initialSorting ?? []); const [columnFilters, setColumnFilters] = useState([]); const [columnVisibility, setColumnVisibility] = useState({}); const [rowSelection, setRowSelection] = useState({});