feat: V2Repeater 컴포넌트 추가 및 DynamicComponentRenderer 통합 처리 개선

- V2Repeater 컴포넌트를 추가하여 인라인 테이블, 모달, 버튼 등 다양한 반복 데이터 관리를 지원합니다.
- V2RepeaterConfigPanel을 통해 반복 컴포넌트의 설정 패널을 통합하였습니다.
- DynamicComponentRenderer에서 모든 v2- 컴포넌트를 ComponentRegistry에서 통합 처리하도록 개선하여 코드의 일관성을 높였습니다.
- 레거시 타입을 v2 컴포넌트로 매핑하는 로직을 정리하여 가독성을 향상시켰습니다.
This commit is contained in:
kjs
2026-01-28 17:58:18 +09:00
parent 95bef976a5
commit 3ab8c9b5a0
2 changed files with 35 additions and 318 deletions

View File

@@ -20,6 +20,7 @@ import { V2Group } from "./V2Group";
import { V2Media } from "./V2Media";
import { V2Biz } from "./V2Biz";
import { V2Hierarchy } from "./V2Hierarchy";
import { V2Repeater } from "./V2Repeater";
// 설정 패널 import
import { V2InputConfigPanel } from "./config-panels/V2InputConfigPanel";
@@ -31,6 +32,7 @@ import { V2GroupConfigPanel } from "./config-panels/V2GroupConfigPanel";
import { V2MediaConfigPanel } from "./config-panels/V2MediaConfigPanel";
import { V2BizConfigPanel } from "./config-panels/V2BizConfigPanel";
import { V2HierarchyConfigPanel } from "./config-panels/V2HierarchyConfigPanel";
import { V2RepeaterConfigPanel } from "./config-panels/V2RepeaterConfigPanel";
// V2 컴포넌트 정의
const v2ComponentDefinitions: ComponentDefinition[] = [
@@ -179,6 +181,31 @@ const v2ComponentDefinitions: ComponentDefinition[] = [
dataSource: "static",
},
},
{
id: "v2-repeater",
name: "통합 반복",
description: "인라인 테이블, 모달, 버튼 등 다양한 반복 데이터 관리를 지원하는 통합 컴포넌트",
category: ComponentCategory.V2,
webType: "entity" as WebType,
component: V2Repeater as any,
tags: ["repeater", "table", "modal", "button", "data", "v2"],
defaultSize: { width: 600, height: 300 },
configPanel: V2RepeaterConfigPanel as any,
defaultConfig: {
renderMode: "inline",
dataSource: {
tableName: "",
foreignKey: "",
referenceKey: "",
},
columns: [],
features: {
showAddButton: true,
showDeleteButton: true,
inlineEdit: false,
},
},
},
];
/**