From dfaa59b0a98f5ca1cf3928fbef46fa9262d916c1 Mon Sep 17 00:00:00 2001 From: azivner Date: Sat, 4 Nov 2017 19:49:26 -0400 Subject: [PATCH] clipboard is now owned by note tree --- public/javascripts/context_menu.js | 14 +++++++------- public/javascripts/note_tree.js | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/public/javascripts/context_menu.js b/public/javascripts/context_menu.js index f5c489d1a..c0c4fed9f 100644 --- a/public/javascripts/context_menu.js +++ b/public/javascripts/context_menu.js @@ -4,23 +4,23 @@ const contextMenu = (function() { const treeEl = $("#tree"); function pasteAfter(node) { - const subjectNode = getNodeByKey(glob.clipboardNoteId); + const subjectNode = getNodeByKey(noteTree.getClipboardNoteId()); moveAfterNode(subjectNode, node); - glob.clipboardNoteId = null; + noteTree.setClipboardNoteId(null); } function pasteInto(node) { - const subjectNode = getNodeByKey(glob.clipboardNoteId); + const subjectNode = getNodeByKey(noteTree.getClipboardNoteId()); moveToNode(subjectNode, node); - glob.clipboardNoteId = null; + noteTree.setClipboardNoteId(null); } function cut(node) { - glob.clipboardNoteId = node.key; + noteTree.setClipboardNoteId(node.key); } const contextMenuSettings = { @@ -42,8 +42,8 @@ const contextMenu = (function() { beforeOpen: (event, ui) => { const node = $.ui.fancytree.getNode(ui.target); // Modify menu entries depending on node status - treeEl.contextmenu("enableEntry", "pasteAfter", glob.clipboardNoteId !== null); - treeEl.contextmenu("enableEntry", "pasteInto", glob.clipboardNoteId !== null); + treeEl.contextmenu("enableEntry", "pasteAfter", noteTree.getClipboardNoteId() !== null); + treeEl.contextmenu("enableEntry", "pasteInto", noteTree.getClipboardNoteId() !== null); // Activate node on right-click node.setActive(); diff --git a/public/javascripts/note_tree.js b/public/javascripts/note_tree.js index 078d96230..7d3d6a040 100644 --- a/public/javascripts/note_tree.js +++ b/public/javascripts/note_tree.js @@ -4,14 +4,22 @@ const noteTree = (function() { const noteDetailEl = $('#note-detail'); const treeEl = $("#tree"); let treeLoadTime = null; + let clipboardNoteId = null; glob.allNoteIds = []; - glob.clipboardNoteId = null; function getTreeLoadTime() { return treeLoadTime; } + function getClipboardNoteId() { + return clipboardNoteId; + } + + function setClipboardNoteId(cbNoteId) { + clipboardNoteId = cbNoteId; + } + function prepareNoteTree(notes) { for (const note of notes) { glob.allNoteIds.push(note.note_id); @@ -284,9 +292,11 @@ const noteTree = (function() { return { getTreeLoadTime, + getClipboardNoteId, + setClipboardNoteId, loadTree, collapseTree, scrollToCurrentNote, - toggleSearch + toggleSearch, }; })(); \ No newline at end of file