Skip to content

Commit cc0b8b6

Browse files
committed
refactor(core): remove hidden check from getNodes & getEdges
1 parent 5e9db1c commit cc0b8b6

File tree

2 files changed

+17
-37
lines changed

2 files changed

+17
-37
lines changed

packages/core/src/container/NodeRenderer/NodeRenderer.vue

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,16 @@ import { useVueFlow } from '../../composables'
77
import { ErrorCode, VueFlowError } from '../../utils'
88
import { useNodesInitialized } from '../../composables/useNodesInitialized'
99
10-
const { nodes, nodesDraggable, nodesFocusable, elementsSelectable, nodesConnectable, getNodeTypes, updateNodeDimensions, emits } =
11-
useVueFlow()
10+
const {
11+
getNodes,
12+
nodesDraggable,
13+
nodesFocusable,
14+
elementsSelectable,
15+
nodesConnectable,
16+
getNodeTypes,
17+
updateNodeDimensions,
18+
emits,
19+
} = useVueFlow()
1220
1321
const nodesInitialized = useNodesInitialized()
1422
@@ -23,7 +31,7 @@ watch(
2331
(initialized) => {
2432
if (initialized) {
2533
nextTick(() => {
26-
emits.nodesInitialized(nodes.value)
34+
emits.nodesInitialized(getNodes.value)
2735
})
2836
}
2937
},
@@ -101,7 +109,7 @@ export default {
101109
<div class="vue-flow__nodes vue-flow__container">
102110
<template v-if="resizeObserver">
103111
<NodeWrapper
104-
v-for="node of nodes"
112+
v-for="node of getNodes"
105113
:id="node.id"
106114
:key="node.id"
107115
:resize-observer="resizeObserver"

packages/core/src/store/getters.ts

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { ComputedRef } from 'vue'
22
import { computed } from 'vue'
33
import type { ComputedGetters, GraphEdge, GraphNode, State } from '../types'
4-
import { ErrorCode, VueFlowError, getNodesInside, isEdgeVisible } from '../utils'
4+
import { getNodesInside, isEdgeVisible } from '../utils'
55
import { defaultEdgeTypes, defaultNodeTypes } from '../utils/defaultNodesEdges'
66

77
export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds: ComputedRef<string[]>): ComputedGetters {
@@ -58,17 +58,9 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
5858
})
5959

6060
const getNodes: ComputedGetters['getNodes'] = computed(() => {
61-
const nodes: GraphNode[] = []
62-
63-
for (const node of state.nodes) {
64-
if (!node.hidden) {
65-
nodes.push(node)
66-
}
67-
}
68-
6961
if (state.onlyRenderVisibleElements) {
7062
return getNodesInside(
71-
nodes,
63+
state.nodes,
7264
{
7365
x: 0,
7466
y: 0,
@@ -80,34 +72,14 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
8072
)
8173
}
8274

83-
return nodes
75+
return state.nodes
8476
})
8577

86-
const edgeVisible = (e: GraphEdge, source?: GraphNode, target?: GraphNode) => {
87-
source = source ?? getNode.value(e.source)
88-
target = target ?? getNode.value(e.target)
89-
90-
if (!source || !target) {
91-
state.hooks.error.trigger(new VueFlowError(ErrorCode.EDGE_ORPHANED, e.id))
92-
return
93-
}
94-
95-
return !e.hidden && !target.hidden && !source.hidden
96-
}
97-
9878
const getEdges: ComputedGetters['getEdges'] = computed(() => {
99-
const edges: GraphEdge[] = []
100-
101-
for (const edge of state.edges) {
102-
if (edgeVisible(edge)) {
103-
edges.push(edge)
104-
}
105-
}
106-
10779
if (state.onlyRenderVisibleElements) {
10880
const visibleEdges: GraphEdge[] = []
10981

110-
for (const edge of edges) {
82+
for (const edge of state.edges) {
11183
const source = getNode.value(edge.source)!
11284
const target = getNode.value(edge.target)!
11385

@@ -131,7 +103,7 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
131103
return visibleEdges
132104
}
133105

134-
return edges
106+
return state.edges
135107
})
136108

137109
const getElements: ComputedGetters['getElements'] = computed(() => [...getNodes.value, ...getEdges.value])

0 commit comments

Comments
 (0)