Commit Graph

669 Commits

Author SHA1 Message Date
kjs 8e9daf5b22 feat: 수정 모달 자동 닫기 및 테이블 새로고침 기능 구현
- EditModal: 저장 완료 후 자동으로 닫히고 부모 테이블 새로고침
- buttonActions.ts: 저장 성공 후 closeEditModal 이벤트 발생
- InteractiveScreenViewerDynamic: onSave prop 추가하여 EditModal 연동
- InteractiveDataTable: EditModal 열 때 onSave 콜백으로 loadData 전달
- 두 가지 시나리오 모두 지원:
  1. InteractiveScreenViewerDynamic 버튼의 onSave 호출
  2. DynamicComponentRenderer 버튼의 buttonActions.ts 처리
2025-11-03 09:58:04 +09:00
kjs aef62454c2 fix: 자동 리다이렉트 타이머 정리 문제 해결
🐛 버그 수정
- 화면 목록으로 이동 버튼 클릭 후에도 3초 타이머가 계속 실행되던 문제 해결
- 빠르게 버튼 클릭 후 다른 화면 진입 시 다시 튕겨나는 현상 수정

�� 변경 내용
- useRef로 타이머 참조 저장 (autoRedirectTimerRef)
- 모달이 닫힐 때 타이머 정리 (clearTimeout)
- 컴포넌트 언마운트 시 타이머 정리
- '화면 목록으로 이동' 버튼 클릭 시 타이머 즉시 정리

📝 기술적 개선
- setTimeout 타이머를 useRef로 관리
- useEffect cleanup 함수에서 타이머 정리
- 버튼 onClick에서 타이머 수동 정리

 결과
- 버튼 클릭 시 타이머가 즉시 정리됨
- 다른 화면으로 이동 후 3초 뒤 튕겨나지 않음
- 메모리 누수 방지
2025-10-31 18:27:34 +09:00
kjs 1d9634ac41 fix: 화면 저장 후 버튼 텍스트 색상 수정
🐛 버그 수정
- 화면 저장 성공 모달의 버튼 텍스트가 검은색으로 표시되던 문제 해결
- '화면 목록으로 이동' 버튼에 text-white 추가
- '메뉴에 할당' 버튼에 text-white 추가
- '화면 교체' 버튼에 text-white 추가

🎨 변경 내용
- bg-green-600 → bg-green-600 text-white
- bg-blue-600 → bg-blue-600 text-white
- bg-orange-600 → bg-orange-600 text-white

📝 관련 파일
- frontend/components/screen/MenuAssignmentModal.tsx

 결과
- 모든 버튼 텍스트가 흰색으로 정상 표시됨
2025-10-31 18:21:03 +09:00
kjs 5c2e147784 feat: 테이블 복제 기능 구현 (최고 관리자 전용)
 새로운 기능
- 테이블 타입 관리에 테이블 복제 기능 추가
- 기존 테이블의 설정과 컬럼 정보를 복사하여 새 테이블 생성
- 최고 관리자만 사용 가능 (company_code = '*' AND userType = 'SUPER_ADMIN')
- 테이블 1개 선택 시에만 복제 버튼 활성화

🎨 UI 개선
- 테이블 목록에 '테이블 복제' 버튼 추가 (Copy 아이콘)
- CreateTableModal을 복제 모드로 재사용
- 복제 모드 시 제목/설명/버튼 텍스트 동적 변경
- 원본 테이블 정보 자동 로드

🔧 기술적 개선
- CreateTableModal에 mode/sourceTableName props 추가
- 복제 모드 감지 및 데이터 자동 로드 로직 구현
- API 타입 정의 수정 (ColumnListData 인터페이스 추가)
- 백엔드 응답 구조와 프론트엔드 타입 일치화

🐛 버그 수정
- API 응답 구조 불일치 문제 해결
- ColumnListResponse 타입 수정 (배열 → 객체)
- 데이터 파싱 로직 수정 (data.columns 접근)
- 디버그 로그 추가로 문제 추적 개선

