feat: 채번 규칙 및 코드 메뉴별 격리 구현
**주요 변경사항:** 1. **메뉴 스코프 변경 (getSiblingMenuObjids)** - 기존: 형제 메뉴 + 모든 형제의 자식 메뉴 포함 - 변경: 자신 + 자신의 자식 메뉴만 포함 - 결과: 각 2레벨 메뉴가 완전히 독립적으로 격리됨 2. **채번 규칙 메뉴 선택 상태 유지** - useState 초기값 함수에서 저장된 selectedMenuObjid 복원 - 속성창 닫았다 열어도 선택한 메뉴와 채번 규칙 유지 - config.autoGeneration.selectedMenuObjid에 저장 3. **로그 정리** - 프론트엔드: 디버깅 로그 제거 - 백엔드: info 레벨 로그를 debug 레벨로 변경 - 운영 환경에서 불필요한 로그 출력 최소화 **영향:** - 영업관리 메뉴: 영업관리의 채번 규칙/코드만 조회 - 기준정보 메뉴: 기준정보의 채번 규칙/코드만 조회 - 각 메뉴 그룹이 독립적으로 데이터 관리 가능
This commit is contained in:
@@ -107,6 +107,7 @@ export interface ComponentConfigPanelProps {
|
||||
screenTableName?: string; // 화면에서 지정한 테이블명
|
||||
tableColumns?: any[]; // 테이블 컬럼 정보
|
||||
tables?: any[]; // 전체 테이블 목록
|
||||
menuObjid?: number; // 🆕 메뉴 OBJID (코드/카테고리/채번규칙 스코프용)
|
||||
}
|
||||
|
||||
export const DynamicComponentConfigPanel: React.FC<ComponentConfigPanelProps> = ({
|
||||
@@ -116,6 +117,7 @@ export const DynamicComponentConfigPanel: React.FC<ComponentConfigPanelProps> =
|
||||
screenTableName,
|
||||
tableColumns,
|
||||
tables,
|
||||
menuObjid,
|
||||
}) => {
|
||||
// 모든 useState를 최상단에 선언 (Hooks 규칙)
|
||||
const [ConfigPanelComponent, setConfigPanelComponent] = React.useState<React.ComponentType<any> | null>(null);
|
||||
@@ -259,6 +261,7 @@ export const DynamicComponentConfigPanel: React.FC<ComponentConfigPanelProps> =
|
||||
tables={tables} // 기본 테이블 목록 (현재 화면의 테이블만)
|
||||
allTables={componentId === "repeater-field-group" ? allTablesList : tables} // RepeaterConfigPanel만 전체 테이블
|
||||
onTableChange={handleTableChange} // 테이블 변경 핸들러 전달
|
||||
menuObjid={menuObjid} // 🆕 메뉴 OBJID 전달
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user