Added inline documentation to table components

This commit is contained in:
Nick A 2024-10-29 14:27:09 -04:00
parent 062d7e20c2
commit 37fceeb0f8
4 changed files with 11 additions and 3 deletions

View File

@ -20,12 +20,14 @@ type ResourceTableProps = {
export default function ResourceTable({ data, setData }: ResourceTableProps ) { export default function ResourceTable({ data, setData }: ResourceTableProps ) {
const columnHelper = createColumnHelper<Resource>(); const columnHelper = createColumnHelper<Resource>();
// Set up tag handling
const programProps = useTagsHandler([ const programProps = useTagsHandler([
"community", "community",
"domestic", "domestic",
"economic", "economic",
]) ])
// Define Tanstack columns
const columns: ColumnDef<Resource, any>[] = [ const columns: ColumnDef<Resource, any>[] = [
columnHelper.accessor("name", { columnHelper.accessor("name", {
header: () => ( header: () => (

View File

@ -20,6 +20,7 @@ type ServiceTableProps = {
export default function ServiceTable({ data, setData }: ServiceTableProps ) { export default function ServiceTable({ data, setData }: ServiceTableProps ) {
const columnHelper = createColumnHelper<Service>(); const columnHelper = createColumnHelper<Service>();
// Set up tag handling
const programProps = useTagsHandler([ const programProps = useTagsHandler([
"community", "community",
"domestic", "domestic",
@ -37,6 +38,7 @@ export default function ServiceTable({ data, setData }: ServiceTableProps ) {
'initial assessment', 'initial assessment',
]) ])
// Define Tanstack columns
const columns: ColumnDef<Service, any>[] = [ const columns: ColumnDef<Service, any>[] = [
columnHelper.accessor("name", { columnHelper.accessor("name", {
header: () => ( header: () => (

View File

@ -26,7 +26,7 @@ type TableProps<T extends DataPoint> = {
columns: ColumnDef<T, any>[] columns: ColumnDef<T, any>[]
}; };
// For search /** Fuzzy search function */
const fuzzyFilter = ( const fuzzyFilter = (
row: Row<any>, row: Row<any>,
columnId: string, columnId: string,
@ -52,18 +52,19 @@ const fuzzyFilter = (
export default function Table<T extends DataPoint>({ data, setData, columns }: TableProps<T>) { export default function Table<T extends DataPoint>({ data, setData, columns }: TableProps<T>) {
const columnHelper = createColumnHelper<T>(); const columnHelper = createColumnHelper<T>();
// For sorting /** Sorting function based on visibility */
const visibilitySort = (a: T, b: T) => ( const visibilitySort = (a: T, b: T) => (
a.visible === b.visible a.visible === b.visible
? 0 ? 0
: a.visible ? -1 : 1 : a.visible ? -1 : 1
) )
// Sort data on load
useEffect(() => { useEffect(() => {
setData(prevData => prevData.sort(visibilitySort)) setData(prevData => prevData.sort(visibilitySort))
}, [setData]); }, [setData]);
// Data manipulation // Data manipulation methods
// TODO: Connect data manipulation methods to the database (deleteData, hideData, addData) // TODO: Connect data manipulation methods to the database (deleteData, hideData, addData)
const deleteData = (dataId: number) => { const deleteData = (dataId: number) => {
console.log(data); console.log(data);
@ -121,6 +122,7 @@ export default function Table<T extends DataPoint>({ data, setData, columns }: T
// TODO: Sorting // TODO: Sorting
// Define Tanstack table
const table = useReactTable({ const table = useReactTable({
columns, columns,
data, data,

View File

@ -20,6 +20,7 @@ type UserTableProps = {
export default function UserTable({ data, setData }: UserTableProps ) { export default function UserTable({ data, setData }: UserTableProps ) {
const columnHelper = createColumnHelper<User>(); const columnHelper = createColumnHelper<User>();
// Set up tag handling
const roleProps = useTagsHandler([ const roleProps = useTagsHandler([
"administrator", "administrator",
"volunteer", "volunteer",
@ -32,6 +33,7 @@ export default function UserTable({ data, setData }: UserTableProps ) {
"economic", "economic",
]) ])
// Define Tanstack columns
const columns: ColumnDef<User, any>[] = [ const columns: ColumnDef<User, any>[] = [
columnHelper.accessor("username", { columnHelper.accessor("username", {
header: () => ( header: () => (