dify/web/app/components/workflow/custom-connection-line.tsx

41 lines
767 B
TypeScript
Raw Normal View History

import { memo } from 'react'
import type { ConnectionLineComponentProps } from 'reactflow'
import {
Position,
2024-04-15 15:49:40 +08:00
getBezierPath,
} from 'reactflow'
const CustomConnectionLine = ({ fromX, fromY, toX, toY }: ConnectionLineComponentProps) => {
const [
edgePath,
2024-04-15 15:49:40 +08:00
] = getBezierPath({
sourceX: fromX,
sourceY: fromY,
sourcePosition: Position.Right,
targetX: toX,
targetY: toY,
targetPosition: Position.Left,
2024-04-15 15:49:40 +08:00
curvature: 0.16,
})
return (
<g>
<path
fill="none"
stroke='#D0D5DD'
strokeWidth={2}
d={edgePath}
/>
<rect
x={toX}
y={toY - 4}
width={2}
height={8}
fill='#2970FF'
/>
</g>
)
}
export default memo(CustomConnectionLine)