+ {/* 입력 타입 선택 */}
+
+ {/* 입력 타입이 'code'인 경우 공통코드 선택 */}
+ {column.inputType === "code" && (
- {/* 입력 타입이 'code'인 경우 공통코드 선택 */}
- {column.inputType === "code" && (
-
- )}
- {/* 입력 타입이 'category'인 경우 2레벨 메뉴 다중 선택 */}
- {column.inputType === "category" && (
-
-
- 적용할 메뉴 (2레벨)
-
-
- {secondLevelMenus.length === 0 ? (
-
- 2레벨 메뉴가 없습니다. 메뉴를 선택하지 않으면 모든 메뉴에서 사용 가능합니다.
-
- ) : (
- secondLevelMenus.map((menu) => {
- // menuObjid를 숫자로 변환하여 비교
- const menuObjidNum = Number(menu.menuObjid);
- const isChecked = (column.categoryMenus || []).includes(menuObjidNum);
-
- return (
-
- {
- const currentMenus = column.categoryMenus || [];
- const newMenus = e.target.checked
- ? [...currentMenus, menuObjidNum]
- : currentMenus.filter((id) => id !== menuObjidNum);
-
- setColumns((prev) =>
- prev.map((col) =>
- col.columnName === column.columnName
- ? { ...col, categoryMenus: newMenus }
- : col
- )
- );
- }}
- className="h-4 w-4 rounded border-gray-300 text-primary focus:ring-2 focus:ring-ring"
- />
-
- {menu.parentMenuName} → {menu.menuName}
-
-
- );
- })
- )}
-
- {column.categoryMenus && column.categoryMenus.length > 0 && (
-
- {column.categoryMenus.length}개 메뉴 선택됨
+ )}
+ {/* 입력 타입이 'category'인 경우 2레벨 메뉴 다중 선택 */}
+ {column.inputType === "category" && (
+
+
+ 적용할 메뉴 (2레벨)
+
+
+ {secondLevelMenus.length === 0 ? (
+
+ 2레벨 메뉴가 없습니다. 메뉴를 선택하지 않으면 모든 메뉴에서 사용 가능합니다.
+ ) : (
+ secondLevelMenus.map((menu) => {
+ // menuObjid를 숫자로 변환하여 비교
+ const menuObjidNum = Number(menu.menuObjid);
+ const isChecked = (column.categoryMenus || []).includes(menuObjidNum);
+
+ return (
+
+ {
+ const currentMenus = column.categoryMenus || [];
+ const newMenus = e.target.checked
+ ? [...currentMenus, menuObjidNum]
+ : currentMenus.filter((id) => id !== menuObjidNum);
+
+ setColumns((prev) =>
+ prev.map((col) =>
+ col.columnName === column.columnName
+ ? { ...col, categoryMenus: newMenus }
+ : col
+ )
+ );
+ }}
+ className="h-4 w-4 rounded border-gray-300 text-primary focus:ring-2 focus:ring-ring"
+ />
+
+ {menu.parentMenuName} → {menu.menuName}
+
+
+ );
+ })
)}
- )}
- {/* 입력 타입이 'entity'인 경우 참조 테이블 선택 */}
- {column.inputType === "entity" && (
- <>
- {/* 참조 테이블 */}
+ {column.categoryMenus && column.categoryMenus.length > 0 && (
+
+ {column.categoryMenus.length}개 메뉴 선택됨
+
+ )}
+
+ )}
+ {/* 입력 타입이 'entity'인 경우 참조 테이블 선택 */}
+ {column.inputType === "entity" && (
+ <>
+ {/* 참조 테이블 */}
+
+
+ 참조 테이블
+
+
+ handleDetailSettingsChange(column.columnName, "entity", value)
+ }
+ >
+
+
+
+
+ {referenceTableOptions.map((option, index) => (
+
+
+ {option.label}
+
+ {option.value}
+
+
+
+ ))}
+
+
+
+
+ {/* 조인 컬럼 */}
+ {column.referenceTable && column.referenceTable !== "none" && (
- 참조 테이블
+ 조인 컬럼
- handleDetailSettingsChange(column.columnName, "entity", value)
+ handleDetailSettingsChange(
+ column.columnName,
+ "entity_reference_column",
+ value,
+ )
}
>
- {referenceTableOptions.map((option, index) => (
+ -- 선택 안함 --
+ {referenceTableColumns[column.referenceTable]?.map((refCol, index) => (
-
- {option.label}
-
- {option.value}
-
-
+ {refCol.columnName}
))}
+ {(!referenceTableColumns[column.referenceTable] ||
+ referenceTableColumns[column.referenceTable].length === 0) && (
+
+
+
+ )}
+ )}
- {/* 조인 컬럼 */}
- {column.referenceTable && column.referenceTable !== "none" && (
+ {/* 표시 컬럼 */}
+ {column.referenceTable &&
+ column.referenceTable !== "none" &&
+ column.referenceColumn &&
+ column.referenceColumn !== "none" && (
- 조인 컬럼
+ 표시 컬럼
handleDetailSettingsChange(
column.columnName,
- "entity_reference_column",
+ "entity_display_column",
value,
)
}
@@ -1347,79 +1401,32 @@ export default function TableManagementPage() {
)}
- {/* 표시 컬럼 */}
- {column.referenceTable &&
- column.referenceTable !== "none" &&
- column.referenceColumn &&
- column.referenceColumn !== "none" && (
-
-
- 표시 컬럼
-
-
- handleDetailSettingsChange(
- column.columnName,
- "entity_display_column",
- value,
- )
- }
- >
-
-
-
-
- -- 선택 안함 --
- {referenceTableColumns[column.referenceTable]?.map((refCol, index) => (
-
- {refCol.columnName}
-
- ))}
- {(!referenceTableColumns[column.referenceTable] ||
- referenceTableColumns[column.referenceTable].length === 0) && (
-
-
-
- )}
-
-
-
- )}
-
- {/* 설정 완료 표시 */}
- {column.referenceTable &&
- column.referenceTable !== "none" &&
- column.referenceColumn &&
- column.referenceColumn !== "none" &&
- column.displayColumn &&
- column.displayColumn !== "none" && (
-
- ✓
- 설정 완료
-
- )}
- >
- )}
-