feature/screen-management #197

Merged
kjs merged 33 commits from feature/screen-management into main 2025-11-10 18:26:19 +09:00

33 Commits

Author SHA1 Message Date
kjs 0c9356813e Merge branch 'main' into feature/screen-management 2025-11-10 18:25:50 +09:00
kjs 8dee8ac314 Merge branch 'feature/screen-management' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-10 18:25:36 +09:00
kjs 59fa54b812 style: 테이블 리스트 폰트 및 여백 조정
- 데이터 행에 font-normal 적용하여 bold 제거
- 헤더는 font-bold 유지
- 데이터 행 상하 여백 축소 (py-2 → py-1.5)
- 행 고정 높이 제거하여 컨텐츠에 따라 자동 조정

변경된 파일:
- frontend/lib/registry/components/table-list/TableListComponent.tsx
2025-11-10 18:24:51 +09:00
kjs 2722ebb218 feat: 테이블 리스트 날짜 형식을 yyyy-mm-dd로 변경
- inputType이 date/datetime인 컬럼 yyyy-mm-dd 형식으로 표시
- format이 'date'인 경우도 동일한 형식 적용
- 생성일, 수정일 등 날짜 컬럼 가독성 개선

변경된 파일:
- frontend/lib/registry/components/table-list/TableListComponent.tsx
2025-11-10 18:15:06 +09:00
kjs dad7e9edab feat: 엑셀 다운로드 기능 개선
- 화면 편집기 컬럼 설정 기반 다운로드 (visible 컬럼만)
- 필터 조건 적용 (필터링된 데이터만 다운로드)
- 한글 라벨명 표시 (column_labels 테이블 조회)
- Entity 조인 값 표시 (writer → writer_name 등)
- 카테고리 타입 라벨 변환 (코드 → 라벨)
- 멀티테넌시 보안 강화 (autoFilter: true)
- 디버깅 로그 정리

변경된 파일:
- frontend/lib/utils/buttonActions.ts
- frontend/lib/registry/components/table-list/TableListComponent.tsx

관련 이슈: #엑셀다운로드개선
2025-11-10 18:12:09 +09:00
kjs 49f779e0e4 feat: writer 컬럼 자동 user_name 변환 완료
- writer 컬럼이 있는 테이블에서 자동으로 user_name 표시
- 백엔드: entityJoinService에서 writer 컬럼 감지 및 user_info 조인
- 프론트엔드: entityJoinApi 항상 사용 및 writer_name 자동 표시
- 디버깅 로그 제거
2025-11-10 16:38:16 +09:00
kjs 605fbc4383 debug: writer 컬럼 조인 디버깅 로그 추가
- 프론트엔드: formatCellValue에서 writer 컬럼 데이터 로깅
- 백엔드: writer 조인 설정 및 검증 상세 로깅
- 목적: writer_name이 빈값으로 표시되는 문제 원인 파악
2025-11-10 16:36:54 +09:00
kjs 2e0ccaac16 fix: 모든 테이블 데이터 조회 시 entityJoinApi 사용하도록 수정
- 문제: writer 컬럼이 user_name으로 변환되지 않음
- 원인: entityJoinColumns가 없을 때 tableTypeApi 사용 (entity 조인 미지원)
- 해결: 항상 entityJoinApi.getTableDataWithJoins 사용
- 영향:
  - writer 컬럼이 있는 모든 테이블에서 자동으로 writer_name 조인
  - 기존 additionalJoinColumns도 정상 작동
  - 백엔드의 자동 writer 조인 기능 활성화
2025-11-10 16:33:15 +09:00
kjs ccbb6924c8 feat: writer 컬럼 자동 user_name 변환 기능 추가
- 문제: 테이블 리스트에서 writer 컬럼이 user_id로 표시됨
- 해결:
  1. 백엔드: entityJoinService에서 writer 컬럼 자동 감지
  2. writer 컬럼 발견 시 user_info 테이블과 자동 조인
  3. writer_name 별칭으로 user_name 반환
  4. 프론트엔드: writer 컬럼일 때 writer_name 우선 표시
- 영향:
  - writer 컬럼이 있는 모든 테이블에서 자동으로 작성자명 표시
  - 기존 entity 조인 설정과 충돌 없이 작동
  - column_labels 설정 불필요
