Commit Graph

2799 Commits

Author SHA1 Message Date
SeongHyun Kim 9ebc8c4219 POP 디자이너 v5 그리드 시스템 통합 및 그리드 가이드 재설계
레거시 v1~v4 시스템 제거 (6,634줄 순감)
GridGuide SVG → PopRenderer CSS Grid 기반으로 전환
행/열 라벨 추가로 배치 위치 명확화
컴포넌트 타입 pop-sample로 단순화
문서 정리 (ARCHITECTURE, SPEC, CHANGELOG, ADR)
2026-02-05 14:24:14 +09:00
SeongHyun Kim 5f23c13490 feat(pop): - 모드별 컴포넌트 표시/숨김 및 줄바꿈 기능 추가
visibility 속성으로 모드별 컴포넌트 표시/숨김 제어
pop-break 컴포넌트로 Flexbox 강제 줄바꿈 지원 (flex-basis: 100%)
컴포넌트 오버라이드 병합 로직 추가 (모드별 설정 변경 가능)
삭제 시 오버라이드 자동 정리 로직 구현
속성 패널에 "표시" 탭 추가 (체크박스 UI)
팔레트에 "줄바꿈" 컴포넌트 추가
popdocs 문서 정리 (PHASE3_SUMMARY, decisions/002, 기존 문서 업데이트)
2026-02-04 18:23:59 +09:00
SeongHyun Kim 760e545444 feat(pop): 뷰포트 감지 및 비율 스케일링 시스템 추가
- PopFlexRenderer에 뷰포트 너비 감지 기능 추가 (최대 1366px 제한)
- 비율 스케일링 시스템 구현: 컴포넌트 크기, gap, padding에 스케일 적용
- 디자인 모드와 뷰어 모드에서의 스케일 차별화
- 문서 업데이트: 비율 스케일링 시스템 및 적용 위치 설명 추가
2026-02-04 14:19:32 +09:00
SeongHyun Kim 63c00174e1 popdocs 작업 히스토리 기록 2026-02-04 14:19:12 +09:00
SeongHyun Kim 6572519092 feat(pop): v4 레이아웃 비율 스케일링 시스템 구현
- PopFlexRenderer에 BASE_VIEWPORT_WIDTH(1024px) 기준 스케일 계산 추가
- 컴포넌트 크기(fixedWidth/Height), gap, padding에 scale 적용
- 뷰어에서 viewportWidth 동적 감지 및 최대 1366px 제한
- 디자인 모드에서는 scale=1 유지, 뷰어에서만 비율 적용
- DndProvider 없는 환경에서 useDrag/useDrop 에러 방지
- v4 레이아웃 뷰어 렌더링 지원 (isPopLayoutV4 체크)
2026-02-04 14:14:48 +09:00
SeongHyun Kim 223f5c0251 POP v4 제약조건 기반 레이아웃 타입 정의 및 문서 구조 재정리
- v4 타입 추가: PopLayoutDataV4, PopContainerV4, PopSizeConstraintV4
- 핵심 변경: 4모드 위치 지정 → 단일 소스 규칙 기반 (fill/fixed/hug)
- 생성 함수: createEmptyPopLayoutV4(), isV4Layout() 타입 가드
- 문서 정리: popdocs/ 폴더로 통합, 기존 문서 archive/로 이동
2026-02-04 10:14:05 +09:00
SeongHyun Kim de2163bcef POP 레이아웃 v3.0 아키텍처로 전환 - Section 요소 완전 제거
디자이너/뷰어 렌더링 통일 - react-grid-layout 제거, CSS Grid 1fr 단위 사용
반응형 모드 자동 전환 - useResponsiveMode 훅 추가
디자이너 UI 개선 - 컴포넌트 헤더/삭제 아이콘 제거, 전체 영역 드래그
2026-02-03 19:11:03 +09:00
SeongHyun Kim 368d641ae8 feat(pop-designer): POP 디자이너 v2.0 - 4가지 디바이스 모드 및 캔버스 UX 개선
- v2 레이아웃 데이터 구조 도입 (4모드별 별도 레이아웃 + 공유 컴포넌트 정의)
  - tablet_landscape, tablet_portrait, mobile_landscape, mobile_portrait
  - sections/components를 Record<string, Definition> 객체로 관리
  - v1 → v2 자동 마이그레이션 지원

