aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/AncestryBar.vue2
-rw-r--r--src/components/TutorialPane.vue31
2 files changed, 14 insertions, 19 deletions
diff --git a/src/components/AncestryBar.vue b/src/components/AncestryBar.vue
index 78972b2..cf9513f 100644
--- a/src/components/AncestryBar.vue
+++ b/src/components/AncestryBar.vue
@@ -8,7 +8,7 @@
<script lang="ts">
import {defineComponent, PropType} from 'vue';
-import Tile from './Tile.vue'
+import Tile from './Tile.vue';
import {TolMap} from '../tol';
import {LayoutNode, LayoutOptions} from '../layout';
import {UiOptions} from '../lib';
diff --git a/src/components/TutorialPane.vue b/src/components/TutorialPane.vue
index c37611d..263b290 100644
--- a/src/components/TutorialPane.vue
+++ b/src/components/TutorialPane.vue
@@ -77,10 +77,12 @@ export default defineComponent({
return {
stage: 0, // Indicates the current step of the tutorial (stage 0 is the welcome message)
lastStage: 9,
- stageActions: [ // Specifies, for stages 1+, when actions are introduced (null means none)
+ disabledOnce: false, // Set to true after disabling features at stage 1
+ stageActions: [
+ // Specifies, for stages 1+, what action to enable (can repeat an action to enable nothing new)
'expand', 'collapse', 'expandToView', 'unhideAncestor',
'tileInfo', 'search', 'autoMode', 'settings', 'help',
- ] as (Action | null)[],
+ ] as Action[],
};
},
computed: {
@@ -107,26 +109,19 @@ export default defineComponent({
},
watch: {
stage(newVal, oldVal){
- // Update disabled actions
- let disabledActions = this.uiOpts.disabledActions;
- if (this.stage == 0){
- disabledActions.clear();
- return;
- }
- let currentAction = null as null | Action;
- for (let i = 0; i < this.lastStage; i++){
- let action = this.stageActions[i];
- if (action != null){
- if (i < this.stage){
- currentAction = action;
- disabledActions.delete(action);
- } else {
- disabledActions.add(action);
+ // If starting tutorial, disable 'all' actions
+ if (newVal == 1 && !this.disabledOnce){
+ for (let action of this.stageActions){
+ if (action != null){
+ this.uiOpts.disabledActions.add(action);
}
}
+ this.disabledOnce = true;
}
+ // Enable action for this stage
+ this.uiOpts.disabledActions.delete(this.stageActions[this.stage - 1]);
// Notify of new trigger-action
- this.$emit('stage-chg', currentAction);
+ this.$emit('stage-chg', this.stageActions[this.stage - 1]);
},
// Called when a trigger-action is done, and advances to the next stage
triggerFlag(){