2025-11-10 16:32:00 +09:00
kjs 0e95f8ed66 fix: RealtimePreviewDynamic에서 component.style의 width/height가 size를 덮어쓰는 문제 수정
- 문제: 속성 패널에서 너비 입력 시 size.width는 변경되지만 화면에 반영되지 않음
- 원인: RealtimePreviewDynamic의 baseStyle에서 componentStyle을 getWidth() 이후에 스프레드하여 size.width를 덮어씀
- 해결:
  1. componentStyle에서 width, height 제거
  2. 나머지 스타일만 먼저 적용
  3. getWidth(), getHeight()로 size 기반 크기를 마지막에 설정
- 영향:
  - 속성 패널에서 입력한 너비/높이가 화면에 즉시 반영됨
  - component.style의 width/height는 무시되고 size.width/height만 사용됨
- 디버깅 로그 제거
2025-11-10 16:09:38 +09:00
kjs 8e74429a83 fix: updateComponentProperty에서 gridColumns 관련 자동 크기 조정 제거
- 문제: 속성 패널에서 너비를 입력해도 화면에 반영되지 않음
- 원인: updateComponentProperty에서 gridColumns 변경 시 자동으로 너비를 재계산
- 해결:
  1. gridColumns 변경 시 updateSizeFromGridColumns 호출 제거
  2. gridColumns 변경 시 calculateWidthFromColumns 호출 제거
- 영향:
  - 속성 패널에서 입력한 너비가 화면에 즉시 반영됨
  - gridColumns는 더 이상 너비를 자동으로 조정하지 않음
2025-11-10 15:58:56 +09:00
kjs 2148e8e019 fix: 너비 입력 시 완전 자유 입력 허용 (로컬 상태 사용)
- 문제: 너비 입력 시 onChange에서 즉시 업데이트되어 30에서 3을 지우기 어려움
- 해결:
  1. localWidth 상태 추가
  2. onChange: 로컬 상태만 업데이트 (완전 자유 입력)
  3. onBlur/Enter: 실제 업데이트 + 10px 단위 스냅
  4. useEffect로 컴포넌트 변경 시 localWidth 동기화
- 영향:
  - 30 입력 시 3, 0 모두 자유롭게 지우고 입력 가능
  - 포커스 아웃 시에만 10px 단위로 정렬
2025-11-10 15:54:07 +09:00
kjs 5d374f902a fix: 너비/높이 입력 시 자유 입력 가능하도록 수정 및 포커스 아웃 시 10px 단위 스냅
- 문제: 너비/높이 입력 시 즉시 10px 단위로 스냅되어 자유 입력 불가
- 해결:
  1. 너비: onChange에서는 입력값 그대로 반영, onBlur에서 10px 단위로 스냅
  2. 높이: 로컬 상태로 자유 입력 허용, onBlur/Enter 시 10px 단위로 스냅
  3. step을 10에서 1로 변경하여 자유 입력 가능
- 영향:
  - 입력 중에는 원하는 값 입력 가능
  - 입력 완료 시(포커스 아웃 또는 Enter) 자동으로 10px 단위로 정렬
2025-11-10 15:51:37 +09:00
kjs 99468ca250 fix: 속성 패널에서 너비/높이 직접 입력 시 격자 스냅 제거
- 문제: 속성 패널에서 너비/높이 입력 시 격자 시스템이 자동으로 값을 변경
- 원인: updateComponentProperty에서 size.width/height 변경 시 무조건 격자 스냅 적용
- 해결: 직접 입력 시에는 격자 스냅을 적용하지 않도록 로직 주석 처리
- 영향:
  - 속성 패널에서 원하는 크기로 자유롭게 설정 가능
  - 드래그/리사이즈 시에는 별도 로직에서 격자 스냅 처리
- 디버깅 로그 제거
2025-11-10 15:49:48 +09:00
kjs 99deab05d8 fix: gridUtils 함수들 import 누락 수정
- 문제: adjustGridColumnsFromSize 등 gridUtils 함수들이 import되지 않아 런타임 오류 발생
- 해결:
  1. gridUtils에서 필요한 함수들 import 추가
  2. 3개 파라미터를 받는 snap 함수 호출을 올바른 함수로 변경
     - snapSizeTo10px -> snapSizeToGrid
     - snapPositionTo10px -> snapToGrid
