ERP-node/frontend/lib/meta-components/index.ts

98 lines
3.0 KiB
TypeScript

/**
* 메타 컴포넌트 V3 통합 인덱스
* - Field, DataView, Action 렌더러
* - Layout, Display, Search, Modal 렌더러 (Phase B)
* - MetaComponentRenderer (통합 디스패처)
* - UnifiedConfigPanel (통합 설정 패널)
* - Reactive Binding Engine
* - API 클라이언트
*/
// 렌더러
export { FieldRenderer } from "./Field/FieldRenderer";
export { DataViewRenderer } from "./DataView/DataViewRenderer";
export { ActionRenderer } from "./Action/ActionRenderer";
export { LayoutRenderer } from "./Layout/LayoutRenderer";
export { DisplayRenderer } from "./Display/DisplayRenderer";
export { SearchRenderer } from "./Search/SearchRenderer";
export { ModalRenderer } from "./Modal/ModalRenderer";
// 통합 디스패처
export { MetaComponentRenderer } from "./MetaComponentRenderer";
// 통합 설정 패널
export { UnifiedConfigPanel } from "./config/UnifiedConfigPanel";
// 뷰
export { TableView } from "./DataView/views/TableView";
export { CardView } from "./DataView/views/CardView";
// 바인딩 엔진
export { ReactiveBindingEngine } from "./bindings/ReactiveBindingEngine";
// API 클라이언트 재export
export * from "../api/metaComponent";
// 마이그레이션 유틸리티
export { migrateTo3_0 } from "./migration/migrateTo3_0";
// V3 → V2 변환기
export {
metaToV2,
metaToV2WithOriginal,
transformAllMetaToV2,
isMetaComponent,
} from "./transform/metaToV2";
// 자동 생성 시스템
export { AutoGenerateModal, generateComponents } from "./auto-generate";
export type { AutoGenerateConfig, AutoGenerateColumn } from "./auto-generate";
// 컴포넌트 레지스트리 등록 (기존 ComponentRegistry와 통합 예정)
// TODO: Phase B에서 ScreenDesigner와 통합
export const META_COMPONENT_REGISTRY = {
"meta-field": {
displayName: "Field (통합 입력)",
category: "meta",
description: "webType에 따라 자동으로 적절한 입력 컴포넌트 렌더링",
icon: "input",
},
"meta-dataview": {
displayName: "DataView (통합 데이터 뷰)",
category: "meta",
description: "같은 데이터를 테이블/카드/리스트 등 다양한 뷰로 표시",
icon: "table",
},
"meta-action": {
displayName: "Action (통합 액션)",
category: "meta",
description: "버튼 + steps 파이프라인으로 복잡한 동작 실행",
icon: "play",
},
"meta-layout": {
displayName: "Layout (레이아웃)",
category: "meta",
description: "columns/rows/tabs/accordion/card 레이아웃 제공",
icon: "layout",
},
"meta-display": {
displayName: "Display (표시)",
category: "meta",
description: "text/heading/badge/alert/stat/progress 등 표시 전용 컴포넌트",
icon: "eye",
},
"meta-search": {
displayName: "Search (검색)",
category: "meta",
description: "simple/advanced/combined 검색 UI 제공",
icon: "search",
},
"meta-modal": {
displayName: "Modal (모달)",
category: "meta",
description: "버튼/행 클릭 등으로 모달 대화상자 표시",
icon: "popup",
},
};