From 1876664dfb1ca41ff385d4b4e204bc6739575eb9 Mon Sep 17 00:00:00 2001 From: Heniker Date: Sun, 19 Jan 2020 11:16:36 +0300 Subject: [PATCH] add hotkey to copy contents with line breaks, fixes #349 (#831) --- src/public/javascripts/services/entrypoints.js | 5 ++++- src/public/javascripts/services/utils.js | 10 +++++++++- src/services/keyboard_actions.js | 4 ++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/public/javascripts/services/entrypoints.js b/src/public/javascripts/services/entrypoints.js index f37efbe37..968d2f3ad 100644 --- a/src/public/javascripts/services/entrypoints.js +++ b/src/public/javascripts/services/entrypoints.js @@ -241,7 +241,7 @@ function registerEntrypoints() { d.showDialog(selectedOrActiveNodes); })); - + keyboardActionService.setGlobalActionHandler("CreateNoteIntoDayNote", async () => { const todayNote = await dateNoteService.getTodayNote(); @@ -288,6 +288,9 @@ function registerEntrypoints() { searchNotesService.searchInSubtree(node.data.noteId); }); + + $('document').on('copy', utils.copySelectionToClipboard) + keyboardActionService.setGlobalActionHandler("CopyWithoutFormating", utils.copySelectionToClipboard) } export default { diff --git a/src/public/javascripts/services/utils.js b/src/public/javascripts/services/utils.js index c64882fd7..a666b5fcd 100644 --- a/src/public/javascripts/services/utils.js +++ b/src/public/javascripts/services/utils.js @@ -241,6 +241,13 @@ function getUrlForDownload(url) { } } +function copySelectionToClipboard() { + const text = window.getSelection().toString() + if (navigator.clipboard) { + navigator.clipboard.writeText(text) + } +} + export default { reloadApp, parseDate, @@ -273,5 +280,6 @@ export default { isHtmlEmpty, clearBrowserCache, getUrlForDownload, - normalizeShortcut + normalizeShortcut, + copySelectionToClipboard }; \ No newline at end of file diff --git a/src/services/keyboard_actions.js b/src/services/keyboard_actions.js index 3311f91d0..6a4a65f3d 100644 --- a/src/services/keyboard_actions.js +++ b/src/services/keyboard_actions.js @@ -306,6 +306,10 @@ const DEFAULT_KEYBOARD_ACTIONS = [ { actionName: "ZoomIn", defaultShortcuts: ["CommandOrControl+="] + }, + { + actionName: "CopyWithoutFormating", + defaultShortcuts: ["Alt+Ctrl+C"] } ];