diff --git a/frontend/components/screen/InteractiveScreenViewerDynamic.tsx b/frontend/components/screen/InteractiveScreenViewerDynamic.tsx index 4763507e..1dfdba14 100644 --- a/frontend/components/screen/InteractiveScreenViewerDynamic.tsx +++ b/frontend/components/screen/InteractiveScreenViewerDynamic.tsx @@ -365,6 +365,7 @@ export const InteractiveScreenViewerDynamic: React.FC = groupedData: props.groupedData, // โœ… ์–ธ๋”์Šค์ฝ”์–ด ์ œ๊ฑฐํ•˜์—ฌ ์ง์ ‘ ์ „๋‹ฌ _groupedData: props.groupedData, // ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ์œ ์ง€ // ๐Ÿ†• UniversalFormModal์šฉ initialData ์ „๋‹ฌ - // originalData๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด originalData ์‚ฌ์šฉ, ์•„๋‹ˆ๋ฉด formData ์‚ฌ์šฉ - // ์ƒ์„ฑ ๋ชจ๋“œ์—์„œ๋Š” originalData๊ฐ€ ๋นˆ ๊ฐ์ฒด์ด๋ฏ€๋กœ formData๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ - _initialData: (originalData && Object.keys(originalData).length > 0) ? originalData : formData, + // ์šฐ์„ ์ˆœ์œ„: props.initialData > originalData > formData + // ์กฐ๊ฑด๋ถ€ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ „๋‹ฌ๋œ initialData๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉ + _initialData: props.initialData || ((originalData && Object.keys(originalData).length > 0) ? originalData : formData), _originalData: originalData, + // ๐Ÿ†• initialData๋„ ์ง์ ‘ ์ „๋‹ฌ (์กฐ๊ฑด๋ถ€ ์ปจํ…Œ์ด๋„ˆ โ†’ ๋‚ด๋ถ€ ์ปดํฌ๋„ŒํŠธ) + initialData: props.initialData, // ๐Ÿ†• ํƒญ ๊ด€๋ จ ์ •๋ณด ์ „๋‹ฌ (ํƒญ ๋‚ด๋ถ€์˜ ํ…Œ์ด๋ธ” ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉ) parentTabId: props.parentTabId, parentTabsComponentId: props.parentTabsComponentId, diff --git a/frontend/lib/registry/components/conditional-container/ConditionalContainerComponent.tsx b/frontend/lib/registry/components/conditional-container/ConditionalContainerComponent.tsx index db3fde4c..e3d84d43 100644 --- a/frontend/lib/registry/components/conditional-container/ConditionalContainerComponent.tsx +++ b/frontend/lib/registry/components/conditional-container/ConditionalContainerComponent.tsx @@ -42,7 +42,16 @@ export function ConditionalContainerComponent({ className, groupedData, // ๐Ÿ†• ๊ทธ๋ฃน ๋ฐ์ดํ„ฐ onSave, // ๐Ÿ†• EditModal์˜ handleSave ์ฝœ๋ฐฑ + initialData, // ๐Ÿ†• ์ˆ˜์ • ๋ชจ๋“œ: ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ (๋ฐœ์ฃผ์ผ, ๋‹ด๋‹น์ž, ๋ฉ”๋ชจ ๋“ฑ) }: ConditionalContainerProps) { + // ๐Ÿ” ๋””๋ฒ„๊ทธ: initialData ์ˆ˜์‹  ํ™•์ธ + React.useEffect(() => { + console.log("[ConditionalContainer] initialData ์ˆ˜์‹ :", { + hasInitialData: !!initialData, + initialDataKeys: initialData ? Object.keys(initialData) : [], + initialData, + }); + }, [initialData]); // ํ™”๋ฉด ์ปจํ…์ŠคํŠธ (๋ฐ์ดํ„ฐ ์ œ๊ณต์ž๋กœ ๋“ฑ๋ก) const screenContext = useScreenContextOptional(); @@ -221,6 +230,7 @@ export function ConditionalContainerComponent({ onSave={onSave} controlField={controlField} selectedCondition={selectedValue} + initialData={initialData} /> ))} @@ -244,6 +254,7 @@ export function ConditionalContainerComponent({ onSave={onSave} controlField={controlField} selectedCondition={selectedValue} + initialData={initialData} /> ) : null ) diff --git a/frontend/lib/registry/components/conditional-container/ConditionalSectionViewer.tsx b/frontend/lib/registry/components/conditional-container/ConditionalSectionViewer.tsx index 59c82421..1338f40b 100644 --- a/frontend/lib/registry/components/conditional-container/ConditionalSectionViewer.tsx +++ b/frontend/lib/registry/components/conditional-container/ConditionalSectionViewer.tsx @@ -29,7 +29,17 @@ export function ConditionalSectionViewer({ onSave, // ๐Ÿ†• EditModal์˜ handleSave ์ฝœ๋ฐฑ controlField, // ๐Ÿ†• ์กฐ๊ฑด๋ถ€ ์ปจํ…Œ์ด๋„ˆ์˜ ์ œ์–ด ํ•„๋“œ๋ช… selectedCondition, // ๐Ÿ†• ํ˜„์žฌ ์„ ํƒ๋œ ์กฐ๊ฑด ๊ฐ’ + initialData, // ๐Ÿ†• ์ˆ˜์ • ๋ชจ๋“œ: ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ (๋ฐœ์ฃผ์ผ, ๋‹ด๋‹น์ž, ๋ฉ”๋ชจ ๋“ฑ) }: ConditionalSectionViewerProps) { + // ๐Ÿ” ๋””๋ฒ„๊ทธ: initialData ์ˆ˜์‹  ํ™•์ธ + React.useEffect(() => { + console.log("[ConditionalSectionViewer] initialData ์ˆ˜์‹ :", { + sectionId, + hasInitialData: !!initialData, + initialDataKeys: initialData ? Object.keys(initialData) : [], + initialData, + }); + }, [initialData, sectionId]); const { userId, userName, user } = useAuth(); const [isLoading, setIsLoading] = useState(false); const [components, setComponents] = useState([]); @@ -191,6 +201,7 @@ export function ConditionalSectionViewer({ onFormDataChange={onFormDataChange} groupedData={groupedData} onSave={hasUniversalFormModal ? undefined : onSave} + initialData={initialData} /> ); diff --git a/frontend/lib/registry/components/conditional-container/types.ts b/frontend/lib/registry/components/conditional-container/types.ts index 284e0855..24ba2033 100644 --- a/frontend/lib/registry/components/conditional-container/types.ts +++ b/frontend/lib/registry/components/conditional-container/types.ts @@ -47,6 +47,7 @@ export interface ConditionalContainerProps { onFormDataChange?: (fieldName: string, value: any) => void; groupedData?: Record[]; // ๐Ÿ†• ๊ทธ๋ฃน ๋ฐ์ดํ„ฐ (EditModal โ†’ ModalRepeaterTable) onSave?: () => Promise; // ๐Ÿ†• EditModal์˜ handleSave ์ฝœ๋ฐฑ + initialData?: Record; // ๐Ÿ†• ์ˆ˜์ • ๋ชจ๋“œ: ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ (๋ฐœ์ฃผ์ผ, ๋‹ด๋‹น์ž, ๋ฉ”๋ชจ ๋“ฑ) // ํ™”๋ฉด ํŽธ์ง‘๊ธฐ ๊ด€๋ จ isDesignMode?: boolean; // ๋””์ž์ธ ๋ชจ๋“œ ์—ฌ๋ถ€ @@ -82,5 +83,7 @@ export interface ConditionalSectionViewerProps { // ๐Ÿ†• ์กฐ๊ฑด๋ถ€ ์ปจํ…Œ์ด๋„ˆ ์ •๋ณด (์ž์‹ ํ™”๋ฉด์— ์ „๋‹ฌ) controlField?: string; // ์ œ์–ด ํ•„๋“œ๋ช… (์˜ˆ: "inbound_type") selectedCondition?: string; // ํ˜„์žฌ ์„ ํƒ๋œ ์กฐ๊ฑด ๊ฐ’ (์˜ˆ: "PURCHASE_IN") + // ๐Ÿ†• ์ˆ˜์ • ๋ชจ๋“œ: ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ (๋ฐœ์ฃผ์ผ, ๋‹ด๋‹น์ž, ๋ฉ”๋ชจ ๋“ฑ) + initialData?: Record; }