From 563acb7c0019cc463bc9605f96c256db8c2ad4dc Mon Sep 17 00:00:00 2001 From: leeheejin Date: Thu, 11 Dec 2025 16:09:58 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B4=84=20=EC=97=90=EB=9F=AC=20=EB=9C=A8?= =?UTF-8?q?=EB=8D=98=EA=B1=B0=20=EA=B3=A0=EC=B9=A82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/button-primary/ButtonPrimaryComponent.tsx | 3 +++ .../repeat-screen-modal/RepeatScreenModalComponent.tsx | 8 ++++++-- .../universal-form-modal/UniversalFormModalComponent.tsx | 4 +++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/lib/registry/components/button-primary/ButtonPrimaryComponent.tsx b/frontend/lib/registry/components/button-primary/ButtonPrimaryComponent.tsx index 1942d268..ae6a01d8 100644 --- a/frontend/lib/registry/components/button-primary/ButtonPrimaryComponent.tsx +++ b/frontend/lib/registry/components/button-primary/ButtonPrimaryComponent.tsx @@ -984,6 +984,9 @@ export const ButtonPrimaryComponent: React.FC = ({ flowSelectedStepId: _flowSelectedStepId, // 플로우 선택 스텝 ID 필터링 onFlowRefresh: _onFlowRefresh, // 플로우 새로고침 콜백 필터링 originalData: _originalData, // 부분 업데이트용 원본 데이터 필터링 + _originalData: __originalData, // DOM 필터링 + _initialData: __initialData, // DOM 필터링 + _groupedData: __groupedData, // DOM 필터링 refreshKey: _refreshKey, // 필터링 추가 isInModal: _isInModal, // 필터링 추가 mode: _mode, // 필터링 추가 diff --git a/frontend/lib/registry/components/repeat-screen-modal/RepeatScreenModalComponent.tsx b/frontend/lib/registry/components/repeat-screen-modal/RepeatScreenModalComponent.tsx index 980bbfe9..4b4809a1 100644 --- a/frontend/lib/registry/components/repeat-screen-modal/RepeatScreenModalComponent.tsx +++ b/frontend/lib/registry/components/repeat-screen-modal/RepeatScreenModalComponent.tsx @@ -52,11 +52,15 @@ export function RepeatScreenModalComponent({ config, className, groupedData: propsGroupedData, // EditModal에서 전달받는 그룹 데이터 + // DynamicComponentRenderer에서 전달되는 props (DOM 전달 방지) + _initialData, + _originalData: _propsOriginalData, + _groupedData, ...props -}: RepeatScreenModalComponentProps) { +}: RepeatScreenModalComponentProps & { _initialData?: any; _originalData?: any; _groupedData?: any }) { // props에서도 groupedData를 추출 (DynamicWebTypeRenderer에서 전달될 수 있음) // DynamicComponentRenderer에서는 _groupedData로 전달됨 - const groupedData = propsGroupedData || (props as any).groupedData || (props as any)._groupedData; + const groupedData = propsGroupedData || (props as any).groupedData || _groupedData; const componentConfig = { ...config, ...component?.config, diff --git a/frontend/lib/registry/components/universal-form-modal/UniversalFormModalComponent.tsx b/frontend/lib/registry/components/universal-form-modal/UniversalFormModalComponent.tsx index 89838c67..4ac31b12 100644 --- a/frontend/lib/registry/components/universal-form-modal/UniversalFormModalComponent.tsx +++ b/frontend/lib/registry/components/universal-form-modal/UniversalFormModalComponent.tsx @@ -126,11 +126,13 @@ export function UniversalFormModalComponent({ initialData: propInitialData, // DynamicComponentRenderer에서 전달되는 props (DOM 전달 방지를 위해 _ prefix 사용) _initialData, + _originalData, + _groupedData, onSave, onCancel, onChange, ...restProps // 나머지 props는 DOM에 전달하지 않음 -}: UniversalFormModalComponentProps & { _initialData?: any }) { +}: UniversalFormModalComponentProps & { _initialData?: any; _originalData?: any; _groupedData?: any }) { // initialData 우선순위: 직접 전달된 prop > DynamicComponentRenderer에서 전달된 prop const initialData = propInitialData || _initialData; // 설정 병합