Commit Graph

967 Commits

Author SHA1 Message Date
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
kjs 7ab3781372 feat: 드래그 드롭 컬럼 라벨 숨김 및 placeholder 표시
- 테이블 탭에서 드래그 드롭으로 배치되는 컬럼의 라벨 자동 숨김 (labelDisplay: false)
- placeholder에 컬럼 라벨명 자동 표시
- 폼 컨테이너 및 캔버스 직접 드롭 모두 적용
- 더 깔끔한 UI 제공
2025-11-10 14:36:53 +09:00
kjs 3f32996014 fix: 날짜 입력 필드 높이 반응형 개선
- 드래그 드롭으로 배치되는 인풋 필드 기본 높이 30px로 변경
- 날짜 입력 컴포넌트의 모든 외부 div에 h-full 추가
- 모든 input 요소에 min-h-full 추가하여 부모 높이를 제대로 따르도록 수정
- daterange, year 타입도 동일하게 적용
2025-11-10 14:33:15 +09:00
kjs a868c5c413 feat: 테이블 탭에서 시스템 컬럼 5개 숨김 처리
- id, created_date, updated_date, writer, company_code 컬럼 필터링
- 대소문자 구분 없이 시스템 컬럼 제외
- 화면 편집기 테이블 탭에서 비즈니스 컬럼만 표시
2025-11-10 14:24:16 +09:00
kjs 15f21a1142 revert: e27845a 커밋의 변경사항 되돌림 - 화면 레이아웃 문제 수정 2025-11-10 14:21:29 +09:00
kjs e2f4b47588 모달 잘 보이게 수정 2025-11-10 09:33:29 +09:00
kjs 1d6418ca63 fix: SaveModal을 ResizableDialog로 수정하여 크기 조절 가능하도록 개선
주요 변경사항:
- Dialog/DialogContent를 ResizableDialog/ResizableDialogContent로 변경
- DialogTitle을 ResizableDialogTitle로 변경
- 내부 컨텐츠 컨테이너를 유연한 크기(w-full h-full)로 변경
- minWidth/minHeight 사용으로 최소 크기 보장

참고:
- 컴포넌트 레이아웃이 화면관리에서 설정된 대로 정확히 렌더링됨
- 레이아웃 자체의 문제는 화면관리에서 재설계 필요

파일 변경:
- frontend/components/screen/SaveModal.tsx
2025-11-07 17:39:51 +09:00
kjs e27845a82f feat: 테이블 탭 드래그앤드롭 개선 및 AI-개발자 협업 규칙 수립
주요 변경사항:
- 드래그앤드롭 컬럼의 라벨 숨김 및 placeholder로 라벨명 표시
- 기본 높이 30px로 변경
- 5개 시스템 컬럼(id, created_date, updated_date, writer, company_code) 숨김
- AI-개발자 협업 작업 수칙 문서 작성 및 .cursorrules에 통합

파일 변경:
- frontend/components/screen/ScreenDesigner.tsx
  * getDefaultHeight(): 기본 높이를 30px로 변경
  * handleDrop(): labelDisplay false, placeholder 추가
- frontend/components/screen/panels/TablesPanel.tsx
  * hiddenColumns Set으로 시스템 컬럼 필터링
- .cursor/rules/ai-developer-collaboration-rules.mdc (신규)
  * 확인 우선, 한 번에 하나, 철저한 마무리 원칙
  * 데이터베이스 검증, 코드 수정, 테스트, 커뮤니케이션 규칙
- .cursorrules
  * 필수 확인 규칙 섹션 추가
  * 모든 작업 시작/완료 시 협업 규칙 확인 강제화
2025-11-07 17:12:01 +09:00
kjs 4294fbf608 feat: 채번 규칙 테이블 기반 자동 필터링 구현
- 채번 규칙 scope_type을 table로 단순화
- 화면의 테이블명을 자동으로 감지하여 채번 규칙 필터링
- TextInputConfigPanel에 screenTableName prop 추가
- getAvailableNumberingRulesForScreen API로 테이블 기반 조회
- NumberingRuleDesigner에서 자동으로 테이블명 설정
- webTypeConfigConverter 유틸리티 추가 (기존 화면 호환성)
- AutoGenerationConfig 타입 개선 (enabled, options.numberingRuleId)
- 채번 규칙 선택 UI에서 ID 제거, 설명 추가
- 불필요한 console.log 제거

