From e07775e556c4465cce3f605698e3da382165a19d Mon Sep 17 00:00:00 2001 From: Nick A Date: Tue, 29 Oct 2024 14:27:09 -0400 Subject: [PATCH] Added inline documentation to table components --- compass/components/Table/ResourceTable.tsx | 2 ++ compass/components/Table/ServiceTable.tsx | 2 ++ compass/components/Table/Table.tsx | 8 +++++--- compass/components/Table/UserTable.tsx | 2 ++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/compass/components/Table/ResourceTable.tsx b/compass/components/Table/ResourceTable.tsx index cdc62a7..a02162a 100644 --- a/compass/components/Table/ResourceTable.tsx +++ b/compass/components/Table/ResourceTable.tsx @@ -20,12 +20,14 @@ type ResourceTableProps = { export default function ResourceTable({ data, setData }: ResourceTableProps ) { const columnHelper = createColumnHelper(); + // Set up tag handling const programProps = useTagsHandler([ "community", "domestic", "economic", ]) + // Define Tanstack columns const columns: ColumnDef[] = [ columnHelper.accessor("name", { header: () => ( diff --git a/compass/components/Table/ServiceTable.tsx b/compass/components/Table/ServiceTable.tsx index 26574b6..05e42b2 100644 --- a/compass/components/Table/ServiceTable.tsx +++ b/compass/components/Table/ServiceTable.tsx @@ -20,6 +20,7 @@ type ServiceTableProps = { export default function ServiceTable({ data, setData }: ServiceTableProps ) { const columnHelper = createColumnHelper(); + // Set up tag handling const programProps = useTagsHandler([ "community", "domestic", @@ -37,6 +38,7 @@ export default function ServiceTable({ data, setData }: ServiceTableProps ) { 'initial assessment', ]) + // Define Tanstack columns const columns: ColumnDef[] = [ columnHelper.accessor("name", { header: () => ( diff --git a/compass/components/Table/Table.tsx b/compass/components/Table/Table.tsx index 97b6251..ef0a002 100644 --- a/compass/components/Table/Table.tsx +++ b/compass/components/Table/Table.tsx @@ -26,7 +26,7 @@ type TableProps = { columns: ColumnDef[] }; -// For search +/** Fuzzy search function */ const fuzzyFilter = ( row: Row, columnId: string, @@ -52,18 +52,19 @@ const fuzzyFilter = ( export default function Table({ data, setData, columns }: TableProps) { const columnHelper = createColumnHelper(); - // For sorting + /** Sorting function based on visibility */ const visibilitySort = (a: T, b: T) => ( a.visible === b.visible ? 0 : a.visible ? -1 : 1 ) + // Sort data on load useEffect(() => { setData(prevData => prevData.sort(visibilitySort)) }, [setData]); - // Data manipulation + // Data manipulation methods // TODO: Connect data manipulation methods to the database (deleteData, hideData, addData) const deleteData = (dataId: number) => { console.log(data); @@ -121,6 +122,7 @@ export default function Table({ data, setData, columns }: T // TODO: Sorting + // Define Tanstack table const table = useReactTable({ columns, data, diff --git a/compass/components/Table/UserTable.tsx b/compass/components/Table/UserTable.tsx index c643063..0f81d66 100644 --- a/compass/components/Table/UserTable.tsx +++ b/compass/components/Table/UserTable.tsx @@ -20,6 +20,7 @@ type UserTableProps = { export default function UserTable({ data, setData }: UserTableProps ) { const columnHelper = createColumnHelper(); + // Set up tag handling const roleProps = useTagsHandler([ "administrator", "volunteer", @@ -32,6 +33,7 @@ export default function UserTable({ data, setData }: UserTableProps ) { "economic", ]) + // Define Tanstack columns const columns: ColumnDef[] = [ columnHelper.accessor("username", { header: () => (