Files
vexplor/frontend/lib/registry/components/split-panel-layout2/index.ts
SeongHyun Kim 700623aa78 feat: SplitPanelLayout2 마스터-디테일 컴포넌트 구현
좌측 패널(마스터)-우측 패널(디테일) 분할 레이아웃 컴포넌트 추가
EditModal에 isCreateMode 플래그 추가하여 INSERT/UPDATE 분기 처리
dataFilter 기반 정확한 조인 필터링 구현
좌측 패널 선택 데이터를 모달로 자동 전달하는 dataTransferFields 설정 지원
ConfigPanel에서 테이블, 컬럼, 조인 설정 가능
2025-12-03 17:45:22 +09:00

42 lines
1.3 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,
} from "./types";