1
1
import type { ComputedRef } from 'vue'
2
2
import { computed } from 'vue'
3
3
import type { ComputedGetters , GraphEdge , GraphNode , State } from '../types'
4
- import { ErrorCode , VueFlowError , getNodesInside , isEdgeVisible } from '../utils'
4
+ import { getNodesInside , isEdgeVisible } from '../utils'
5
5
import { defaultEdgeTypes , defaultNodeTypes } from '../utils/defaultNodesEdges'
6
6
7
7
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
58
58
} )
59
59
60
60
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
-
69
61
if ( state . onlyRenderVisibleElements ) {
70
62
return getNodesInside (
71
- nodes ,
63
+ state . nodes ,
72
64
{
73
65
x : 0 ,
74
66
y : 0 ,
@@ -80,34 +72,14 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
80
72
)
81
73
}
82
74
83
- return nodes
75
+ return state . nodes
84
76
} )
85
77
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
-
98
78
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
-
107
79
if ( state . onlyRenderVisibleElements ) {
108
80
const visibleEdges : GraphEdge [ ] = [ ]
109
81
110
- for ( const edge of edges ) {
82
+ for ( const edge of state . edges ) {
111
83
const source = getNode . value ( edge . source ) !
112
84
const target = getNode . value ( edge . target ) !
113
85
@@ -131,7 +103,7 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
131
103
return visibleEdges
132
104
}
133
105
134
- return edges
106
+ return state . edges
135
107
} )
136
108
137
109
const getElements : ComputedGetters [ 'getElements' ] = computed ( ( ) => [ ...getNodes . value , ...getEdges . value ] )
0 commit comments