ERP-node/frontend/components/v2/config-panels/V2TableGroupedConfigPanel.tsx

46 lines
1.3 KiB
TypeScript

"use client";
/**
* V2TableGrouped 설정 패널
* 기존 TableGroupedConfigPanel의 모든 로직(테이블 Combobox, 컬럼 관리, 그룹화 설정,
* 체크박스/페이지네이션/연결 필터 등)을 유지하면서
* componentConfigChanged 이벤트를 추가하여 실시간 업데이트 지원
*/
import React from "react";
import { TableGroupedConfigPanel } from "@/lib/registry/components/v2-table-grouped/TableGroupedConfigPanel";
import type { TableGroupedConfig } from "@/lib/registry/components/v2-table-grouped/types";
interface V2TableGroupedConfigPanelProps {
config: TableGroupedConfig;
onChange: (newConfig: Partial<TableGroupedConfig>) => void;
}
export const V2TableGroupedConfigPanel: React.FC<V2TableGroupedConfigPanelProps> = ({
config,
onChange,
}) => {
const handleChange = (newConfig: Partial<TableGroupedConfig>) => {
onChange(newConfig);
if (typeof window !== "undefined") {
window.dispatchEvent(
new CustomEvent("componentConfigChanged", {
detail: { config: { ...config, ...newConfig } },
})
);
}
};
return (
<TableGroupedConfigPanel
config={config}
onChange={handleChange}
/>
);
};
V2TableGroupedConfigPanel.displayName = "V2TableGroupedConfigPanel";
export default V2TableGroupedConfigPanel;