diff options
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.tsx | 58 |
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"} |
