Sha256: a50413f899876ecba15af0ef78307b198ff139511d1f34b1f3227f7950e944fc
Contents?: true
Size: 942 Bytes
Versions: 77
Compression:
Stored size: 942 Bytes
Contents
// Can be included as a TableWrapper prop for selectable rows const onSelect = (rows, setRows) => (_event, isSelected, rowId) => { let newRows; if (rowId === -1) { newRows = rows.map(row => ({ ...row, selected: isSelected })); } else { newRows = [...rows]; newRows[rowId] = { ...newRows[rowId], selected: isSelected }; } setRows(newRows); }; export default onSelect; export const getPageStats = ({ total, page, perPage }) => { // logic adapted from patternfly so that we can know the number of items per page const lastPage = Math.ceil(total / perPage) ?? 0; const firstIndex = total <= 0 ? 0 : ((page - 1) * perPage) + 1; let lastIndex; if (total <= 0) { lastIndex = 0; } else { lastIndex = page === lastPage ? total : page * perPage; } let pageRowCount = (lastIndex - firstIndex) + 1; if (total <= 0) pageRowCount = 0; return { firstIndex, lastIndex, pageRowCount, lastPage, }; };
Version data entries
77 entries across 77 versions & 1 rubygems