refactor(flow!): Remove paneReady state value

This commit is contained in:
Braks
2022-04-11 11:30:10 +02:00
parent 2d7e2a710f
commit 60feb5d661
4 changed files with 39 additions and 50 deletions
@@ -26,7 +26,6 @@ onMounted(() => {
}
store.instance = instance
store.fitViewOnInit && instance.fitView()
store.paneReady = true
store.hooks.paneReady.trigger(instance)
})
+39 -47
View File
@@ -24,56 +24,48 @@ export default (state: State): ComputedGetters => {
})
const getNodes = computed<GraphNode[]>(() => {
if (state.paneReady) {
const nodes = state.nodes.filter((n) => !n.hidden)
return state.onlyRenderVisibleElements
? nodes &&
getNodesInside(
nodes,
{
x: 0,
y: 0,
width: state.dimensions.width,
height: state.dimensions.height,
},
state.transform,
true,
)
: nodes ?? []
}
return []
const nodes = state.nodes.filter((n) => !n.hidden)
return state.onlyRenderVisibleElements
? nodes &&
getNodesInside(
nodes,
{
x: 0,
y: 0,
width: state.dimensions.width,
height: state.dimensions.height,
},
state.transform,
true,
)
: nodes ?? []
})
const getEdges = computed<GraphEdge[]>(() => {
if (state.paneReady) {
if (!state.onlyRenderVisibleElements)
return state.edges.filter(
(e) => !e.hidden && e.targetNode && !e.targetNode.hidden && e.sourceNode && !e.sourceNode.hidden,
)
else
return state.edges.filter(
(e) =>
!e.hidden &&
e.sourceNode.dimensions.width &&
e.sourceNode.dimensions.height &&
e.targetNode.dimensions.width &&
e.targetNode.dimensions.height &&
!e.targetNode.hidden &&
!e.sourceNode.hidden &&
isEdgeVisible({
sourcePos: e.sourceNode.computedPosition || { x: 0, y: 0 },
targetPos: e.targetNode.computedPosition || { x: 0, y: 0 },
sourceWidth: e.sourceNode.dimensions.width,
sourceHeight: e.sourceNode.dimensions.height,
targetWidth: e.targetNode.dimensions.width,
targetHeight: e.targetNode.dimensions.height,
width: state.dimensions.width,
height: state.dimensions.height,
transform: state.transform,
}),
)
}
return []
if (!state.onlyRenderVisibleElements)
return state.edges.filter((e) => !e.hidden && e.targetNode && !e.targetNode.hidden && e.sourceNode && !e.sourceNode.hidden)
else
return state.edges.filter(
(e) =>
!e.hidden &&
e.sourceNode.dimensions.width &&
e.sourceNode.dimensions.height &&
e.targetNode.dimensions.width &&
e.targetNode.dimensions.height &&
!e.targetNode.hidden &&
!e.sourceNode.hidden &&
isEdgeVisible({
sourcePos: e.sourceNode.computedPosition || { x: 0, y: 0 },
targetPos: e.targetNode.computedPosition || { x: 0, y: 0 },
sourceWidth: e.sourceNode.dimensions.width,
sourceHeight: e.sourceNode.dimensions.height,
targetWidth: e.targetNode.dimensions.width,
targetHeight: e.targetNode.dimensions.height,
width: state.dimensions.width,
height: state.dimensions.height,
transform: state.transform,
}),
)
})
const getSelectedNodes: ComputedGetters['getSelectedNodes'] = computed(() => state.nodes.filter((n) => n.selected))
-1
View File
@@ -39,7 +39,6 @@ const defaultState = (): State => ({
nodes: [],
edges: [],
paneReady: false,
initialized: false,
instance: null,
-1
View File
@@ -84,7 +84,6 @@ export interface State<NodeData = ElementData, EdgeData = ElementData>
zoomOnDoubleClick: boolean
preventScrolling: boolean
paneReady: boolean
initialized: boolean
applyDefault: boolean