feat: V2Input 및 DynamicComponentRenderer에서 tableName 및 inputType 처리 개선

- V2Input 컴포넌트에서 tableName을 여러 소스(프롭스, 설정, 오버라이드, 화면 정보)에서 추출하도록 로직을 개선하였습니다.
- inputType을 props에서 직접 전달받거나 config에서 설정된 값으로 확인하도록 수정하여 유연성을 높였습니다.
- DynamicComponentRenderer에서 v2-input 컴포넌트의 tableName을 올바르게 처리하도록 업데이트하였습니다.
- 채번 규칙 ID를 formData에 저장하는 로직을 개선하여 데이터 처리의 일관성을 강화하였습니다.
This commit is contained in:
kjs
2026-02-04 10:21:57 +09:00
parent dff27c522f
commit f7dda7a666
3 changed files with 52 additions and 15 deletions

View File

@@ -3043,8 +3043,12 @@ export class ButtonActionExecutor {
}
// 4. 모달 열기 이벤트 발생
// passSelectedData가 true이면 editData로 전달 (수정 모드처럼 모든 필드 표시)
// 🔧 수정: openModalWithData는 "신규 등록 + 연결 데이터 전달"용이므로
// editData가 아닌 splitPanelParentData로 전달해야 채번 등이 정상 작동함
const isPassDataMode = passSelectedData && selectedData.length > 0;
// 🔧 isEditMode 옵션이 명시적으로 true인 경우에만 수정 모드로 처리
const useAsEditData = config.isEditMode === true;
const modalEvent = new CustomEvent("openScreenModal", {
detail: {
@@ -3054,9 +3058,10 @@ export class ButtonActionExecutor {
size: config.modalSize || "md",
selectedData: selectedData,
selectedIds: selectedData.map((row: any) => row.id).filter(Boolean),
// 🆕 데이터 전달 모드일 때는 editData로 전달하여 모든 필드가 표시되도록 함
editData: isPassDataMode ? parentData : undefined,
splitPanelParentData: isPassDataMode ? undefined : parentData,
// 🔧 수정: isEditMode가 명시적으로 true인 경우에만 editData로 전달
// 기본적으로는 splitPanelParentData로 전달하여 신규 등록 + 연결 데이터 모드
editData: useAsEditData && isPassDataMode ? parentData : undefined,
splitPanelParentData: isPassDataMode ? parentData : undefined,
urlParams: dataSourceId ? { dataSourceId } : undefined,
},
});