화면 복사기능 수정
This commit is contained in:
@@ -258,10 +258,32 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
|
||||
// 🆕 저장 요청 시에만 데이터 전달 (이벤트 리스너 방식)
|
||||
useEffect(() => {
|
||||
const handleSaveRequest = () => {
|
||||
// component.id를 문자열로 안전하게 변환
|
||||
const componentKey = String(component.id || "selected_items");
|
||||
|
||||
console.log("🔔 [SelectedItemsDetailInput] beforeFormSave 이벤트 수신!", {
|
||||
itemsCount: items.length,
|
||||
hasOnFormDataChange: !!onFormDataChange,
|
||||
componentId: component.id,
|
||||
componentIdType: typeof component.id,
|
||||
componentKey,
|
||||
});
|
||||
|
||||
if (items.length > 0 && onFormDataChange) {
|
||||
const dataToSave = { [component.id || "selected_items"]: items };
|
||||
console.log("📝 [SelectedItemsDetailInput] 저장 요청 시 데이터 전달:", dataToSave);
|
||||
const dataToSave = { [componentKey]: items };
|
||||
console.log("📝 [SelectedItemsDetailInput] 저장 요청 시 데이터 전달:", {
|
||||
key: componentKey,
|
||||
itemsCount: items.length,
|
||||
fullData: dataToSave,
|
||||
firstItem: items[0],
|
||||
});
|
||||
onFormDataChange(dataToSave);
|
||||
} else {
|
||||
console.warn("⚠️ [SelectedItemsDetailInput] 저장 데이터 전달 실패:", {
|
||||
hasItems: items.length > 0,
|
||||
hasCallback: !!onFormDataChange,
|
||||
itemsLength: items.length,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -342,6 +364,14 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
|
||||
|
||||
// 🆕 그룹별 필드 변경 핸들러: itemId + groupId + entryId + fieldName
|
||||
const handleFieldChange = useCallback((itemId: string, groupId: string, entryId: string, fieldName: string, value: any) => {
|
||||
console.log("📝 [handleFieldChange] 필드 값 변경:", {
|
||||
itemId,
|
||||
groupId,
|
||||
entryId,
|
||||
fieldName,
|
||||
value,
|
||||
});
|
||||
|
||||
setItems((prevItems) => {
|
||||
return prevItems.map((item) => {
|
||||
if (item.id !== itemId) return item;
|
||||
@@ -357,6 +387,12 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
|
||||
[fieldName]: value,
|
||||
};
|
||||
|
||||
console.log("✅ [handleFieldChange] Entry 업데이트:", {
|
||||
beforeKeys: Object.keys(updatedEntries[existingEntryIndex]),
|
||||
afterKeys: Object.keys(updatedEntry),
|
||||
updatedEntry,
|
||||
});
|
||||
|
||||
// 🆕 가격 관련 필드가 변경되면 자동 계산
|
||||
if (componentConfig.autoCalculation) {
|
||||
const { inputFields, targetField } = componentConfig.autoCalculation;
|
||||
|
||||
Reference in New Issue
Block a user