diff --git a/src/canvas/model/Canvas.js b/src/canvas/model/Canvas.js index d957748d4..2a2f6113f 100644 --- a/src/canvas/model/Canvas.js +++ b/src/canvas/model/Canvas.js @@ -14,11 +14,14 @@ export default Backbone.Model.extend({ initialize(config = {}) { const { em } = config; const { styles = [], scripts = [] } = config; - const root = em && em.getWrapper(); - const css = em && em.getStyle(); const mainPage = em.get('Pages').getMain(); const frames = mainPage.getFrames(); - const frame = mainPage.getMainFrame() || frames.add({ root, styles: css }); + const frame = + mainPage.getMainFrame() || + frames.add({ + components: em.getWrapper(), + styles: em.getStyle() + }); styles.forEach(style => frame.addLink(style)); scripts.forEach(script => frame.addScript(script)); this.em = em; diff --git a/src/canvas/model/Frame.js b/src/canvas/model/Frame.js index 4c3702730..fd8cae1da 100644 --- a/src/canvas/model/Frame.js +++ b/src/canvas/model/Frame.js @@ -1,62 +1,46 @@ import Backbone from 'backbone'; -import Component from 'dom_components/model/Component'; -import CssRules from 'css_composer/model/CssRules'; -import { isString } from 'underscore'; +import Component from 'dom_components/model/ComponentWrapper'; +import { isComponent, isObject } from 'utils/mixins'; export default Backbone.Model.extend({ defaults: () => ({ + x: 0, + y: 0, + attributes: {}, width: null, height: null, head: [], - x: 0, - y: 0, - root: 0, - components: 0, - styles: 0, - attributes: {} + components: '', + styles: '' }), initialize(props, opts = {}) { const { config } = opts; const { em } = config; - const { root, styles, components } = this.attributes; + const { styles, components } = this.attributes; const conf = em.get('DomComponents').getConfig(); + const allRules = em.get('CssComposer').getAll(); this.em = em; const modOpts = { em, config: conf, frame: this }; - !root && - this.set( - 'root', - new Component( - { - type: 'wrapper', - components: components || [] - }, - modOpts - ) - ); - - (!styles || isString(styles)) && - this.set('styles', new CssRules(styles, modOpts)); - }, + if (!isComponent(components)) { + this.set('components', new Component({ components }, modOpts)); + } - /* - frames: [ - { - components: '