Backend:
- numberingRuleService: 테이블 기반 필터링 로직 구현
- numberingRuleController: available-for-screen 엔드포인트 수정

Frontend:
- TextInputConfigPanel: 테이블명 기반 채번 규칙 로드
- NumberingRuleDesigner: 적용 범위 UI 제거, 테이블명 자동 설정
- ScreenDesigner: webTypeConfig → autoGeneration 변환 로직 통합
- DetailSettingsPanel: autoGeneration 속성 매핑 개선
2025-11-07 14:27:07 +09:00
kjs 5b79bfb19d 화면 컴포넌트 위치문제 수정 2025-11-07 11:36:58 +09:00
dohyeons 03bce9d643 프론트 빌드 에러 해결 2025-11-07 11:05:19 +09:00
dohyeons 732928ac0f 프론트 필드 에러 해결 2025-11-07 10:32:30 +09:00
hjlee 0313c83a65 Merge pull request '오늘의 타협점' (#193) from lhj into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/193
2025-11-06 19:01:58 +09:00
leeheejin 20e2729bf7 오늘의 타협점 2025-11-06 19:01:44 +09:00
kjs 0e4cf7b641 쿼리 에러 수정 2025-11-06 18:10:21 +09:00
kjs 5d9233203c Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-06 18:10:05 +09:00
leeheejin 2f39b541dd 화면 고치기 2025-11-06 18:08:28 +09:00
kjs a2637f4dbb Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-06 17:33:29 +09:00
leeheejin ead3433f3e 기능추가 2025-11-06 17:32:29 +09:00
leeheejin b3cd771b99 버튼 수정과 그룹드롭다운, 품목복사기능, 연속입력기능추가 2025-11-06 17:32:24 +09:00
kjs f2500865a6 격자 저장문제 수정 2025-11-06 17:01:13 +09:00
kjs 786576bb76 커밋 2025-11-06 14:46:15 +09:00
kjs 832e80cd7f 배지 표시 수정 2025-11-06 14:18:36 +09:00
kjs 2e674e13d0 fix: resizable-dialog 주석 처리된 객체 리터럴 파싱 에러 수정
- 여러 줄 객체 리터럴을 한 줄로 변경
- console.log 주석이 파싱 에러를 일으키는 문제 해결
- 빌드 에러 해결
2025-11-06 13:26:54 +09:00
kjs bc826e8e49 chore: resizable-dialog 디버깅 로그 모두 제거
- console.log 20개 주석 처리
- 콘솔 스팸 방지
- 불필요한 로그 제거로 성능 개선
2025-11-06 12:46:08 +09:00
kjs f53a818f2f fix: 카테고리 매핑 변경 시 강제 리렌더링 추가
- categoryMappingsKey 상태 추가로 매핑 변경 감지
- 매핑 업데이트 시 key 증가로 tbody 리렌더링 강제
- 간헐적으로 배지가 표시되지 않던 타이밍 이슈 해결
- 카테고리 배지 렌더링 디버깅 로그 추가
2025-11-06 12:39:56 +09:00
kjs b526d8ea2c fix: 카테고리 배지 표시 개선 및 디버깅 로그 추가
- 매핑이 없어도 항상 배지로 표시
- 매핑 없을 시 코드값 그대로 + 기본 slate 색상 사용
- 카테고리 매핑 로드 과정 로그 추가
- 기존 데이터에 기본 색상 추가하는 마이그레이션 스크립트 생성
2025-11-06 12:15:47 +09:00
leeheejin 3f890cdbfa Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Conflicts:
;	frontend/components/admin/CreateTableModal.tsx
;	frontend/components/screen/CopyScreenModal.tsx
;	frontend/components/screen/MenuAssignmentModal.tsx
;	frontend/components/screen/ScreenList.tsx
;	frontend/components/screen/widgets/FlowWidget.tsx
;	frontend/lib/registry/components/table-list/TableListComponent.tsx
2025-11-06 12:14:07 +09:00
kjs 7581cd1582 feat: 테이블 리스트에서 카테고리 값을 배지로 표시
- 카테고리 타입 컬럼을 배지 형태로 렌더링
- 사용자가 설정한 색상 적용
- categoryMappings에 라벨과 색상 모두 저장
- 기본 색상: #3b82f6 (파란색)
- 텍스트 색상: 흰색으로 고정하여 가독성 확보
2025-11-06 12:12:19 +09:00
leeheejin 0839f7f603 리사이징, 체크박스,엔터치면 다음 칸으로 이동, 표수정, 컬럼에서 이미지 넣는거 등등 2025-11-06 12:11:49 +09:00
kjs 1d87b6c3ac feat: 카테고리 값에 배지 색상 설정 기능 추가
- 카테고리 값 추가/편집 다이얼로그에 색상 선택기 추가
- 18가지 기본 색상 팔레트 제공
- 선택한 색상의 실시간 배지 미리보기
- color 필드를 통해 DB에 저장
- 테이블 리스트에서 배지 형태로 표시할 준비 완료
2025-11-06 12:09:28 +09:00
kjs a1cb9d2a8e fix: 카테고리 타입 컬럼 라벨 표시 및 빌드 오류 수정
- 카테고리 타입 컬럼이 테이블 리스트/플로우 위젯에서 코드값 대신 라벨로 표시되도록 수정
  - InteractiveDataTable: categoryMappings 상태 추가 및 formatCellValue에서 카테고리 라벨 변환
  - FlowWidget: categoryMappings 상태 추가 및 formatValue에서 카테고리 라벨 변환
  - TableListComponent: categoryMappings 상태 추가 및 formatCellValue에서 카테고리 라벨 변환

- FlowWidget 런타임 에러 수정
  - formatValue 함수를 categoryMappings 상태 선언 이후로 이동
  - useCallback 의존성 배열 오류 해결

- Dialog 컴포넌트 빌드 오류 수정
  - CopyScreenModal: DialogFooter → ResizableDialogFooter 태그 일치
  - MenuAssignmentModal: 모든 Dialog 컴포넌트를 ResizableDialog 버전으로 변경
    - Dialog → ResizableDialog
    - DialogContent → ResizableDialogContent
    - DialogFooter → ResizableDialogFooter
    - DialogHeader → ResizableDialogHeader
    - DialogTitle → ResizableDialogTitle
    - DialogDescription → ResizableDialogDescription

- 불필요한 console.log 제거
  - InteractiveDataTable, FlowWidget, TableListComponent에서 디버깅 로그 정리
2025-11-06 12:03:28 +09:00
kjs e25f8893b0 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-06 11:58:09 +09:00
kjs fe306aed26 feat: 카테고리 위젯에 드래그 가능한 리사이저 추가
- 좌우 영역을 드래그로 조절 가능
- 리사이저: GripVertical 아이콘으로 시각적 표시
- 좌측 영역: 최소 10%, 최대 40%로 제한
- 호버 시 배경색 변경으로 피드백 제공
- 드래그 중 커서 및 텍스트 선택 방지
2025-11-06 11:40:59 +09:00
kjs 4b568f86b1 style: 카테고리 위젯 좌측 영역 더 축소
- 좌측 영역: 20% → 15%
- 우측 영역: 80% → 85%
- 최소한의 공간으로 컬럼 목록 표시
2025-11-06 11:40:19 +09:00
kjs 107ca3b0b8 style: 카테고리 위젯 좌우 비율 조정
- 좌측 영역: 30% → 20%
- 우측 영역: 70% → 80%
- 좌측은 컬럼 목록만 표시하므로 좁게 조정
- 우측 값 관리 영역에 더 많은 공간 확보
2025-11-06 11:39:21 +09:00
kjs 7efb31a367 feat: 카테고리 컬럼 카드에 항목 개수 표시
- 컬럼명(column_name) 제거
- 우측에 해당 카테고리의 항목 개수 표시
- getCategoryValues API로 각 컬럼의 값 개수 조회
- 'N개' 형식으로 깔끔하게 표시
- 로딩 중에는 '...' 표시
2025-11-06 11:36:45 +09:00
kjs 9f9e9ecd82 style: 카테고리 컬럼 카드 상하 패딩 8px로 조정
- CategoryColumnList 카드: p-4 → px-4 py-2
- 상하 여백 16px → 8px
- 좌우 여백은 16px 유지
- 채번규칙과 일관된 레이아웃
2025-11-06 11:34:08 +09:00
kjs ec2f544a3e style: 채번규칙 규칙명과 미리보기를 한 줄로 배치
- 규칙명과 미리보기를 flex로 나란히 배치
- 각각 flex-1로 동일한 너비 (50:50)
- gap-3로 간격 설정
- 공간 효율성 향상
2025-11-06 11:26:38 +09:00
kjs e964c04523 style: 채번규칙 미리보기 UI 간소화
- '미리보기' 제목 및 Card 컴포넌트 제거
- '코드 미리보기' 라벨 제거
- 한 줄로 간결하게 표현 (px-3 py-2)
- 불필요한 여백 제거로 깔끔한 레이아웃
2025-11-06 11:25:59 +09:00
kjs fc18523bb6 feat: 채번규칙 적용 범위 UI 제거 및 기본값 '메뉴 적용'으로 변경
- 적용 범위 선택 섹션 제거 (UI 간소화)
- 새 규칙 생성 시 scopeType 기본값: 'global' → 'menu'
- 모든 규칙이 자동으로 메뉴별 적용으로 생성됨
2025-11-06 11:23:27 +09:00
kjs 8fa068222e style: 채번규칙 카드에서 코드 미리보기 제거
- NumberingRulePreview 컴포넌트 제거
- CardContent 섹션 제거
- 규칙 이름과 삭제 버튼만 표시하는 심플한 레이아웃
2025-11-06 11:22:22 +09:00
kjs 654cc4575b style: 채번규칙 카드 상하 패딩 8px로 조정
- py-0 → py-2 (8px)
- 적절한 여백 유지하면서 컴팩트한 레이아웃
2025-11-06 11:21:02 +09:00
kjs 1ee2d8f365 style: 채번규칙 카드 자체의 상하 패딩 제거
- Card 컴포넌트에 py-0 추가
- 카드 내부 여백 최소화
2025-11-06 11:20:13 +09:00
kjs f7f410dbbe style: 채번규칙 카드 내부 상하 여백 완전 제거
- CardHeader, CardContent의 py를 0으로 설정
- 좌우 여백(px-3)만 유지
- 최대한 컴팩트한 카드 레이아웃
2025-11-06 10:44:08 +09:00
kjs 7132f4a90f style: 채번규칙 카드 내부 여백 축소
- CardHeader: py-3 → py-2 (12px → 8px)
- CardContent: py-3 → pb-2 (하단만 8px)
- 더 컴팩트한 카드 레이아웃
2025-11-06 10:42:55 +09:00
kjs 38734079e8 style: 채번규칙 카드 UI 개선
- '규칙 N개' 텍스트 제거 (불필요한 정보)
- 카드 내부 상하 여백 명시적으로 12px(py-3)로 설정
2025-11-06 10:41:01 +09:00
kjs 44def0979c fix: 화면 편집기 높이 입력 필드 1px 단위 조절 가능하도록 수정
- 문제: 높이 입력 시 10 단위로만 입력 가능 (예: 1080 입력 불가)
- 원인: 격자 스냅 로직이 onChange마다 높이를 10/20 단위로 강제 반올림
- 해결:
  1. 모든 number input 필드에 step="1" 추가
  2. ScreenDesigner.tsx의 격자 스냅 로직 수정 (높이 스냅 제거)
  3. UnifiedPropertiesPanel.tsx에 로컬 상태 추가하여 입력 중 스냅 방지
  4. onBlur/Enter 시에만 실제 값 업데이트

수정 파일:
- frontend/components/screen/ScreenDesigner.tsx
- frontend/components/screen/panels/UnifiedPropertiesPanel.tsx
- frontend/components/screen/panels/PropertiesPanel.tsx
- frontend/components/screen/panels/ResolutionPanel.tsx
- frontend/components/screen/panels/RowSettingsPanel.tsx
- frontend/components/screen/panels/webtype-configs/NumberTypeConfigPanel.tsx
- frontend/components/screen/panels/webtype-configs/TextTypeConfigPanel.tsx
2025-11-06 10:37:20 +09:00
kjs cf9e81a216 테이블에 카테고리 값 보이기 2025-11-05 18:28:43 +09:00
kjs ad46249c8b 카테고리 2025-11-05 18:09:16 +09:00
kjs bc029d1df8 카테고리 구현 2025-11-05 18:08:51 +09:00
dohyeons 4a1900bdfa 모달 관련 에러 해결 2025-11-05 16:53:21 +09:00
dohyeons e65f97b3fe Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-05 16:41:40 +09:00
kjs f3bed0d713 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-05 16:38:30 +09:00
leeheejin 0b676098a5 버튼 문제 수정 및 여러가지 2025-11-05 16:36:32 +09:00
dohyeons 8b03f3a495 분할 패널 높이 조정 수정 2025-11-05 16:18:00 +09:00
dohyeons 9429033e2c Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-05 15:39:11 +09:00
dohyeons 8489ff03c2 파일 업로드 구조 개선 2025-11-05 15:39:02 +09:00
kjs 573a300a4a 카테고리 기능 구현 2025-11-05 15:23:57 +09:00
leeheejin c6b2a30651 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
2025-11-05 13:10:25 +09:00
leeheejin b4cc844675 엑셀 다운로드 문제 해결 2025-11-05 10:23:00 +09:00
hjlee 6c713a11d8 Merge pull request '행 이동 화면 할당한 상황에서도 가능하게, 코드병합 버튼액션에 추가' (#183) from lhj into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/183
2025-11-04 18:34:43 +09:00
leeheejin 82ff18e388 행 이동 화면 할당한 상황에서도 가능하게, 코드병합 버튼액션에 추가 2025-11-04 18:31:26 +09:00
kjs 10c7c9a0b1 컴포넌트 높이 조절기능 2025-11-04 17:44:10 +09:00
kjs 198f678b68 채번 자동생성기능 2025-11-04 17:35:02 +09:00
dohyeons 36ea8115cb Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-04 16:27:01 +09:00
dohyeons 01e03dedbf 파일 업로드 컴포넌트 높이 조절 수정 2025-11-04 16:26:53 +09:00
kjs b8e30c9557 컬럼 제한 삭제 2025-11-04 16:21:24 +09:00
kjs 37796ecc9d fix: FileComponentConfigPanel에 cn 함수 import 추가 2025-11-04 16:18:12 +09:00
kjs 6901baab8e feat(screen-designer): 그리드 컬럼 시스템 개선 및 컴포넌트 너비 렌더링 수정
주요 변경사항:
- 격자 설정을 편집 탭에서 항상 표시 (해상도 설정 하단)
- 그리드 컬럼 수 동적 조정 가능 (1-24)
- 컴포넌트 생성 시 현재 그리드 컬럼 수 기반 자동 계산
- 컴포넌트 너비가 설정한 컬럼 수대로 정확히 표시되도록 수정

수정된 파일:
- ScreenDesigner: 컴포넌트 드롭 시 gridColumns와 style.width 동적 계산
- UnifiedPropertiesPanel: 격자 설정 UI 통합, 차지 컬럼 수 설정 시 width 자동 계산
- RealtimePreviewDynamic: getWidth 우선순위 수정, DOM 크기 디버깅 로그 추가
- 8개 컴포넌트: componentStyle.width를 항상 100%로 고정
  * ButtonPrimaryComponent
  * TextInputComponent
  * NumberInputComponent
  * TextareaBasicComponent
  * DateInputComponent
  * TableListComponent
  * CardDisplayComponent

문제 해결:
- 컴포넌트 내부에서 component.style.width를 재사용하여 이중 축소 발생
- 해결: 부모 컨테이너(RealtimePreviewDynamic)가 width 제어, 컴포넌트는 항상 100%
- 결과: 파란 테두리와 내부 콘텐츠가 동일한 크기로 정확히 표시
2025-11-04 16:17:19 +09:00
dohyeons 5b8bad17ef 이미지 컴포넌트 오류나는거 해결 2025-11-04 15:52:41 +09:00
kjs 9f131a80ab Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-04 15:16:48 +09:00
dohyeons 39080dff59 autofill 기능 구현 2025-11-04 14:33:39 +09:00
kjs 7cf455083d 채번 컴포넌트 생성 2025-11-04 13:58:21 +09:00
kjs 07ff643a19 Merge branch 'feature/screen-management' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management 2025-11-04 11:41:22 +09:00
kjs d64ca5a8c0 버튼 수정 2025-11-04 11:41:20 +09:00
dohyeons 4dde008c6d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-04 09:44:09 +09:00
leeheejin 7425c37094 엑셀 다운로드, 업로드, 사진촬영(바코드 스캔기능) 추가 2025-11-04 09:41:58 +09:00
dohyeons d428a70b69 회원 검색 기능 보완 2025-11-04 09:34:22 +09:00
dohyeons c50c8d01df 삭제 후엔 부서 선택 해제 2025-11-03 17:42:46 +09:00
dohyeons 6b53cb414c 삭제를 alert에서 modal로 변경 2025-11-03 17:28:12 +09:00
dohyeons b468b51aa7 회사 정보 표시 및 뒤로가기 버튼 2025-11-03 16:40:45 +09:00
dohyeons 5629cd999f 화면비 수정 2025-11-03 16:37:34 +09:00
dohyeons 257912ea92 부서 read 기능 구현 2025-11-03 16:31:03 +09:00
leeheejin 94e5a5de0b 회사코드 입력, 작성자 입력가능하게 수정완료 2025-11-03 16:26:32 +09:00
dohyeons d7164531ef Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-03 14:43:53 +09:00
kjs e089b41395 Merge branch 'main' into feature/screen-management 2025-11-03 14:42:44 +09:00
kjs d9681bb64d refactor: FlowWidget 검색 필터를 설정 버튼과 같은 줄에 배치
변경사항:
- 검색 필터 입력 필드를 필터 설정/그룹 설정 버튼과 동일한 Y좌표에 배치
- 한 줄 레이아웃: [검색입력들...] [초기화] ... [필터설정] [그룹설정]
- ml-auto로 설정 버튼들 오른쪽 정렬
- 검색 필드는 왼쪽부터, 설정 버튼은 오른쪽에 배치
- 중복된 검색 필터 입력 영역 제거

UI 개선:
- 모든 컨트롤이 하나의 수평선상에 위치
- 공간 효율성 극대화
- 사용자가 요청한 레이아웃 정확히 구현
2025-11-03 14:32:51 +09:00
kjs 57738fbfc2 refactor: FlowWidget 검색 필터 UI를 한 줄로 통합
변경사항:
- 검색 필터 입력 필드를 버튼과 같은 Y좌표에 배치
- Label 제거 (placeholder로 충분)
- flex-wrap으로 여러 필터 자동 줄바꿈
- 고정 너비(w-40)로 일관된 입력 필드 크기
- 초기화 버튼 ml-auto로 오른쪽 정렬
- grid 레이아웃 제거하고 flex로 변경

UI 개선:
- TableListComponent와 동일한 스타일 적용
- 공간 절약 및 깔끔한 인터페이스
- 필터 설정, 그룹 설정, 검색 입력이 모두 같은 영역에 위치
2025-11-03 14:31:27 +09:00
dohyeons fd7fc754f4 회사 관리 - 등록 페이지 수정 2025-11-03 14:31:21 +09:00
kjs 9f4884f761 fix: FlowWidget JSX 구조 오류 수정
- Fragment(<>)로 그룹 표시 배지와 검색 필터 영역 감싸기
- stepDataColumns.length > 0 조건 내부로 모든 관련 UI 통합
- 닫는 태그 구조 수정

빌드 오류 해결:
- Expected '</>', got '{' 에러 해결
- JSX 중첩 구조 정상화
2025-11-03 14:28:55 +09:00
kjs e6cc671808 refactor: FlowWidget 데이터 테이블 헤더 제거
변경사항:
- 스텝 이름 복원 (탭 영역에 표시되므로 필요)
- 데이터 테이블 위 헤더 영역 제거
  - 스텝 이름 중복 표시 제거
  - '총 N건의 데이터' 표시 제거
  - 필터링/선택 건수 표시 제거
- 필터 설정 및 그룹 설정 버튼은 유지
- justify-end로 버튼 오른쪽 정렬

UI 개선:
- 데이터 영역 확대로 더 많은 정보 표시
- 중복 정보 제거로 깔끔한 인터페이스
- 필요한 설정 버튼만 간결하게 배치
2025-11-03 14:28:03 +09:00
kjs 4386a009a4 refactor: FlowWidget 스텝 카드에서 스텝 이름 제거
- 스텝 이름(stepName) 표시 영역 완전 제거
- 데이터 건수만 표시하도록 간소화
- 하단 선택 바와 건수만으로 스텝 구분
- 패딩 조정 (pb-5 -> pb-3, pb-6 -> pb-4)

UI 개선:
- 스텝 영역 높이 감소로 공간 절약
- 더 많은 데이터 표시 공간 확보
- 시각적으로 더 간결한 인터페이스
2025-11-03 14:25:53 +09:00
kjs ac40f0227e refactor: TableListComponent와 FlowWidget 상단 헤더 제거
- TableListComponent: showHeader 조건부 렌더링 제거
  - 타이틀 표시 영역 삭제
  - 공간 절약을 위해 헤더 완전 제거

- FlowWidget: 플로우 제목 및 설명 영역 제거
  - flowData.name 표시 영역 삭제
  - flowData.description 표시 영역 삭제
  - 더 많은 데이터 표시 공간 확보

UI 개선:
- 불필요한 헤더 제거로 컨텐츠 영역 확대
- 더 많은 데이터를 한 화면에 표시 가능
2025-11-03 14:23:53 +09:00
kjs 71f38a38e0 fix: FlowWidget groupSettingKey 변수명 오류 수정
- selectedStep -> selectedStepId로 수정
- groupSettingKey 선언 위치를 useEffect 이전으로 이동
- 중복 선언 제거
2025-11-03 14:19:13 +09:00
kjs eb9c85f786 feat: FlowWidget에 그룹핑 기능 구현
- TableListComponent와 동일한 그룹핑 기능 적용
- 다중 컬럼 선택으로 계층적 그룹화 지원
- 그룹 설정 다이얼로그 추가
- 그룹별 데이터 펼치기/접기 기능
- 그룹 헤더에 항목 개수 표시
- localStorage에 그룹 설정 저장/복원
- 그룹 해제 버튼 추가
- 그룹 표시 배지 UI

주요 기능:
- 플로우 스텝 데이터에 그룹화 적용
- filteredData와 stepData 모두 지원
- 그룹 없을 때는 기존 페이지네이션 유지
- 그룹 있을 때는 모든 그룹 데이터 표시
2025-11-03 14:13:12 +09:00
kjs 297870a24c feat: TableListComponent에 FlowWidget과 동일한 필터 설정 UI 구현
- 전체 선택/해제 기능 추가
- 선택된 컬럼 개수 표시 추가
- 필터 설정 localStorage 저장/로드 기능
- 체크된 항목만 실제 검색 필터로 표시
- 저장 시 Toast 알림 추가
- FlowWidget과 완전히 동일한 UI/UX 적용
2025-11-03 13:59:12 +09:00
kjs cbf8576897 feat: DataTableTemplate에 플로우 위젯 스타일 검색 필터 기능 추가
 새로운 기능
- 플로우 위젯과 동일한 검색 필터 설정 기능 구현
- 사용자가 원하는 컬럼만 선택하여 검색 가능
- localStorage 기반 필터 설정 저장/복원

🎨 UI 추가
- '검색 필터 설정' 버튼 (FlowWidget 스타일)
- 선택된 컬럼의 동적 검색 입력 필드
- 필터 개수 뱃지 표시
- 체크박스 기반 필터 설정 다이얼로그

🔧 기술적 구현
- searchFilterColumns 상태로 선택된 컬럼 관리
- searchValues 상태로 각 컬럼별 검색값 관리
- useAuth 훅으로 사용자별 필터 설정 저장
- Grid 레이아웃으로 검색 필드 반응형 배치

📝 변경된 파일
- frontend/components/screen/templates/DataTableTemplate.tsx

 테스트 완료
- 필터 설정 저장/복원
- 동적 검색 필드 생성
- 반응형 레이아웃
- 미리보기 모드에서 비활성화
2025-11-03 13:51:08 +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 3a75549ffe fix: 체크박스 컬럼을 48px 고정 너비로 설정
- InteractiveDataTable의 체크박스 컬럼/셀을 48px 고정
- width, minWidth, maxWidth 모두 48px로 설정
- 플로우 위젯처럼 작고 깔끔한 체크박스 컬럼
- 리사이즈 대상에서 제외
2025-11-03 12:22:13 +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
dohyeons d536fd01da Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-11-03 11:59:17 +09:00
dohyeons 7edd0cc1b0 통계 카드 수정 2025-11-03 11:55:40 +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 107f722e7a fix: 실제 화면에서 컴포넌트 드래그 비활성화
- RealtimePreviewDynamic의 draggable을 isDesignMode 조건부로 변경
- 디자인 모드(화면 편집)에서만 드래그 가능
- 실제 화면(프리뷰/실행)에서는 드래그 불가능
- onDragStart, onDragEnd도 조건부로 적용
2025-11-03 10:52:28 +09:00
kjs 56cd2a9407 fix: 컬럼 리사이즈 시 컴포넌트 드래그 이벤트 전파 방지
- e.stopPropagation() 추가로 리사이즈 핸들 드래그 시 상위 컴포넌트로 이벤트 전파 차단
- 화면 디자이너에서 컴포넌트가 의도치 않게 이동되는 문제 해결
2025-11-03 10:51:10 +09:00
kjs a3a4664bb0 fix: 컬럼 리사이즈 중 텍스트 선택 방지
- 컬럼 헤더에 select-none, userSelect: 'none' 추가
- 드래그 중 document.body.userSelect = 'none'으로 전역 텍스트 선택 차단
- 드래그 완료 후 userSelect 복원
- 드래그 중 cursor를 col-resize로 고정하여 UX 개선
2025-11-03 10:49:09 +09:00
kjs b40e3d4b8b feat: InteractiveDataTable 컬럼 너비 드래그 조절 기능 추가
- 각 컬럼 헤더 오른쪽에 리사이즈 핸들 추가
- 드래그로 컬럼 너비를 자유롭게 조절 가능
- 최소 너비 80px 보장
- 마지막 컬럼 제외하고 모든 컬럼에 리사이즈 핸들 표시
- hover 시 파란색으로 강조되어 UX 개선
2025-11-03 10:46:17 +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 c9905a6dea debug: 숫자 컬럼 포맷팅 디버그 로그 추가
- 어떤 컬럼이 숫자 포맷팅을 시도하는지 확인
- widgetType과 실제 값의 타입을 콘솔에 출력
- 콤마가 안 찍히는 컬럼 원인 파악용
2025-11-03 10:07:32 +09:00
kjs c9eacb8f4a feat: 모든 숫자에 천 단위 콤마 자동 표시
- InteractiveDataTable: number/decimal 타입 셀에 천 단위 콤마 적용
- FlowWidget: 스텝 카운트, 데이터 셀, 페이지 정보에 천 단위 콤마 적용
- formatValue 함수로 숫자 자동 감지 및 포맷팅
- 문자열로 저장된 숫자도 자동으로 포맷팅 처리
- toLocaleString('ko-KR') 사용으로 한국식 숫자 표기
2025-11-03 10:00:16 +09:00
kjs 2ddda380f2 fix: 제어관리 제목 입력 시 백스페이스로 노드가 삭제되는 문제 해결
- FlowToolbar의 플로우 이름 입력 필드에 onKeyDown 이벤트 핸들러 추가
- e.stopPropagation()으로 키 이벤트가 FlowEditor로 전파되지 않도록 차단
- FlowEditor의 Backspace/Delete 키 처리가 입력 필드에 영향을 주지 않도록 수정
2025-11-03 09:58:44 +09:00
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
dohyeons 21f4f30859 통계 카드 작동하도록 고침 2025-10-31 18:27:43 +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
dohyeons 6d9c7ed7bf 지도쪽 가능하게 수정 2025-10-31 14:07:02 +09:00
dohyeons 085679a95a 리스트 위젯 컨텐츠가 렌더링이 안되는 문제 해결 2025-10-31 12:10:46 +09:00
dohyeons b54413978b Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-10-31 11:02:15 +09:00
dohyeons e086719235 위젯 사이드바 통일 2025-10-31 11:02:06 +09:00
kjs afc384f0d9 fix: AppLayout overflow-hidden으로 인한 스크롤 비활성화 문제 수정
- main 태그의 overflow-hidden을 overflow-auto로 변경하여 스크롤 복구
- 모든 페이지에서 스크롤이 정상 작동하도록 수정
2025-10-31 11:01:02 +09:00
dohyeons cff8f39bc3 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-10-31 10:56:08 +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
dohyeons a580ed186d Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feat/dashboard 2025-10-31 10:16:58 +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
dohyeons 9953014b88 DashboardDesigner 오류 해결 2025-10-30 18:10:52 +09:00
dohyeons 5d1d11869c 대시보드 관리 수정 2025-10-30 18:05:45 +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
dohyeons 95dc16160e 삭제 확인 모달 공통 컴포넌트 분리(대시보드에만 적용) 2025-10-30 16:25:57 +09:00
dohyeons 7b6132953c 사이드바 크기 조절 2025-10-30 16:20:19 +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
kjs 2a968ab3cf 플로우 위젯 검색 리스트 2025-10-28 14:55:41 +09:00
leeheejin fb73ee2878 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Please enter a commit message to explain why this merge is necessary,
; especially if it merges an updated upstream into a topic branch.
;
; Lines starting with ';' will be ignored, and an empty message aborts
; the commit.
2025-10-28 13:40:37 +09:00