From c2f8a84645dbb0d3159ad5b3831d0597854690ce Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Mon, 23 May 2022 22:23:53 +1000 Subject: Add help modal button that opens tutorial Needed to add code for skipping tutorial pane's welcome message. Also fixed small unwanted click-propagation bug in SettingsModal. --- src/App.vue | 24 +++++++++++++++++------- src/components/HelpModal.vue | 9 ++++++++- src/components/SettingsModal.vue | 2 +- src/components/TutorialPane.vue | 10 ++++++++-- 4 files changed, 34 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/App.vue b/src/App.vue index 5fdd279..2fdf0e4 100644 --- a/src/App.vue +++ b/src/App.vue @@ -109,6 +109,7 @@ export default defineComponent({ searchOpen: false, settingsOpen: false, tutorialOpen: true, + tutorialFirstRun: true, enabledFeatures: new EnabledFeatures(), // For search and auto-mode modeRunning: false, @@ -586,8 +587,16 @@ export default defineComponent({ this.helpOpen = true; }, // For tutorial events + onStartTutorial(){ + if (this.tutorialOpen == false){ + this.tutorialOpen = true; + tryLayout(this.activeRoot, this.tileAreaPos, this.tileAreaDims, this.lytOpts, + {allowCollapse: true, layoutMap: this.layoutMap}); + } + }, onTutorialClose(){ this.tutorialOpen = false; + this.tutorialFirstRun = false; this.enabledFeatures = new EnabledFeatures(); tryLayout(this.activeRoot, this.tileAreaPos, this.tileAreaDims, this.lytOpts, {allowCollapse: true, layoutMap: this.layoutMap}); @@ -689,7 +698,8 @@ export default defineComponent({ :pos="ancestryBarPos" :dims="ancestryBarDims" :nodes="detachedAncestors" :tolMap="tolMap" :lytOpts="lytOpts" :uiOpts="uiOpts" @detached-ancestor-click="onDetachedAncestorClick" @info-icon-click="onInfoIconClick"/> - - - - - + + + + - diff --git a/src/components/HelpModal.vue b/src/components/HelpModal.vue index 539d3dc..8b29a90 100644 --- a/src/components/HelpModal.vue +++ b/src/components/HelpModal.vue @@ -13,9 +13,13 @@ export default defineComponent({ this.$emit('help-modal-close'); } }, + onStartTutorial(){ + this.$emit('start-tutorial'); + this.$emit('help-modal-close'); + }, }, components: {CloseIcon, }, - emits: ['help-modal-close', ], + emits: ['help-modal-close', 'start-tutorial', ], }); @@ -46,6 +50,9 @@ export default defineComponent({ in culpa qui officia deserunt mollit anim id est laborum. + diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue index 5f3b3c4..4af08c5 100644 --- a/src/components/SettingsModal.vue +++ b/src/components/SettingsModal.vue @@ -47,7 +47,7 @@ export default defineComponent({
-

Settings


diff --git a/src/components/TutorialPane.vue b/src/components/TutorialPane.vue index 37c5832..82ef628 100644 --- a/src/components/TutorialPane.vue +++ b/src/components/TutorialPane.vue @@ -5,13 +5,14 @@ import {EnabledFeatures} from '../lib'; export default defineComponent({ props: { + skipWelcome: {type: Boolean, default: false}, pos: {type: Array as unknown as PropType<[number,number]>, required: true}, dims: {type: Array as unknown as PropType<[number,number]>, required: true}, uiOpts: {type: Object, required: true}, }, data(){ return { - stage: 0, + stage: this.skipWelcome ? 1 : 0, maxStage: 10, }; }, @@ -79,6 +80,11 @@ export default defineComponent({ this.$emit('set-enabled-features', x); }, }, + created(){ + if (this.skipWelcome){ + this.sendEnabledFeatures(); + } + }, components: {CloseIcon, }, emits: ['tutorial-close', 'set-enabled-features', ], }); @@ -101,7 +107,7 @@ export default defineComponent({ Start Tutorial
-- cgit v1.2.3