From cf146423af74bc554c02a0b7dd782a6cff93186f Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 8 Jun 2018 21:59:59 +0200 Subject: [PATCH] Navigate components only if the canvas is focused --- src/canvas/index.js | 8 ++++++++ src/commands/view/ComponentEnter.js | 1 + src/commands/view/ComponentExit.js | 1 + src/commands/view/ComponentNext.js | 1 + src/commands/view/ComponentPrev.js | 1 + 5 files changed, 12 insertions(+) diff --git a/src/canvas/index.js b/src/canvas/index.js index 4ee286f99..a14aad27c 100644 --- a/src/canvas/index.js +++ b/src/canvas/index.js @@ -349,6 +349,14 @@ module.exports = () => { }; }, + /** + * Check if the canvas is focused + * @return {Boolean} + */ + hasFocus() { + return this.getDocument().hasFocus(); + }, + /** * Detects if some input is focused (input elements, text components, etc.) * Used internally, for example, to avoid undo/redo in text editing mode diff --git a/src/commands/view/ComponentEnter.js b/src/commands/view/ComponentEnter.js index be29edc51..a06efae09 100644 --- a/src/commands/view/ComponentEnter.js +++ b/src/commands/view/ComponentEnter.js @@ -1,5 +1,6 @@ module.exports = { run(ed) { + if (!ed.Canvas.hasFocus()) return; const toSelect = []; ed.getSelectedAll().forEach(component => { diff --git a/src/commands/view/ComponentExit.js b/src/commands/view/ComponentExit.js index cbf0a2634..d13328704 100644 --- a/src/commands/view/ComponentExit.js +++ b/src/commands/view/ComponentExit.js @@ -1,5 +1,6 @@ module.exports = { run(ed) { + if (!ed.Canvas.hasFocus()) return; const toSelect = []; ed.getSelectedAll().forEach(component => { diff --git a/src/commands/view/ComponentNext.js b/src/commands/view/ComponentNext.js index 0f89b8906..f47ea4d5b 100644 --- a/src/commands/view/ComponentNext.js +++ b/src/commands/view/ComponentNext.js @@ -1,5 +1,6 @@ module.exports = { run(ed) { + if (!ed.Canvas.hasFocus()) return; const toSelect = []; ed.getSelectedAll().forEach(component => { diff --git a/src/commands/view/ComponentPrev.js b/src/commands/view/ComponentPrev.js index f83e40caf..47c57150d 100644 --- a/src/commands/view/ComponentPrev.js +++ b/src/commands/view/ComponentPrev.js @@ -1,5 +1,6 @@ module.exports = { run(ed) { + if (!ed.Canvas.hasFocus()) return; const toSelect = []; ed.getSelectedAll().forEach(component => {