From 30a9548a41441b4f8d5169cf3cc17cf5ed325519 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Tue, 26 Jun 2018 23:06:06 +0200 Subject: [PATCH] Add `core:component-delete` command to keymaps module --- src/commands/index.js | 2 +- ...{ComponentRemove.js => ComponentDelete.js} | 1 + src/commands/view/SelectComponent.js | 21 +------------------ src/keymaps/index.js | 4 ++++ 4 files changed, 7 insertions(+), 21 deletions(-) rename src/commands/view/{ComponentRemove.js => ComponentDelete.js} (91%) diff --git a/src/commands/index.js b/src/commands/index.js index 8d523a983..377206161 100644 --- a/src/commands/index.js +++ b/src/commands/index.js @@ -205,7 +205,7 @@ module.exports = () => { ['component-enter', 'ComponentEnter'], ['component-exit', 'ComponentExit'], ['canvas-clear', 'CanvasClear'], - ['component-delete', 'ComponentRemove'] + ['component-delete', 'ComponentDelete'] ].forEach( item => (defaultCommands[`core:${item[0]}`] = require(`./view/${ diff --git a/src/commands/view/ComponentRemove.js b/src/commands/view/ComponentDelete.js similarity index 91% rename from src/commands/view/ComponentRemove.js rename to src/commands/view/ComponentDelete.js index b8e75b350..d281cd6c6 100644 --- a/src/commands/view/ComponentRemove.js +++ b/src/commands/view/ComponentDelete.js @@ -2,6 +2,7 @@ import { isArray } from 'underscore'; module.exports = { run(ed, sender, opts = {}) { + if (!ed.Canvas.hasFocus() || ed.getModel().isEditing()) return; let components = opts.component || ed.getSelectedAll(); components = isArray(components) ? [...components] : [components]; diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index 27a9a3aa4..b9e719f38 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -9,7 +9,7 @@ let showOffsets; module.exports = { init(o) { - bindAll(this, 'onHover', 'onOut', 'onClick', 'onKeyPress', 'onFrameScroll'); + bindAll(this, 'onHover', 'onOut', 'onClick', 'onFrameScroll'); }, enable() { @@ -53,29 +53,10 @@ module.exports = { methods[method](body, 'mouseout', this.onOut); methods[method](body, 'click', this.onClick); methods[method](win, 'scroll resize', this.onFrameScroll); - methods[method](win, 'keydown', this.onKeyPress); em[method]('component:toggled', this.onSelect, this); em[method]('change:componentHovered', this.onHovered, this); }, - /** - * On key press event - * @private - * */ - onKeyPress(e) { - var key = e.which || e.keyCode; - var comp = this.editorModel.getSelected(); - var focused = this.frameEl.contentDocument.activeElement.tagName !== 'BODY'; - - // On CANC (46) or Backspace (8) - if (key == 8 || key == 46) { - if (!focused) e.preventDefault(); - if (comp && !focused) { - this.editor.runCommand('core:component-delete'); - } - } - }, - /** * Hover command * @param {Object} e diff --git a/src/keymaps/index.js b/src/keymaps/index.js index 2bba6be53..32ae7b9dd 100644 --- a/src/keymaps/index.js +++ b/src/keymaps/index.js @@ -48,6 +48,10 @@ module.exports = () => { 'core:component-exit': { keys: 'a', handler: 'core:component-exit' + }, + 'core:component-delete': { + keys: 'backspace, delete', + handler: 'core:component-delete' } } };