- 영향: 컴포넌트 크기/위치 조정 시 격자 스냅 기능 정상 작동
2025-11-10 15:45:51 +09:00
kjs 5f11b5083f fix: gridInfo 미정의 오류 수정
- 문제: updateComponentProperty 함수 내에서 정의되지 않은 gridInfo 변수 참조
- 해결: gridInfo 조건을 prevLayout.gridSettings 체크로 변경
- 영향: 컴포넌트 속성 업데이트 시 런타임 오류 해결
2025-11-10 15:42:35 +09:00
kjs cdf9c0e562 fix: 화면 편집기에서 버튼 컴포넌트 선택 가능하도록 수정
- 문제: 버튼 컴포넌트 클릭 시 버튼 동작이 실행되어 선택되지 않음
- 해결:
  1. ButtonPrimaryComponent에서 디자인 모드일 때 <button> 대신 <div>로 렌더링
  2. ScreenDesigner의 ScreenPreviewProvider에서 isPreviewMode를 false로 설정
  3. 디자인 모드에서는 버튼 액션이 실행되지 않고 onClick만 전달되도록 수정
- 영향: button-primary 타입 버튼이 화면 편집기에서 정상적으로 선택 가능
2025-11-10 15:36:18 +09:00
kjs 2d832c56b6 feat: 차지 컬럼 수를 픽셀 기반 너비 입력으로 변경 (10px 단위) 2025-11-10 15:17:33 +09:00
kjs 1d26b979ac fix: handleComponentDrop에서 gridInfo 참조 제거 및 10px 스냅 적용 2025-11-10 15:10:42 +09:00
kjs 2a2bf86d12 fix: calculateGridInfo 더미 함수 추가 및 드래그 앤 드롭 수정 2025-11-10 15:09:27 +09:00
kjs d7e598435c fix: UnifiedPropertiesPanel에서도 컬럼 수/간격/여백 설정 제거 2025-11-10 15:06:46 +09:00
kjs 0af0b53638 fix: 컬럼 수, 간격, 여백 설정 완전 제거 (10px 고정) 2025-11-10 15:05:34 +09:00
kjs ed351f7044 fix: layout.gridSettings 문법 오류 수정 2025-11-10 14:54:53 +09:00
kjs d0ddc702ac fix: 모든 snapToGrid 문법 오류 최종 수정 2025-11-10 14:52:20 +09:00
kjs eb8e5da329 fix: console.log 내 snapToGrid 문법 오류 수정 2025-11-10 14:51:36 +09:00
kjs e7cbbe39a6 fix: 마지막 snapToGrid 문법 오류 수정 2025-11-10 14:51:01 +09:00
kjs 8f41cf7919 fix: 모든 snapToGrid 문법 오류 수정 2025-11-10 14:50:24 +09:00
kjs 4cd9629a1d fix: snapToGrid 문법 오류 수정 - 항상 true로 설정 2025-11-10 14:48:53 +09:00
kjs 7f68a70b0f wip: snapToGrid 의존성 제거 2025-11-10 14:47:59 +09:00
kjs 0474937e57 wip: gridInfo 의존성 제거 2025-11-10 14:46:30 +09:00
kjs d8bba7cfc1 wip: 격자 함수 호출을 10px 스냅으로 일괄 교체
- snapToGrid -> snapPositionTo10px
- snapSizeToGrid -> snapSizeTo10px
- 격자 라인을 10px 단위로 변경
- gridInfo 의존성 제거 (진행중)
2025-11-10 14:45:19 +09:00
kjs 554cdbdea5 wip: 격자 시스템 제거 시작 - 10px 스냅 함수 추가 2025-11-10 14:43:09 +09:00
kjs c4290f2d0e refactor: 격자 시스템을 10px 단위로 단순화
- 복잡한 컬럼 시스템 제거
- 웹타입별 고정 픽셀 너비 사용 (10px 단위)
- 격자 설정 패널 단순화 (컬럼 수 설정 제거)
- 간격/여백 조정을 10px 단위로 변경
- 더 직관적이고 예측 가능한 레이아웃 시스템
2025-11-10 14:41:58 +09:00