From a7a42ff4af4d8422ce349f180eeaad65d35f5168 Mon Sep 17 00:00:00 2001 From: zadam Date: Wed, 8 May 2019 20:14:41 +0200 Subject: [PATCH] use notePath in tabContext --- src/public/javascripts/mobile.js | 4 +++- .../javascripts/services/note_context.js | 3 ++- .../javascripts/services/note_detail.js | 20 +++++++++---------- src/public/javascripts/services/tree.js | 4 +++- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/public/javascripts/mobile.js b/src/public/javascripts/mobile.js index 68f0e32ec..049a0dddf 100644 --- a/src/public/javascripts/mobile.js +++ b/src/public/javascripts/mobile.js @@ -53,7 +53,9 @@ async function showTree() { showDetailPane(); - noteDetailService.switchToNote(noteId, true); + const notePath = await treeUtils.getNotePath(node); + + noteDetailService.switchToNote(notePath); }, expand: (event, data) => treeService.setExpandedToServer(data.node.data.branchId, true), collapse: (event, data) => treeService.setExpandedToServer(data.node.data.branchId, false), diff --git a/src/public/javascripts/services/note_context.js b/src/public/javascripts/services/note_context.js index 6ebc3f782..41f0315d8 100644 --- a/src/public/javascripts/services/note_context.js +++ b/src/public/javascripts/services/note_context.js @@ -77,8 +77,9 @@ class TabContext { console.log(`Created note tab ${this.tabId} for ${this.noteId}`); } - setNote(note) { + setNote(note, notePath) { this.noteId = note.noteId; + this.notePath = notePath; this.note = note; this.tab.setAttribute('data-note-id', this.noteId); this.$tabContent.attr('data-note-id', note.noteId); diff --git a/src/public/javascripts/services/note_detail.js b/src/public/javascripts/services/note_detail.js index d87a68362..16ca13f78 100644 --- a/src/public/javascripts/services/note_detail.js +++ b/src/public/javascripts/services/note_detail.js @@ -9,6 +9,7 @@ import bundleService from "./bundle.js"; import utils from "./utils.js"; import importDialog from "../dialogs/import.js"; import contextMenuService from "./context_menu.js"; +import treeUtils from "./tree_utils.js"; const chromeTabsEl = document.querySelector('.chrome-tabs'); const chromeTabs = new ChromeTabs(); @@ -47,7 +48,7 @@ async function reloadAllTabs() { for (const tabContext of tabContexts) { const note = await loadNote(tabContext.note.noteId); - await loadNoteDetailToContext(tabContext, note); + await loadNoteDetailToContext(tabContext, note, tabContext.notePath); } } @@ -56,12 +57,10 @@ async function openInTab(noteId) { await loadNoteDetail(noteId, true); } -async function switchToNote(noteId) { - //if (getActiveNoteId() !== noteId) { - await saveNotesIfChanged(); +async function switchToNote(notePath) { + await saveNotesIfChanged(); - await loadNoteDetail(noteId); - //} + await loadNoteDetail(notePath); } function getActiveNoteContent() { @@ -109,8 +108,8 @@ function showTab(tabId) { * @param {TabContext} ctx * @param {NoteFull} note */ -async function loadNoteDetailToContext(ctx, note) { - ctx.setNote(note); +async function loadNoteDetailToContext(ctx, note, notePath) { + ctx.setNote(note, notePath); if (utils.isDesktop()) { // needs to happen after loading the note itself because it references active noteId @@ -163,7 +162,8 @@ async function loadNoteDetailToContext(ctx, note) { } } -async function loadNoteDetail(noteId, newTab = false) { +async function loadNoteDetail(notePath, newTab = false) { + const noteId = treeUtils.getNoteIdFromNotePath(notePath); const loadedNote = await loadNote(noteId); let ctx; @@ -189,7 +189,7 @@ async function loadNoteDetail(noteId, newTab = false) { return; } - await loadNoteDetailToContext(ctx, loadedNote); + await loadNoteDetailToContext(ctx, loadedNote, notePath); } async function loadNote(noteId) { diff --git a/src/public/javascripts/services/tree.js b/src/public/javascripts/services/tree.js index 5b7ee2384..9c78ca591 100644 --- a/src/public/javascripts/services/tree.js +++ b/src/public/javascripts/services/tree.js @@ -436,7 +436,9 @@ function initFancyTree(tree) { await setCurrentNotePathToHash(node); - noteDetailService.switchToNote(noteId); + const notePath = await treeUtils.getNotePath(node); + + noteDetailService.switchToNote(notePath); showPaths(noteId, node); },