rename
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
useReactTable,
|
||||
type ColumnDef,
|
||||
type ColumnSort,
|
||||
type RowSelectionState,
|
||||
type SortingState,
|
||||
type Table,
|
||||
type VisibilityState
|
||||
@@ -34,7 +35,7 @@ interface DataTableProps<TData, TValue> {
|
||||
children?: ReactNode
|
||||
columns: ColumnDef<TData, TValue>[]
|
||||
data: TData[]
|
||||
onRowSelectionChange?: (rowSelection: TData[]) => void
|
||||
setSelectedRows?: (selectedRows: TData[]) => void
|
||||
pageIndex: number
|
||||
sort: SortingState
|
||||
pageSize: number
|
||||
@@ -62,16 +63,17 @@ export function DataTable<TData, TValue>({
|
||||
pageIndex,
|
||||
pageSize,
|
||||
rowCount,
|
||||
onRowSelectionChange,
|
||||
setSelectedRows,
|
||||
hiddenColumn = []
|
||||
}: DataTableProps<TData, TValue>) {
|
||||
const [searchParams, setSearchParams] = useSearchParams()
|
||||
const hiddenColumn_ = Object.fromEntries(
|
||||
const columnVisibilityInit = Object.fromEntries(
|
||||
hiddenColumn.map((column) => [column, false])
|
||||
)
|
||||
|
||||
const [searchParams, setSearchParams] = useSearchParams()
|
||||
const [columnVisibility, setColumnVisibility] =
|
||||
useState<VisibilityState>(hiddenColumn_)
|
||||
const [rowSelection, setRowSelection] = useState({})
|
||||
useState<VisibilityState>(columnVisibilityInit)
|
||||
const [rowSelection, setRowSelection] = useState<RowSelectionState>({})
|
||||
const sortParam = searchParams.get('sort')
|
||||
const sorting = sortParam
|
||||
? sortParam.split(',').map((s) => {
|
||||
@@ -84,9 +86,7 @@ export function DataTable<TData, TValue>({
|
||||
const newState =
|
||||
typeof updater === 'function' ? updater({ pageIndex, pageSize }) : updater
|
||||
|
||||
onRowSelectionChange?.([])
|
||||
setRowSelection({})
|
||||
|
||||
setSearchParams((searchParams) => {
|
||||
searchParams.set('p', newState?.pageIndex.toString())
|
||||
searchParams.set('perPage', newState?.pageSize.toString())
|
||||
@@ -135,8 +135,8 @@ export function DataTable<TData, TValue>({
|
||||
|
||||
useEffect(() => {
|
||||
const selected = table.getSelectedRowModel().flatRows.map((r) => r.original)
|
||||
onRowSelectionChange?.(selected)
|
||||
}, [rowSelection, table])
|
||||
setSelectedRows?.(selected)
|
||||
}, [rowSelection])
|
||||
|
||||
return (
|
||||
<TableContext value={{ table }}>
|
||||
|
||||
Reference in New Issue
Block a user