Commit Graph

62 Commits

Author SHA1 Message Date
kjs c7db82a8a5 fix: TableListComponent filterSettingKey 중복 정의 제거
- 중복된 filterSettingKey 변수 정의 중 하나 제거
- 빌드 에러 해결
2025-11-03 14:00:06 +09:00
kjs 297870a24c feat: TableListComponent에 FlowWidget과 동일한 필터 설정 UI 구현
- 전체 선택/해제 기능 추가
- 선택된 컬럼 개수 표시 추가
- 필터 설정 localStorage 저장/로드 기능
- 체크된 항목만 실제 검색 필터로 표시
- 저장 시 Toast 알림 추가
- FlowWidget과 완전히 동일한 UI/UX 적용
2025-11-03 13:59:12 +09:00
kjs e0e7bc387e fix: TableListComponent 필터 설정 다이얼로그 스타일 개선
🎨 UI 개선
- 필터 설정 다이얼로그 스타일을 플로우 위젯과 동일하게 변경
- hover:bg-gray-50으로 호버 효과 추가
- rounded-lg, p-3, space-x-3으로 간격 및 패딩 개선
- space-y-2, py-4로 리스트 아이템 간격 조정

🐛 버그 수정
- 필터 목록에 key prop 추가 (React 경고 해결)
- Label 컴포넌트 대신 label 태그 사용 (불필요한 import 제거)

📝 변경 사항
- 플로우 위젯과 동일한 체크박스 리스트 스타일 적용
- 더 명확하고 클릭하기 쉬운 UI로 개선

 결과
- 필터 설정 다이얼로그가 플로우 위젯과 일관된 스타일로 표시됨
2025-11-03 13:53:50 +09:00
kjs 714511c3cf fix: 텍스트 줄바꿈 문제 방지 - 모든 셀에 whitespace-nowrap 적용
- 테이블 헤더와 데이터 셀 모두에 whitespace-nowrap 적용
- 모바일에서도 텍스트가 2줄로 깨지지 않음
- overflow-hidden + text-ellipsis로 긴 텍스트 처리
- TableListComponent와 InteractiveDataTable 모두 적용

이제 화면을 줄여도 텍스트가 항상 1줄로 유지됨
2025-11-03 13:34:02 +09:00
kjs 40efb391ea feat: 리스트 헤더 스타일 개선 - 그라데이션 배경, 굵은 테두리, 호버 효과 추가 2025-11-03 13:33:13 +09:00
kjs f9bd7bbcb3 fix: 컬럼 리사이즈 시 정렬이 트리거되는 문제 해결
문제:
- 컬럼 너비를 조절할 때 자동으로 정렬이 실행됨
- 리사이즈 핸들 클릭이 헤더의 onClick 이벤트를 트리거

해결:
- isResizing useRef 플래그 추가
- 리사이즈 시작 시 플래그를 true로 설정
- 헤더 onClick에서 isResizing.current 체크
- 리사이즈 중이면 정렬 실행 안함
- mouseup 후 100ms 지연으로 플래그 해제

적용:
- TableListComponent
- InteractiveDataTable

이제 컬럼 리사이즈가 정렬을 방해하지 않음
2025-11-03 13:30:44 +09:00
kjs 516bcafb2c feat: 테이블 정렬 개선 - 헤더 가운데, 숫자 우측 정렬
- 모든 테이블 헤더를 가운데 정렬 (text-center)
- 숫자 타입(number, decimal) 데이터를 우측 정렬
- TableListComponent: inputType 기반 숫자 판단
- InteractiveDataTable: widgetType 기반 숫자 판단
- 체크박스는 기존대로 가운데 정렬 유지
- 일반 텍스트는 좌측 정렬 유지

