fix: 수주등록 항목추가 시 정보출력 가능하게 수정
문제: - 조건부 컨테이너 내부의 modal-repeater-table 컴포넌트가 데이터 업데이트 불가 - ConditionalSectionViewer가 RealtimePreview에 formData/onFormDataChange 미전달 해결: - ConditionalSectionViewer.tsx: RealtimePreview에 formData, onFormDataChange props 추가 - DynamicComponentRenderer.tsx: 디버깅 로그 정리 - ScreenModal.tsx: 디버깅 로그 정리 영향: - 수주 등록 화면 품목 추가 기능 정상 작동 - 조건부 컨테이너 내부 모든 폼 컴포넌트 데이터 바인딩 정상화 Refs: #수주관리 #modal-repeater-table #ConditionalContainer
This commit is contained in:
@@ -42,7 +42,6 @@ export function ItemSelectionModal({
|
||||
// 모달 열릴 때 초기 검색
|
||||
useEffect(() => {
|
||||
if (open) {
|
||||
console.log("🚪 모달 열림 - uniqueField:", uniqueField, "multiSelect:", multiSelect);
|
||||
search("", 1); // 빈 검색어로 전체 목록 조회
|
||||
setSelectedItems([]);
|
||||
} else {
|
||||
@@ -59,14 +58,6 @@ export function ItemSelectionModal({
|
||||
const handleToggleItem = (item: any) => {
|
||||
const itemValue = uniqueField ? item[uniqueField] : undefined;
|
||||
|
||||
console.log("🖱️ 행 클릭:", {
|
||||
item,
|
||||
uniqueField,
|
||||
itemValue,
|
||||
currentSelected: selectedItems.length,
|
||||
selectedValues: uniqueField ? selectedItems.map(s => s[uniqueField]) : []
|
||||
});
|
||||
|
||||
if (!multiSelect) {
|
||||
setSelectedItems([item]);
|
||||
return;
|
||||
@@ -77,14 +68,10 @@ export function ItemSelectionModal({
|
||||
console.warn(`⚠️ uniqueField "${uniqueField}"의 값이 undefined입니다. 객체 참조로 비교합니다.`);
|
||||
const itemIsSelected = selectedItems.includes(item);
|
||||
|
||||
console.log("📊 선택 상태 (객체 참조):", itemIsSelected);
|
||||
|
||||
if (itemIsSelected) {
|
||||
const newSelected = selectedItems.filter((selected) => selected !== item);
|
||||
console.log("➖ 제거 후:", newSelected.length);
|
||||
setSelectedItems(newSelected);
|
||||
} else {
|
||||
console.log("➕ 추가");
|
||||
setSelectedItems([...selectedItems, item]);
|
||||
}
|
||||
return;
|
||||
@@ -101,8 +88,6 @@ export function ItemSelectionModal({
|
||||
return selectedValue === itemValue;
|
||||
});
|
||||
|
||||
console.log("📊 선택 상태:", itemIsSelected);
|
||||
|
||||
if (itemIsSelected) {
|
||||
const newSelected = selectedItems.filter((selected) => {
|
||||
if (!uniqueField) {
|
||||
@@ -114,15 +99,15 @@ export function ItemSelectionModal({
|
||||
}
|
||||
return selectedValue !== itemValue;
|
||||
});
|
||||
console.log("➖ 제거 후:", newSelected.length);
|
||||
setSelectedItems(newSelected);
|
||||
} else {
|
||||
console.log("➕ 추가");
|
||||
setSelectedItems([...selectedItems, item]);
|
||||
}
|
||||
};
|
||||
|
||||
const handleConfirm = () => {
|
||||
console.log("✅ ItemSelectionModal 추가:", selectedItems.length, "개 항목");
|
||||
|
||||
onSelect(selectedItems);
|
||||
onOpenChange(false);
|
||||
};
|
||||
@@ -307,7 +292,7 @@ export function ItemSelectionModal({
|
||||
}}
|
||||
>
|
||||
<div className="pointer-events-none">
|
||||
<Checkbox checked={selected} readOnly />
|
||||
<Checkbox checked={selected} />
|
||||
</div>
|
||||
</td>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user