📝 변경된 파일
- frontend/app/(main)/admin/tableMng/page.tsx
- frontend/components/admin/CreateTableModal.tsx
- frontend/lib/api/tableManagement.ts
- frontend/types/ddl.ts
- 테이블_복제_기능_구현_계획서.md (신규)

 테스트 완료
- 최고 관리자 권한 체크
- 테이블 정보 로드
- 컬럼 정보 복제
- 새 테이블명 입력 및 검증
- 테이블 생성 및 목록 갱신
2025-10-31 17:58:49 +09:00
kjs e42675616b fix: 제어관리 저장 및 실행 문제 수정
- frontend: screen.ts에 saveScreenLayout 함수 추가 (ScreenDesigner_new.tsx가 호출하던 누락된 함수)
- frontend: ScreenDesigner_new.tsx 저장 시 디버깅 로그 추가
- backend: screenManagementService.ts에 dataflowConfig 저장 확인 로그 추가

문제 원인:
- ScreenDesigner_new.tsx가 호출하던 screenApi.saveScreenLayout 함수가 정의되지 않음
- 이로 인해 레이아웃 저장이 실패했을 가능성

해결:
- saveScreenLayout 함수를 추가하여 정상적인 레이아웃 저장 가능
- 디버깅 로그를 통해 실제로 selectedDiagramId가 저장되는지 확인 가능
2025-10-31 17:21:47 +09:00
kjs 9a674b6686 fix: 버튼 제어관리 노드 플로우 실행 수정
프론트엔드:
- ImprovedButtonControlConfigPanel에서 selectedDiagramId 저장 추가
- 플로우 선택 시 flowConfig와 함께 selectedDiagramId도 저장
- selectedRelationshipId는 null로 설정 (노드 플로우는 관계 불필요)

백엔드:
- dynamicFormService에서 relationshipId 유무에 따라 실행 방식 분기
- relationshipId가 없으면 NodeFlowExecutionService.executeFlow() 실행
- relationshipId가 있으면 기존 dataflowControlService.executeDataflowControl() 실행
- 노드 플로우 실행 시 formData를 contextData로 전달

원인:
- 기존에는 flowConfig만 저장하고 selectedDiagramId를 저장하지 않음
- 백엔드에서 selectedDiagramId가 없어서 제어관리 실행 조건 불만족
- 관계 기반 제어와 노드 플로우를 구분하지 못함
2025-10-31 17:16:47 +09:00
kjs afc384f0d9 fix: AppLayout overflow-hidden으로 인한 스크롤 비활성화 문제 수정
- main 태그의 overflow-hidden을 overflow-auto로 변경하여 스크롤 복구
- 모든 페이지에서 스크롤이 정상 작동하도록 수정
2025-10-31 11:01:02 +09:00
kjs 0bb314f8e5 feat: 화면 관리 및 대시보드 뷰어 레이아웃 전체 너비 활용 개선
- 화면 관리 페이지에서 position.x === 0인 컴포넌트가 100% 너비로 표시되도록 수정
- 대시보드 뷰어에서 부모 컨테이너의 maxWidth 제한 제거하여 화면 전체 너비 활용
- AppLayout의 main 영역에 16px 내부 패딩 적용
- RealtimePreview 및 RealtimePreviewDynamic 컴포넌트에서 좌측 정렬 컴포넌트 너비 자동 조정
- 모바일 환경에서 화면 스케일링 비활성화 (반응형만 작동)
- table-mobile-fixed CSS 클래스 추가로 모바일 테이블 레이아웃 개선
- useResponsive 훅 추가로 반응형 감지 기능 구현
2025-10-31 10:41:45 +09:00
kjs 0a767480cd 커밋 2025-10-30 18:31:08 +09:00
kjs a819ea6bfa feat: 플로우 위젯 디자인 개선 및 검색 필터 기능 강화
- 플로우 위젯 단계 박스 미니멀 디자인 적용
  - 테두리와 배경 제거, 하단 선만 표시
  - STEP 배지 제거, 단계명과 건수 상하 배치
  - 선택 인디케이터(ChevronUp) 제거
  - 건수 폰트 굵기 조정 (font-medium)

