mirror of
https://github.com/langgenius/dify.git
synced 2026-05-23 18:38:26 +08:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import type { Node } from './types'
|
|
import {
|
|
ContextMenuContent,
|
|
} from '@langgenius/dify-ui/context-menu'
|
|
import useNodes from '@/app/components/workflow/store/workflow/use-nodes'
|
|
import { NodeActionsContextMenuContent } from './node-actions-menu/context-menu-content'
|
|
import { NODE_ACTIONS_MENU_WIDTH_CLASS_NAME } from './node-actions-menu/shared'
|
|
import { useStore } from './store'
|
|
|
|
export function NodeContextmenu({
|
|
onClose,
|
|
}: {
|
|
onClose: () => void
|
|
}) {
|
|
const nodes = useNodes()
|
|
const contextMenuTarget = useStore(s => s.contextMenuTarget)
|
|
const nodeId = contextMenuTarget?.type === 'node' ? contextMenuTarget.nodeId : undefined
|
|
const currentNode = nodeId ? nodes.find(node => node.id === nodeId) as Node | undefined : undefined
|
|
|
|
if (!nodeId || !currentNode)
|
|
return null
|
|
|
|
return (
|
|
<ContextMenuContent
|
|
popupClassName={NODE_ACTIONS_MENU_WIDTH_CLASS_NAME}
|
|
sideOffset={4}
|
|
>
|
|
<NodeActionsContextMenuContent
|
|
id={currentNode.id}
|
|
data={currentNode.data}
|
|
onClose={onClose}
|
|
showHelpLink
|
|
/>
|
|
</ContextMenuContent>
|
|
)
|
|
}
|