더 읽기 쉬운 테이블 레이아웃 완성
2025-11-03 13:25:57 +09:00
kjs 5376d7198d fix: 체크박스 컬럼 패딩 제거 및 중앙 정렬
- 체크박스 컬럼에서 px 패딩 제거 (px-0)
- 체크박스 컬럼 중앙 정렬 (textAlign: center)
- 일반 컬럼은 기존 패딩 유지
- 체크박스와 다른 컬럼의 시각적 구분 명확화
- 불필요한 공간 제거로 깔끔한 UI
2025-11-03 12:28:30 +09:00
kjs 6aa25fa852 fix: TableListComponent 체크박스 컬럼 48px 고정
- 체크박스 컬럼(__checkbox__)을 48px 고정 너비로 설정
- width, minWidth, maxWidth 모두 48px 적용
- 체크박스 컬럼에서 리사이즈 핸들 제거
- 초기 너비 측정 시 체크박스 컬럼 제외
- 테이블 헤더와 본문 셀 모두 적용
- InteractiveDataTable과 일관된 체크박스 컬럼 스타일
2025-11-03 12:24:28 +09:00
kjs 3332c87293 fix: 컬럼 리사이즈 무한 리렌더링 및 원위치 복귀 문제 해결
- ref callback에서 state 업데이트 제거
- useEffect + setTimeout으로 초기 너비 측정 (한 번만)
- hasInitializedWidths useRef로 중복 측정 방지
- columnRefs useRef로 DOM 직접 참조
- 드래그 중 리렌더링 없이 DOM만 직접 조작
- 부드럽고 정확한 리사이즈 구현 완료
2025-11-03 12:18:50 +09:00
kjs 511884f323 fix: 컬럼 초기 너비 이하로 줄어들지 않는 문제 해결
 해결 방법:
- 백분율 defaultWidth 제거, 초기값은 undefined로 설정
- ref callback에서 첫 렌더링 시 실제 offsetWidth 측정
- 측정한 실제 너비를 columnWidths state에 저장
- 이후 드래그로 80px까지 줄일 수 있음

 적용 파일:
- TableListComponent.tsx (실제 화면)
- InteractiveDataTable.tsx (디자인 모드)

 기술적 개선:
