aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTerry Truong <terry06890@gmail.com>2022-06-17 20:37:53 +1000
committerTerry Truong <terry06890@gmail.com>2022-06-17 20:39:02 +1000
commit1c14e8fbcec5176a53b7f4923ca8c4237a37b91f (patch)
tree61e16f0f2ca388c151a7c058189b1f5eea8a8de5
parent6f257826efdd3271b94b3ab781c1972d1058d66f (diff)
Make swept-nodes-area leave space for at least 1 non-leaf
Also fix sweep-to-parent setting not being saved.
-rw-r--r--src/components/SettingsModal.vue2
-rw-r--r--src/layout.ts5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue
index 965abc1..595b145 100644
--- a/src/components/SettingsModal.vue
+++ b/src/components/SettingsModal.vue
@@ -39,7 +39,7 @@ export default defineComponent({
this.$emit('tree-change');
},
onSave(){
- const savedLytOpts = ['tileSpacing', 'minTileSz', 'maxTileSz', 'layoutType', 'sweepMode', ];
+ const savedLytOpts = ['tileSpacing', 'minTileSz', 'maxTileSz', 'layoutType', 'sweepMode', 'sweepToParent', ];
for (let prop of savedLytOpts){
localStorage.setItem('lyt ' + prop, String(this.lytOpts[prop as keyof LayoutOptions]));
}
diff --git a/src/layout.ts b/src/layout.ts
index 23f95aa..f371044 100644
--- a/src/layout.ts
+++ b/src/layout.ts
@@ -629,8 +629,9 @@ let sweepLayout: LayoutFn = function (node, pos, dims, showHeader, allowCollapse
let newPos = [0, headerSz];
let newDims: [number,number] = [dims[0], dims[1] - headerSz];
leavesLyt = new LayoutNode('SWEEP_' + node.name, leaves);
- let minSz = opts.minTileSz + opts.tileSpacing*2;
- let sweptW = Math.max(minSz, newDims[0] * ratio), sweptH = Math.max(minSz, newDims[1] * ratio);
+ let minSz = opts.minTileSz + opts.tileSpacing*4;
+ let sweptW = Math.min(Math.max(minSz, newDims[0] * ratio), newDims[0] - minSz);
+ let sweptH = Math.min(Math.max(minSz, newDims[1] * ratio), newDims[0] - minSz);
let leavesSuccess: boolean;
switch (opts.sweepMode){
case 'left':