mirror of
https://github.com/langgenius/dify.git
synced 2026-07-15 17:37:38 +08:00
29 lines
1.1 KiB
TypeScript
29 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>
|
|
)
|
|
}
|