export function DataTable<TData, TValue>({
columns,
data,
initialSearchParams,
}: DataTableProps<TData, TValue>) {
const table = useReactTable({
data,
columns,
filterFns: {
fuzzy: fuzzyFilter,
},
defaultColumn: {
minSize: 60,
maxSize: 800,
},
columnResizeMode: 'onChange',
getCoreRowModel: getCoreRowModel(),
getFilteredRowModel: getFilteredRowModel(),
getPaginationRowModel: getPaginationRowModel(),
onPaginationChange: setPagination,
onGlobalFilterChange: setGlobalFilter,
state: {
pagination: { pageIndex: page - 1, pageSize: count },
globalFilter,
},
initialState: {
// NavLink sets the initial search params
pagination: {
pageIndex: initialSearchParams.page - 1,
pageSize: initialSearchParams.count,
},
},
debugTable: true,
debugHeaders: true,
debugColumns: true,
})
const columnSizeVars = useMemo(() => {
// same as example
}, [table.getState().columnSizingInfo])
console.log(globalFilter)
...
export function DataTable<TData, TValue>({
columns,
data,
initialSearchParams,
}: DataTableProps<TData, TValue>) {
const table = useReactTable({
data,
columns,
filterFns: {
fuzzy: fuzzyFilter,
},
defaultColumn: {
minSize: 60,
maxSize: 800,
},
columnResizeMode: 'onChange',
getCoreRowModel: getCoreRowModel(),
getFilteredRowModel: getFilteredRowModel(),
getPaginationRowModel: getPaginationRowModel(),
onPaginationChange: setPagination,
onGlobalFilterChange: setGlobalFilter,
state: {
pagination: { pageIndex: page - 1, pageSize: count },
globalFilter,
},
initialState: {
// NavLink sets the initial search params
pagination: {
pageIndex: initialSearchParams.page - 1,
pageSize: initialSearchParams.count,
},
},
debugTable: true,
debugHeaders: true,
debugColumns: true,
})
const columnSizeVars = useMemo(() => {
// same as example
}, [table.getState().columnSizingInfo])
console.log(globalFilter)
...