From ca77d0ef4c5f868fd3a5ba17ba0360c78c079a5e Mon Sep 17 00:00:00 2001 From: moklick Date: Wed, 22 Dec 2021 11:17:29 +0100 Subject: [PATCH] fix(edges): draw connection line when there are no edges closes #1785 --- src/hooks/useVisibleEdges.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hooks/useVisibleEdges.ts b/src/hooks/useVisibleEdges.ts index 204dfe40..148683ba 100644 --- a/src/hooks/useVisibleEdges.ts +++ b/src/hooks/useVisibleEdges.ts @@ -5,6 +5,8 @@ import { isEdgeVisible } from '../container/EdgeRenderer/utils'; import { ReactFlowState, NodeInternals, Edge } from '../types'; import { isNumeric } from '../utils'; +const defaultEdgeTree = [{ level: 0, isMaxLevel: true, edges: [] }]; + function groupEdgesByZLevel(edges: Edge[], nodeInternals: NodeInternals) { let maxLevel = -1; @@ -23,7 +25,7 @@ function groupEdgesByZLevel(edges: Edge[], nodeInternals: NodeInternals) { return tree; }, {}); - return Object.entries(levelLookup).map(([key, edges]) => { + const edgeTree = Object.entries(levelLookup).map(([key, edges]) => { const level = +key; return { @@ -32,6 +34,12 @@ function groupEdgesByZLevel(edges: Edge[], nodeInternals: NodeInternals) { isMaxLevel: level === maxLevel, }; }); + + if (edgeTree.length === 0) { + return defaultEdgeTree; + } + + return edgeTree; } function useVisibleEdges(onlyRenderVisible: boolean, nodeInternals: NodeInternals) {