ERP-node/frontend
SeongHyun Kim 578cca2687 feat(pop-dashboard): 4가지 아이템 모드 완성 - 설정 UI 추가 및 버그 수정
설정 패널 (PopDashboardConfig):
- groupBy(X축 분류) Combobox 설정 UI 추가
- 차트 xAxisColumn/yAxisColumn 입력 UI 추가
- 통계 카드 카테고리 추가/삭제/편집 인라인 에디터 추가
- 대상 컬럼 Select를 Combobox(검색 가능)로 개선

데이터 처리 버그 수정 (PopDashboardComponent):
- 차트: groupBy 있을 때 xAxisColumn 자동 보정 로직 추가
- 통계 카드: 카테고리별 필터 실제 적용 (기존: 모든 카테고리에 rows.length 동일 입력)
- useCallback 의존성 안정화 (visibleItemIds 문자열 키 사용)
- refreshInterval 최소 5초 강제

데이터 fetcher 방어 로직 (dataFetcher.ts):
- validateDataSourceConfig() 추가: 설정 미완료 시 SQL 전송 차단
- 빈 필터/불완전 조인 건너뜀 처리
- COUNT 컬럼 미선택 시 COUNT(*) 자동 처리
- fetchTableColumns() 이중 폴백 (tableManagementApi -> dashboardApi)

아이템 UI 개선:
- KPI/차트/게이지/통계 카드 패딩 및 폰트 크기 조정
- 작은 셀에서도 라벨/단위/증감율 표시되도록 hidden 제거

기타:
- GridMode MIN_CELL_WIDTH 160 -> 80 축소
- PLAN.MD: 대시보드 4가지 아이템 모드 완성 계획으로 갱신
- STATUS.md: 프로젝트 상태 추적 파일 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 16:12:29 +09:00
..
app feat(pop): 뷰어 스크롤 수정 및 컴포넌트 레지스트리 연동 2026-02-09 19:31:46 +09:00
components feat(pop-dashboard): 페이지 기반 구조 전환 및 설정 패널 고도화 2026-02-10 14:22:30 +09:00
constants 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
contexts feat: 레이어 시스템 추가 및 관리 기능 구현 2026-02-06 09:51:29 +09:00
docs 액션 노드들 로직 구현 2025-10-02 17:51:15 +09:00
hooks feat(pop-designer): 반응형 그리드 시스템 고도화 2026-02-06 15:30:57 +09:00
lib feat(pop-dashboard): 4가지 아이템 모드 완성 - 설정 UI 추가 및 버그 수정 2026-02-10 16:12:29 +09:00
providers 현대적 라이브러리 도입 완료 2025-09-02 18:25:44 +09:00
public 날씨 2025-10-23 13:17:21 +09:00
scripts ui 수정 및 시현할 기능 업데이트 2025-10-02 14:34:15 +09:00
stores 모달열기 액션 통합 2026-01-05 17:44:32 +09:00
test-scenarios docs: 다양한 문서 및 가이드 업데이트 2026-01-28 17:36:19 +09:00
types Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal 2026-02-06 11:07:56 +09:00
utils ConnectionSetupModal 리팩터링 2025-09-16 15:43:18 +09:00
.dockerignore 최초커밋 2025-08-21 09:41:46 +09:00
.gitignore 최초커밋 2025-08-21 09:41:46 +09:00
.prettierignore 최초커밋 2025-08-21 09:41:46 +09:00
.prettierrc 최초커밋 2025-08-21 09:41:46 +09:00
MODAL_REPEATER_TABLE_DEBUG.md fix: 수주등록 항목추가 시 정보출력 가능하게 수정 2025-11-19 11:48:00 +09:00
README.md 화면관리 삭제기능구현 2025-09-08 13:10:09 +09:00
components.json 최초커밋 2025-08-21 09:41:46 +09:00
eslint.config.mjs 자바스크립트용 no-unused-vars 규칙 끄기 2025-08-26 17:21:27 +09:00
middleware.ts 로그인 되어있을 시 /main 으로 이동 2025-10-24 10:09:19 +09:00
next.config.mjs refactor: API URL 처리 및 파일 미리보기 로직 개선 2026-02-06 16:23:38 +09:00
package-lock.json feat: 중첩 구조 지원을 위한 컴포넌트 선택 및 기본값 적용 기능 추가 2026-02-02 17:11:00 +09:00
package.json feat(pop): POP 화면 관리 시스템 구현 2026-02-02 15:15:01 +09:00
postcss.config.mjs 최초커밋 2025-08-21 09:41:46 +09:00
tsconfig.json 배치관리 중간커밋 2025-09-24 10:46:55 +09:00

README.md

This is a Next.js project bootstrapped with create-next-app.

Environment Setup

환경변수 설정

개발 환경에서 파일 미리보기가 정상 작동하도록 하려면 다음 환경변수를 설정하세요:

  1. .env.local 파일을 생성하고 다음 내용을 추가:
# 개발 환경 (Next.js rewrites 사용)
NEXT_PUBLIC_API_URL=/api

# 운영 환경에서는 실제 백엔드 URL 사용
# NEXT_PUBLIC_API_URL=http://39.117.244.52:8080/api
  1. 백엔드 서버가 포트 3000에서 실행되고 있는지 확인
  2. Next.js 개발 서버는 포트 9771에서 실행

파일 미리보기 문제 해결

파일 미리보기에서 CORS 오류가 발생하는 경우:

  1. 백엔드 서버가 정상 실행 중인지 확인
  2. Next.js rewrites 설정이 올바른지 확인 (next.config.mjs)
  3. 환경변수 NEXT_PUBLIC_API_URL이 올바르게 설정되었는지 확인

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.