Files
vexplor/frontend/lib/registry/components/split-panel-layout2/index.ts
SeongHyun Kim 3396834417 feat(split-panel-layout2): 그룹핑, 탭 필터링, 설정 모달 기능 추가
- types.ts: GroupingConfig, TabConfig, ColumnDisplayConfig 등 타입 확장
- Component: groupData, generateTabs, filterDataByTab 함수 추가
- ConfigPanel: SearchableColumnSelect, 설정 모달 상태 관리 추가
- 신규 모달: ActionButtonConfigModal, ColumnConfigModal, DataTransferConfigModal
- UniversalFormModal: 연결필드 소스 테이블 Combobox로 변경
2025-12-24 09:08:16 +09:00

50 lines
1.6 KiB
TypeScript

"use client";
import { createComponentDefinition } from "../../utils/createComponentDefinition";
import { ComponentCategory } from "@/types/component";
import type { WebType } from "@/types/screen";
import { SplitPanelLayout2Wrapper } from "./SplitPanelLayout2Component";
import { SplitPanelLayout2ConfigPanel } from "./SplitPanelLayout2ConfigPanel";
import { defaultConfig, componentMeta } from "./config";
/**
* SplitPanelLayout2 컴포넌트 정의
* 마스터-디테일 패턴의 좌우 분할 레이아웃 (개선 버전)
*/
export const SplitPanelLayout2Definition = createComponentDefinition({
id: componentMeta.id,
name: componentMeta.name,
nameEng: componentMeta.nameEng,
description: componentMeta.description,
category: ComponentCategory.LAYOUT,
webType: componentMeta.webType as WebType,
component: SplitPanelLayout2Wrapper,
defaultConfig: defaultConfig,
defaultSize: { width: 1200, height: 600 },
configPanel: SplitPanelLayout2ConfigPanel,
icon: componentMeta.icon,
tags: componentMeta.tags,
version: componentMeta.version,
author: componentMeta.author,
documentation: "https://docs.example.com/components/split-panel-layout2",
});
// 타입 내보내기
export type {
SplitPanelLayout2Config,
LeftPanelConfig,
RightPanelConfig,
JoinConfig,
DataTransferField,
ColumnConfig,
ActionButtonConfig,
ValueSourceConfig,
EntityReferenceConfig,
ModalParamMapping,
} from "./types";
// 모달 컴포넌트 내보내기 (별도 사용 필요시)
export { ColumnConfigModal } from "./ColumnConfigModal";
export { ActionButtonConfigModal } from "./ActionButtonConfigModal";