Files
vexplor/frontend/lib/registry/components/v2-table-grouped/TableGroupedRenderer.tsx
kjs b9d6e5854d docs: V2 컴포넌트 목록 및 v2-table-grouped 개발 상태 업데이트
- V2 컴포넌트 목록에 `v2-table-grouped`를 추가하여 총 18개로 업데이트하였습니다.
- `v2-table-grouped`의 구현 완료 상태를 체크리스트에 반영하였으며, 관련 문서화 작업도 완료하였습니다.
- 생산계획관리 화면의 신규 컴포넌트 개발 상태를 업데이트하여 `v2-table-grouped`의 완료를 명시하였습니다.
2026-02-02 09:40:37 +09:00

58 lines
1.6 KiB
TypeScript

"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 (
<TableGroupedComponent
{...this.props}
config={this.props.component?.componentConfig || {}}
isDesignMode={this.props.isDesignMode}
formData={this.props.formData}
componentId={this.props.component?.id}
/>
);
}
// 설정 변경 핸들러
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);
}