From c85979b66b767c54a00ef2153fc5150a9e80c5e6 Mon Sep 17 00:00:00 2001 From: azivner Date: Wed, 2 Jan 2019 18:59:08 +0100 Subject: [PATCH] it should not be possible to add note after hoisted note --- package-lock.json | 2 +- src/public/javascripts/services/tree.js | 6 +++++- src/public/javascripts/services/tree_context_menu.js | 11 ++++------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d7766c32..340584139 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "trilium", - "version": "0.27.0-beta", + "version": "0.27.1-beta", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/public/javascripts/services/tree.js b/src/public/javascripts/services/tree.js index e52dd822a..381ad1a55 100644 --- a/src/public/javascripts/services/tree.js +++ b/src/public/javascripts/services/tree.js @@ -649,11 +649,15 @@ messagingService.subscribeToSyncMessages(syncData => { } }); -utils.bindShortcut('ctrl+o', () => { +utils.bindShortcut('ctrl+o', async () => { const node = getCurrentNode(); const parentNoteId = node.data.parentNoteId; const isProtected = treeUtils.getParentProtectedStatus(node); + if (node.data.noteId === 'root' || node.data.noteId === await hoistedNoteService.getHoistedNoteId()) { + return; + } + createNote(node, parentNoteId, 'after', isProtected, true); }); diff --git a/src/public/javascripts/services/tree_context_menu.js b/src/public/javascripts/services/tree_context_menu.js index 54d60997c..01b6fee64 100644 --- a/src/public/javascripts/services/tree_context_menu.js +++ b/src/public/javascripts/services/tree_context_menu.js @@ -13,8 +13,6 @@ import syncService from "./sync.js"; import hoistedNoteService from './hoisted_note.js'; import ContextMenuItemsContainer from './context_menu_items_container.js'; -const $tree = $("#tree"); - let clipboardIds = []; let clipboardMode = null; @@ -110,11 +108,12 @@ async function getContextMenuItems(event) { const note = await treeCache.getNote(node.data.noteId); const parentNote = await treeCache.getNote(branch.parentNoteId); const isNotRoot = note.noteId !== 'root'; + const isHoisted = note.noteId === await hoistedNoteService.getHoistedNoteId(); const itemsContainer = new ContextMenuItemsContainer(contextMenuItems); // Modify menu entries depending on node status - itemsContainer.enableItem("insertNoteAfter", isNotRoot && parentNote.type !== 'search'); + itemsContainer.enableItem("insertNoteAfter", isNotRoot && !isHoisted && parentNote.type !== 'search'); itemsContainer.enableItem("insertChildNote", note.type !== 'search'); itemsContainer.enableItem("delete", isNotRoot && parentNote.type !== 'search'); itemsContainer.enableItem("copy", isNotRoot); @@ -125,10 +124,8 @@ async function getContextMenuItems(event) { itemsContainer.enableItem("export", note.type !== 'search'); itemsContainer.enableItem("editBranchPrefix", isNotRoot && parentNote.type !== 'search'); - const hoistedNoteId = await hoistedNoteService.getHoistedNoteId(); - - itemsContainer.hideItem("hoist", note.noteId === hoistedNoteId); - itemsContainer.hideItem("unhoist", note.noteId !== hoistedNoteId || !isNotRoot); + itemsContainer.hideItem("hoist", isHoisted); + itemsContainer.hideItem("unhoist", !isHoisted || !isNotRoot); // Activate node on right-click node.setActive();