ERP-node/frontend/lib/registry/components/split-panel-layout/SplitPanelLayoutRenderer.tsx

41 lines
1.2 KiB
TypeScript

"use client";
import React from "react";
import { AutoRegisteringComponentRenderer } from "../../AutoRegisteringComponentRenderer";
import { SplitPanelLayoutDefinition } from "./index";
import { SplitPanelLayoutComponent } from "./SplitPanelLayoutComponent";
/**
* SplitPanelLayout 렌더러
* 자동 등록 시스템을 사용하여 컴포넌트를 레지스트리에 등록
*/
export class SplitPanelLayoutRenderer extends AutoRegisteringComponentRenderer {
static componentDefinition = SplitPanelLayoutDefinition;
render(): React.ReactElement {
return <SplitPanelLayoutComponent {...this.props} renderer={this} />;
}
/**
* 컴포넌트별 특화 메서드들
*/
// 좌측 패널 데이터 로드
protected async loadLeftPanelData() {
// 좌측 패널 데이터 로드 로직
}
// 우측 패널 데이터 로드 (선택된 항목 기반)
protected async loadRightPanelData(selectedItem: any) {
// 우측 패널 데이터 로드 로직
}
}
// 자동 등록 실행
SplitPanelLayoutRenderer.registerSelf();
// Hot Reload 지원 (개발 모드)
if (process.env.NODE_ENV === "development") {
SplitPanelLayoutRenderer.enableHotReload();
}