diff --git a/compass/components/Table/Table.tsx b/compass/components/Table/Table.tsx index a84b462..4121ac1 100644 --- a/compass/components/Table/Table.tsx +++ b/compass/components/Table/Table.tsx @@ -43,19 +43,27 @@ 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 * @param props.setData State setter for the list of data * @param props.columns Column definitions made with Tanstack columnHelper - */ +*/ export default function Table({ data, setData, columns }: TableProps) { const columnHelper = createColumnHelper(); + + // 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