aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib.ts9
1 files changed, 9 insertions, 0 deletions
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;