Browse Source

Add `core:component-delete` command to keymaps module

docs
Artur Arseniev 8 years ago
parent
commit
30a9548a41
  1. 2
      src/commands/index.js
  2. 1
      src/commands/view/ComponentDelete.js
  3. 21
      src/commands/view/SelectComponent.js
  4. 4
      src/keymaps/index.js

2
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/${

1
src/commands/view/ComponentRemove.js → 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];

21
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

4
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'
}
}
};

Loading…
Cancel
Save