import { flexRender, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table'; import { Fragment, useState } from 'react'; import { Table, Button, Form, InputGroup } from 'react-bootstrap'; import { useTranslation } from 'react-i18next'; import Filter from './Filter'; const GroupTable = ({ data, columns}) => { const { t } = useTranslation(); const [sorting, setSorting] = useState([]); const [filtering, setFiltering] = useState(''); const [columnFilters, setColumnFilters] = useState([]); const table = useReactTable({ data: data || [], columns: columns, getCoreRowModel: getCoreRowModel(), getPaginationRowModel: getPaginationRowModel(), getSortedRowModel: getSortedRowModel(), getFilteredRowModel: getFilteredRowModel(), state: { sorting: sorting, globalFilter: filtering, columnFilters: columnFilters, }, onSortingChange: setSorting, onGlobalFilterChange: setFiltering, onColumnFiltersChange: setColumnFilters, columnResizeMode: 'onChange', autoResetPageIndex: false, }); return ( <>
{header.isPlaceholder ? null : (
<>
{flexRender(
header.column.columnDef.header,
header.getContext()
)}
{
{ asc: , desc: }
[header.column.getIsSorted() ?? null]
}
{header.column.getCanFilter() ? (
|
))}
---|
{header.isPlaceholder ? null : flexRender( header.column.columnDef.header, header.getContext() )} | ))}