Files
vexplor/frontend/lib/registry/pop-components/pop-dashboard/index.tsx
SeongHyun Kim dc523d86c3 feat(pop-dashboard): 페이지 기반 구조 전환 및 설정 패널 고도화
구조 변경:
- grid 모드를 독립 displayMode에서 페이지 내부 그리드 레이아웃으로 전환
- DashboardPage 타입 추가 (각 페이지가 독립 그리드 보유)
- migrateConfig()로 기존 grid/useGridLayout 설정 자동 마이그레이션

설정 패널 (PopDashboardConfig):
- 드롭다운 기반 집계 설정 UI 전면 재작성 (+917줄)
- 테이블/컬럼 선택 Combobox, 페이지 관리, 셀 배치 편집기
- fetchTableList() 추가 (테이블 목록 조회)

컴포넌트/모드 개선:
- GridMode: 반응형 자동 열 축소 (MIN_CELL_WIDTH 기준)
- PopDashboardComponent: 페이지 기반 렌더링 로직
- PopDashboardPreview: 페이지 뱃지 표시

기타:
- ComponentEditorPanel: 탭 콘텐츠 스크롤 수정 (min-h-0 추가)
- types.ts: grid를 displayMode에서 제거, DashboardPage 타입 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 14:22:30 +09:00

36 lines
1.0 KiB
TypeScript

"use client";
/**
* pop-dashboard 컴포넌트 레지스트리 등록 진입점
*
* 이 파일을 import하면 side-effect로 PopComponentRegistry에 자동 등록됨
*/
import { PopComponentRegistry } from "../../PopComponentRegistry";
import { PopDashboardComponent } from "./PopDashboardComponent";
import { PopDashboardConfigPanel } from "./PopDashboardConfig";
import { PopDashboardPreviewComponent } from "./PopDashboardPreview";
// 레지스트리 등록
PopComponentRegistry.registerComponent({
id: "pop-dashboard",
name: "대시보드",
description: "여러 집계 아이템을 묶어서 다양한 방식으로 보여줌",
category: "display",
icon: "BarChart3",
component: PopDashboardComponent,
configPanel: PopDashboardConfigPanel,
preview: PopDashboardPreviewComponent,
defaultProps: {
items: [],
pages: [],
displayMode: "arrows",
autoSlideInterval: 5,
autoSlideResumeDelay: 3,
showIndicator: true,
gap: 8,
},
touchOptimized: true,
supportedDevices: ["mobile", "tablet"],
});