Browse Source

Merge pull request #356 from arthuralmeidap/fix-custom-plugin-default-command-overriding

Fix custom plugin default command overriding. Closes #355
pull/406/head
Artur Arseniev 9 years ago
committed by GitHub
parent
commit
d1534097c3
  1. 12
      src/commands/index.js
  2. 30
      test/specs/commands/index.js
  3. 16
      test/specs/grapesjs/index.js

12
src/commands/index.js

@ -196,15 +196,9 @@ module.exports = () => {
if(c.em)
c.model = c.em.get('Canvas');
return this;
},
this.loadDefaultCommands()
/**
* On load callback
* @private
*/
onLoad() {
this.loadDefaultCommands();
return this;
},
/**
@ -258,7 +252,7 @@ module.exports = () => {
* */
loadDefaultCommands() {
for (var id in defaultCommands) {
this.add(id, defaultCommands[id]);
this.add(id, defaultCommands[id]);
}
return this;

30
test/specs/commands/index.js

@ -25,8 +25,30 @@ describe('Commands', () => {
expect(obj.get('test').test).toEqual('test');
});
it('No default commands at init', () => {
expect(obj.get('select-comp')).toEqual(null);
it('Load default commands at init', () => {
expect(obj.get('select-comp')).toNotEqual(null);
expect(obj.get('create-comp')).toNotEqual(null);
expect(obj.get('delete-comp')).toNotEqual(null);
expect(obj.get('image-comp')).toNotEqual(null);
expect(obj.get('move-comp')).toNotEqual(null);
expect(obj.get('text-comp')).toNotEqual(null);
expect(obj.get('insert-custom')).toNotEqual(null);
expect(obj.get('export-template')).toNotEqual(null);
expect(obj.get('sw-visibility')).toNotEqual(null);
expect(obj.get('open-layers')).toNotEqual(null);
expect(obj.get('open-sm')).toNotEqual(null);
expect(obj.get('open-tm')).toNotEqual(null);
expect(obj.get('open-blocks')).toNotEqual(null);
expect(obj.get('open-assets')).toNotEqual(null);
expect(obj.get('show-offset')).toNotEqual(null);
expect(obj.get('select-parent')).toNotEqual(null);
expect(obj.get('tlb-delete')).toNotEqual(null);
expect(obj.get('tlb-clone')).toNotEqual(null);
expect(obj.get('tlb-move')).toNotEqual(null);
expect(obj.get('fullscreen')).toNotEqual(null);
expect(obj.get('preview')).toNotEqual(null);
expect(obj.get('resize')).toNotEqual(null);
expect(obj.get('drag')).toNotEqual(null);
});
it('Default commands after loadDefaultCommands', () => {
@ -34,6 +56,10 @@ describe('Commands', () => {
expect(obj.get('select-comp')).toNotEqual(null);
});
it('Commands module should not have toLoad property', () => {
expect(obj.toLoad).toEqual(null);
});
});
});

16
test/specs/grapesjs/index.js

@ -229,6 +229,22 @@ describe('GrapesJS', () => {
expect(editor.getDevice()).toEqual('Tablet');
});
// Problems with iframe loading
it.skip('Init new editor with custom plugin overrides default commands', () => {
var editor,
pluginName = 'test-plugin-opts';
obj.plugins.add(pluginName, (edt, opts) => {
let cmdm = edt.Commands;
// Overwrite export template
cmdm.add('export-template', {test: 1});
});
config.plugins = [pluginName];
editor = obj.init(config);
expect(editor.Commands.get('export-template').test).toEqual(1);
});
});
});

Loading…
Cancel
Save