diff options
| -rw-r--r-- | src/App.vue | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/App.vue b/src/App.vue index fb921d7..9b39759 100644 --- a/src/App.vue +++ b/src/App.vue @@ -55,7 +55,7 @@ const defaultLytOpts: LayoutOptions = { rectMode: 'auto first-row', //'horz' | 'vert' | 'linear' | 'auto' | 'auto first-row' sweepMode: 'left', //'left' | 'top' | 'shorter' | 'auto' sweptNodesPrio: 'sqrt', //'linear' | 'sqrt' | 'pow-2/3' - sweepToParent: 'prefer', //'none' | 'prefer' | 'fallback' + sweepToParent: 'fallback', //'none' | 'prefer' | 'fallback' }; const defaultUiOpts = { // For tiles @@ -131,6 +131,7 @@ export default defineComponent({ pendingResizeHdlr: 0, // Set via setTimeout() for a non-initial resize event // Other justInitialised: false, + changedSweepToParent: false, // Set during search animation for efficiency excessTolNodeThreshold: 1000, // Threshold where excess tolMap entries are removed (done on tile collapse) }; }, @@ -336,6 +337,10 @@ export default defineComponent({ } this.searchOpen = false; this.modeRunning = true; + if (this.lytOpts.sweepToParent == 'fallback'){ + this.lytOpts.sweepToParent = 'prefer'; + this.changedSweepToParent = true; + } this.expandToNode(name); }, expandToNode(name: string){ @@ -347,6 +352,10 @@ export default defineComponent({ if (targetNode != null && !targetNode.hidden){ this.setLastFocused(targetNode); this.modeRunning = false; + if (this.changedSweepToParent){ + this.lytOpts.sweepToParent = 'fallback'; + this.changedSweepToParent = false; + } return; } // Get nearest in-layout-tree ancestor @@ -693,6 +702,10 @@ export default defineComponent({ this.settingsOpen = false; this.modeRunning = false; this.setLastFocused(null); + if (this.changedSweepToParent){ + this.lytOpts.sweepToParent = 'fallback'; + this.changedSweepToParent = false; + } }, setLastFocused(node: LayoutNode | null){ if (this.lastFocused != null){ |
