좌측 패널(마스터)-우측 패널(디테일) 분할 레이아웃 컴포넌트 추가 EditModal에 isCreateMode 플래그 추가하여 INSERT/UPDATE 분기 처리 dataFilter 기반 정확한 조인 필터링 구현 좌측 패널 선택 데이터를 모달로 자동 전달하는 dataTransferFields 설정 지원 ConfigPanel에서 테이블, 컬럼, 조인 설정 가능
42 lines
1.3 KiB
TypeScript
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";
|
|
|