import React, { useEffect, useMemo } from 'react'; import { GenericCanvas } from '@/components/hmi/GenericCanvas'; interface LayoutContainerWidgetProps { widgetInstanceId: string; onPropsChange: (props: Record) => void; isEditMode?: boolean; // Props from widget settings nestedPageId?: string; nestedPageName?: string; showControls?: boolean; } const LayoutContainerWidget: React.FC = ({ widgetInstanceId, onPropsChange, isEditMode = false, nestedPageId, nestedPageName = 'Nested Canvas', showControls = false, }) => { // Generate a unique pageId for the nested canvas if it doesn't exist. const uniqueNestedPageId = useMemo(() => { if (nestedPageId) { return nestedPageId; } const newId = `nested-layout-${widgetInstanceId}`; return newId; }, [nestedPageId, widgetInstanceId]); // If a new ID was generated, save it back to the widget's props. useEffect(() => { if (!nestedPageId) { setTimeout(() => { onPropsChange({ nestedPageId: uniqueNestedPageId }); }, 0); } }, [nestedPageId, uniqueNestedPageId, onPropsChange]); if (!nestedPageId) { return
Initializing nested layout...
; } return ( ); }; export default LayoutContainerWidget;