From f2cf361acfbeb7cb1f5eea0f5642f0ad8cc58a21 Mon Sep 17 00:00:00 2001 From: zadam Date: Mon, 17 Feb 2020 22:38:46 +0100 Subject: [PATCH] small fixes --- .../javascripts/services/app_context.js | 8 ++++--- src/public/javascripts/services/clipboard.js | 11 ++++------ src/public/javascripts/widgets/note_tree.js | 14 ++++++++---- src/public/javascripts/widgets/search_box.js | 2 +- src/routes/api/branches.js | 22 +++++++++---------- src/services/cloning.js | 2 +- src/services/tree.js | 5 ----- 7 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/public/javascripts/services/app_context.js b/src/public/javascripts/services/app_context.js index 36dff644d..6af674f39 100644 --- a/src/public/javascripts/services/app_context.js +++ b/src/public/javascripts/services/app_context.js @@ -45,14 +45,14 @@ class AppContext extends Component { this.triggerEvent(eventName); }); - this.children = [ rootWidget ]; - this.executors = [ this.tabManager, new DialogCommandExecutor(this), new Entrypoints(this) ]; + this.children = [ rootWidget, ...this.executors ]; + if (utils.isElectron()) { this.children.push(new ZoomService(this)); @@ -75,7 +75,9 @@ class AppContext extends Component { } } - console.error(`Unhandled command ${name}`); + console.debug(`Unhandled command ${name}, converting to event.`); + + await this.triggerEvent(name, data); } getComponentByEl(el) { diff --git a/src/public/javascripts/services/clipboard.js b/src/public/javascripts/services/clipboard.js index 5b09f0570..3fc536b2a 100644 --- a/src/public/javascripts/services/clipboard.js +++ b/src/public/javascripts/services/clipboard.js @@ -60,18 +60,15 @@ async function pasteInto(parentNoteId) { } } -function copy(nodes) { - clipboardBranchIds = nodes.map(node => node.data.branchId); +function copy(branchIds) { + clipboardBranchIds = branchIds; clipboardMode = 'copy'; toastService.showMessage("Note(s) have been copied into clipboard."); } -function cut(nodes) { - clipboardBranchIds = nodes - .filter(node => node.data.noteId !== hoistedNoteService.getHoistedNoteId()) - .filter(node => node.getParent().data.noteType !== 'search') - .map(node => node.key); +function cut(branchIds) { + clipboardBranchIds = branchIds; if (clipboardBranchIds.length > 0) { clipboardMode = 'cut'; diff --git a/src/public/javascripts/widgets/note_tree.js b/src/public/javascripts/widgets/note_tree.js index f0a5686c5..eeca1e92d 100644 --- a/src/public/javascripts/widgets/note_tree.js +++ b/src/public/javascripts/widgets/note_tree.js @@ -621,22 +621,26 @@ export default class NoteTreeWidget extends TabAwareWidget { // after opening context menu, standard shortcuts don't work, but they are detected here // so we essentially takeover the standard handling with our implementation. "left": node => { - node.navigate($.ui.keyCode.LEFT, true).then(this.clearSelectedNodes); + node.navigate($.ui.keyCode.LEFT, true); + this.clearSelectedNodes(); return false; }, "right": node => { - node.navigate($.ui.keyCode.RIGHT, true).then(this.clearSelectedNodes); + node.navigate($.ui.keyCode.RIGHT, true); + this.clearSelectedNodes(); return false; }, "up": node => { - node.navigate($.ui.keyCode.UP, true).then(this.clearSelectedNodes); + node.navigate($.ui.keyCode.UP, true); + this.clearSelectedNodes(); return false; }, "down": node => { - node.navigate($.ui.keyCode.DOWN, true).then(this.clearSelectedNodes); + node.navigate($.ui.keyCode.DOWN, true); + this.clearSelectedNodes(); return false; } @@ -647,6 +651,8 @@ export default class NoteTreeWidget extends TabAwareWidget { hotKeyMap[shortcut] = node => this.triggerCommand(action.actionName, {node}); } } + + return hotKeyMap; } /** diff --git a/src/public/javascripts/widgets/search_box.js b/src/public/javascripts/widgets/search_box.js index 8079537c5..3c9b7c256 100644 --- a/src/public/javascripts/widgets/search_box.js +++ b/src/public/javascripts/widgets/search_box.js @@ -167,7 +167,7 @@ export default class SearchBoxWidget extends BasicWidget { this.$searchInput.val(""); } - searchInSubtreeCommand({noteId}) { + searchInSubtreeEvent({noteId}) { noteId = noteId || appContext.tabManager.getActiveTabNoteId(); this.toggle(true); diff --git a/src/routes/api/branches.js b/src/routes/api/branches.js index b24eaeb30..ea275c0d4 100644 --- a/src/routes/api/branches.js +++ b/src/routes/api/branches.js @@ -3,8 +3,8 @@ const sql = require('../../services/sql'); const utils = require('../../services/utils'); const syncTableService = require('../../services/sync_table'); -const tree = require('../../services/tree'); -const notes = require('../../services/notes'); +const treeService = require('../../services/tree'); +const noteService = require('../../services/notes'); const repository = require('../../services/repository'); const TaskContext = require('../../services/task_context'); @@ -16,13 +16,13 @@ const TaskContext = require('../../services/task_context'); async function moveBranchToParent(req) { const {branchId, parentNoteId} = req.params; - const branchToMove = await tree.getBranch(branchId); + const branchToMove = await repository.getBranch(branchId); if (branchToMove.parentNoteId === parentNoteId) { return { success: true }; // no-op } - const validationResult = await tree.validateParentChild(parentNoteId, branchToMove.noteId, branchId); + const validationResult = await treeService.validateParentChild(parentNoteId, branchToMove.noteId, branchId); if (!validationResult.success) { return [200, validationResult]; @@ -43,10 +43,10 @@ async function moveBranchToParent(req) { async function moveBranchBeforeNote(req) { const {branchId, beforeBranchId} = req.params; - const branchToMove = await tree.getBranch(branchId); - const beforeNote = await tree.getBranch(beforeBranchId); + const branchToMove = await repository.getBranch(branchId); + const beforeNote = await repository.getBranch(beforeBranchId); - const validationResult = await tree.validateParentChild(beforeNote.parentNoteId, branchToMove.noteId, branchId); + const validationResult = await treeService.validateParentChild(beforeNote.parentNoteId, branchToMove.noteId, branchId); if (!validationResult.success) { return [200, validationResult]; @@ -77,10 +77,10 @@ async function moveBranchBeforeNote(req) { async function moveBranchAfterNote(req) { const {branchId, afterBranchId} = req.params; - const branchToMove = await tree.getBranch(branchId); - const afterNote = await tree.getBranch(afterBranchId); + const branchToMove = await repository.getBranch(branchId); + const afterNote = await repository.getBranch(afterBranchId); - const validationResult = await tree.validateParentChild(afterNote.parentNoteId, branchToMove.noteId, branchId); + const validationResult = await treeService.validateParentChild(afterNote.parentNoteId, branchToMove.noteId, branchId); if (!validationResult.success) { return [200, validationResult]; @@ -123,7 +123,7 @@ async function deleteBranch(req) { const taskContext = TaskContext.getInstance(req.query.taskId, 'delete-notes'); const deleteId = utils.randomString(10); - const noteDeleted = await notes.deleteBranch(branch, deleteId, taskContext); + const noteDeleted = await noteService.deleteBranch(branch, deleteId, taskContext); if (last) { taskContext.taskSucceeded(); diff --git a/src/services/cloning.js b/src/services/cloning.js index ed991214a..206d42843 100644 --- a/src/services/cloning.js +++ b/src/services/cloning.js @@ -70,7 +70,7 @@ async function toggleNoteInParent(present, noteId, parentNoteId, prefix) { } async function cloneNoteAfter(noteId, afterBranchId) { - const afterNote = await treeService.getBranch(afterBranchId); + const afterNote = await repository.getBranch(afterBranchId); if (await isNoteDeleted(noteId) || await isNoteDeleted(afterNote.parentNoteId)) { return { success: false, message: 'Note is deleted.' }; diff --git a/src/services/tree.js b/src/services/tree.js index 4d311e8e3..410d565fc 100644 --- a/src/services/tree.js +++ b/src/services/tree.js @@ -99,10 +99,6 @@ async function checkTreeCycle(parentNoteId, childNoteId) { return await checkTreeCycleInner(parentNoteId); } -async function getBranch(branchId) { - return sql.getRow("SELECT * FROM branches WHERE branchId = ?", [branchId]); -} - async function loadSubtreeNoteIds(parentNoteId, subtreeNoteIds) { subtreeNoteIds.push(parentNoteId); @@ -199,7 +195,6 @@ async function setNoteToParent(noteId, prefix, parentNoteId) { module.exports = { getNotes, validateParentChild, - getBranch, sortNotesAlphabetically, setNoteToParent }; \ No newline at end of file