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.instance = instance
store.fitViewOnInit && instance.fitView() store.fitViewOnInit && instance.fitView()
store.paneReady = true
store.hooks.paneReady.trigger(instance) store.hooks.paneReady.trigger(instance)
}) })
+39 -47
View File
@@ -24,56 +24,48 @@ export default (state: State): ComputedGetters => {
}) })
const getNodes = computed<GraphNode[]>(() => { const getNodes = computed<GraphNode[]>(() => {
if (state.paneReady) { const nodes = state.nodes.filter((n) => !n.hidden)
const nodes = state.nodes.filter((n) => !n.hidden) return state.onlyRenderVisibleElements
return state.onlyRenderVisibleElements ? nodes &&
? nodes && getNodesInside(
getNodesInside( nodes,
nodes, {
{ x: 0,
x: 0, y: 0,
y: 0, width: state.dimensions.width,
width: state.dimensions.width, height: state.dimensions.height,
height: state.dimensions.height, },
}, state.transform,
state.transform, true,
true, )
) : nodes ?? []
: nodes ?? []
}
return []
}) })
const getEdges = computed<GraphEdge[]>(() => { const getEdges = computed<GraphEdge[]>(() => {
if (state.paneReady) { if (!state.onlyRenderVisibleElements)
if (!state.onlyRenderVisibleElements) return state.edges.filter((e) => !e.hidden && e.targetNode && !e.targetNode.hidden && e.sourceNode && !e.sourceNode.hidden)
return state.edges.filter( else
(e) => !e.hidden && e.targetNode && !e.targetNode.hidden && e.sourceNode && !e.sourceNode.hidden, return state.edges.filter(
) (e) =>
else !e.hidden &&
return state.edges.filter( e.sourceNode.dimensions.width &&
(e) => e.sourceNode.dimensions.height &&
!e.hidden && e.targetNode.dimensions.width &&
e.sourceNode.dimensions.width && e.targetNode.dimensions.height &&
e.sourceNode.dimensions.height && !e.targetNode.hidden &&
e.targetNode.dimensions.width && !e.sourceNode.hidden &&
e.targetNode.dimensions.height && isEdgeVisible({
!e.targetNode.hidden && sourcePos: e.sourceNode.computedPosition || { x: 0, y: 0 },
!e.sourceNode.hidden && targetPos: e.targetNode.computedPosition || { x: 0, y: 0 },
isEdgeVisible({ sourceWidth: e.sourceNode.dimensions.width,
sourcePos: e.sourceNode.computedPosition || { x: 0, y: 0 }, sourceHeight: e.sourceNode.dimensions.height,
targetPos: e.targetNode.computedPosition || { x: 0, y: 0 }, targetWidth: e.targetNode.dimensions.width,
sourceWidth: e.sourceNode.dimensions.width, targetHeight: e.targetNode.dimensions.height,
sourceHeight: e.sourceNode.dimensions.height, width: state.dimensions.width,
targetWidth: e.targetNode.dimensions.width, height: state.dimensions.height,
targetHeight: e.targetNode.dimensions.height, transform: state.transform,
width: state.dimensions.width, }),
height: state.dimensions.height, )
transform: state.transform,
}),
)
}
return []
}) })
const getSelectedNodes: ComputedGetters['getSelectedNodes'] = computed(() => state.nodes.filter((n) => n.selected)) const getSelectedNodes: ComputedGetters['getSelectedNodes'] = computed(() => state.nodes.filter((n) => n.selected))
-1
View File
@@ -39,7 +39,6 @@ const defaultState = (): State => ({
nodes: [], nodes: [],
edges: [], edges: [],
paneReady: false,
initialized: false, initialized: false,
instance: null, instance: null,
-1
View File
@@ -84,7 +84,6 @@ export interface State<NodeData = ElementData, EdgeData = ElementData>
zoomOnDoubleClick: boolean zoomOnDoubleClick: boolean
preventScrolling: boolean preventScrolling: boolean
paneReady: boolean
initialized: boolean initialized: boolean
applyDefault: boolean applyDefault: boolean