added documentation for table components

This commit is contained in:
Nick A 2024-10-22 16:32:42 -04:00
parent 8f41d5e116
commit bcfca9e169
4 changed files with 19 additions and 1 deletions

View File

@ -8,6 +8,10 @@ import TagsInput from "@/components/TagsInput/Index";
import Resource from "@/utils/models/Resource";
import { DataPoint } from "@/components/Table/Table";
/**
* Table componenet used for displaying resources
* @param props.resources List of resources to be displayed by the table
*/
export default function ResourceTable({ resources }: { resources: Resource[] }) {
const columnHelper = createColumnHelper<Resource>();
const [data, setData] = useState<DataPoint[]>([...resources]);

View File

@ -8,6 +8,10 @@ import TagsInput from "@/components/TagsInput/Index";
import Service from "@/utils/models/Service";
import { DataPoint } from "@/components/Table/Table";
/**
* Table componenet used for displaying services
* @param props.services List of services to be displayed by the table
*/
export default function ServiceTable({ services }: { services: Service[] }) {
const columnHelper = createColumnHelper<Service>();
const [data, setData] = useState<DataPoint[]>([...services]);

View File

@ -47,7 +47,13 @@ const fuzzyFilter = (
return itemRank.passed;
};
export const Table = ({ data, columns, setData }: TableProps) => {
/**
* General componenet that holds shared functionality for any data table component
* @param props.data List of data, managed through state, to be held in the table
* @param props.setData State setter to be used for data manipulation methods
* @param props.columns Column definitions made with Tanstack columnHelper
*/
export const Table = ({ data, setData, columns }: TableProps) => {
const columnHelper = createColumnHelper<Resource>();
useEffect(() => {
const sortedData = [...data].sort((a, b) =>

View File

@ -8,6 +8,10 @@ import TagsInput from "@/components/TagsInput/Index";
import User from "@/utils/models/User";
import { DataPoint } from "@/components/Table/Table";
/**
* Table componenet used for displaying users
* @param props.users List of users to be displayed by the table
*/
export default function UserTable({ users }: { users: User[] }) {
const columnHelper = createColumnHelper<User>();
const [data, setData] = useState<DataPoint[]>([...users]);