새로운 그룹화 레이아웃 컴포넌트 2종 추가: - Section Card: 제목+테두리 기반 명확한 섹션 구분 - Section Paper: 배경색 기반 미니멀한 섹션 구분 주요 변경사항: - 새 컴포넌트 등록 (각 4개 파일: Component, ConfigPanel, Renderer, index) - UnifiedPropertiesPanel에 인라인 설정 UI 추가 (280줄) - DetailSettingsPanel ConfigPanel 인터페이스 통일화 (config → componentConfig) - getComponentConfigPanel에 동적 import 매핑 추가 - 기존 컴포넌트 타입 정리 (autocomplete, entity-search, modal-repeater) 특징: - shadcn/ui 기반 일관된 디자인 시스템 준수 - 중첩 박스 금지 원칙 적용 - 반응형 지원 (모바일 우선) - collapsible 기능 지원 (Section Card)
34 lines
973 B
TypeScript
34 lines
973 B
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { AutoRegisteringComponentRenderer } from "../../AutoRegisteringComponentRenderer";
|
|
import { EntitySearchInputDefinition } from "./index";
|
|
import { EntitySearchInputComponent } from "./EntitySearchInputComponent";
|
|
|
|
/**
|
|
* EntitySearchInput 렌더러
|
|
* 자동 등록 시스템을 사용하여 컴포넌트를 레지스트리에 등록
|
|
*/
|
|
export class EntitySearchInputRenderer extends AutoRegisteringComponentRenderer {
|
|
static componentDefinition = EntitySearchInputDefinition;
|
|
|
|
render(): React.ReactElement {
|
|
return <EntitySearchInputComponent {...this.props} renderer={this} />;
|
|
}
|
|
|
|
/**
|
|
* 값 변경 처리
|
|
*/
|
|
protected handleValueChange = (value: any) => {
|
|
this.updateComponent({ value });
|
|
};
|
|
}
|
|
|
|
// 자동 등록 실행
|
|
EntitySearchInputRenderer.registerSelf();
|
|
|
|
// Hot Reload 지원 (개발 모드)
|
|
if (process.env.NODE_ENV === "development") {
|
|
EntitySearchInputRenderer.enableHotReload();
|
|
}
|