Files
vexplor/frontend/lib/registry/components/entity-search-input/EntitySearchInputRenderer.tsx
SeongHyun Kim 108af2a68b feat: Section Card/Paper 레이아웃 컴포넌트 추가 및 설정 패널 통합
새로운 그룹화 레이아웃 컴포넌트 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)
2025-11-18 11:28:22 +09:00

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();
}