- 캔버스 UX 개선
  - 줌 기능 (30%~150%, 마우스 휠 + 버튼)
  - 패닝 기능 (중앙 마우스, Space+드래그, 배경 드래그)
  - 2개 캔버스 동시 표시 (가로/세로 모드)

- Delete 키로 섹션/컴포넌트 삭제 기능 추가
  - layout.sections 순회하여 componentIds에서 부모 섹션 찾는 방식

- 미리보기 v2 레이아웃 호환성 수정
  - Object.keys(layout.sections).length 체크로 변경

수정 파일: PopDesigner.tsx, PopCanvas.tsx, SectionGridV2.tsx(신규),
          types/pop-layout.ts, PopPanel.tsx, PopScreenPreview.tsx,
          PopCategoryTree.tsx, screenManagementService.ts
2026-02-03 11:25:00 +09:00
SeongHyun Kim d9b7ef9ad4 feat(pop): POP 화면 카테고리 관리 시스템 구현 및 저장/로드 안정화
POP 전용 카테고리 트리 UI 구현 (계층적 폴더 구조)
카테고리 CRUD API 추가 (hierarchy_path LIKE 'POP/%' 필터)
화면 이동 기능 (기존 연결 삭제 후 새 연결 추가 방식)
카테고리/화면 순서 변경 기능 (display_order 교환)
이동 UI를 서브메뉴에서 검색 가능한 모달로 개선
POP 레이아웃 버전 통일 (pop-1.0) 및 로드 로직 수정
DB 스키마 호환성 수정 (writer 컬럼, is_active VARCHAR)
2026-02-02 18:01:05 +09:00
SeongHyun Kim 8c045acab3 feat(pop): POP 화면 관리 시스템 구현
Backend:
- screen_layouts_pop 테이블용 CRUD API 추가 (getLayoutPop, saveLayoutPop, deleteLayoutPop, getScreenIdsWithPopLayout)
- 멀티테넌시 권한 체크 포함

Frontend API:
- screenApi에 POP 레이아웃 함수 4개 추가

POP 관리 페이지:
- popScreenMngList 신규 생성
- isPop prop으로 미리보기 URL 분기 (/pop/screens/{id})
- CreateScreenModal에서 POP 화면 생성 시 빈 레이아웃 자동 생성

