import React, { useContext } from 'react'; import { AppContext, type AppContextProps } from '../../contexts/AppContext'; import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext'; import { Paper } from '@mui/material'; import { type GridItem } from 'react-grid-layout'; import FederationTable from '../../components/FederationTable'; interface FederationWidgetProps { layout: GridItem; gridCellSize: number; style?: React.StyleHTMLAttributes; className?: string; onMouseDown?: () => void; onMouseUp?: () => void; onTouchEnd?: () => void; } const FederationWidget = React.forwardRef(function Component( { layout, gridCellSize, style, className, onMouseDown, onMouseUp, onTouchEnd, }: FederationWidgetProps, ref, ) { const { open, setOpen } = useContext(AppContext); const { federation, setFocusedCoordinator, coordinatorUpdatedAt } = useContext(FederationContext); return React.useMemo(() => { return ( setOpen({ ...open, coordinator: true })} maxWidth={layout.w * gridCellSize} // EM units maxHeight={layout.h * gridCellSize} // EM units /> ); }, [federation, coordinatorUpdatedAt]); }); export default FederationWidget;