feat(SplitPanelLayout2): 개별 수정 버튼에 모달 화면 선택 UI 추가

- 좌측/우측 패널의 개별 수정 버튼 설정에 수정 모달 화면 선택 Combobox 추가
- 수정 버튼 ON 시 모달 화면 선택 UI 표시
- editModalScreenId 설정값 저장 및 사용
- 기존 폴백 로직 유지 (editModalScreenId 없으면 addModalScreenId 사용)
This commit is contained in:
SeongHyun Kim 2026-01-08 15:37:22 +09:00
parent 34ac1b0c42
commit 34e48993e4
1 changed files with 30 additions and 0 deletions

View File

@ -87,6 +87,10 @@ export const SplitPanelLayout2ConfigPanel: React.FC<SplitPanelLayout2ConfigPanel
const [rightTableOpen, setRightTableOpen] = useState(false);
const [leftModalOpen, setLeftModalOpen] = useState(false);
const [rightModalOpen, setRightModalOpen] = useState(false);
// 개별 수정 모달 화면 선택 Popover 상태
const [leftEditModalOpen, setLeftEditModalOpen] = useState(false);
const [rightEditModalOpen, setRightEditModalOpen] = useState(false);
// 컬럼 세부설정 모달 상태 (기존 - 하위 호환성)
const [columnConfigModalOpen, setColumnConfigModalOpen] = useState(false);
@ -1004,6 +1008,19 @@ export const SplitPanelLayout2ConfigPanel: React.FC<SplitPanelLayout2ConfigPanel
onCheckedChange={(checked) => updateConfig("leftPanel.showEditButton", checked)}
/>
</div>
{/* 수정 버튼이 켜져 있을 때 모달 화면 선택 */}
{config.leftPanel?.showEditButton && (
<div className="ml-4 mt-1">
<Label className="text-xs"> </Label>
<ScreenSelect
value={config.leftPanel?.editModalScreenId}
onValueChange={(value) => updateConfig("leftPanel.editModalScreenId", value)}
placeholder="수정 모달 화면 선택"
open={leftEditModalOpen}
onOpenChange={setLeftEditModalOpen}
/>
</div>
)}
<div className="flex items-center justify-between">
<Label className="text-xs"> </Label>
<Switch
@ -1322,6 +1339,19 @@ export const SplitPanelLayout2ConfigPanel: React.FC<SplitPanelLayout2ConfigPanel
onCheckedChange={(checked) => updateConfig("rightPanel.showEditButton", checked)}
/>
</div>
{/* 수정 버튼이 켜져 있을 때 모달 화면 선택 */}
{config.rightPanel?.showEditButton && (
<div className="ml-4 mt-1">
<Label className="text-xs"> </Label>
<ScreenSelect
value={config.rightPanel?.editModalScreenId}
onValueChange={(value) => updateConfig("rightPanel.editModalScreenId", value)}
placeholder="수정 모달 화면 선택"
open={rightEditModalOpen}
onOpenChange={setRightEditModalOpen}
/>
</div>
)}
<div className="flex items-center justify-between">
<Label className="text-xs"> </Label>
<Switch