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-enter', 'ComponentEnter'],
['component-exit', 'ComponentExit'], ['component-exit', 'ComponentExit'],
['canvas-clear', 'CanvasClear'], ['canvas-clear', 'CanvasClear'],
['component-delete', 'ComponentRemove'] ['component-delete', 'ComponentDelete']
].forEach( ].forEach(
item => item =>
(defaultCommands[`core:${item[0]}`] = require(`./view/${ (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 = { module.exports = {
run(ed, sender, opts = {}) { run(ed, sender, opts = {}) {
if (!ed.Canvas.hasFocus() || ed.getModel().isEditing()) return;
let components = opts.component || ed.getSelectedAll(); let components = opts.component || ed.getSelectedAll();
components = isArray(components) ? [...components] : [components]; components = isArray(components) ? [...components] : [components];

21
src/commands/view/SelectComponent.js

@ -9,7 +9,7 @@ let showOffsets;
module.exports = { module.exports = {
init(o) { init(o) {
bindAll(this, 'onHover', 'onOut', 'onClick', 'onKeyPress', 'onFrameScroll'); bindAll(this, 'onHover', 'onOut', 'onClick', 'onFrameScroll');
}, },
enable() { enable() {
@ -53,29 +53,10 @@ module.exports = {
methods[method](body, 'mouseout', this.onOut); methods[method](body, 'mouseout', this.onOut);
methods[method](body, 'click', this.onClick); methods[method](body, 'click', this.onClick);
methods[method](win, 'scroll resize', this.onFrameScroll); methods[method](win, 'scroll resize', this.onFrameScroll);
methods[method](win, 'keydown', this.onKeyPress);
em[method]('component:toggled', this.onSelect, this); em[method]('component:toggled', this.onSelect, this);
em[method]('change:componentHovered', this.onHovered, 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 * Hover command
* @param {Object} e * @param {Object} e

4
src/keymaps/index.js

@ -48,6 +48,10 @@ module.exports = () => {
'core:component-exit': { 'core:component-exit': {
keys: 'a', keys: 'a',
handler: 'core:component-exit' handler: 'core:component-exit'
},
'core:component-delete': {
keys: 'backspace, delete',
handler: 'core:component-delete'
} }
} }
}; };

Loading…
Cancel
Save