Move newsletter content attributes into data
object
This commit is contained in:
@ -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 },
|
||||
|
@ -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) {
|
||||
|
@ -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));
|
||||
});
|
||||
});
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user