- 검색 필터 기능 개선
  - 그리드 컬럼 수 확장 (최대 6개까지)
  - 상단 타이틀과 검색 필터 사이 여백 조정
  - 검색 필터 설정 시 표시되는 컬럼만 선택 가능하도록 변경
  - 필터 설정을 사용자별로 저장하도록 변경
  - 이전 사용자의 필터 설정 자동 정리 로직 추가

- 기본 버튼 컴포넌트 스타일 변경
  - 배경 흰색, 검정 테두리로 변경
2025-10-30 18:30:39 +09:00
kjs 148155e6fe feat: 관리자 테이블 스타일 개선 및 탭 컴포넌트 디자인 수정
- 외부 커넥션 관리 테이블 표준화 (DB 연결, REST API 연결)
- 모든 관리자 테이블의 그림자 제거 (테이블 타입 관리 왼쪽 카드 제외)
- 테이블 타입 관리 왼쪽 카드 호버 효과 강화 (shadow-lg, bg-muted/20)
- 탭 컴포넌트 배경색 밝게 조정 (bg-muted/30)
- 탭 트리거 테두리 제거
2025-10-30 17:55:55 +09:00
kjs 4924fbe71d feat: 테이블 타입 관리 페이지 UI 개선 및 테이블 삭제 방식 변경
- 테이블 삭제 방식을 체크박스 선택 기반 일괄 삭제로 변경
- 좌측 테이블 리스트 영역에 스크롤 적용
- 선택된 테이블에 검정 테두리 표시 (border-2 border-black)
- 우측 상단 타이틀 제거
- 각 테이블 카드에 라운딩 적용 (rounded-lg)
- 컬럼 간 간격 개선 (입력 타입-상세 설정 간격 증가)
- Entity 설정 박스 스타일 제거 (평면적 레이아웃으로 변경)
- 좌측 영역 우측 여백 조정 (pr-4)
2025-10-30 17:02:30 +09:00
kjs 21af6c5c17 테이블 헤더 및 행 배경색 통일
- 모든 테이블 헤더의 회색 배경 제거 (bg-muted/50 → bg-background)
- 모든 테이블 행의 홀수 행 회색 배경 제거 (모든 행을 흰색 배경으로 통일)
- 호버 시에만 회색 배경이 나타나도록 통일
- TableListComponent, SingleTableWithSticky, 모든 관리자 테이블 컴포넌트에 적용
- 테이블 구조 표준화 문서 업데이트
2025-10-30 15:49:23 +09:00
kjs 4010273d67 feat: 테이블 테두리 및 라운드 제거, 검색 필터 제목 제거
- 모든 테이블 컴포넌트의 외곽 테두리(border) 제거
- 테이블 컨테이너의 라운드(rounded-lg) 제거
- 테이블 행 구분선(border-b)은 유지하여 데이터 구분
- FlowWidget과 TableListComponent에 동일한 스타일 적용
- 검색 필터 영역의 회색 배경(bg-muted/30) 제거
- 검색 필터 제목 제거
- AdvancedSearchFilters 컴포넌트의 '검색 필터' 제목 제거
2025-10-30 15:39:39 +09:00
kjs dea88dd42b Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-10-30 12:10:43 +09:00
kjs 4d9e783c57 수정 모달 2025-10-30 12:08:58 +09:00
kjs 556354219a 스타일 수정중 2025-10-30 12:03:50 +09:00
dohyeons 8c6aeb006b Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-10-30 11:29:58 +09:00
dohyeons 8f38b176ab Shadcn 사용 수정 2025-10-30 10:06:45 +09:00
dohyeons 2959f66e0c 안쓰는 코드 삭제 2025-10-29 18:30:50 +09:00
leeheejin efa28d8a47 쿼리문 작성 좀 완화시킨 버전 2025-10-29 18:26:06 +09:00
leeheejin 865831e41e 나머지 위젯들도 샤드시옌처리(주석처리된 위젯) 2025-10-29 18:04:27 +09:00
leeheejin 437e0c331c 샤드시옌으로 쫙 수정 2025-10-29 17:53:03 +09:00
leeheejin 2517261db9 대시보드 다운로드 기능 추가 2025-10-29 16:57:38 +09:00
leeheejin 398c47618b fix: 테스트 위젯 최종 수정 및 충돌 해결 2025-10-29 13:50:08 +09:00
dohyeons 8edd5e4ca6 api 오류 수정 2025-10-29 11:52:18 +09:00
kjs 0dab71edfe Merge branch 'main' into feature/screen-management 2025-10-29 11:26:18 +09:00
kjs efdef36cda 모달창 올리기 2025-10-29 11:26:00 +09:00
leeheejin ce508fb48a 쿼리문 덜복잡해도 작성되게 수정 2025-10-29 10:22:21 +09:00
leeheejin 9bff4c77e3 쿼리문 작성대로 보이도록 통계카드 수정 2025-10-29 10:07:33 +09:00
leeheejin 3198684f27 구버전 위젯도 보이게 2025-10-29 09:32:10 +09:00
leeheejin e880083600 구버전신버전 모두 보이게 처리완료 2025-10-29 09:32:03 +09:00
leeheejin 50aeacd9ea 차트를 제외하고 나머지 기능은 구현됨 2025-10-29 09:21:04 +09:00
leeheejin d21764ba51 Merge: 충돌 해결 - CustomMetricWidget 실제 코드 유지 2025-10-28 19:00:24 +09:00
leeheejin 88d71da1a9 다중데이터베이스 연결 가능하게 함, 차트 위젯은 테스트 용도입니다. 2025-10-28 18:58:40 +09:00
dohyeons 83034cff02 요소 클릭하면 카메라 시야 변경하도록 구현 2025-10-28 18:55:30 +09:00
kjs eeae338cd4 패널 정리중 2025-10-28 18:41:45 +09:00
leeheejin 0fe2fa9db1 원본승격 완료, 차트 위젯은 보류 2025-10-28 18:21:00 +09:00
dohyeons 86f561c484 위젯 크기 초과 시 숨기기 2025-10-28 17:51:59 +09:00
dohyeons 7c3db548bc 위젯을 처음 추가할 때 사이드바 열리도록 설정 2025-10-28 17:48:56 +09:00
leeheejin 81458549af 테스트 위젯 원본 승격 전 세이브 2025-10-28 17:40:48 +09:00
kjs 743ae6dbf1 패널 정리 중간 커밋 2025-10-28 17:33:03 +09:00
kjs b5605d93da 테이블 컬럼 검색 기능 2025-10-28 16:26:55 +09:00
kjs 711e051b1c 속성창 줄이기 2025-10-28 16:16:00 +09:00
dohyeons dcb32f26b0 쿼리를 새로 실행하면 기존 컬럼 설정이 초기화 2025-10-28 15:42:53 +09:00
kjs 775fbf8903 화면 바로 들어가지게 함 2025-10-28 15:39:22 +09:00
dohyeons e1c40b23fb 커스텀 카드 배치 설정 2025-10-28 15:36:37 +09:00
dohyeons 3f3779c25e 위젯 헤더 스타일 변경 2025-10-28 15:09:29 +09:00
dohyeons 28ecc31128 위젯의 최소 크기를 1x1 로 변경 2025-10-28 15:02:37 +09:00
kjs 53a0fa5c6a 검색기능 동작 2025-10-28 15:00:08 +09:00