summaryrefslogtreecommitdiff
path: root/lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx')
-rw-r--r--lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx58
1 files changed, 25 insertions, 33 deletions
diff --git a/lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx b/lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx
index 0b2a76a4..b62b258e 100644
--- a/lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx
+++ b/lib/docu-list-rule/combo-box-settings/table/combo-box-options-detail-sheet.tsx
@@ -1,22 +1,20 @@
"use client"
import * as React from "react"
-import { useDataTable } from "@/hooks/use-data-table"
-import { DataTable } from "@/components/data-table/data-table"
-import { DataTableAdvancedToolbar } from "@/components/data-table/data-table-advanced-toolbar"
+import { useReactTable, getCoreRowModel, getSortedRowModel, getFilteredRowModel, getPaginationRowModel } from "@tanstack/react-table"
+import { DataTableDetail } from "@/components/data-table/data-table-detail"
+import { DataTableAdvancedToolbarDetail } from "@/components/data-table/data-table-advanced-toolbar-detail"
import type { DataTableAdvancedFilterField, DataTableRowAction } from "@/types/table"
import {
Sheet,
SheetContent,
} from "@/components/ui/sheet"
-
-import { getComboBoxOptions } from "../service"
-import { getColumns } from "./combo-box-options-table-columns"
-import { ComboBoxOptionsEditSheet } from "./combo-box-options-edit-sheet"
-import { DeleteComboBoxOptionsDialog } from "./delete-combo-box-options-dialog"
-import { ComboBoxOptionsTableToolbarActions } from "./combo-box-options-table-toolbar"
-import { codeGroups } from "@/db/schema/codeGroups"
-
+import { getComboBoxOptions } from "@/lib/docu-list-rule/combo-box-settings/service"
+import { getColumns } from "@/lib/docu-list-rule/combo-box-settings/table/combo-box-options-table-columns"
+import { ComboBoxOptionsEditSheet } from "@/lib/docu-list-rule/combo-box-settings/table/combo-box-options-edit-sheet"
+import { DeleteComboBoxOptionsDialog } from "@/lib/docu-list-rule/combo-box-settings/table/delete-combo-box-options-dialog"
+import { ComboBoxOptionsTableToolbarActions } from "@/lib/docu-list-rule/combo-box-settings/table/combo-box-options-table-toolbar"
+import { codeGroups } from "@/db/schema"
type ComboBoxOption = {
id: number
codeGroupId: number
@@ -88,10 +86,6 @@ export function ComboBoxOptionsDetailSheet({
const result = await getComboBoxOptions(codeGroup.id, {
page: 1,
perPage: 10,
- search: table.getState().globalFilter || "",
- sort: table.getState().sorting,
- filters: table.getState().columnFilters,
- joinOperator: "and",
})
if (result.success && result.data) {
const optionsWithIsActive = result.data.map(option => ({
@@ -112,27 +106,25 @@ export function ComboBoxOptionsDetailSheet({
// 고급 필터 필드 설정
const advancedFilterFields: DataTableAdvancedFilterField<any>[] = [
- { id: "code", label: "코드", type: "text" },
- { id: "description", label: "값", type: "text" },
- { id: "remark", label: "비고", type: "text" },
+ { id: "code", label: "code", type: "text" },
+ { id: "remark", label: "remark", type: "text" },
+ { id: "updatedAt", label: "updated_at", type: "date" },
]
- const { table } = useDataTable({
+ const table = useReactTable({
data: rawData.data as any,
columns: columns as any,
- pageCount: rawData.pageCount,
- enablePinning: true,
- enableAdvancedFilter: true,
- manualSorting: true,
- manualFiltering: true,
- manualPagination: true, // 수동 페이징 활성화
+ getCoreRowModel: getCoreRowModel(),
+ getSortedRowModel: getSortedRowModel(),
+ getFilteredRowModel: getFilteredRowModel(),
+ getPaginationRowModel: getPaginationRowModel(),
initialState: {
- sorting: [{ id: "createdAt", desc: true }],
- columnPinning: { right: ["actions"] },
+ sorting: [{ id: "code", desc: false }],
+ pagination: {
+ pageSize: 10,
+ },
},
getRowId: (originalRow) => String((originalRow as any).id),
- shallow: false,
- clearOnDefault: true,
})
if (!codeGroup) return null
@@ -144,7 +136,7 @@ export function ComboBoxOptionsDetailSheet({
<div>
<h3 className="text-lg font-medium">{codeGroup.description} 옵션 관리</h3>
<p className="text-sm text-muted-foreground">
- {codeGroup.groupId}의 Combo Box 옵션들을 관리합니다.
+ {codeGroup.description}의 Combo Box 옵션들을 관리합니다.
</p>
</div>
</div>
@@ -155,12 +147,12 @@ export function ComboBoxOptionsDetailSheet({
onSuccess={refreshData}
/>
- <DataTable table={table as any}>
- <DataTableAdvancedToolbar
+ <DataTableDetail table={table as any}>
+ <DataTableAdvancedToolbarDetail
table={table as any}
filterFields={advancedFilterFields}
/>
- </DataTable>
+ </DataTableDetail>
<DeleteComboBoxOptionsDialog
open={rowAction?.type === "delete"}