diff --git a/bin/better-sqlite3/win-better_sqlite3.node b/bin/better-sqlite3/win-better_sqlite3.node index 2af4650dc..1cb25caa3 100644 Binary files a/bin/better-sqlite3/win-better_sqlite3.node and b/bin/better-sqlite3/win-better_sqlite3.node differ diff --git a/src/public/app/services/link.js b/src/public/app/services/link.js index 207c1a7e1..688fe79d5 100644 --- a/src/public/app/services/link.js +++ b/src/public/app/services/link.js @@ -1,5 +1,5 @@ import treeService from './tree.js'; -import contextMenu from "./context_menu.js"; +import linkContextMenuService from "./link_context_menu.js"; import appContext from "./app_context.js"; import froca from "./froca.js"; import utils from "./utils.js"; @@ -128,29 +128,7 @@ function linkContextMenu(e) { e.preventDefault(); - contextMenu.show({ - x: e.pageX, - y: e.pageY, - items: [ - {title: "Open note in a new tab", command: "openNoteInNewTab", uiIcon: "empty"}, - {title: "Open note in a new split", command: "openNoteInNewSplit", uiIcon: "dock-right"}, - {title: "Open note in a new window", command: "openNoteInNewWindow", uiIcon: "window-open"} - ], - selectMenuItemHandler: ({command}) => { - if (command === 'openNoteInNewTab') { - appContext.tabManager.openTabWithNoteWithHoisting(notePath); - } - else if (command === 'openNoteInNewSplit') { - const subContexts = appContext.tabManager.getActiveContext().getSubContexts(); - const {ntxId} = subContexts[subContexts.length - 1]; - - appContext.triggerCommand("openNewNoteSplit", {ntxId, notePath}); - } - else if (command === 'openNoteInNewWindow') { - appContext.triggerCommand('openInWindow', {notePath, hoistedNoteId: 'root'}); - } - } - }); + linkContextMenuService.openContextMenu(notePath, e); } async function loadReferenceLinkTitle(noteId, $el) { diff --git a/src/public/app/services/link_context_menu.js b/src/public/app/services/link_context_menu.js new file mode 100644 index 000000000..6c1e972cc --- /dev/null +++ b/src/public/app/services/link_context_menu.js @@ -0,0 +1,32 @@ +import contextMenu from "./context_menu.js"; +import appContext from "./app_context.js"; + +function openContextMenu(notePath, e) { + contextMenu.show({ + x: e.pageX, + y: e.pageY, + items: [ + {title: "Open note in a new tab", command: "openNoteInNewTab", uiIcon: "empty"}, + {title: "Open note in a new split", command: "openNoteInNewSplit", uiIcon: "dock-right"}, + {title: "Open note in a new window", command: "openNoteInNewWindow", uiIcon: "window-open"} + ], + selectMenuItemHandler: ({command}) => { + if (command === 'openNoteInNewTab') { + appContext.tabManager.openTabWithNoteWithHoisting(notePath); + } + else if (command === 'openNoteInNewSplit') { + const subContexts = appContext.tabManager.getActiveContext().getSubContexts(); + const {ntxId} = subContexts[subContexts.length - 1]; + + appContext.triggerCommand("openNewNoteSplit", {ntxId, notePath}); + } + else if (command === 'openNoteInNewWindow') { + appContext.triggerCommand('openInWindow', {notePath, hoistedNoteId: 'root'}); + } + } + }); +} + +export default { + openContextMenu +} diff --git a/src/public/app/widgets/note_map.js b/src/public/app/widgets/note_map.js index 8fc03283b..f147e2bfa 100644 --- a/src/public/app/widgets/note_map.js +++ b/src/public/app/widgets/note_map.js @@ -4,6 +4,7 @@ import attributeService from "../services/attributes.js"; import hoistedNoteService from "../services/hoisted_note.js"; import appContext from "../services/app_context.js"; import NoteContextAwareWidget from "./note_context_aware_widget.js"; +import linkContextMenuService from "../services/link_context_menu.js"; const TPL = `