fix(core): unselect edge if selected and multi-selection is active
This commit is contained in:
@@ -35,6 +35,7 @@ const EdgeWrapper = defineComponent({
|
|||||||
findEdge,
|
findEdge,
|
||||||
findNode,
|
findNode,
|
||||||
isValidConnection,
|
isValidConnection,
|
||||||
|
multiSelectionActive,
|
||||||
} = useVueFlow()
|
} = useVueFlow()
|
||||||
|
|
||||||
const hooks = useEdgeHooks(props.edge, emits)
|
const hooks = useEdgeHooks(props.edge, emits)
|
||||||
@@ -259,11 +260,19 @@ const EdgeWrapper = defineComponent({
|
|||||||
|
|
||||||
function onEdgeClick(event: MouseEvent) {
|
function onEdgeClick(event: MouseEvent) {
|
||||||
const data = { event, edge }
|
const data = { event, edge }
|
||||||
|
|
||||||
if (props.selectable) {
|
if (props.selectable) {
|
||||||
nodesSelectionActive.value = false
|
nodesSelectionActive.value = false
|
||||||
|
|
||||||
addSelectedEdges([edge])
|
if (edge.selected && multiSelectionActive.value) {
|
||||||
|
removeSelectedEdges([edge])
|
||||||
|
|
||||||
|
edgeEl.value?.blur()
|
||||||
|
} else {
|
||||||
|
addSelectedEdges([edge])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hooks.emit.click(data)
|
hooks.emit.click(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user