diff --git a/src-electron/main-process/electron-main.js b/src-electron/main-process/electron-main.js index 2f6dc1d..901d141 100644 --- a/src-electron/main-process/electron-main.js +++ b/src-electron/main-process/electron-main.js @@ -74,8 +74,11 @@ function createWindow () { }) ) } - - menu.popup() + console.log(params.dictionarySuggestions) + console.log(params.misspelledWord) + if((params.dictionarySuggestions && params.dictionarySuggestions.length) || params.misspelledWord){ + menu.popup() + } }) } diff --git a/src/BaseClass.ts b/src/BaseClass.ts index 94eee36..6033663 100644 --- a/src/BaseClass.ts +++ b/src/BaseClass.ts @@ -302,6 +302,11 @@ export default class BaseClass extends Vue { treeAction: boolean }) => void + @OpenedDocuments.Action("closeAllDocuments") SSET_closeAllDocuments!: () => void + @OpenedDocuments.Action("forceCloseAllDocuments") SSET_forceCloseAllDocuments!: () => void + @OpenedDocuments.Action("closeAllButCurrentDocuments") SSET_closeAllButCurrentDocuments!: (input: I_OpenedDocument) => void + @OpenedDocuments.Action("forceCloseAllButCurrentDocuments") SSET_forceCloseAllButCurrentDocuments!: (input: I_OpenedDocument) => void + @OpenedDocuments.Action("triggerTreeAction") SSET_triggerTreeAction!: () => void @OpenedDocuments.Action("resetDocuments") SSET_resetDocuments!: () => void @OpenedDocuments.Action("resetRemoveIndex") SSET_resetRemoveIndex!: () => void diff --git a/src/components/DocumentControl.vue b/src/components/DocumentControl.vue index 40f91dc..734f8aa 100644 --- a/src/components/DocumentControl.vue +++ b/src/components/DocumentControl.vue @@ -197,6 +197,23 @@ + + + Copy current document + + + @@ -240,6 +257,8 @@ import tipsTricksTriviaDialog from "src/components/dialogs/TipsTricksTrivia.vue" import { I_OpenedDocument } from "src/interfaces/I_OpenedDocument" import { extend, Loading, QSpinnerGears } from "quasar" import { saveDocument } from "src/scripts/databaseManager/documentManager" +import { createNewWithParent } from "src/scripts/documentActions/createNewWithParent" +import { copyDocument } from "src/scripts/documentActions/copyDocument" import { retrieveCurrentProjectName, exportProject } from "src/scripts/projectManagement/projectManagent" @@ -311,6 +330,12 @@ export default class DocumentControl extends BaseClass { await this.sleep(100) this.addNewUnderParent() } + + // Add new under parent - CTRL + ALT + C + if (this.determineKeyBind("copyDocument") && !this.currentlyNew && this.SGET_allOpenedDocuments.docs.length > 0 && !this.SGET_getDialogsState) { + await this.sleep(100) + this.copyTargetDocument() + } } /****************************************************************/ @@ -414,15 +439,36 @@ export default class DocumentControl extends BaseClass { // Add new document under parent /****************************************************************/ addNewUnderParent () { - const currentDoc = this.findRequestedOrActiveDocument() - if (currentDoc) { - const routeObject = { - _id: currentDoc.type, - parent: currentDoc._id - } - // @ts-ignore - this.addNewObjectRoute(routeObject) + const currentDoc = this.findRequestedOrActiveDocument() as I_OpenedDocument + createNewWithParent(currentDoc, this) + } + + /****************************************************************/ + // Document copy + /****************************************************************/ + documentPass = null as unknown as I_OpenedDocument + + copyTargetDocument () { + this.documentPass = extend(true, {}, this.findRequestedOrActiveDocument()) + + const newDocument = copyDocument(this.documentPass, this.generateUID()) + + const dataPass = { + doc: newDocument, + treeAction: false } + + // @ts-ignore + this.SSET_addOpenedDocument(dataPass) + this.$router.push({ + path: newDocument.url + }).catch((e: {name: string}) => { + const errorName : string = e.name + if (errorName === "NavigationDuplicated") { + return + } + console.log(e) + }) } /****************************************************************/ diff --git a/src/components/ObjectTree.vue b/src/components/ObjectTree.vue index 70f5290..b412ced 100644 --- a/src/components/ObjectTree.vue +++ b/src/components/ObjectTree.vue @@ -1,6 +1,15 @@