added sorting util function to Table.tsx to reduce repetition

This commit is contained in:
Nick A 2024-10-29 13:22:04 -04:00
parent 9de2684688
commit 20083b0866

View File

@ -43,6 +43,7 @@ const fuzzyFilter = (
return itemRank.passed;
};
/**
* General componenet that holds shared functionality for any data table component
* @param props.data Stateful list of data to be held in the table
@ -52,10 +53,17 @@ const fuzzyFilter = (
export default function Table<T extends DataPoint>({ data, setData, columns }: TableProps<T>) {
const columnHelper = createColumnHelper<T>();
// For sorting
const sortData = (prevData: T[]) => (
prevData.sort((a, b) =>
a.visible === b.visible
? 0
: a.visible ? -1 : 1
)
)
useEffect(() => {
setData(prevData => prevData.sort((a, b) =>
a.visible === b.visible ? 0 : a.visible ? -1 : 1
))
setData(prevData => sortData(prevData))
}, [setData]);
// Data manipulation