From 214bf396b7a946dcfc69dcfd768d3a5b21e0f4da Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Wed, 6 Jul 2022 20:04:03 +1000 Subject: During tutorial, avoid disabling actions the user has already used For auto-mode and search, enable prerequisite actions when used --- src/App.vue | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'src/App.vue') diff --git a/src/App.vue b/src/App.vue index 5c7bbf2..994b2ad 100644 --- a/src/App.vue +++ b/src/App.vue @@ -24,7 +24,7 @@
@@ -68,7 +68,7 @@
+ class="absolute left-0 top-0 w-full h-full z-20" @click="modeRunning = null"> @@ -152,6 +152,7 @@ export default defineComponent({ tutWelcome: !uiOpts.tutorialSkip, tutTriggerAction: null as Action | null, // Used to advance tutorial upon user-actions tutTriggerFlag: false, + actionsDone: new Set() as Set, // Used to avoid disabling actions the user has already seen // Options lytOpts: lytOpts, uiOpts: uiOpts, @@ -509,9 +510,9 @@ export default defineComponent({ console.log('WARNING: Unexpected search event while search/auto mode is running') return; } - if (this.isDisabled('expand') || this.isDisabled('expandToView') || this.isDisabled('unhideAncestor')){ - console.log('INFO: Ignored search action due to disabled expand/expandToView'); - return; + const prereqActions = ['expand', 'expandToView', 'unhideAncestor']; + if (this.isDisabled(...prereqActions)){ + prereqActions.forEach(a => this.uiOpts.disabledActions.delete(a)); } // this.searchOpen = false; @@ -602,10 +603,9 @@ export default defineComponent({ if (this.isDisabled('autoMode')){ return; } - if (this.isDisabled('expand') || this.isDisabled('collapse') || - this.isDisabled('expandToView') || this.isDisabled('unhideAncestor')){ - console.log('INFO: Ignored auto-mode action due to disabled expand/collapse/etc'); - return; + const prereqActions = ['expand', 'collapse', 'expandToView', 'unhideAncestor']; + if (this.isDisabled(...prereqActions)){ + prereqActions.forEach(a => this.uiOpts.disabledActions.delete(a)); } // this.resetMode(); @@ -782,16 +782,16 @@ export default defineComponent({ } }, handleActionForTutorial(action: Action): void { - if (!this.tutPaneOpen){ - return; - } - // Close welcome message on first action - if (this.tutWelcome){ - this.onTutPaneClose(); - } - // Tell TutorialPane if trigger-action was done - if (this.tutTriggerAction == action){ - this.tutTriggerFlag = !this.tutTriggerFlag; + this.actionsDone.add(action); + if (this.tutPaneOpen){ + // Close welcome message on first action + if (this.tutWelcome){ + this.onTutPaneClose(); + } + // Tell TutorialPane if trigger-action was done + if (this.tutTriggerAction == action){ + this.tutTriggerFlag = !this.tutTriggerFlag; + } } }, // For the loading-indicator -- cgit v1.2.3