diff options
Diffstat (limited to 'lib/pq/table/pq-table.tsx')
| -rw-r--r-- | lib/pq/table/pq-table.tsx | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/lib/pq/table/pq-table.tsx b/lib/pq/table/pq-table.tsx deleted file mode 100644 index 99365ad5..00000000 --- a/lib/pq/table/pq-table.tsx +++ /dev/null @@ -1,127 +0,0 @@ -"use client" - -import * as React from "react" -import type { - DataTableAdvancedFilterField, - DataTableFilterField, - DataTableRowAction, -} from "@/types/table" - -import { useDataTable } from "@/hooks/use-data-table" -import { DataTable } from "@/components/data-table/data-table" -import { getPQs } from "../service" -import { DataTableAdvancedToolbar } from "@/components/data-table/data-table-advanced-toolbar" -import { PqCriterias } from "@/db/schema/pq" -import { DeletePqsDialog } from "./delete-pqs-dialog" -import { PqTableToolbarActions } from "./pq-table-toolbar-actions" -import { getColumns } from "./pq-table-column" -import { UpdatePqSheet } from "./update-pq-sheet" - -interface DocumentListTableProps { - promises: Promise<[Awaited<ReturnType<typeof getPQs>>]> - currentProjectId?: number -} - -export function PqsTable({ - promises, - currentProjectId -}: DocumentListTableProps) { - // 1) 데이터를 가져옴 (server component -> use(...) pattern) - const [{ data, pageCount }] = React.use(promises) - - const [rowAction, setRowAction] = React.useState<DataTableRowAction<PqCriterias> | null>(null) - - - const columns = React.useMemo( - () => getColumns({ setRowAction }), - [setRowAction] - ) - - // Filter fields - const filterFields: DataTableFilterField<PqCriterias>[] = [] - - const advancedFilterFields: DataTableAdvancedFilterField<PqCriterias>[] = [ - { - id: "code", - label: "Code", - type: "text", - }, - { - id: "checkPoint", - label: "Check Point", - type: "text", - }, - { - id: "description", - label: "Description", - type: "text", - }, - { - id: "remarks", - label: "Remarks", - type: "text", - }, - { - id: "groupName", - label: "Group Name", - type: "text", - }, - { - id: "createdAt", - label: "Created at", - type: "date", - }, - { - id: "updatedAt", - label: "Updated at", - type: "date", - }, - ] - - // useDataTable 훅으로 react-table 구성 - const { table } = useDataTable({ - data: data, // <-- 여기서 tableData 사용 - columns, - pageCount, - filterFields, - enablePinning: true, - enableAdvancedFilter: true, - initialState: { - sorting: [{ id: "createdAt", desc: true }], - columnPinning: { right: ["actions"] }, - // grouping:['groupName'] - }, - getRowId: (originalRow) => String(originalRow.id), - shallow: false, - clearOnDefault: true, - columnResizeMode: "onEnd", - - }) - return ( - <> - <DataTable table={table} > - <DataTableAdvancedToolbar - table={table} - filterFields={advancedFilterFields} - shallow={false} - > - <PqTableToolbarActions table={table} currentProjectId={currentProjectId}/> - </DataTableAdvancedToolbar> - </DataTable> - - <UpdatePqSheet - open={rowAction?.type === "update"} - onOpenChange={() => setRowAction(null)} - pq={rowAction?.row.original ?? null} - /> - - <DeletePqsDialog - open={rowAction?.type === "delete"} - onOpenChange={() => setRowAction(null)} - pqs={rowAction?.row.original ? [rowAction?.row.original] : []} - showTrigger={false} - onSuccess={() => rowAction?.row.toggleSelected(false)} - /> - </> - ) -}
\ No newline at end of file |
