This commit is contained in:
David Arranz 2024-08-25 20:18:07 +02:00
parent 6a3e42acbb
commit eb4390fee0
3 changed files with 17 additions and 2 deletions

View File

@ -80,6 +80,13 @@ export const CatalogDataTable = () => {
data: data?.items ?? [], data: data?.items ?? [],
columns: columns, columns: columns,
pageCount: data?.total_pages ?? -1, pageCount: data?.total_pages ?? -1,
initialState: {
columnVisibility: {
id: false,
article_id: false,
catalog_name: false,
},
},
}); });
if (isError) { if (isError) {

View File

@ -26,7 +26,7 @@ export const CatalogPickerDialog = ({
<DialogContent className='w-11/12 max-w-full'> <DialogContent className='w-11/12 max-w-full'>
<DialogHeader> <DialogHeader>
<DialogTitle>{t("quotes.catalog_picker_dialog.title")}</DialogTitle> <DialogTitle>{t("quotes.catalog_picker_dialog.title")}</DialogTitle>
<DialogDescription>{t("quotes.catalog_picker_dialog.subtitle")}</DialogDescription> <DialogDescription>{t("quotes.catalog_picker_dialog.description")}</DialogDescription>
</DialogHeader> </DialogHeader>
<DataTableProvider syncWithLocation={false} initialPageSize={5}> <DataTableProvider syncWithLocation={false} initialPageSize={5}>
<CatalogPickerDataTable onSelect={onSelect} /> <CatalogPickerDataTable onSelect={onSelect} />

View File

@ -1,4 +1,5 @@
import { import {
InitialTableState,
OnChangeFn, OnChangeFn,
PaginationState, PaginationState,
getCoreRowModel, getCoreRowModel,
@ -116,6 +117,8 @@ interface UseDataTableProps<TData, TValue> {
*/ */
enableAdvancedFilter?: boolean; enableAdvancedFilter?: boolean;
initialState: InitialTableState;
onPaginationChange?: OnChangeFn<PaginationState>; onPaginationChange?: OnChangeFn<PaginationState>;
} }
@ -126,13 +129,16 @@ export function useDataTable<TData, TValue>({
enableSorting = false, enableSorting = false,
enableHiding = false, enableHiding = false,
enableRowSelection = false, enableRowSelection = false,
initialState,
onPaginationChange, onPaginationChange,
}: UseDataTableProps<TData, TValue>) { }: UseDataTableProps<TData, TValue>) {
const { pagination, setPagination, sorting } = useDataTableContext(); const { pagination, setPagination, sorting } = useDataTableContext();
// Table states // Table states
const [rowSelection, setRowSelection] = React.useState({}); const [rowSelection, setRowSelection] = React.useState({});
const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({}); const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>(
initialState?.columnVisibility || {}
);
const paginationUpdater: OnChangeFn<PaginationState> = (updater) => { const paginationUpdater: OnChangeFn<PaginationState> = (updater) => {
if (typeof updater === "function") { if (typeof updater === "function") {
@ -167,6 +173,8 @@ export function useDataTable<TData, TValue>({
pageCount: pageCount ?? -1, pageCount: pageCount ?? -1,
getCoreRowModel: getCoreRowModel(), getCoreRowModel: getCoreRowModel(),
initialState,
state: { state: {
pagination, pagination,
sorting, sorting,