@@ -6,7 +6,7 @@ import ConnectionLine from '../../components/ConnectionLine'
6
6
import type { EdgeComponent , EdgeUpdatable , GraphEdge } from ' ../../types'
7
7
import { Slots } from ' ../../context'
8
8
import { useVueFlow } from ' ../../composables'
9
- import { ErrorCode , VueFlowError , groupEdgesByZLevel } from ' ../../utils'
9
+ import { ErrorCode , VueFlowError , getEdgeZIndex } from ' ../../utils'
10
10
import MarkerDefinitions from ' ./MarkerDefinitions.vue'
11
11
12
12
const slots = inject (Slots )
@@ -15,26 +15,14 @@ const {
15
15
edgesUpdatable,
16
16
edgesFocusable,
17
17
elementsSelectable,
18
- getSelectedNodes,
19
18
findNode,
20
- edges,
21
19
getEdges,
22
- getNodesInitialized,
23
20
getEdgeTypes,
24
21
elevateEdgesOnSelect,
25
22
dimensions,
26
23
emits,
27
24
} = useVueFlow ()
28
25
29
- const groups = controlledComputed (
30
- [
31
- () => edges .value .map ((e ) => e .zIndex ),
32
- () => (elevateEdgesOnSelect .value ? [getSelectedNodes .value .length ] : [0 ]),
33
- () => (elevateEdgesOnSelect .value ? getNodesInitialized .value .map ((n ) => n .computedPosition .z ) : []),
34
- ],
35
- () => groupEdgesByZLevel (getEdges .value , findNode , elevateEdgesOnSelect .value ),
36
- )
37
-
38
26
function selectable(edgeSelectable ? : boolean ) {
39
27
return typeof edgeSelectable === ' undefined' ? elementsSelectable .value : edgeSelectable
40
28
}
@@ -81,26 +69,25 @@ export default {
81
69
82
70
<template >
83
71
<template v-if =" dimensions .width && dimensions .height " >
72
+ <svg class =" vue-flow__edges vue-flow__container" >
73
+ <MarkerDefinitions />
74
+ </svg >
75
+
84
76
<svg
85
- v-for =" group of groups "
86
- :key =" group.level "
77
+ v-for =" edge of getEdges "
78
+ :key =" edge.id "
87
79
class =" vue-flow__edges vue-flow__container"
88
- :style =" `z-index: ${group.level}` "
80
+ :style =" { zIndex: getEdgeZIndex(edge, findNode, elevateEdgesOnSelect) } "
89
81
>
90
- <MarkerDefinitions v-if =" group.isMaxLevel" />
91
- <g >
92
- <EdgeWrapper
93
- v-for =" edge of group.edges"
94
- :id =" edge.id"
95
- :key =" edge.id"
96
- :edge =" edge"
97
- :type =" getType(edge.type, edge.template)"
98
- :name =" edge.type || 'default'"
99
- :selectable =" selectable(edge.selectable)"
100
- :updatable =" updatable(edge.updatable)"
101
- :focusable =" focusable(edge.focusable)"
102
- />
103
- </g >
82
+ <EdgeWrapper
83
+ :id =" edge.id"
84
+ :edge =" edge"
85
+ :type =" getType(edge.type, edge.template)"
86
+ :name =" edge.type || 'default'"
87
+ :selectable =" selectable(edge.selectable)"
88
+ :updatable =" updatable(edge.updatable)"
89
+ :focusable =" focusable(edge.focusable)"
90
+ />
104
91
</svg >
105
92
106
93
<ConnectionLine />
0 commit comments