From b8a74c727e5e3c5c87f5b7ce3325a5bdb6e71b31 Mon Sep 17 00:00:00 2001 From: azivner Date: Sun, 2 Dec 2018 14:04:53 +0100 Subject: [PATCH] copy paste, undo, redo, select all shortcuts supported on mac build --- src/public/javascripts/services/bootstrap.js | 17 ++++++++++++++++- src/public/javascripts/services/utils.js | 5 +++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/public/javascripts/services/bootstrap.js b/src/public/javascripts/services/bootstrap.js index 8e3d4f93e..b1622538d 100644 --- a/src/public/javascripts/services/bootstrap.js +++ b/src/public/javascripts/services/bootstrap.js @@ -104,6 +104,21 @@ if (utils.isElectron()) { }); } +function exec(cmd) { + document.execCommand(cmd); + + return false; +} + +if (utils.isElectron() && utils.isMac()) { + utils.bindShortcut('ctrl+c', () => exec("copy")); + utils.bindShortcut('ctrl+v', () => exec('paste')); + utils.bindShortcut('ctrl+x', () => exec('cut')); + utils.bindShortcut('ctrl+a', () => exec('selectAll')); + utils.bindShortcut('ctrl+z', () => exec('undo')); + utils.bindShortcut('ctrl+y', () => exec('redo')); +} + $("#export-note-button").click(function () { if ($(this).hasClass("disabled")) { return; @@ -118,4 +133,4 @@ entrypoints.registerEntrypoints(); tooltip.setupTooltip(); -bundle.executeStartupBundles(); \ No newline at end of file +bundle.executeStartupBundles(); diff --git a/src/public/javascripts/services/utils.js b/src/public/javascripts/services/utils.js index ea1f8edd1..d88a8e574 100644 --- a/src/public/javascripts/services/utils.js +++ b/src/public/javascripts/services/utils.js @@ -46,6 +46,10 @@ function isElectron() { return window && window.process && window.process.type; } +function isMac() { + return navigator.platform.indexOf('Mac') > -1; +} + function assertArguments() { for (const i in arguments) { if (!arguments[i]) { @@ -150,6 +154,7 @@ export default { formatDateTime, now, isElectron, + isMac, assertArguments, isTopLevelNode, isRootNode,