From c0920bfb4d4520d475f3e5e01e3b9e211c888467 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Wed, 4 May 2022 20:45:41 +0200 Subject: [PATCH] refactor(edges): edges z-index 0 by default # What's changed? * only group edges by z-index when `elevateEdgesOnSelect` is true * add `elevateEdgesOnSelect` option --- .../container/EdgeRenderer/EdgeRenderer.vue | 157 ++++++++++++------ .../src/container/VueFlow/VueFlow.vue | 1 + packages/vue-flow/src/store/state.ts | 1 + packages/vue-flow/src/types/flow.ts | 2 + 4 files changed, 111 insertions(+), 50 deletions(-) diff --git a/packages/vue-flow/src/container/EdgeRenderer/EdgeRenderer.vue b/packages/vue-flow/src/container/EdgeRenderer/EdgeRenderer.vue index 74771d18..a3820166 100644 --- a/packages/vue-flow/src/container/EdgeRenderer/EdgeRenderer.vue +++ b/packages/vue-flow/src/container/EdgeRenderer/EdgeRenderer.vue @@ -22,13 +22,14 @@ const { edgesUpdatable, elementsSelectable, getSelectedNodes, + nodesSelectionActive, getNode, getNodes, getEdges, getEdgeTypes, - setState, addSelectedEdges, noPanClassName, + elevateEdgesOnSelect, } = $(useVueFlow()) const selectable = (s?: boolean) => (typeof s === 'undefined' ? elementsSelectable : s) @@ -57,16 +58,22 @@ const connectionLineVisible = $( let groups = $ref>([]) onPaneReady(() => { - watch( - [$$(getSelectedNodes), $$(getEdges), $$(getNodes)], + const stop = watch( + [$$(elevateEdgesOnSelect), $$(getSelectedNodes), $$(getEdges), $$(getNodes)], () => { - nextTick(() => (groups = groupEdgesByZLevel(getEdges, getNode))) + if (elevateEdgesOnSelect) { + nextTick(() => (groups = groupEdgesByZLevel(getEdges, getNode))) + } }, { flush: 'post', immediate: true, }, ) + + onBeforeUnmount(() => { + stop() + }) }) const getType = (type?: string, template?: GraphEdge['template']) => { @@ -96,9 +103,7 @@ const getType = (type?: string, template?: GraphEdge['template']) => { const onEdgeClick = (event: MouseEvent, edge: GraphEdge) => { const data = { event, edge } if (selectable(edge.selectable)) { - setState({ - nodesSelectionActive: false, - }) + $$(nodesSelectionActive).value = false addSelectedEdges([edge]) } @@ -156,49 +161,101 @@ export default {