diff --git a/web/app/components/workflow/custom-edge.tsx b/web/app/components/workflow/custom-edge.tsx index 7da3a6869b..73fc0c8880 100644 --- a/web/app/components/workflow/custom-edge.tsx +++ b/web/app/components/workflow/custom-edge.tsx @@ -23,6 +23,7 @@ const CustomEdge = ({ targetX, targetY, borderRadius: 30, + offset: -20, }) return ( diff --git a/web/app/components/workflow/nodes/_base/node.tsx b/web/app/components/workflow/nodes/_base/node.tsx index 2c803dc0c1..a348fd29c3 100644 --- a/web/app/components/workflow/nodes/_base/node.tsx +++ b/web/app/components/workflow/nodes/_base/node.tsx @@ -2,8 +2,11 @@ import type { FC, ReactNode, } from 'react' -import { memo } from 'react' -import { useNodeId } from 'reactflow' +import { memo, useMemo } from 'react' +import { + getOutgoers, + useNodeId, +} from 'reactflow' import { useWorkflowContext } from '../../context' import { Plus } from '@/app/components/base/icons/src/vender/line/general' @@ -16,9 +19,17 @@ const BaseNode: FC = ({ }) => { const nodeId = useNodeId() const { + nodes, + edges, selectedNodeId, handleSelectedNodeIdChange, } = useWorkflowContext() + const currentNode = useMemo(() => { + return nodes.find(node => node.id === nodeId) + }, [nodeId, nodes]) + const outgoers = useMemo(() => { + return getOutgoers(currentNode!, nodes, edges) + }, [currentNode, nodes, edges]) return (
= ({