Kaynağa Gözat

fix: workflow context menu popup issue (#7530)

tags/0.7.2
Yi Xiao 1 yıl önce
ebeveyn
işleme
9618f86980
No account linked to committer's email address

+ 9
- 3
web/app/components/workflow/node-contextmenu.tsx Dosyayı Görüntüle

import { import {
memo, memo,
useEffect,
useRef, useRef,
} from 'react' } from 'react'
import { useClickAway } from 'ahooks' import { useClickAway } from 'ahooks'
import { useStore } from './store' import { useStore } from './store'
import { usePanelInteractions } from './hooks' import { usePanelInteractions } from './hooks'


const PanelContextmenu = () => {
const NodeContextmenu = () => {
const ref = useRef(null) const ref = useRef(null)
const nodes = useNodes() const nodes = useNodes()
const { handleNodeContextmenuCancel } = usePanelInteractions()
const { handleNodeContextmenuCancel, handlePaneContextmenuCancel } = usePanelInteractions()
const nodeMenu = useStore(s => s.nodeMenu) const nodeMenu = useStore(s => s.nodeMenu)
const currentNode = nodes.find(node => node.id === nodeMenu?.nodeId) as Node const currentNode = nodes.find(node => node.id === nodeMenu?.nodeId) as Node


useEffect(() => {
if (nodeMenu)
handlePaneContextmenuCancel()
}, [nodeMenu, handlePaneContextmenuCancel])

useClickAway(() => { useClickAway(() => {
handleNodeContextmenuCancel() handleNodeContextmenuCancel()
}, ref) }, ref)
) )
} }


export default memo(PanelContextmenu)
export default memo(NodeContextmenu)

+ 7
- 1
web/app/components/workflow/panel-contextmenu.tsx Dosyayı Görüntüle

import { import {
memo, memo,
useEffect,
useRef, useRef,
} from 'react' } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
const clipboardElements = useStore(s => s.clipboardElements) const clipboardElements = useStore(s => s.clipboardElements)
const setShowImportDSLModal = useStore(s => s.setShowImportDSLModal) const setShowImportDSLModal = useStore(s => s.setShowImportDSLModal)
const { handleNodesPaste } = useNodesInteractions() const { handleNodesPaste } = useNodesInteractions()
const { handlePaneContextmenuCancel } = usePanelInteractions()
const { handlePaneContextmenuCancel, handleNodeContextmenuCancel } = usePanelInteractions()
const { handleStartWorkflowRun } = useWorkflowStartRun() const { handleStartWorkflowRun } = useWorkflowStartRun()
const { handleAddNote } = useOperator() const { handleAddNote } = useOperator()
const { exportCheck } = useDSL() const { exportCheck } = useDSL()


useEffect(() => {
if (panelMenu)
handleNodeContextmenuCancel()
}, [panelMenu, handleNodeContextmenuCancel])

useClickAway(() => { useClickAway(() => {
handlePaneContextmenuCancel() handlePaneContextmenuCancel()
}, ref) }, ref)

Loading…
İptal
Kaydet