summaryrefslogtreecommitdiff
path: root/lib/pq/table/pq-table.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pq/table/pq-table.tsx')
-rw-r--r--lib/pq/table/pq-table.tsx127
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