POP 디자이너:
- PopDesigner, PopCanvas, PopPanel, SectionGrid 컴포넌트 구현
- react-dnd로 팔레트→캔버스 드래그앤드롭
- react-grid-layout으로 컴포넌트 자유 배치/리사이즈
- 그리드 단순화: 고정 셀 크기(40px) 기반 자동 계산, 그리드 점 제거
- onLayoutChange를 onDragStop/onResizeStop으로 변경하여 드롭 시 크기 유지
2026-02-02 15:15:01 +09:00
DDD1542 3fca677f3d feat: V2Media 컴포넌트 추가 및 통합 미디어 기능 정의
- 새로운 V2Media 컴포넌트를 추가하여 파일, 이미지, 비디오, 오디오 등 다양한 미디어 타입을 지원합니다.
- V2Media의 설정 스키마와 기본 속성을 정의하고, 관련 설정 패널을 통합하였습니다.
- 기존 컴포넌트 목록에 V2Media를 포함시켜 통합 미디어 기능을 강화하였습니다.
- componentConfig 스키마에서 v2-repeater를 제거하여 불필요한 항목을 정리하였습니다.
2026-01-29 14:47:59 +09:00
DDD1542 314d80ccf0 feat: V2Media 컴포넌트 추가 및 통합 미디어 기능 정의
- 새로운 V2Media 컴포넌트를 추가하여 파일, 이미지, 비디오, 오디오 등 다양한 미디어 타입을 지원합니다.
- V2Media의 설정 스키마와 기본 속성을 정의하고, 관련 설정 패널을 통합하였습니다.
- 기존 컴포넌트 목록에 V2Media를 포함시켜 통합 미디어 기능을 강화하였습니다.
- componentConfig 스키마에서 v2-repeater를 제거하여 불필요한 항목을 정리하였습니다.
2026-01-29 14:46:55 +09:00
DDD1542 42ad8cddb3 Merge branch 'feature/v2-unified-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-renewal
; 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.
2026-01-29 14:46:37 +09:00
kjs 924c95ab89 feat: V2 컴포넌트 설정 스키마 정비 및 화면 복제 기능 개선
- 레거시 컴포넌트를 제거하고, V2/V2 컴포넌트 전용 Zod 스키마와 기본값 레지스트리를 통합 관리합니다.
- V2 컴포넌트의 overrides 스키마를 정의하고, 관련된 설정 패널을 통합하였습니다.
- 화면 복제 기능을 개선하여 DB 구조 개편 후의 효율적인 화면 관리를 지원하며, 버튼의 `targetScreenId` 매핑 버그를 수정하였습니다.
- 프리뷰 모드에서 URL 파라미터의 company_code를 우선 사용하도록 변경하였습니다.
- UnifiedRepeater 및 UnifiedSelect 컴포넌트를 추가하여 다양한 데이터 관리 기능을 지원합니다.
2026-01-29 14:45:04 +09:00
kjs 3ab8c9b5a0 feat: V2Repeater 컴포넌트 추가 및 DynamicComponentRenderer 통합 처리 개선
- V2Repeater 컴포넌트를 추가하여 인라인 테이블, 모달, 버튼 등 다양한 반복 데이터 관리를 지원합니다.
- V2RepeaterConfigPanel을 통해 반복 컴포넌트의 설정 패널을 통합하였습니다.
- DynamicComponentRenderer에서 모든 v2- 컴포넌트를 ComponentRegistry에서 통합 처리하도록 개선하여 코드의 일관성을 높였습니다.
- 레거시 타입을 v2 컴포넌트로 매핑하는 로직을 정리하여 가독성을 향상시켰습니다.
2026-01-28 17:58:18 +09:00
kjs 95bef976a5 docs: 다양한 문서 및 가이드 업데이트
- 여러 문서의 내용을 업데이트하여 최신 정보를 반영하였습니다.
- 컴포넌트 개발 가이드와 관련된 문서의 목차를 재구성하고, V2 및 Zod 레이아웃 시스템에 대한 내용을 추가하였습니다.
- 화면 컴포넌트 개발 가이드를 개선하여 핵심 원칙과 패턴을 명확히 설명하였습니다.
- 불필요한 문서 및 가이드를 삭제하고, 통합된 가이드를 통해 개발자들이 쉽게 참고할 수 있도록 하였습니다.
2026-01-28 17:36:19 +09:00
DDD1542 12128f278c refactor: 화면 저장 로직에서 updatedAt 필드 제거 및 버전 정보 주석 수정
- 화면 저장 시 updatedAt 필드를 제거하고, DB에서 updated_at 컬럼으로 관리하도록 변경하였습니다.
- 관련된 주석을 업데이트하여 변경 사항을 명확히 하였습니다.
2026-01-28 17:00:26 +09:00
kjs e0ee375f01 docs: 컴포넌트 개발 가이드 업데이트 및 V2 + Zod 레이아웃 시스템 추가
- 컴포넌트 개발 가이드의 목차를 재구성하여 V2 + Zod 레이아웃 저장/로드 시스템에 대한 내용을 추가하였습니다.
- V2 방식의 저장 및 로드 구조, 핵심 필드, 저장 및 로드 로직을 상세히 설명하였습니다.
- 기존의 섹션 번호를 조정하여 새로운 내용이 자연스럽게 통합되도록 하였습니다.
- Zod 스키마 구조와 관련 파일 목록을 추가하여 개발자들이 쉽게 참고할 수 있도록 하였습니다.
2026-01-28 16:54:39 +09:00
kjs 2fac9371c8 feat: UnifiedSelect 및 DynamicComponentRenderer에서 DISTINCT 값 자동 로드 기능 추가
- UnifiedSelect 컴포넌트에서 columnName이 유효하지 않은 경우 옵션 로드를 건너뛰도록 개선하였습니다.
- DynamicComponentRenderer에서 unified-select의 기본 source를 'distinct'로 설정하여 항상 테이블 컬럼에서 DISTINCT 값을 자동으로 로드하도록 변경하였습니다.
- layoutV2Converter에서 상위 레벨 속성을 추출하고, componentConfig와 병합하여 레거시 구조와의 호환성을 유지하였습니다.
- 관련된 경고 메시지를 추가하여 유효하지 않은 columnName에 대한 정보를 로그로 남기도록 하였습니다.
2026-01-28 16:40:37 +09:00
kjs 4fe512aeda feat: V2/Unified 컴포넌트 설정 스키마 정비 및 레거시 컴포넌트 제거
- 레거시 컴포넌트를 제거하고, V2 및 Unified 컴포넌트 전용 Zod 스키마와 기본값 레지스트리를 통합 관리합니다.
- V2 컴포넌트와 Unified 컴포넌트의 overrides 스키마를 정의하고, 기본값과의 병합 로직을 추가하였습니다.
- 레이아웃 조회 시 V2 테이블을 우선적으로 조회하고, 없을 경우 V1 테이블을 조회하도록 개선하였습니다.
- 관련된 테스트 계획 및 에러 처리 계획을 수립하여 안정성을 높였습니다.
2026-01-28 16:08:19 +09:00
kjs 7a7d06e785 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-28 11:27:35 +09:00
kjs fabd36f4c4 Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-28 11:27:20 +09:00
DDD1542 192b678bce fix: 화면 복제 기능 개선 및 관련 버그 수정
- 화면 복제 기능을 개선하여 DB 구조 개편 후의 효율적인 화면 관리를 지원합니다.
- 그룹 복제 시 버튼의 `targetScreenId`가 새 화면으로 매핑되지 않는 버그를 수정하였습니다.
- 관련된 서비스 및 쿼리에서 `table_type_columns`를 사용하여 라벨 정보를 조회하도록 변경하였습니다.
- 여러 컨트롤러 및 서비스에서 `column_labels` 대신 `table_type_columns`를 참조하도록 업데이트하였습니다.
2026-01-28 11:24:25 +09:00
kjs a06f2eb52c feat: DISTINCT 값 조회 API 추가 및 라우터 설정
- 테이블 컬럼의 DISTINCT 값을 조회하는 API를 추가하였습니다. 이 API는 특정 테이블과 컬럼에서 DISTINCT 값을 반환하여 선택박스 옵션으로 사용할 수 있도록 합니다.
- API 호출 시 멀티테넌시를 고려하여 회사 코드에 따라 필터링을 적용하였습니다.
- 관련된 라우터 설정을 추가하여 API 접근을 가능하게 하였습니다.
- 프론트엔드에서 DISTINCT 값을 조회할 수 있도록 UnifiedSelect 컴포넌트를 업데이트하였습니다.
2026-01-27 23:02:03 +09:00
kjs cc742b27f1 docs: inputType 사용 가이드 및 다국어 지원 컴포넌트 개발 가이드 삭제
- `inputType` 사용 가이드를 삭제하였습니다. 이 가이드는 더 이상 필요하지 않으며, 관련 내용은 다른 문서로 통합되었습니다.
- 다국어 지원 컴포넌트 개발 가이드를 삭제하였습니다. 이 문서는 `component-development-guide.mdc`로 통합되어 더 이상 사용되지 않습니다.
- 통합된 가이드는 새로운 구조와 내용을 포함하고 있어 개발자들이 참고할 수 있도록 안내합니다.
2026-01-27 12:06:34 +09:00
kjs a4862c45f4 docs: 화면 컴포넌트 개발 가이드 업데이트
- 화면 컴포넌트 개발 가이드를 개선하여 핵심 원칙과 패턴을 명확히 설명하였습니다.
- 목차를 재구성하고, V2 컴포넌트 규칙, 표준 Props 인터페이스, 멀티테넌시 관련 내용을 추가하였습니다.
- 각 컴포넌트의 역할과 사용법을 상세히 설명하여 개발자들이 이해하기 쉽게 하였습니다.
- API 호출 시 autoFilter 패턴과 렌더링 최적화 패턴을 포함하여 가이드의 실용성을 높였습니다.
2026-01-27 12:04:16 +09:00
kjs 8a2c13bba8 feat: 렉 구조 컴포넌트 v2 지원 및 불필요한 로그 제거
- 렉 구조 컴포넌트에서 v2-rack-structure를 지원하도록 수정하였습니다. 기존의 rack-structure 컴포넌트는 deprecated 처리되었습니다.
- 불필요한 콘솔 로그 메시지를 제거하여 코드의 가독성을 향상시켰습니다.
- 관련된 컴포넌트에서 v2 구조에 맞게 변경 사항을 반영하였습니다.
2026-01-27 11:14:41 +09:00
kjs 042488d51b feat: 다중 선택 및 일괄 삭제 기능 추가
- 카테고리 값 관리 컴포넌트에 체크박스를 통한 다중 선택 기능을 추가하였습니다.
- 선택된 카테고리를 일괄 삭제할 수 있는 다이얼로그를 구현하였습니다.
- 테이블 관리 서비스에서 다중 선택 처리 로직을 추가하여, 파이프(|)로 구분된 값을 처리하도록 개선하였습니다.
- 관련된 로그 메시지를 추가하여 다중 선택 및 삭제 과정에서의 정보를 기록하도록 하였습니다.
2026-01-27 11:02:20 +09:00
kjs 64cc5c6772 feat: 카테고리 값 삭제 기능 개선 및 하위 카테고리 수집 로직 추가
- 카테고리 값 삭제 시, 자기 자신과 모든 하위 카테고리 ID를 재귀적으로 수집하는 기능을 추가하였습니다.
- 삭제 대상 카테고리 값 수집 완료 후, 하위 카테고리부터 역순으로 삭제하는 로직을 구현하였습니다.
- 관련된 로그 메시지를 추가하여 삭제 과정과 결과를 기록하도록 하였습니다.
- 화면 관리 기능에서 하위 항목 개수를 계산하는 로직을 개선하여 사용자에게 더 정확한 정보를 제공하도록 하였습니다.
2026-01-27 10:06:40 +09:00
kjs 589f5b9222 feat: 화면 기본 테이블 업데이트 기능 추가
- 화면의 기본 테이블을 업데이트하는 기능을 추가하였습니다. 사용자가 선택한 테이블 이름을 화면 레이아웃에 저장하고, 해당 정보를 기반으로 데이터베이스의 화면 정의를 업데이트합니다.
- 관련된 로그 메시지를 추가하여 업데이트 성공 여부를 콘솔에 기록하도록 하였습니다.
- 화면 디자인에서 현재 선택된 테이블을 기본 테이블로 설정하는 로직을 포함하였습니다.
2026-01-27 09:44:26 +09:00
kjs 1753822211 feat: 테스트 테이블에서 채번 규칙 목록 조회 API 추가 및 회사별 카테고리 컬럼 조회 기능 구현
- 테스트 테이블에서 채번 규칙 목록을 조회하는 API를 추가하였습니다. 이 API는 회사 코드와 선택적 메뉴 OBJID를 기반으로 규칙을 반환합니다.
- 회사별 카테고리 컬럼을 조회하는 API를 추가하여, 회사 코드에 따라 카테고리 컬럼을 필터링하여 반환하도록 개선하였습니다.
- 관련된 서비스 및 라우터를 업데이트하여 새로운 기능을 통합하였습니다.
2026-01-26 16:32:20 +09:00
kjs 9b8546ebef fix: 화면 생성 실패 시 에러 메시지 출력 추가
- 화면 생성 중 오류 발생 시, 콘솔에 에러를 기록하고 사용자에게 알림을 통해 에러 메시지를 표시하도록 수정하였습니다.
- 에러 메시지는 서버 응답에서 가져오거나 기본 메시지를 사용합니다.
2026-01-26 15:32:41 +09:00
kjs 351d53cd0c feat: 채번 규칙 저장 API 및 테이블 관리 기능 개선
- 채번 규칙 저장 API에서 ruleName을 필수로 설정하고, tableName과 columnName은 선택적으로 변경하였습니다.
- 테이블 관리 페이지에서 자동 저장 기능을 제거하고, 전체 저장 버튼으로 저장하도록 수정하였습니다.
- 카테고리 컬럼 선택 시, 선택된 컬럼의 테이블 이름과 컬럼 이름을 함께 전달하도록 개선하였습니다.
2026-01-26 14:55:36 +09:00
kjs 607d686535 docs: V2 컴포넌트 가이드 문서 추가
- V2 컴포넌트의 아키텍처, 설계 원칙, 사용법을 정리한 가이드를 추가하였습니다.
- V2 컴포넌트의 개요, 목록, Core 인프라, 이벤트 시스템, 채번/카테고리 시스템, 설정 패널 가이드, 결합도 현황, Unified 폼 컴포넌트, 개발 가이드, 참고 자료 및 향후 계획을 포함하고 있습니다.
- 각 컴포넌트의 특징과 사용법을 상세히 설명하여 개발자들이 V2 컴포넌트를 쉽게 이해하고 활용할 수 있도록 하였습니다.
2026-01-26 12:00:40 +09:00
kjs b39c98c73f feat: V2 Core 및 이벤트 시스템 추가
- V2 Core 라이브러리를 추가하여 느슨한 결합 아키텍처를 지원합니다.
- V2 EventBus를 통해 타입 안전한 이벤트 발행 및 구독 기능을 구현하였습니다.
- V2ErrorBoundary 컴포넌트를 추가하여 각 컴포넌트의 에러를 격리하고, 사용자 정의 폴백 UI 및 재시도 기능을 제공합니다.
- UnifiedRepeater 및 ButtonPrimaryComponent에서 V2 EventBus를 활용하여 이벤트 처리 로직을 개선하였습니다.
- 레거시 이벤트와의 호환성을 위해 LegacyEventAdapter를 추가하여 점진적 마이그레이션을 지원합니다.
- V2 컴포넌트 간의 통신을 위한 이벤트 타입을 정의하였습니다.
2026-01-26 11:34:31 +09:00
kjs b1fba586cb feat: 탭 컨테이너로의 드롭 처리 기능 추가
- 드래그 종료 시 탭 컨테이너에 컴포넌트를 드롭할 수 있는 기능을 구현하였습니다.
- 드래그된 컴포넌트를 탭 내부 컴포넌트로 변환하여 해당 탭에 추가하는 로직을 추가하였습니다.
- 드래그 상태 초기화 및 성공적인 드롭 시 사용자에게 알림을 표시하도록 하였습니다.
2026-01-26 11:04:39 +09:00
kjs 752e16bd40 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-01-26 09:35:00 +09:00
SeongHyun Kim 025c28bdbe fix: 분할 패널 추가 탭(additionalTabs) 수정 버튼이 해당 탭의 editButton 설정을 사용하도록 수정 2026-01-22 20:02:57 +09:00
SeongHyun Kim 294e0e4e18 fix: 분할 패널 추가 탭(additionalTabs) 수정 버튼이 해당 탭의 editButton 설정을 사용하도록 수정 2026-01-22 19:59:28 +09:00
hjlee 52964739f8 Merge pull request 'lhj' (#378) from lhj into main
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/378
2026-01-22 18:20:51 +09:00
leeheejin ba5ee357ca Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into lhj
; Conflicts:
;	frontend/lib/utils/buttonActions.ts
2026-01-22 16:32:13 +09:00
leeheejin ef32de3087 범용폼모달 데이터부분 데이터 삭제해도 안지워지던거 수정 2026-01-22 16:05:18 +09:00
SeongHyun Kim 4495e414b5 Merge remote-tracking branch 'origin/main' into ksh 2026-01-22 14:48:28 +09:00
SeongHyun Kim 1720b6c826 fix(frontend): ModernDatePicker 날짜 범위 자동 정렬 추가 및 조회 불가 문제 해결 2026-01-22 14:44:49 +09:00
kjs 1d068e0a20 리피터 데이터 저장 로직 개선 및 이벤트 처리 추가
- EditModal, InteractiveScreenViewer, SaveModal 컴포넌트에서 리피터 데이터(배열)를 마스터 저장에서 제외하고, 별도로 저장하는 로직을 추가하였습니다.
- 리피터 데이터 저장 이벤트를 발생시켜 UnifiedRepeater 컴포넌트가 이를 리스닝하도록 개선하였습니다.
- 각 컴포넌트에서 최종 저장 데이터 로그를 업데이트하여, 저장 과정에서의 데이터 흐름을 명확히 하였습니다.

이로 인해 데이터 저장의 효율성과 리피터 관리의 일관성이 향상되었습니다.
2026-01-22 14:23:38 +09:00
leeheejin fad1748591 퇴사일 제대로 작동되게 했고 퇴사일 지우면 오류났던거 수정했음요 2026-01-22 14:17:11 +09:00
kjs 7a71b7e98a feat: 엑셀 업로드 모달에 중복 체크 기능 추가
- 엑셀 컬럼과 시스템 컬럼 간의 중복 체크 설정을 위한 체크박스 추가
- 중복 체크 시 처리 방법을 선택할 수 있는 옵션(건너뛰기/덮어쓰기) 추가
- 중복 체크 설정된 컬럼 수 및 관련 안내 메시지 표시
- 중복 체크를 위한 기존 데이터 조회 로직 구현
- 업로드 후 성공/실패/건너뛰기 건수에 대한 상세 결과 메시지 표시
2026-01-22 11:57:12 +09:00
kjs d429e237ee 테이블 간 조인 관계 조회 기능 추가
- 두 테이블 간의 조인 관계를 조회하는 API를 추가하였습니다. 이 API는 메인 테이블과 디테일 테이블을 파라미터로 받아, 해당 테이블 간의 조인 관계를 반환합니다.
- DataflowService에 조인 관계 조회 메서드를 구현하여, 회사 코드에 따라 적절한 조인 정보를 필터링합니다.
- 프론트엔드에서 조인 관계를 캐시하여, 반복적인 API 호출을 줄이고 성능을 개선하였습니다.

이로 인해 마스터-디테일 저장 기능의 효율성이 향상되었습니다.
2026-01-22 11:16:23 +09:00
SeongHyun Kim 0f7cfb484e Merge branch 'ksh' 2026-01-22 11:13:07 +09:00
SeongHyun Kim 57662df8cb feat: UniversalFormModal 필수값 검증 기능 추가
- beforeFormSave 이벤트 핸들러에서 validateRequiredFields() 호출 추가
- 검증 실패 시 validationFailed 플래그로 저장 중단 처리
- 누락된 필수 필드명을 사용자에게 toast로 명확히 표시

- 패널 설정에서 필수 체크 하여도 작동하지 않는 문제 해결
2026-01-22 10:57:15 +09:00