aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/App.vue45
1 files changed, 29 insertions, 16 deletions
diff --git a/src/App.vue b/src/App.vue
index 4744904..462c390 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -6,17 +6,17 @@
<h1 class="my-auto ml-2 text-3xl" :style="{color: uiOpts.altColor}">Tilo (prototype)</h1>
<div class="mx-auto"/> <!-- Spacer -->
<!-- Icons -->
- <icon-button v-if="!uiOpts.disabledActions.has('search')" :style="buttonStyles" @click="onSearchIconClick">
+ <icon-button :disabled="isDisabled('search')" :style="buttonStyles" @click="onSearchIconClick">
<search-icon/>
</icon-button>
- <icon-button v-if="!uiOpts.disabledActions.has('autoMode')" :style="buttonStyles" @click="onAutoIconClick">
+ <icon-button :disabled="isDisabled('autoMode')" :style="buttonStyles" @click="onAutoIconClick">
<play-icon v-if="!modeRunning"/>
<pause-icon v-else/>
</icon-button>
- <icon-button v-if="!uiOpts.disabledActions.has('settings')" :style="buttonStyles" @click="onSettingsIconClick">
+ <icon-button :disabled="isDisabled('settings')" :style="buttonStyles" @click="onSettingsIconClick">
<settings-icon/>
</icon-button>
- <icon-button v-if="!uiOpts.disabledActions.has('help')" :style="buttonStyles" @click="onHelpIconClick">
+ <icon-button :disabled="isDisabled('help')" :style="buttonStyles" @click="onHelpIconClick">
<help-icon/>
</icon-button>
</div>
@@ -223,7 +223,7 @@ export default defineComponent({
methods: {
// For tile expand/collapse events
async onLeafClick(layoutNode: LayoutNode): Promise<boolean> {
- if (this.uiOpts.disabledActions.has('expand')){
+ if (this.isDisabled('expand')){
return false;
}
this.handleActionForTutorial('expand');
@@ -271,7 +271,7 @@ export default defineComponent({
}
},
async onNonleafClick(layoutNode: LayoutNode, {skipClean = false} = {}): Promise<boolean> {
- if (this.uiOpts.disabledActions.has('collapse')){
+ if (this.isDisabled('collapse')){
return false;
}
this.handleActionForTutorial('collapse');
@@ -307,7 +307,7 @@ export default defineComponent({
},
// For expand-to-view and ancestry-bar events
async onLeafClickHeld(layoutNode: LayoutNode): Promise<boolean> {
- if (this.uiOpts.disabledActions.has('expandToView')){
+ if (this.isDisabled('expandToView')){
return false;
}
this.handleActionForTutorial('expandToView');
@@ -365,7 +365,7 @@ export default defineComponent({
}
},
async onNonleafClickHeld(layoutNode: LayoutNode): Promise<boolean> {
- if (this.uiOpts.disabledActions.has('expandToView')){
+ if (this.isDisabled('expandToView')){
return false;
}
this.handleActionForTutorial('expandToView');
@@ -387,7 +387,7 @@ export default defineComponent({
return this.relayoutWithCollapse();
},
async onDetachedAncestorClick(layoutNode: LayoutNode, {collapseAndNoRelayout = false} = {}): Promise<boolean> {
- if (this.uiOpts.disabledActions.has('unhideAncestor')){
+ if (this.isDisabled('unhideAncestor')){
return false;
}
this.handleActionForTutorial('unhideAncestor');
@@ -402,7 +402,7 @@ export default defineComponent({
//
let success: boolean;
if (collapseAndNoRelayout){
- if (this.uiOpts.disabledActions.has('collapse')){
+ if (this.isDisabled('collapse')){
console.log('INFO: Ignored unhide-ancestor due to disabled collapse');
return false;
}
@@ -433,6 +433,9 @@ export default defineComponent({
},
// For search events
onSearchIconClick(): void {
+ if (this.isDisabled('search')){
+ return;
+ }
this.handleActionForTutorial('search');
if (!this.searchOpen){
this.resetMode();
@@ -444,9 +447,7 @@ export default defineComponent({
console.log('WARNING: Unexpected search event while search/auto mode is running')
return;
}
- let disabledActions = this.uiOpts.disabledActions;
- if (disabledActions.has('expand') || disabledActions.has('expandToView') ||
- disabledActions.has('unhideAncestor')){
+ if (this.isDisabled('expand') || this.isDisabled('expandToView') || this.isDisabled('unhideAncestor')){
console.log('INFO: Ignored search action due to disabled expand/expandToView');
return;
}
@@ -543,9 +544,11 @@ export default defineComponent({
},
// For auto-mode events
onAutoIconClick(): void {
- let disabledActions = this.uiOpts.disabledActions;
- if (disabledActions.has('expand') || disabledActions.has('collapse') ||
- disabledActions.has('expandToView') || disabledActions.has('unhideAncestor')){
+ 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;
}
@@ -660,6 +663,9 @@ export default defineComponent({
},
// For settings events
onSettingsIconClick(): void {
+ if (this.isDisabled('settings')){
+ return;
+ }
this.handleActionForTutorial('settings');
this.resetMode();
this.settingsOpen = true;
@@ -691,6 +697,9 @@ export default defineComponent({
},
// For help events
onHelpIconClick(): void {
+ if (this.isDisabled('help')){
+ return;
+ }
this.handleActionForTutorial('help');
this.resetMode();
this.helpOpen = true;
@@ -955,6 +964,10 @@ export default defineComponent({
node.hasFocus = true;
}
},
+ isDisabled(...actions: Action[]): boolean {
+ let disabledActions = this.uiOpts.disabledActions;
+ return actions.some(a => disabledActions.has(a));
+ },
},
created(){
window.addEventListener('resize', this.onResize);