import EmptyPlaceholder from 'components/common/EmptyPlaceholder'; import useMessages from 'hooks/useMessages'; import { useState } from 'react'; import { SearchField, Table, TableBody, TableCell, TableColumn, TableHeader, TableRow, } from 'react-basics'; import styles from './SettingsTable.module.css'; import Pager from 'components/common/Pager'; export function SettingsTable({ columns = [], data, children, cellRender, showSearch, showPaging, onFilterChange, onPageChange, onPageSizeChange, filterValue, }) { const { formatMessage, messages } = useMessages(); const [filter, setFilter] = useState(filterValue); const { data: value, page, count, pageSize } = data; const handleFilterChange = value => { setFilter(value); onFilterChange(value); }; return ( <> {showSearch && ( )} {value.length === 0 && filterValue && ( )} {value.length > 0 && ( {(column, index) => { return ( {column.label} ); }} {(row, keys, rowIndex) => { row.action = children(row, keys, rowIndex); return ( {(data, key, colIndex) => { return ( {cellRender ? cellRender(row, data, key, colIndex) : data[key]} ); }} ); }} {showPaging && ( )}
)} ); } export default SettingsTable;