refactor(core): use computed to group edges
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { WatchStopHandle } from 'vue'
|
|
||||||
import EdgeWrapper from '../../components/Edges/EdgeWrapper'
|
import EdgeWrapper from '../../components/Edges/EdgeWrapper'
|
||||||
import ConnectionLine from '../../components/ConnectionLine/ConnectionLine.vue'
|
import ConnectionLine from '../../components/ConnectionLine/ConnectionLine.vue'
|
||||||
import type { EdgeComponent, EdgeUpdatable, GraphEdge } from '../../types'
|
import type { EdgeComponent, EdgeUpdatable, GraphEdge } from '../../types'
|
||||||
@@ -8,7 +7,6 @@ import MarkerDefinitions from './MarkerDefinitions.vue'
|
|||||||
const slots = inject(Slots)
|
const slots = inject(Slots)
|
||||||
|
|
||||||
const {
|
const {
|
||||||
onPaneReady,
|
|
||||||
connectionStartHandle,
|
connectionStartHandle,
|
||||||
nodesConnectable,
|
nodesConnectable,
|
||||||
edgesUpdatable,
|
edgesUpdatable,
|
||||||
@@ -46,23 +44,14 @@ const connectionLineVisible = $(
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
let groups = $ref<ReturnType<typeof groupEdgesByZLevel>>([])
|
const groups = controlledComputed(
|
||||||
|
[
|
||||||
let stop: WatchStopHandle
|
() => getEdges.map((e) => e.zIndex),
|
||||||
onPaneReady(() => {
|
() => (elevateEdgesOnSelect ? [getSelectedNodes.length] : [0]),
|
||||||
stop = watch(
|
() => (elevateEdgesOnSelect ? getNodesInitialized.map((n) => n.computedPosition.z) : []),
|
||||||
[
|
],
|
||||||
() => getEdges.length,
|
() => groupEdgesByZLevel(getEdges, findNode, elevateEdgesOnSelect),
|
||||||
() => getEdges.map((e) => e.zIndex),
|
)
|
||||||
() => (elevateEdgesOnSelect ? getSelectedNodes.length : 0),
|
|
||||||
() => (elevateEdgesOnSelect ? getNodesInitialized.map((n) => n.computedPosition.z) : []),
|
|
||||||
],
|
|
||||||
() => {
|
|
||||||
groups = groupEdgesByZLevel(getEdges, findNode, elevateEdgesOnSelect)
|
|
||||||
},
|
|
||||||
{ immediate: true },
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
stop?.()
|
stop?.()
|
||||||
|
|||||||
Reference in New Issue
Block a user