"use client";

import React from "react";
import { AutoRegisteringComponentRenderer } from "../../AutoRegisteringComponentRenderer";
import { UniversalFormModalDefinition } from "./index";
import { UniversalFormModalComponent } from "./UniversalFormModalComponent";

/**
 * 범용 폼 모달 렌더러
 * 자동 등록 시스템을 사용하여 컴포넌트를 레지스트리에 등록
 */
export class UniversalFormModalRenderer extends AutoRegisteringComponentRenderer {
  static componentDefinition = UniversalFormModalDefinition;

  render(): React.ReactElement {
    return <UniversalFormModalComponent {...this.props} />;
  }

  /**
   * 폼 데이터 변경 핸들러
   */
  protected handleFormDataChange = (data: any) => {
    this.updateComponent({ formData: data });
  };

  /**
   * 저장 완료 핸들러
   */
  protected handleSave = (data: any) => {
    console.log("[UniversalFormModalRenderer] 저장 완료:", data);
  };
}

// 자동 등록 실행
UniversalFormModalRenderer.registerSelf();
