import type { ContextMenuActions } from '@langgenius/dify-ui/context-menu' import type { ReactNode } from 'react' import { ContextMenu, ContextMenuTrigger, } from '@langgenius/dify-ui/context-menu' import { useCallback, useRef } from 'react' import { EdgeContextmenu } from './edge-contextmenu' import { NodeContextmenu } from './node-contextmenu' import { PanelContextmenu } from './panel-contextmenu' import { SelectionContextmenu } from './selection-contextmenu' import { useWorkflowStore } from './store' export function WorkflowContextmenu({ children, }: { children: ReactNode }) { const workflowStore = useWorkflowStore() const actionsRef = useRef(null) const clearContextMenuTarget = useCallback(() => { workflowStore.setState({ contextMenuTarget: undefined }) }, [workflowStore]) const closeContextMenu = useCallback(() => { actionsRef.current?.close() }, []) return ( { if (!open) clearContextMenuTarget() }} > }> {children} ) }