Browse Source

Add default `core:undo` and `core:redo` keymaps

pull/663/head
Artur Arseniev 8 years ago
parent
commit
e0ea018d02
  1. 5
      src/dom_components/index.js
  2. 30
      src/keymaps/index.js

5
src/dom_components/index.js

@ -229,10 +229,7 @@ module.exports = () => {
* @private * @private
*/ */
onLoad() { onLoad() {
const comps = this.getComponents(); this.getComponents().reset(c.components);
comps.reset(c.components);
//const um = em && em.get('UndoManager');
//um && um.add(comps);
}, },
/** /**

30
src/keymaps/index.js

@ -12,9 +12,21 @@ import { isString } from 'underscore';
const keymaster = require('keymaster'); const keymaster = require('keymaster');
module.exports = () => { module.exports = () => {
let em;
let config; let config;
const configDef = {};
const keymaps = {}; const keymaps = {};
const configDef = {
defaults: {
'core:undo': {
keys: '⌘+z, ctrl+z',
handler: 'core:undo',
},
'core:redo': {
keys: '⌘+shift+z, ctrl+shift+z',
handler: 'core:redo',
}
}
};
return { return {
@ -39,11 +51,23 @@ module.exports = () => {
* @private * @private
*/ */
init(opts = {}) { init(opts = {}) {
config = { ...opts, ...configDef }; config = { ...configDef, ...opts };
this.em = config.em; em = config.em;
this.em = em;
return this; return this;
}, },
onLoad() {
const defKeys = config.defaults;
for (let id in defKeys) {
const value = defKeys[id];
this.add(id, value.keys, value.handler);
}
},
/** /**
* Add new keymap * Add new keymap
* @param {string} id Keymap id * @param {string} id Keymap id

Loading…
Cancel
Save