2021-02-26 14:50:46 +13:00
|
|
|
<template>
|
|
|
|
|
|
|
|
<div
|
2021-04-03 12:33:49 +13:00
|
|
|
:class="{'AppControl': !isFrontpage}"
|
2021-02-26 14:50:46 +13:00
|
|
|
>
|
2021-03-18 10:26:08 +13:00
|
|
|
|
|
|
|
<!-- New document dialog -->
|
|
|
|
<newDocumentDialog
|
|
|
|
:dialog-trigger="newObjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="newObjectDialogClose"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<!-- Existing document dialog -->
|
|
|
|
<existingDocumentDialog
|
|
|
|
:dialog-trigger="existingObjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="existingObjectDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<!-- Project close dialog -->
|
2021-02-26 14:50:46 +13:00
|
|
|
<projectCloseCheckDialog
|
|
|
|
:dialog-trigger="projectCloseCheckDialogTrigger"
|
|
|
|
:dialog-mode="'projectClose'"
|
|
|
|
@trigger-dialog-close="projectCloseCheckDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<!-- Keybind dialog -->
|
|
|
|
<keybindCheatsheetDialog
|
|
|
|
:dialog-trigger="keybindsDialogTrigger"
|
|
|
|
@trigger-dialog-close="keybindsDialogClose"
|
|
|
|
/>
|
|
|
|
|
|
|
|
<!-- Import project dialog -->
|
|
|
|
<importProjectCheckDialog
|
|
|
|
:dialog-trigger="importProjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="importProjectDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-04-20 05:51:44 +12:00
|
|
|
<!-- Merge project dialog -->
|
|
|
|
<mergeProjectCheckDialog
|
|
|
|
:dialog-trigger="mergeProjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="mergeProjectDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<!-- New project dialog -->
|
|
|
|
<newProjectCheckDialog
|
|
|
|
:dialog-trigger="newProjectDialogTrigger"
|
|
|
|
@trigger-dialog-close="newProjectDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-05 12:51:41 +13:00
|
|
|
<!-- About app dialog -->
|
|
|
|
<aboutAppDialog
|
|
|
|
:dialog-trigger="aboutAppDialogTrigger"
|
|
|
|
@trigger-dialog-close="aboutAppDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-06 08:08:55 +13:00
|
|
|
<!-- Changelog dialog -->
|
|
|
|
<changeLogDialog
|
|
|
|
:dialog-trigger="changeLogDialogTrigger"
|
|
|
|
@trigger-dialog-close="changeLogDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-18 10:26:08 +13:00
|
|
|
<!-- Program settings dialog -->
|
|
|
|
<programSettingsDialog
|
|
|
|
:dialog-trigger="programSettingsDialogTrigger"
|
|
|
|
@trigger-dialog-close="programSettingsDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-06 08:08:55 +13:00
|
|
|
<!-- Advanced search guide dialog -->
|
|
|
|
<advancedSearchGuideDialog
|
|
|
|
:dialog-trigger="advancedSearchGuideDialogTrigger"
|
|
|
|
@trigger-dialog-close="advancedSearchGuideDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-21 07:13:46 +13:00
|
|
|
<!-- Tips, Tricks & Trivia dialog -->
|
|
|
|
<tipsTricksTriviaDialog
|
|
|
|
:dialog-trigger="tipsTricksDialogTrigger"
|
|
|
|
@trigger-dialog-close="tipsTricksDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-03-22 05:06:38 +13:00
|
|
|
<!-- License dialog -->
|
|
|
|
<licenseDialog
|
|
|
|
:dialog-trigger="licenseDialogTrigger"
|
|
|
|
@trigger-dialog-close="licenseDialogClose"
|
|
|
|
/>
|
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
<q-btn-group
|
|
|
|
flat
|
|
|
|
class="AppControl__buttons"
|
|
|
|
>
|
|
|
|
|
|
|
|
<!-- Options button -->
|
|
|
|
<q-btn
|
|
|
|
flat
|
|
|
|
:ripple="false"
|
|
|
|
dark
|
|
|
|
size='md'
|
|
|
|
no-caps
|
2021-03-18 10:26:08 +13:00
|
|
|
@click="programSettingsDialogAssignUID"
|
2021-02-26 14:50:46 +13:00
|
|
|
>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-img
|
|
|
|
:src="appLogo"
|
|
|
|
style="height: 26px; width: 26px; margin: 0 -9px;"
|
|
|
|
/>
|
|
|
|
<q-tooltip anchor="center right" self="center left" :delay="500">
|
|
|
|
Program settings
|
|
|
|
</q-tooltip>
|
2021-02-26 14:50:46 +13:00
|
|
|
|
2021-03-18 10:26:08 +13:00
|
|
|
</q-btn>
|
|
|
|
<q-separator color="primary" vertical dark style="opacity: 0.1;" />
|
2021-02-26 14:50:46 +13:00
|
|
|
<!-- Project button-->
|
|
|
|
<q-btn
|
|
|
|
flat
|
|
|
|
:ripple="false"
|
|
|
|
dark
|
|
|
|
size='md'
|
|
|
|
no-caps
|
|
|
|
>
|
|
|
|
Project
|
|
|
|
|
|
|
|
<q-menu
|
|
|
|
@show="checkProjectStatus"
|
|
|
|
anchor="bottom left"
|
|
|
|
class="bg-gunmetal-light"
|
|
|
|
dark
|
2021-03-04 13:27:07 +13:00
|
|
|
square
|
2021-02-26 14:50:46 +13:00
|
|
|
>
|
|
|
|
<q-list class="bg-gunmetal-light" dark>
|
2021-03-04 13:27:07 +13:00
|
|
|
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
@click="newObjectAssignUID"
|
|
|
|
:disable="!projectExists || isFrontpage"
|
|
|
|
>
|
|
|
|
<q-item-section>Quick-add new document</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-text-box-plus-outline" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
@click="existingObjectAssignUID"
|
|
|
|
:disable="!projectExists || isFrontpage"
|
|
|
|
>
|
|
|
|
<q-item-section>Quick-search existing document</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-database-search" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
2021-04-21 02:51:43 +12:00
|
|
|
<q-separator dark />
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
@click="toggleHierarchicalTree"
|
|
|
|
:disable="!projectExists || isFrontpage"
|
|
|
|
>
|
|
|
|
<q-item-section>Toggle hierarchical tree</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-page-layout-sidebar-left" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-separator dark />
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-item
|
2021-02-26 14:50:46 +13:00
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
2021-03-04 13:27:07 +13:00
|
|
|
class="noHigh"
|
|
|
|
@click="newProjectAssignUID"
|
2021-02-26 14:50:46 +13:00
|
|
|
>
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-item-section>New project</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-plus" />
|
|
|
|
</q-item-section>
|
2021-02-26 14:50:46 +13:00
|
|
|
</q-item>
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-separator dark />
|
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
2021-03-04 13:27:07 +13:00
|
|
|
class="noHigh"
|
2021-03-08 11:07:40 +13:00
|
|
|
@click="commenceExport"
|
2021-02-26 14:50:46 +13:00
|
|
|
:disable="!projectExists"
|
|
|
|
>
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-item-section>Export current project</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-package-variant-closed" />
|
|
|
|
</q-item-section>
|
2021-03-04 13:27:07 +13:00
|
|
|
</q-item>
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
@click="importProjectAssignUID"
|
|
|
|
>
|
|
|
|
<q-item-section>Import existing project</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-package-variant" />
|
|
|
|
</q-item-section>
|
2021-02-26 14:50:46 +13:00
|
|
|
</q-item>
|
|
|
|
|
2021-04-20 05:51:44 +12:00
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
@click="mergeProjectAssignUID"
|
|
|
|
:disable="!projectExists"
|
|
|
|
>
|
|
|
|
<q-item-section>Merge another project into the current one</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-folder-plus-outline" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
<q-separator dark />
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
2021-03-04 13:27:07 +13:00
|
|
|
class="noHigh"
|
|
|
|
@click="navigateToProjectPage"
|
|
|
|
:disable="!projectExists || isProjectPage"
|
|
|
|
>
|
|
|
|
<q-item-section>Resume project</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-folder-open-outline" />
|
|
|
|
</q-item-section>
|
2021-03-04 13:27:07 +13:00
|
|
|
</q-item>
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
2021-02-26 14:50:46 +13:00
|
|
|
@click="projectCloseCheckDialogAssignUID"
|
|
|
|
:disable="!projectExists || isFrontpage"
|
|
|
|
>
|
|
|
|
<q-item-section>Close project</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-exit-to-app" />
|
|
|
|
</q-item-section>
|
2021-02-26 14:50:46 +13:00
|
|
|
</q-item>
|
|
|
|
</q-list>
|
|
|
|
</q-menu>
|
|
|
|
</q-btn>
|
|
|
|
|
|
|
|
<!-- Help button-->
|
|
|
|
<q-btn
|
|
|
|
flat
|
|
|
|
:ripple="false"
|
|
|
|
dark
|
|
|
|
size='md'
|
|
|
|
no-caps
|
|
|
|
>
|
2021-03-18 10:26:08 +13:00
|
|
|
Help, Settings & Info
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-menu
|
|
|
|
anchor="bottom left"
|
|
|
|
class="bg-gunmetal-light"
|
|
|
|
dark
|
|
|
|
square
|
|
|
|
>
|
2021-02-26 14:50:46 +13:00
|
|
|
<q-list class="bg-gunmetal-light" dark>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item
|
|
|
|
@click="programSettingsDialogAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>Program settings</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-tune" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
|
|
|
<q-separator dark />
|
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
<q-item
|
2021-03-04 13:27:07 +13:00
|
|
|
@click="keybindsDialogAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>Show keybind cheatsheet</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-keyboard-settings" />
|
|
|
|
</q-item-section>
|
2021-03-04 13:27:07 +13:00
|
|
|
</q-item>
|
|
|
|
|
2021-03-06 08:08:55 +13:00
|
|
|
<q-item
|
|
|
|
@click="advancedSearchGuideAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>Advanced search guide</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-file-question" />
|
|
|
|
</q-item-section>
|
2021-03-06 08:08:55 +13:00
|
|
|
</q-item>
|
|
|
|
|
2021-03-21 07:13:46 +13:00
|
|
|
<q-item
|
|
|
|
@click="tipsTricksAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>Tips, Tricks & Trivia</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-fire-alert" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
2021-03-06 08:08:55 +13:00
|
|
|
<q-separator dark />
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
@click="changeLogDialogAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>Changelog</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-clipboard-text" />
|
|
|
|
</q-item-section>
|
2021-03-06 08:08:55 +13:00
|
|
|
</q-item>
|
|
|
|
|
2021-03-05 12:51:41 +13:00
|
|
|
<q-item
|
|
|
|
@click="aboutAppDialogAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>About Fantasia Archive</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-information-variant" />
|
|
|
|
</q-item-section>
|
2021-03-05 12:51:41 +13:00
|
|
|
</q-item>
|
|
|
|
|
2021-03-22 05:06:38 +13:00
|
|
|
<q-item
|
|
|
|
@click="licenseAssignUID"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
|
|
|
<q-item-section>License</q-item-section>
|
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-script-text-outline" />
|
|
|
|
</q-item-section>
|
|
|
|
</q-item>
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
<q-separator dark />
|
|
|
|
|
|
|
|
<q-item
|
|
|
|
@click="toggleDevTools"
|
|
|
|
v-close-popup
|
|
|
|
clickable
|
|
|
|
active
|
|
|
|
active-class="bg-gunmetal-light text-cultured"
|
|
|
|
class="noHigh"
|
|
|
|
>
|
2021-02-26 14:50:46 +13:00
|
|
|
<q-item-section>Toggle developer tools</q-item-section>
|
2021-03-18 10:26:08 +13:00
|
|
|
<q-item-section avatar>
|
|
|
|
<q-icon name="mdi-code-tags" />
|
|
|
|
</q-item-section>
|
2021-02-26 14:50:46 +13:00
|
|
|
</q-item>
|
2021-03-04 13:27:07 +13:00
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
</q-list>
|
|
|
|
</q-menu>
|
|
|
|
|
|
|
|
</q-btn>
|
|
|
|
</q-btn-group>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
import { Component, Watch } from "vue-property-decorator"
|
2021-02-26 14:50:46 +13:00
|
|
|
|
|
|
|
import BaseClass from "src/BaseClass"
|
|
|
|
import projectCloseCheckDialog from "src/components/dialogs/ProjectCloseCheck.vue"
|
2021-03-04 13:27:07 +13:00
|
|
|
import keybindCheatsheetDialog from "src/components/dialogs/KeybindCheatsheet.vue"
|
|
|
|
import importProjectCheckDialog from "src/components/dialogs/ImportProjectCheck.vue"
|
2021-04-20 05:51:44 +12:00
|
|
|
import mergeProjectCheckDialog from "src/components/dialogs/MergeProjectCheck.vue"
|
2021-03-04 13:27:07 +13:00
|
|
|
import newProjectCheckDialog from "src/components/dialogs/NewProjectCheck.vue"
|
2021-03-05 12:51:41 +13:00
|
|
|
import aboutAppDialog from "src/components/dialogs/AboutApp.vue"
|
2021-03-06 08:08:55 +13:00
|
|
|
import changeLogDialog from "src/components/dialogs/ChangeLog.vue"
|
2021-03-18 10:26:08 +13:00
|
|
|
import programSettingsDialog from "src/components/dialogs/ProgramSettings.vue"
|
2021-03-06 08:08:55 +13:00
|
|
|
import advancedSearchGuideDialog from "src/components/dialogs/AdvancedSearchGuide.vue"
|
2021-03-18 10:26:08 +13:00
|
|
|
import newDocumentDialog from "src/components/dialogs/NewDocument.vue"
|
|
|
|
import existingDocumentDialog from "src/components/dialogs/ExistingDocument.vue"
|
2021-03-21 07:13:46 +13:00
|
|
|
import tipsTricksTriviaDialog from "src/components/dialogs/TipsTricksTrivia.vue"
|
2021-03-22 05:06:38 +13:00
|
|
|
import licenseDialog from "src/components/dialogs/License.vue"
|
2021-02-26 14:50:46 +13:00
|
|
|
|
2021-03-08 11:07:40 +13:00
|
|
|
import { Loading, QSpinnerGears } from "quasar"
|
2021-02-26 14:50:46 +13:00
|
|
|
import { retrieveCurrentProjectName, exportProject } from "src/scripts/projectManagement/projectManagent"
|
|
|
|
import { toggleDevTools } from "src/scripts/utilities/devTools"
|
2021-03-18 10:26:08 +13:00
|
|
|
|
|
|
|
import appLogo from "src/assets/appLogo.png"
|
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
@Component({
|
2021-03-04 13:27:07 +13:00
|
|
|
components: {
|
|
|
|
projectCloseCheckDialog,
|
|
|
|
keybindCheatsheetDialog,
|
|
|
|
importProjectCheckDialog,
|
2021-04-20 05:51:44 +12:00
|
|
|
mergeProjectCheckDialog,
|
2021-03-05 12:51:41 +13:00
|
|
|
newProjectCheckDialog,
|
2021-03-06 08:08:55 +13:00
|
|
|
aboutAppDialog,
|
|
|
|
changeLogDialog,
|
2021-03-18 10:26:08 +13:00
|
|
|
advancedSearchGuideDialog,
|
|
|
|
programSettingsDialog,
|
|
|
|
newDocumentDialog,
|
2021-03-21 07:13:46 +13:00
|
|
|
existingDocumentDialog,
|
2021-03-22 05:06:38 +13:00
|
|
|
tipsTricksTriviaDialog,
|
|
|
|
licenseDialog
|
2021-03-04 13:27:07 +13:00
|
|
|
}
|
2021-02-26 14:50:46 +13:00
|
|
|
})
|
|
|
|
export default class AppControl extends BaseClass {
|
2021-04-03 12:33:49 +13:00
|
|
|
/****************************************************************/
|
|
|
|
// Import handling
|
|
|
|
/****************************************************************/
|
2021-02-26 14:50:46 +13:00
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
/**
|
|
|
|
* Toggles the developer tools on and off
|
|
|
|
*/
|
2021-02-26 14:50:46 +13:00
|
|
|
toggleDevTools = toggleDevTools
|
2021-04-03 12:33:49 +13:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieves the current project name
|
|
|
|
*/
|
2021-02-26 14:50:46 +13:00
|
|
|
retrieveCurrentProjectName = retrieveCurrentProjectName
|
2021-04-03 12:33:49 +13:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Just an image
|
|
|
|
*/
|
|
|
|
appLogo = appLogo
|
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Basic component functionality
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Determines if the project exists or not
|
|
|
|
*/
|
2021-02-26 14:50:46 +13:00
|
|
|
projectExists: undefined | string | boolean = false
|
2021-04-03 12:33:49 +13:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Determines if we are on frontpage or not
|
|
|
|
*/
|
2021-02-26 14:50:46 +13:00
|
|
|
isFrontpage = true
|
2021-04-03 12:33:49 +13:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Determines if we are on project page or not
|
|
|
|
*/
|
2021-02-26 14:50:46 +13:00
|
|
|
isProjectPage = true
|
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
/**
|
|
|
|
* Current project name
|
|
|
|
*/
|
|
|
|
projectName = ""
|
2021-03-18 10:26:08 +13:00
|
|
|
|
2021-02-26 14:50:46 +13:00
|
|
|
created () {
|
|
|
|
this.checkProjectStatus().catch(e => console.log(e))
|
|
|
|
}
|
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
async checkProjectStatus () {
|
|
|
|
this.projectName = await retrieveCurrentProjectName()
|
|
|
|
this.projectExists = !!(await retrieveCurrentProjectName())
|
|
|
|
this.isFrontpage = (this.$route.path === "/")
|
|
|
|
this.isProjectPage = (this.$route.path === "/project")
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Local keybinds
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
@Watch("SGET_getCurrentKeyBindData", { deep: true })
|
|
|
|
processKeyPush () {
|
|
|
|
// Keybind cheatsheet
|
|
|
|
if (this.determineKeyBind("openKeybindsCheatsheet") && !this.SGET_getDialogsState) {
|
|
|
|
this.keybindsDialogAssignUID()
|
|
|
|
}
|
|
|
|
|
|
|
|
// App options
|
|
|
|
if (this.determineKeyBind("openAppOptions") && !this.SGET_getDialogsState) {
|
|
|
|
this.programSettingsDialogAssignUID()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Navigate to project page action
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
navigateToProjectPage () {
|
|
|
|
this.$router.push({ path: "/project" }).catch((e: {name: string}) => {
|
|
|
|
if (e && e.name !== "NavigationDuplicated") {
|
|
|
|
console.log(e)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Export project action
|
|
|
|
/****************************************************************/
|
|
|
|
|
2021-03-08 11:07:40 +13:00
|
|
|
async commenceExport () {
|
|
|
|
const projectName = await retrieveCurrentProjectName()
|
|
|
|
const setup = {
|
|
|
|
message: "<h4>Exporting current project...</h4>",
|
|
|
|
spinnerColor: "primary",
|
|
|
|
messageColor: "cultured",
|
|
|
|
spinnerSize: 120,
|
|
|
|
backgroundColor: "dark",
|
|
|
|
// @ts-ignore
|
|
|
|
spinner: QSpinnerGears
|
|
|
|
}
|
|
|
|
exportProject(projectName, Loading, setup, this.$q)
|
|
|
|
}
|
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
/****************************************************************/
|
|
|
|
// Close project dialog
|
|
|
|
/****************************************************************/
|
2021-02-26 14:50:46 +13:00
|
|
|
|
|
|
|
projectCloseCheckDialogTrigger: string | false = false
|
|
|
|
projectCloseCheckDialogClose () {
|
|
|
|
this.projectCloseCheckDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
projectCloseCheckDialogAssignUID () {
|
|
|
|
this.projectCloseCheckDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
/****************************************************************/
|
|
|
|
// Import project dialog
|
|
|
|
/****************************************************************/
|
2021-03-04 13:27:07 +13:00
|
|
|
|
|
|
|
importProjectDialogTrigger: string | false = false
|
|
|
|
importProjectDialogClose () {
|
|
|
|
this.importProjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
importProjectAssignUID () {
|
|
|
|
this.importProjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
2021-04-20 05:51:44 +12:00
|
|
|
/****************************************************************/
|
|
|
|
// Merge project dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
mergeProjectDialogTrigger: string | false = false
|
|
|
|
mergeProjectDialogClose () {
|
|
|
|
this.mergeProjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
mergeProjectAssignUID () {
|
|
|
|
this.mergeProjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
2021-04-03 12:33:49 +13:00
|
|
|
/****************************************************************/
|
|
|
|
// New project dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
2021-03-04 13:27:07 +13:00
|
|
|
newProjectDialogTrigger: string | false = false
|
|
|
|
newProjectDialogClose () {
|
|
|
|
this.newProjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
newProjectAssignUID () {
|
|
|
|
this.newProjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Keybings cheatsheet dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
keybindsDialogTrigger: string | false = false
|
|
|
|
keybindsDialogClose () {
|
|
|
|
this.keybindsDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
keybindsDialogAssignUID () {
|
|
|
|
this.keybindsDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-03-05 12:51:41 +13:00
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// About app dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
aboutAppDialogTrigger: string | false = false
|
|
|
|
aboutAppDialogClose () {
|
|
|
|
this.aboutAppDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
aboutAppDialogAssignUID () {
|
|
|
|
this.aboutAppDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-03-06 08:08:55 +13:00
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Changelog dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
changeLogDialogTrigger: string | false = false
|
|
|
|
changeLogDialogClose () {
|
|
|
|
this.changeLogDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
changeLogDialogAssignUID () {
|
|
|
|
this.changeLogDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
2021-03-18 10:26:08 +13:00
|
|
|
/****************************************************************/
|
|
|
|
// Program settings dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
programSettingsDialogTrigger: string | false = false
|
|
|
|
programSettingsDialogClose () {
|
|
|
|
this.programSettingsDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
programSettingsDialogAssignUID () {
|
|
|
|
this.programSettingsDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
2021-03-06 08:08:55 +13:00
|
|
|
/****************************************************************/
|
|
|
|
// Advanced search guide dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
advancedSearchGuideDialogTrigger: string | false = false
|
|
|
|
advancedSearchGuideDialogClose () {
|
|
|
|
this.advancedSearchGuideDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
advancedSearchGuideAssignUID () {
|
|
|
|
this.advancedSearchGuideDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-03-18 10:26:08 +13:00
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// New document dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
newObjectDialogTrigger: string | false = false
|
|
|
|
newObjectDialogClose () {
|
|
|
|
this.newObjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
newObjectAssignUID () {
|
|
|
|
this.newObjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Existing document dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
existingObjectDialogTrigger: string | false = false
|
|
|
|
existingObjectDialogClose () {
|
|
|
|
this.existingObjectDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
existingObjectAssignUID () {
|
|
|
|
this.existingObjectDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-03-21 07:13:46 +13:00
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// Tips, Tricka & Trivia dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
tipsTricksDialogTrigger: string | false = false
|
|
|
|
tipsTricksDialogClose () {
|
|
|
|
this.tipsTricksDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
tipsTricksAssignUID () {
|
|
|
|
this.tipsTricksDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-03-22 05:06:38 +13:00
|
|
|
|
|
|
|
/****************************************************************/
|
|
|
|
// License dialog
|
|
|
|
/****************************************************************/
|
|
|
|
|
|
|
|
licenseDialogTrigger: string | false = false
|
|
|
|
licenseDialogClose () {
|
|
|
|
this.licenseDialogTrigger = false
|
|
|
|
}
|
|
|
|
|
|
|
|
licenseAssignUID () {
|
|
|
|
this.licenseDialogTrigger = this.generateUID()
|
|
|
|
}
|
2021-02-26 14:50:46 +13:00
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.AppControl {
|
|
|
|
background: rgba(0, 0, 0, 0.1);
|
|
|
|
|
|
|
|
&__buttons {
|
|
|
|
height: 40px;
|
2021-02-28 06:00:57 +13:00
|
|
|
-webkit-app-region: no-drag;
|
2021-02-26 14:50:46 +13:00
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|