| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- import type { MouseEvent } from 'react'
 
- import { useCallback } from 'react'
 
- import { useWorkflowStore } from '../store'
 
- export const usePanelInteractions = () => {
 
-   const workflowStore = useWorkflowStore()
 
-   const handlePaneContextMenu = useCallback((e: MouseEvent) => {
 
-     e.preventDefault()
 
-     const container = document.querySelector('#workflow-container')
 
-     const { x, y } = container!.getBoundingClientRect()
 
-     workflowStore.setState({
 
-       panelMenu: {
 
-         top: e.clientY - y,
 
-         left: e.clientX - x,
 
-       },
 
-     })
 
-   }, [workflowStore])
 
-   const handlePaneContextmenuCancel = useCallback(() => {
 
-     workflowStore.setState({
 
-       panelMenu: undefined,
 
-     })
 
-   }, [workflowStore])
 
-   const handleNodeContextmenuCancel = useCallback(() => {
 
-     workflowStore.setState({
 
-       nodeMenu: undefined,
 
-     })
 
-   }, [workflowStore])
 
-   return {
 
-     handlePaneContextMenu,
 
-     handlePaneContextmenuCancel,
 
-     handleNodeContextmenuCancel,
 
-   }
 
- }
 
 
  |