"use client"; import React from "react"; import { AutoRegisteringComponentRenderer } from "../../AutoRegisteringComponentRenderer"; import { V2TableGroupedDefinition } from "./index"; import { TableGroupedComponent } from "./TableGroupedComponent"; /** * TableGrouped 렌더러 * 자동 등록 시스템을 사용하여 컴포넌트를 레지스트리에 등록 */ export class TableGroupedRenderer extends AutoRegisteringComponentRenderer { static componentDefinition = V2TableGroupedDefinition; render(): React.ReactElement { return ( ); } // 설정 변경 핸들러 protected handleConfigChange = (config: any) => { console.log("📥 TableGroupedRenderer에서 설정 변경 받음:", config); // 상위 컴포넌트의 onConfigChange 호출 (화면 설계자에게 알림) if (this.props.onConfigChange) { this.props.onConfigChange(config); } this.updateComponent({ config }); }; // 값 변경 처리 protected handleValueChange = (value: any) => { this.updateComponent({ value }); }; } // 자동 등록 실행 TableGroupedRenderer.registerSelf(); // 강제 등록 (디버깅용) if (typeof window !== "undefined") { setTimeout(() => { try { TableGroupedRenderer.registerSelf(); } catch (error) { console.error("❌ TableGrouped 강제 등록 실패:", error); } }, 1000); }