diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index b54c03919..962e18dbe 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -65,7 +65,8 @@ define(function() { onKeyPress: function(e) { var key = e.which || e.keyCode; var comp = this.editorModel.get('selectedComponent'); - if((key == 8 || key == 46) && comp) { + var focused = document.activeElement.tagName !== 'BODY'; + if((key == 8 || key == 46) && comp && !focused) { if(!comp.get('removable')) return; comp.set('status',''); diff --git a/src/editor/main.js b/src/editor/main.js index 125afbe89..963d66ad9 100644 --- a/src/editor/main.js +++ b/src/editor/main.js @@ -24,9 +24,6 @@ define(function (require){ var editorView = new EditorView(obj); - var DomComponents = editorModel.get('Components'); - var CssComposer = editorModel.get('CssComposer'); - return { editor: editorModel, @@ -34,12 +31,22 @@ define(function (require){ /** * @property {DomComponents} */ - DomComponents: DomComponents, + DomComponents: editorModel.get('Components'), /** * @property {CssComposer} */ - CssComposer: CssComposer, + CssComposer: editorModel.get('CssComposer'), + + // AssetManager, Canvas, ClassManager, CodeManager, Commands, Dialog, Panels, StoragManager, StyleManager + + /** + * Returns configuration object + * @return {Object} + */ + getConfig: function(){ + return c; + }, /** * Returns HTML built inside canvas @@ -101,6 +108,15 @@ define(function (require){ return editorModel.getSelected(); }, + /** + * Store data to the current storage + * @return {this} + */ + store: function(){ + editorModel.store(); + return this; + }, + /** * Render editor * @return {HTMLElement} diff --git a/src/grapesjs/config/config.js b/src/grapesjs/config/config.js index 71470b2e3..97401526e 100644 --- a/src/grapesjs/config/config.js +++ b/src/grapesjs/config/config.js @@ -1,5 +1,8 @@ define(function () { return { + // If true renders editor on init + autorender: 1, + // Where init the editor container: '', @@ -10,8 +13,9 @@ define(function () { style: '', // If true, will fetch HTML and CSS from selected container - fromElement: false, + fromElement: 0, + // --- // Enable/Disable the possibility to copy(ctrl + c) & paste(ctrl + v) components copyPaste: true, diff --git a/src/grapesjs/main.js b/src/grapesjs/main.js index 6a1e98cf4..b44f41854 100644 --- a/src/grapesjs/main.js +++ b/src/grapesjs/main.js @@ -40,11 +40,16 @@ define(function (require) { config.el = document.querySelector(els); var editor = new Editor(config); - //- new EditorView({model: editor}).render(); - //- inject and start plugins (plugins) - // foreach config.plugins - // pluginManager.get('plugin')(editor); - // + + // Execute all plugins + var plugs = plugins.getAll(); + for (var id in plugs){ + var plug = plugins.get(id); + plug(editor); + } + + if(c.autorender) + editor.render(); return editor; },