diff --git a/src/common/RichTable/RichTable.js b/src/common/RichTable/RichTable.js index ddc07e2..3dffa31 100644 --- a/src/common/RichTable/RichTable.js +++ b/src/common/RichTable/RichTable.js @@ -1,16 +1,11 @@ /* - * Copyright (C) 2019-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/) + * Copyright (C) 2019-2025 CZ.NIC z.s.p.o. (https://www.nic.cz/) * * This is free software, licensed under the GNU General Public License v3. * See /LICENSE for more information. */ -import React, { - useMemo, - useState, - useImperativeHandle, - forwardRef, -} from "react"; +import React, { useMemo, useState } from "react"; import { flexRender, @@ -25,70 +20,62 @@ import RichTableBody from "./RichTableBody"; import RichTableHeader from "./RichTableHeader"; import RichTablePagination from "./RichTablePagination"; -const fallbackData = []; - -const RichTable = forwardRef( - ({ columns, data, withPagination, pageSize = 5, pageIndex = 0 }, ref) => { - const tableColumns = useMemo(() => columns, [columns]); - const [tableData, setTableData] = useState(data ?? fallbackData); - const [sorting, setSorting] = useState([]); - const [pagination, setPagination] = useState({ - pageIndex, - pageSize, - }); - - useImperativeHandle(ref, () => ({ - setTableData, - })); - - const table = useReactTable({ - data: tableData, - columns: tableColumns, - getCoreRowModel: getCoreRowModel(), - getSortedRowModel: getSortedRowModel(), - getPaginationRowModel: getPaginationRowModel(), - onPaginationChange: setPagination, - onSortingChange: setSorting, - state: { - sorting, - pagination, - }, - }); - - const paginationIsNeeded = - tableData.length > pageSize && withPagination; - - return ( -