diff --git a/src/plugins/notebook/components/notebook.vue b/src/plugins/notebook/components/notebook.vue index eeb73502c3..34004072c5 100644 --- a/src/plugins/notebook/components/notebook.vue +++ b/src/plugins/notebook/components/notebook.vue @@ -216,6 +216,20 @@ export default { this.updateSection({ sections }); this.throttledSearchItem(''); }, + createNotebookStorageObject() { + const notebookMeta = { + name: this.internalDomainObject.name, + identifier: this.internalDomainObject.identifier + }; + const page = this.getSelectedPage(); + const section = this.getSelectedSection(); + + return { + notebookMeta, + section, + page + } + }, dragOver(event) { event.preventDefault(); event.dataTransfer.dropEffect = "copy"; @@ -379,12 +393,9 @@ export default { this.updateSection({ sections }); }, newEntry(embed = null) { - const selectedSection = this.getSelectedSection(); - const selectedPage = this.getSelectedPage(); this.search = ''; - - this.updateDefaultNotebook(selectedSection, selectedPage); - const notebookStorage = getDefaultNotebook(); + const notebookStorage = this.createNotebookStorageObject(); + this.updateDefaultNotebook(notebookStorage); const id = addNotebookEntry(this.openmct, this.internalDomainObject, notebookStorage, embed); this.focusEntryId = id; this.search = ''; @@ -417,13 +428,13 @@ export default { toggleNav() { this.showNav = !this.showNav; }, - async updateDefaultNotebook(selectedSection, selectedPage) { + async updateDefaultNotebook(notebookStorage) { const defaultNotebookObject = await this.getDefaultNotebookObject(); this.removeDefaultClass(defaultNotebookObject); - setDefaultNotebook(this.internalDomainObject, selectedSection, selectedPage); + setDefaultNotebook(notebookStorage); this.addDefaultClass(); - this.defaultSectionId = selectedSection.id; - this.defaultPageId = selectedPage.id; + this.defaultSectionId = notebookStorage.section.id; + this.defaultPageId = notebookStorage.page.id; }, updateDefaultNotebookPage(pages, id) { if (!id) { diff --git a/src/plugins/notebook/utils/notebook-storage.js b/src/plugins/notebook/utils/notebook-storage.js index 37a71317ad..a84581a877 100644 --- a/src/plugins/notebook/utils/notebook-storage.js +++ b/src/plugins/notebook/utils/notebook-storage.js @@ -10,18 +10,7 @@ export function getDefaultNotebook() { return JSON.parse(notebookStorage); } -export function setDefaultNotebook(domainObject, section, page) { - const notebookMeta = { - name: domainObject.name, - identifier: domainObject.identifier - }; - - const notebookStorage = { - notebookMeta, - section, - page - } - +export function setDefaultNotebook(notebookStorage) { window.localStorage.setItem(NOTEBOOK_LOCAL_STORAGE, JSON.stringify(notebookStorage)); }