diff --git a/src/canvas/index.js b/src/canvas/index.js index 774603d89..d81f8f603 100644 --- a/src/canvas/index.js +++ b/src/canvas/index.js @@ -138,7 +138,8 @@ module.exports = () => { * @return {HTMLBodyElement} */ getBody() { - return this.getDocument().body; + const doc = this.getDocument(); + return doc && doc.body; }, /** @@ -146,7 +147,8 @@ module.exports = () => { * @return {HTMLElement} */ getWrapperEl() { - return this.getBody().querySelector('#wrapper'); + const body = this.getBody(); + return body && body.querySelector('#wrapper'); }, /** diff --git a/src/dom_components/view/ComponentImageView.js b/src/dom_components/view/ComponentImageView.js index 35f6054da..760af2248 100644 --- a/src/dom_components/view/ComponentImageView.js +++ b/src/dom_components/view/ComponentImageView.js @@ -10,7 +10,6 @@ module.exports = ComponentView.extend({ }, initialize(o) { - console.log('init image', this.el); const model = this.model; ComponentView.prototype.initialize.apply(this, arguments); this.listenTo(model, 'change:src', this.updateSrc); diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 452a82d95..3a7a543fc 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -616,13 +616,15 @@ module.exports = Backbone.Model.extend({ CssComposer, UndoManager, Panels, - Canvas + Canvas, + Keymaps } = this.attributes; DomComponents.clear(); CssComposer.clear(); UndoManager.clear().removeAll(); Panels.getPanels().reset(); Canvas.getCanvasView().remove(); + Keymaps.removeAll(); this.view.remove(); this.stopListening(); $(this.config.el) diff --git a/src/keymaps/index.js b/src/keymaps/index.js index 7b677275a..e24bd15b2 100644 --- a/src/keymaps/index.js +++ b/src/keymaps/index.js @@ -26,6 +26,7 @@ * * [get](#get) * * [getAll](#getAll) * * [remove](#remove) + * * [removeAll](#removeall) * * @module Keymaps */ @@ -194,6 +195,15 @@ module.exports = () => { em && em.trigger('keymap:remove', keymap); return keymap; } + }, + + /** + * Remove all binded keymaps + * @return {this} + */ + removeAll() { + Object.keys(keymaps).forEach(keymap => this.remove(keymap)); + return this; } }; };