summaryrefslogtreecommitdiff
path: root/lib/docu-list-rule/document-class/table/document-class-table.tsx
diff options
context:
space:
mode:
author0-Zz-ang <s1998319@gmail.com>2025-08-07 18:02:54 +0900
committer0-Zz-ang <s1998319@gmail.com>2025-08-07 18:02:54 +0900
commit67bb1ad7d7e001e19c8d1dd9153a5f663e2afa03 (patch)
tree9aab25663d6c180fd3a315840a3035b491ac0b7d /lib/docu-list-rule/document-class/table/document-class-table.tsx
parente270e477f362dd68249bb4a013c66eab293bba82 (diff)
(박서영)docu-list-rule Project_code적용
Diffstat (limited to 'lib/docu-list-rule/document-class/table/document-class-table.tsx')
-rw-r--r--lib/docu-list-rule/document-class/table/document-class-table.tsx24
1 files changed, 22 insertions, 2 deletions
diff --git a/lib/docu-list-rule/document-class/table/document-class-table.tsx b/lib/docu-list-rule/document-class/table/document-class-table.tsx
index c66a1395..c9156ff7 100644
--- a/lib/docu-list-rule/document-class/table/document-class-table.tsx
+++ b/lib/docu-list-rule/document-class/table/document-class-table.tsx
@@ -46,9 +46,9 @@ export function DocumentClassTable({ promises }: DocumentClassTableProps) {
]
const { table } = useDataTable({
- data: rawData[0].data as typeof documentClasses.$inferSelect[],
+ data: rawData[0]?.data as typeof documentClasses.$inferSelect[] || [],
columns,
- pageCount: rawData[0].pageCount,
+ pageCount: rawData[0]?.pageCount || 0,
enablePinning: true,
enableAdvancedFilter: true,
initialState: {
@@ -59,6 +59,26 @@ export function DocumentClassTable({ promises }: DocumentClassTableProps) {
clearOnDefault: true,
})
+
+ // 컴포넌트 마운트 후 그룹핑 설정
+ React.useEffect(() => {
+ if (rawData[0]?.data && table.getState().grouping.length === 0) {
+ table.setGrouping(["projectCode"])
+ }
+ }, [table, rawData])
+
+ // 정렬 시 펼쳐진 상태 유지
+ React.useEffect(() => {
+ const currentExpanded = table.getState().expanded
+ if (Object.keys(currentExpanded).length > 0) {
+ // 약간의 지연 후 현재 펼쳐진 상태를 다시 설정
+ const timer = setTimeout(() => {
+ table.setExpanded(currentExpanded)
+ }, 100)
+ return () => clearTimeout(timer)
+ }
+ }, [table.getState().sorting, table])
+
return (
<>
<DataTable table={table}>