diff --git a/assets/js/src/newsletter_editor/components/content.js b/assets/js/src/newsletter_editor/components/content.js index 6d9dae462b..956d24fcb9 100644 --- a/assets/js/src/newsletter_editor/components/content.js +++ b/assets/js/src/newsletter_editor/components/content.js @@ -11,7 +11,7 @@ define([ // Does not hold newsletter content nor newsletter styles, those are // handled by other components. Module.NewsletterModel = SuperModel.extend({ - stale: ['content', 'globalStyles'], + stale: ['data'], initialize: function(options) { this.on('change', function() { App.getChannel().trigger('autoSave'); @@ -45,8 +45,10 @@ define([ Module.toJSON = function() { return _.extend({ - content: App._contentContainer.toJSON(), - globalStyles: App.getGlobalStyles().toJSON(), + data: { + content: App._contentContainer.toJSON(), + globalStyles: App.getGlobalStyles().toJSON(), + }, }, App.getNewsletter().toJSON()); }; @@ -62,12 +64,12 @@ define([ App.toJSON = Module.toJSON; App.getNewsletter = Module.getNewsletter; - Module.newsletter = new Module.NewsletterModel(_.omit(_.clone(options.newsletter), ['content', 'globalStyles'])); + Module.newsletter = new Module.NewsletterModel(_.omit(_.clone(options.newsletter), ['data'])); }); App.on('start', function(options) { // TODO: Other newsletter information will be needed as well. - App._contentContainer = new (this.getBlockTypeModel('container'))(options.newsletter.content, {parse: true}); + App._contentContainer = new (this.getBlockTypeModel('container'))(options.newsletter.data.content, {parse: true}); App._contentContainerView = new (this.getBlockTypeView('container'))({ model: App._contentContainer, renderOptions: { depth: 0 }, diff --git a/assets/js/src/newsletter_editor/components/styles.js b/assets/js/src/newsletter_editor/components/styles.js index 2cbe353040..6087a6ab80 100644 --- a/assets/js/src/newsletter_editor/components/styles.js +++ b/assets/js/src/newsletter_editor/components/styles.js @@ -72,7 +72,7 @@ define([ App.getAvailableStyles = Module.getAvailableStyles; - this.setGlobalStyles(options.newsletter.globalStyles); + this.setGlobalStyles(options.newsletter.data.globalStyles); }); App.on('start', function(options) { diff --git a/tests/javascript/newsletter_editor/components/content.spec.js b/tests/javascript/newsletter_editor/components/content.spec.js index 145af2e1fc..fb3d69130b 100644 --- a/tests/javascript/newsletter_editor/components/content.spec.js +++ b/tests/javascript/newsletter_editor/components/content.spec.js @@ -9,13 +9,15 @@ define([ beforeEach(function() { model = new (ContentComponent.NewsletterModel)({ - globalStyles: { - style1: 'style1Value', - style2: 'style2Value', - }, - content: { - data1: 'data1Value', - data2: 'data2Value', + data: { + globalStyles: { + style1: 'style1Value', + style2: 'style2Value', + }, + content: { + data1: 'data1Value', + data2: 'data2Value', + }, }, someField: 'someValue' }); @@ -30,7 +32,7 @@ define([ mock.verify(); }); - it('does not include styles and data attributes in its JSON', function() { + it('does not include styles and content attributes in its JSON', function() { var json = model.toJSON(); expect(json).to.deep.equal({someField: 'someValue'}); }); @@ -79,8 +81,10 @@ define([ }; var json = ContentComponent.toJSON(); expect(json).to.deep.equal(_.extend({ - content: dataField, - globalStyles: stylesField + data: { + content: dataField, + globalStyles: stylesField + }, }, newsletterFields)); }); }); diff --git a/views/newsletter/editor.html b/views/newsletter/editor.html index 2af421b4c2..4465ccfbf9 100644 --- a/views/newsletter/editor.html +++ b/views/newsletter/editor.html @@ -245,1088 +245,1090 @@