let tableConfig: TableOptions<DataWithOnClick<TData>> = {
data,
columns,
filterFns: {},
getCoreRowModel: getCoreRowModel(),
getPaginationRowModel: getPaginationRowModel(),
onColumnFiltersChange: setColumnFilters,
getSortedRowModel: getSortedRowModel(),
getFilteredRowModel: getFilteredRowModel(),
onColumnVisibilityChange: setColumnVisibility,
getFacetedRowModel: getFacetedRowModel(), // client-side faceting
getFacetedUniqueValues: getFacetedUniqueValues(), // generate unique values for select filter/autocomplete
getFacetedMinMaxValues: getFacetedMinMaxValues(), // generate min/max values for range filter
state: {
columnFilters,
columnVisibility,
},
};
if (manualPagination) {
tableConfig = {
...tableConfig,
manualPagination,
onPaginationChange,
rowCount,
state: {
...tableConfig.state,
pagination,
},
};
}
if (manualSorting) {
tableConfig = {
...tableConfig,
manualSorting,
onSortingChange,
state: {
...tableConfig.state,
sorting,
},
};
}
const table = useReactTable(tableConfig);
let tableConfig: TableOptions<DataWithOnClick<TData>> = {
data,
columns,
filterFns: {},
getCoreRowModel: getCoreRowModel(),
getPaginationRowModel: getPaginationRowModel(),
onColumnFiltersChange: setColumnFilters,
getSortedRowModel: getSortedRowModel(),
getFilteredRowModel: getFilteredRowModel(),
onColumnVisibilityChange: setColumnVisibility,
getFacetedRowModel: getFacetedRowModel(), // client-side faceting
getFacetedUniqueValues: getFacetedUniqueValues(), // generate unique values for select filter/autocomplete
getFacetedMinMaxValues: getFacetedMinMaxValues(), // generate min/max values for range filter
state: {
columnFilters,
columnVisibility,
},
};
if (manualPagination) {
tableConfig = {
...tableConfig,
manualPagination,
onPaginationChange,
rowCount,
state: {
...tableConfig.state,
pagination,
},
};
}
if (manualSorting) {
tableConfig = {
...tableConfig,
manualSorting,
onSortingChange,
state: {
...tableConfig.state,
sorting,
},
};
}
const table = useReactTable(tableConfig);