- table-layout: fixed + 동적 초기 너비 측정
- DOM 직접 조작으로 부드러운 리사이즈
- 최소 80px 보장 (Math.max)
2025-11-03 12:13:56 +09:00
kjs 3ada095e43 fix: 컬럼 리사이즈 최소 너비 80px 적용 및 디버그 로그 제거
- CSS minWidth 제거 (table-layout: fixed와 충돌)
- JavaScript에서 Math.max(80, width)로 최소 너비 보장
- 드래그 중과 마우스 업 시 모두 80px 최소값 적용
- 모든 디버그 로그 제거
- 깔끔하고 부드러운 리사이즈 완성
2025-11-03 12:06:57 +09:00
kjs c8540b170e fix: table-layout fixed로 컬럼 리사이즈 활성화
- tableLayout: 'fixed' 추가로 컬럼 너비가 DOM 스타일로 제어 가능하도록 설정
- table-layout: auto(기본값)에서는 브라우저가 자동으로 너비를 재조정하여 무시됨
- fixed 모드에서는 설정한 너비가 정확하게 적용됨
2025-11-03 12:01:47 +09:00
kjs 97ce6d3691 fix: useRef로 컬럼 리사이즈 성능 근본 해결
- columnRefs로 DOM 요소 직접 참조
- 드래그 중에는 DOM 스타일만 변경 (리렌더링 없음)
- 드래그 완료 시에만 state 업데이트
- 불필요한 컴포넌트 재초기화 완전 제거
- 부드러운 리사이즈 경험 제공
2025-11-03 11:57:01 +09:00
kjs 48cacf0409 perf: requestAnimationFrame으로 리사이즈 성능 최적화
- 드래그 중 과도한 리렌더링 방지
- requestAnimationFrame으로 throttling 적용
- 초당 60프레임으로 제한하여 부드러운 리사이즈
- cancelAnimationFrame으로 중복 업데이트 방지
2025-11-03 11:55:45 +09:00
kjs 9f501aa839 debug: 리사이즈 핸들 이벤트 디버그 로그 추가
- 마우스다운, 드래그, 마우스업 이벤트 로그
- 시작 너비, 이동 거리, 새 너비 출력
- 이벤트가 제대로 발생하는지 확인용
2025-11-03 11:54:34 +09:00
kjs 4a5c21a3ba fix: 리사이즈 핸들 클릭 영역 개선
- 핸들 너비를 1px에서 2px로 증가
- z-index: 20 추가로 다른 요소 위에 표시
- padding과 negative margin으로 클릭 영역 확대 (좌우 4px씩)
- onClick에 stopPropagation 추가하여 정렬 클릭 방지
- 더 쉽게 클릭하고 드래그할 수 있도록 개선
2025-11-03 11:51:48 +09:00
kjs 787bfd363f feat: TableListComponent 컬럼 너비 드래그 조절 기능 추가
- 실제 화면에서 사용되는 TableListComponent에도 리사이즈 기능 추가
- InteractiveDataTable과 동일한 리사이즈 핸들 구현
- columnWidths 상태로 각 컬럼 너비 관리
- 드래그 중 텍스트 선택 방지 및 이벤트 전파 차단
- 최소 너비 80px 보장
2025-11-03 10:54:23 +09:00
kjs dcf07fdd5e chore: TableListComponent 디버그 로그 제거
- 숫자 포맷팅 확인 완료
- column_labels 테이블 조회로 정확한 input_type 가져오기 검증 완료
2025-11-03 10:45:16 +09:00
kjs 8a77e6d33c fix: getColumnInputTypes가 column_labels 테이블 조회하도록 수정
- 기존: table_type_columns 테이블 조회 (잘못된 테이블)
- 수정: column_labels 테이블 조회 (올바른 테이블)
- 이제 테이블 관리에서 설정한 input_type이 정확하게 반영됨
2025-11-03 10:32:08 +09:00
kjs 1c571ee3c3 feat: 테이블 관리의 입력 타입 기반 자동 숫자 포맷팅
- TableListComponent: table_type_columns의 input_type 정보를 가져와서 숫자 포맷팅
- getColumnInputTypes API 추가로 컬럼별 입력 타입 조회
- columnMeta에 inputType 포함하여 formatCellValue에서 사용
- 테이블 관리에서 설정한 입력 타입(number/decimal)에 따라 자동으로 천 단위 콤마 표시
- 근본적인 해결: 컬럼명 기반이 아닌 실제 설정값 기반 포맷팅
2025-11-03 10:14:32 +09:00
kjs 68aafb3732 debug: TableListComponent formatCellValue 디버그 로그 추가
- 각 컬럼의 inputType, format, value 확인용
- 숫자 포맷팅이 안 되는 원인 파악
2025-11-03 10:10:22 +09:00
kjs 7b676a6aff fix: TableListComponent에서 숫자 타입 컬럼 천 단위 콤마 표시
- inputType이 number 또는 decimal인 컬럼에 천 단위 콤마 자동 적용
- 문자열로 저장된 숫자도 parseFloat 후 포맷팅 처리
- format 속성보다 inputType을 우선 체크하도록 수정
2025-11-03 10:09:33 +09:00
kjs 3d6ce26f9d feat: 테이블 리스트 컴포넌트 제목 편집 기능 추가
- TableListConfigPanel에 테이블 제목 입력 필드 추가
- 제목 표시 우선순위: 사용자 입력 제목 → 테이블 라벨명 → 테이블명
- 사용자가 제목을 비워두면 자동으로 테이블 라벨명 또는 테이블명 표시
- 화면 편집기에서 테이블 제목을 자유롭게 수정 가능
2025-10-31 11:10:09 +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 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 eeae338cd4 패널 정리중 2025-10-28 18:41:45 +09:00
kjs 8c89b9cf86 테이블 리스트 수정 2025-10-23 16:50:41 +09:00
kjs 2e916678fa ui개선 2025-10-17 16:21:08 +09:00
kjs 2a8081a253 반응형 및 테이블 리스트 컴포넌트 오류 수정 2025-10-17 15:31:23 +09:00
leeheejin 3fa410cbe4 ui 수정 및 시현할 기능 업데이트 2025-10-02 14:34:15 +09:00
leeheejin fc99beb851 TypeScript 오류 수정 및 Merge conflict 해결
- dataflowControlService.ts: condition.field non-null assertion 추가
- batchExternalDbService.ts: connection 속성들 non-null assertion 추가, error 타입 unknown으로 변경
- multiConnectionQueryService.ts: connection, schemaResult.data non-null assertion 추가
- dataflowExecutionController.ts: 도달할 수 없는 코드 제거
- TableListComponent.tsx, SingleTableWithSticky.tsx: merge conflict 마커 제거
- 모든 TypeScript 컴파일 오류 해결 완료
2025-10-01 09:58:38 +09:00
leeheejin 990d8123b8 프론트엔드 UI/UX 개선사항 복구 및 테이블 스타일링 통일
- 테이블 헤더 스타일링 개선 (더 진한 배경색, 오렌지 호버 효과)
- 파일첨부 컴포넌트 개선 (뚝뚝 잘리는 문제 해결, 패딩/아이콘 크기 조정)
- 카드 디스플레이 스타일링 개선 (명확한 테두리, 오렌지 호버 효과)
- 라벨 표시 기능 수정 (드롭다운 라벨링 문제, 체크박스 풀리는 문제 해결)
- 패널 및 레이아웃 개선 (카드 간격 통일, 주황색 영역 추가)
- CSS 통일성 작업 (Select 컴포넌트 너비 w-48로 조정)
- 정렬 화살표 표시 조건 수정 (정렬된 컬럼에서만 화살표 표시)
- 테이블 스타일링 통일 (SingleTableWithSticky, TableListComponent, InteractiveDataTable)
2025-09-30 18:43:26 +09:00
leeheejin 8c437270a8 표 css 통일, 라벨링 2025-09-30 18:42:33 +09:00
leeheejin 8c19d57ced ui, 외부커넥션에서 쿼리 조회만 가능하도록 2025-09-30 10:30:05 +09:00
dohyeons 6e8f529cd3 추가 감소 2025-09-29 17:29:58 +09:00
dohyeons 808a317ed0 38개로 감소 2025-09-29 17:24:06 +09:00
leeheejin c28e27f3e8 화면관리의 테이블 리스트, 카드 디스플레이 수정 2025-09-25 18:54:25 +09:00
leeheejin 28485d6e5c 콘솔 주석처리, 화면관리쪽 컬럼수, 페이지네이션 수정 2025-09-25 16:22:02 +09:00
leeheejin 1a60177fe4 feat: 관리자 페이지 레이아웃 통일 및 JSX 구문 수정
- admin/screenMng, dataflow 페이지에 tableMng 레퍼런스 레이아웃 적용
- admin/standards 페이지 JSX 괄호 문제 수정
- 전체 관리자 페이지 UI 일관성 향상
- bg-gray-50 배경, container 구조, 통일된 제목 스타일 적용
2025-09-24 18:07:36 +09:00
kjs 0d9ee4c40f 테이블 컬럼 표시문제 수정 2025-09-24 15:02:54 +09:00
kjs 649ed5c6d7 조인컬럼수정(조인 컬럼 추가시 엔티티 타입 표시 오류) 2025-09-24 14:31:46 +09:00
kjs 86dc961968 조인컬럼 오류 2025-09-24 12:56:22 +09:00
kjs e75889a127 조인 컬럼 문제 수정 2025-09-24 10:33:54 +09:00
kjs 9d346a3d3a fix: 엔티티 컬럼 표시 설정 문제 해결
- TableListComponent에서 엔티티 컬럼 라벨을 기준 테이블 라벨로 표시
- TableListConfigPanel에서 input_type 필드로 엔티티 컬럼 감지
- ScreenDesigner에서 컬럼 정보 로드 시 input_type 필드 포함
- UnifiedColumnInfo 타입에 input_type 필드 추가
- 엔티티 컬럼 감지 로직에 디버깅 로그 추가

이제 화면 편집기에서 엔티티 컬럼의 표시 컬럼 설정이 정상적으로 보여야 함
2025-09-23 16:51:12 +09:00
kjs de6c7a8008 feat: 엔티티 타입 컬럼 표시 설정을 화면 편집기로 이동
- 테이블 타입 관리에서 엔티티 타입의 표시 컬럼 설정 완전 제거
- 컬럼 설정 패널에서 엔티티 타입일 때 표시 컬럼 조합 선택 기능 추가
- 기본 테이블과 조인 테이블의 컬럼을 자유롭게 조합 가능
- 구분자 설정 및 실시간 미리보기 기능 포함
- 별도 모달 방식 제거하고 기존 컬럼 설정 패널에 통합
2025-09-23 16:23:36 +09:00
kjs f15c1fa114 검색필터 수정사항 2025-09-23 15:31:27 +09:00
kjs da9985cd24 검색 필터기능 수정사항 2025-09-23 14:26:18 +09:00
kjs d1e1c7964b 테스트 프로젝트 테이블 생성 및 오류들 수정 2025-09-19 12:19:34 +09:00