From b12e38c231dad8b6abb9317b3cb27b3384422b4e Mon Sep 17 00:00:00 2001 From: zadam Date: Sun, 12 Jan 2020 10:35:33 +0100 Subject: [PATCH] widgetizing tree WIP --- src/public/javascripts/desktop.js | 1 - src/public/javascripts/mobile.js | 1 - src/public/javascripts/services/branches.js | 37 ++- .../javascripts/services/drag_and_drop.js | 75 ----- src/public/javascripts/services/tree.js | 4 - .../javascripts/services/tree_context_menu.js | 16 +- .../javascripts/services/tree_keybindings.js | 303 ++++++++++-------- src/public/javascripts/widgets/note_tree.js | 89 ++++- 8 files changed, 284 insertions(+), 242 deletions(-) delete mode 100644 src/public/javascripts/services/drag_and_drop.js diff --git a/src/public/javascripts/desktop.js b/src/public/javascripts/desktop.js index 8b1ead908..2ece01974 100644 --- a/src/public/javascripts/desktop.js +++ b/src/public/javascripts/desktop.js @@ -1,6 +1,5 @@ import cloning from './services/cloning.js'; import contextMenu from './services/tree_context_menu.js'; -import dragAndDropSetup from './services/drag_and_drop.js'; import link from './services/link.js'; import ws from './services/ws.js'; import noteDetailService from './services/note_detail.js'; diff --git a/src/public/javascripts/mobile.js b/src/public/javascripts/mobile.js index 13d71b50d..2d55e7fec 100644 --- a/src/public/javascripts/mobile.js +++ b/src/public/javascripts/mobile.js @@ -1,6 +1,5 @@ import treeService from "./services/tree.js"; import noteDetailService from "./services/note_detail.js"; -import dragAndDropSetup from "./services/drag_and_drop.js"; import treeCache from "./services/tree_cache.js"; import treeBuilder from "./services/tree_builder.js"; import contextMenuWidget from "./services/context_menu.js"; diff --git a/src/public/javascripts/services/branches.js b/src/public/javascripts/services/branches.js index c20338321..89682ed14 100644 --- a/src/public/javascripts/services/branches.js +++ b/src/public/javascripts/services/branches.js @@ -68,6 +68,7 @@ async function moveToNode(branchIdsToMove, newParentNoteId) { } } +// FIXME used for finding a next note to activate after a delete async function getNextNode(nodes) { // following code assumes that nodes contain only top-most selected nodes - getSelectedNodes has been // called with stopOnParent=true @@ -84,10 +85,10 @@ async function getNextNode(nodes) { return treeUtils.getNotePath(next); } -async function deleteNodes(nodes) { - nodes = await filterRootNote(nodes); +async function deleteNodes(branchIdsToDelete) { + branchIdsToDelete = await filterRootNote(branchIdsToDelete); - if (nodes.length === 0) { + if (branchIdsToDelete.length === 0) { return false; } @@ -96,7 +97,15 @@ async function deleteNodes(nodes) { .append($('