From 130ebc45aae74c595f7b21e476f4e0a675f3b43f Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Sun, 27 Mar 2022 21:02:51 +1100 Subject: Make sweep use rect with leaves-to-end if children with children leaves --- src/lib.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/lib.ts b/src/lib.ts index 9e20d29..405e116 100644 --- a/src/lib.ts +++ b/src/lib.ts @@ -581,6 +581,15 @@ let sweepLayout: LayoutFn = function (node, pos, dims, showHeader, allowCollapse } else if (leaves.length == 0){ return rectLayout(node, pos, dims, showHeader, allowCollapse, opts, {subLayoutFn: sweepLayout}); } + // Use rect layout with rectSepdLeaves if children have only leaf children + if (nonLeaves.every(n => n.children.every(n => n.children.length == 0))){ + let tempOpts = {...opts}; + tempOpts.rectSepLeaves = 'end'; + let success = rectLayout(node, pos, dims, showHeader, false, tempOpts); + if (success){ + return true; + } + } // Some variables let headerSz = showHeader ? opts.headerSz : 0; let leavesLyt: LayoutNode | null = null, nonLeavesLyt: LayoutNode | null = null, sweptLeft = false; -- cgit v1.2.3