From 85e1b532fa888057afec45f1550c1ad88117f33d Mon Sep 17 00:00:00 2001 From: kjs Date: Thu, 6 Nov 2025 12:28:39 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=BA=90=EC=8B=9C=EC=97=90=EC=84=9C=20i?= =?UTF-8?q?nputType=20=EB=88=84=EB=9D=BD=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 캐시된 데이터 사용 시 inputType이 설정되지 않던 문제 수정 - cached.inputTypes를 올바르게 매핑하여 meta에 포함 - webType 체크 제거, inputType만 사용하도록 변경 - 화면 전환 후 캐시 사용 시에도 카테고리 타입 정상 인식 --- .../components/table-list/TableListComponent.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/frontend/lib/registry/components/table-list/TableListComponent.tsx b/frontend/lib/registry/components/table-list/TableListComponent.tsx index dd450621..58055ca6 100644 --- a/frontend/lib/registry/components/table-list/TableListComponent.tsx +++ b/frontend/lib/registry/components/table-list/TableListComponent.tsx @@ -338,13 +338,22 @@ export const TableListComponent: React.FC = ({ const cached = tableColumnCache.get(cacheKey); if (cached && Date.now() - cached.timestamp < TABLE_CACHE_TTL) { const labels: Record = {}; - const meta: Record = {}; + const meta: Record = {}; + + // 캐시된 inputTypes 맵 생성 + const inputTypeMap: Record = {}; + if (cached.inputTypes) { + cached.inputTypes.forEach((col: any) => { + inputTypeMap[col.columnName] = col.inputType; + }); + } cached.columns.forEach((col: any) => { labels[col.columnName] = col.displayName || col.comment || col.columnName; meta[col.columnName] = { webType: col.webType, codeCategory: col.codeCategory, + inputType: inputTypeMap[col.columnName], // 캐시된 inputType 사용! }; }); @@ -442,7 +451,7 @@ export const TableListComponent: React.FC = ({ try { const categoryColumns = Object.entries(columnMeta) - .filter(([_, meta]) => meta.inputType === "category" || meta.webType === "category") + .filter(([_, meta]) => meta.inputType === "category") .map(([columnName, _]) => columnName); if (categoryColumns.length === 0) {