fix(edges): Check if connection exists for new connection
This commit is contained in:
@@ -70,7 +70,7 @@ const handleEdgeUpdater = (event: MouseEvent, isSourceHandle: boolean) => {
|
|||||||
undefined,
|
undefined,
|
||||||
isSourceHandle ? 'target' : 'source',
|
isSourceHandle ? 'target' : 'source',
|
||||||
(connection) => {
|
(connection) => {
|
||||||
if (!connectionExists(edge, getEdges)) emits.edgeUpdate({ edge, connection })
|
if (!connectionExists(connection, getEdges)) emits.edgeUpdate({ edge, connection })
|
||||||
},
|
},
|
||||||
() => emits.edgeUpdateEnd({ event, edge }),
|
() => emits.edgeUpdateEnd({ event, edge }),
|
||||||
)
|
)
|
||||||
@@ -172,7 +172,7 @@ export default {
|
|||||||
<g
|
<g
|
||||||
:class="getClass()"
|
:class="getClass()"
|
||||||
@click="onEdgeClick"
|
@click="onEdgeClick"
|
||||||
@dblClick="onDoubleClick"
|
@dbl-click="onDoubleClick"
|
||||||
@contextmenu="onEdgeContextMenu"
|
@contextmenu="onEdgeContextMenu"
|
||||||
@mouseenter="onEdgeMouseEnter"
|
@mouseenter="onEdgeMouseEnter"
|
||||||
@mousemove="onEdgeMouseMove"
|
@mousemove="onEdgeMouseMove"
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ export const getIncomers = (node: GraphNode, elements: Elements) => getConnected
|
|||||||
export const getEdgeId = ({ source, sourceHandle, target, targetHandle }: Connection) =>
|
export const getEdgeId = ({ source, sourceHandle, target, targetHandle }: Connection) =>
|
||||||
`vueflow__edge-${source}${sourceHandle ?? ''}-${target}${targetHandle ?? ''}`
|
`vueflow__edge-${source}${sourceHandle ?? ''}-${target}${targetHandle ?? ''}`
|
||||||
|
|
||||||
export const connectionExists = (edge: Edge, elements: Elements) =>
|
export const connectionExists = (edge: Edge | Connection, elements: Elements) =>
|
||||||
elements.some(
|
elements.some(
|
||||||
(el) =>
|
(el) =>
|
||||||
isEdge(el) &&
|
isEdge(el) &&
|
||||||
|
|||||||
Reference in New Issue
Block a user