From 9878f1f502bb3ce467f2525750cd5b9ef07a09a9 Mon Sep 17 00:00:00 2001 From: SeongHyun Kim Date: Wed, 24 Dec 2025 09:24:56 +0900 Subject: [PATCH] =?UTF-8?q?fix(select):=20Radix=20UI=20Select=20v2.x=20val?= =?UTF-8?q?ue=3D""=20=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Radix UI Select v2.0부터 빈 문자열 value=""가 금지됨 (placeholder 예약어) 수정 파일: - FieldDetailSettingsModal.tsx: saveColumn "__default__" - TableLogViewer.tsx: 전체 필터 "__all__" - FlowStepPanel.tsx: disabled placeholder "__placeholder__" - MapConfigPanel.tsx: 선택 안 함 "__none__" (2곳) - DataMappingSettings.tsx: disabled placeholder "__placeholder__" (2곳) - ScreenAssignmentTab.tsx: disabled placeholder "__placeholder__" - multilang/page.tsx: 전체 메뉴/타입 "__all__" (2곳) --- frontend/app/(main)/multilang/page.tsx | 16 ++++++++++++---- .../components/admin/ScreenAssignmentTab.tsx | 3 ++- frontend/components/admin/TableLogViewer.tsx | 8 ++++++-- .../external-call/DataMappingSettings.tsx | 5 +++-- frontend/components/flow/FlowStepPanel.tsx | 3 ++- .../registry/components/map/MapConfigPanel.tsx | 14 ++++++++------ .../modals/FieldDetailSettingsModal.tsx | 6 +++--- 7 files changed, 36 insertions(+), 19 deletions(-) diff --git a/frontend/app/(main)/multilang/page.tsx b/frontend/app/(main)/multilang/page.tsx index 8c54d26d..34a51ec0 100644 --- a/frontend/app/(main)/multilang/page.tsx +++ b/frontend/app/(main)/multilang/page.tsx @@ -317,12 +317,16 @@ export default function MultiLangPage() {
- setSelectedMenu(value === "__all__" ? "" : value)} + > - 전체 메뉴 + 전체 메뉴 {menus.map((menu) => ( {menu.name} @@ -334,12 +338,16 @@ export default function MultiLangPage() {
- setSelectedKeyType(value === "__all__" ? "" : value)} + > - 전체 타입 + 전체 타입 {keyTypes.map((type) => ( {type.name} diff --git a/frontend/components/admin/ScreenAssignmentTab.tsx b/frontend/components/admin/ScreenAssignmentTab.tsx index e6554908..8513e410 100644 --- a/frontend/components/admin/ScreenAssignmentTab.tsx +++ b/frontend/components/admin/ScreenAssignmentTab.tsx @@ -172,8 +172,9 @@ export const ScreenAssignmentTab: React.FC = ({ menus // }); if (!menuList || menuList.length === 0) { + // Radix UI Select v2.x: 빈 문자열 value="" 금지 → "__placeholder__" 사용 return [ - + 메뉴가 없습니다 , ]; diff --git a/frontend/components/admin/TableLogViewer.tsx b/frontend/components/admin/TableLogViewer.tsx index 147229df..9f0541b6 100644 --- a/frontend/components/admin/TableLogViewer.tsx +++ b/frontend/components/admin/TableLogViewer.tsx @@ -151,12 +151,16 @@ export function TableLogViewer({ tableName, open, onOpenChange }: TableLogViewer
- setOperationType(value === "__all__" ? "" : value)} + > - 전체 + 전체 추가 수정 삭제 diff --git a/frontend/components/dataflow/external-call/DataMappingSettings.tsx b/frontend/components/dataflow/external-call/DataMappingSettings.tsx index a4e1ea56..01103744 100644 --- a/frontend/components/dataflow/external-call/DataMappingSettings.tsx +++ b/frontend/components/dataflow/external-call/DataMappingSettings.tsx @@ -236,12 +236,13 @@ export const DataMappingSettings: React.FC = ({ + {/* Radix UI Select v2.x: 빈 문자열 value="" 금지 → "__placeholder__" 사용 */} {tablesLoading ? ( - + 테이블 목록 로딩 중... ) : availableTables.length === 0 ? ( - + 사용 가능한 테이블이 없습니다 ) : ( diff --git a/frontend/components/flow/FlowStepPanel.tsx b/frontend/components/flow/FlowStepPanel.tsx index 855596cb..d861f97b 100644 --- a/frontend/components/flow/FlowStepPanel.tsx +++ b/frontend/components/flow/FlowStepPanel.tsx @@ -1173,7 +1173,8 @@ export function FlowStepPanel({ 기본 REST API 연결 ) : ( - + // Radix UI Select v2.x: 빈 문자열 value="" 금지 → "__placeholder__" 사용 + 연결된 REST API가 없습니다 )} diff --git a/frontend/lib/registry/components/map/MapConfigPanel.tsx b/frontend/lib/registry/components/map/MapConfigPanel.tsx index 62489274..3f591efc 100644 --- a/frontend/lib/registry/components/map/MapConfigPanel.tsx +++ b/frontend/lib/registry/components/map/MapConfigPanel.tsx @@ -315,16 +315,17 @@ export default function MapConfigPanel({ config, onChange }: MapConfigPanelProps {/* 라벨 컬럼 (선택) */}
+ {/* Radix UI Select v2.x: 빈 문자열 value="" 금지 → "__none__" 사용 */} updateConfig("dataSource.statusColumn", value)} + value={config.dataSource?.statusColumn || "__none__"} + onValueChange={(value) => updateConfig("dataSource.statusColumn", value === "__none__" ? "" : value)} disabled={isLoadingColumns || !config.dataSource?.tableName} > - 선택 안 함 + 선택 안 함 {columns.map((col) => ( {col.column_name} ({col.data_type}) diff --git a/frontend/lib/registry/components/universal-form-modal/modals/FieldDetailSettingsModal.tsx b/frontend/lib/registry/components/universal-form-modal/modals/FieldDetailSettingsModal.tsx index f33f5405..2404cc4c 100644 --- a/frontend/lib/registry/components/universal-form-modal/modals/FieldDetailSettingsModal.tsx +++ b/frontend/lib/registry/components/universal-form-modal/modals/FieldDetailSettingsModal.tsx @@ -550,12 +550,12 @@ export function FieldDetailSettingsModal({ {selectTableColumns.length > 0 ? (