- menu, company, screenMng, i18n, tableMng 모듈 console 주석 처리
- 총 55개 파일 수정
- 빌드 에러 수정 완료
- 백엔드 서버 정상 작동 확인
관련 파일:
- frontend/components/admin/MenuManagement.tsx
- frontend/components/admin/MenuFormModal.tsx
- frontend/components/admin/ScreenAssignmentTab.tsx
- frontend/components/admin/CompanyTable.tsx
- frontend/components/admin/MultiLang.tsx
- frontend/app/(main)/admin/tableMng/page.tsx
- 기타 screen 관련 컴포넌트 49개 파일
수정된 위치:
- line 271: fromColumns (소스 필드)
- line 289: toColumns (소스 필드)
- line 623: fromColumns (필드 매핑)
- line 638: toColumns (필드 매핑)
- line 737: getAvailableFieldsForMapping (대상 필드)
모든 .map() 앞에 .filter() 추가:
- 빈 columnName 제외
- 중복 키 방지
- React 경고 해결
문제:
- toColumns에 빈 문자열 columnName 중복
- 중복된 키 to_ 생성
- React 키 중복 경고
수정:
- fromColumns filter 추가
- toColumns filter 추가
- 빈 문자열 컬럼 제외
에러:
Encountered two children with the same key
문제:
- SelectItem에 빈 문자열 value 전달 시 에러
- col.columnName이 빈 문자열일 수 있음
수정:
- filter에 col.columnName 체크 추가
- 빈 문자열 컬럼 제외
에러 메시지:
A <Select.Item /> must have a value prop
that is not an empty string
문제:
- 버튼에 제어를 연결했지만 실행되지 않음
- ButtonActionExecutor가 제어 실행 로직이 없었음
수정:
1. buttonActions.ts:
- executeAfterSaveControl() 메서드 추가
- handleSave()에서 저장 성공 후 제어 실행
- dataflowTiming='after'일 때만 실행
- ImprovedButtonActionExecutor 통해 관계 기반 제어 실행
2. ButtonActionConfig 타입 확장:
- dataflowTiming 필드 추가
3. ButtonActionContext 타입 확장:
- buttonId, userId, companyCode 필드 추가
4. Import 추가:
- ExtendedControlContext 타입 import
동작 흐름:
save 버튼 클릭
→ handleSave() 실행
→ 데이터 저장 (INSERT/UPDATE)
→ ✅ 저장 성공
→ executeAfterSaveControl() 자동 호출
→ ImprovedButtonActionExecutor로 관계 실행
→ 연결된 제어 액션들 순차 실행
결과:
- ✅ 저장 후 연결된 제어 자동 실행
- ✅ 제어 실패 시 에러 처리
- ✅ 기존 기능 영향 없음