From 7d41a4c9dbae71db24f005c35d3b6ac4db3e7a56 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 20 Jun 2023 11:08:21 +0200 Subject: [PATCH] refactor(edges): adjust elevateEdgesOnSelect --- packages/system/src/utils/edges/general.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/system/src/utils/edges/general.ts b/packages/system/src/utils/edges/general.ts index 69c5d638..e15d9269 100644 --- a/packages/system/src/utils/edges/general.ts +++ b/packages/system/src/utils/edges/general.ts @@ -43,12 +43,15 @@ export function groupEdgesByZLevel( let z = hasZIndex ? edge.zIndex! : 0; if (elevateEdgesOnSelect) { - z = hasZIndex - ? edge.zIndex! - : Math.max( - nodes.find((n) => n.id === edge.source)?.[internalsSymbol]?.z || 0, - nodes.find((n) => n.id === edge.target)?.[internalsSymbol]?.z || 0 - ); + const targetNode = nodes.find((n) => n.id === edge.target); + const sourceNode = nodes.find((n) => n.id === edge.source); + const edgeOrConnectedNodeSelected = edge.selected || targetNode?.selected || sourceNode?.selected; + const selectedZIndex = Math.max( + sourceNode?.[internalsSymbol]?.z || 0, + targetNode?.[internalsSymbol]?.z || 0, + 1000 + ); + z = (hasZIndex ? edge.zIndex! : 0) + (edgeOrConnectedNodeSelected ? selectedZIndex : 0); } if (tree[z]) {