Hook up newsletter editor saving

This commit is contained in:
Tautvidas Sipavičius
2015-09-25 18:15:46 +03:00
parent dc40d84a22
commit 7777ba1180
3 changed files with 15 additions and 9 deletions

View File

@ -45,10 +45,10 @@ define([
Module.toJSON = function() {
return _.extend({
body: {
body: JSON.stringify({
content: App._contentContainer.toJSON(),
globalStyles: App.getGlobalStyles().toJSON(),
},
}),
}, App.getNewsletter().toJSON());
};
@ -69,7 +69,8 @@ define([
App.on('start', function(options) {
// TODO: Other newsletter information will be needed as well.
App._contentContainer = new (this.getBlockTypeModel('container'))(options.newsletter.body.content, {parse: true});
var body = JSON.parse(options.newsletter.body);
App._contentContainer = new (this.getBlockTypeModel('container'))(body.content, {parse: true});
App._contentContainerView = new (this.getBlockTypeView('container'))({
model: App._contentContainer,
renderOptions: { depth: 0 },

View File

@ -1,9 +1,9 @@
define([
'newsletter_editor/App',
'newsletter_editor/components/wordpress',
'mailpoet',
'backbone',
'backbone.marionette'
], function(App, Wordpress, Backbone, Marionette) {
], function(App, MailPoet, Backbone, Marionette) {
"use strict";
@ -17,7 +17,11 @@ define([
var json = App.toJSON();
// save newsletter
Wordpress.saveNewsletter(json).done(function(response) {
MailPoet.Ajax.post({
endpoint: 'newsletters',
action: 'save',
data: json,
}).done(function(response) {
if(response.success !== undefined && response.success === true) {
// TODO: Handle translations
//MailPoet.Notice.success("<?php _e('Newsletter has been saved.'); ?>");
@ -32,9 +36,9 @@ define([
}
}
App.getChannel().trigger('afterEditorSave', json, response);
}).fail(function() {
}).fail(function(response) {
// TODO: Handle saving errors
App.getChannel().trigger('afterEditorSave', {}, error);
App.getChannel().trigger('afterEditorSave', {}, response);
});
};

View File

@ -72,7 +72,8 @@ define([
App.getAvailableStyles = Module.getAvailableStyles;
this.setGlobalStyles(options.newsletter.body.globalStyles);
var body = JSON.parse(options.newsletter.body);
this.setGlobalStyles(body.globalStyles);
});
App.on('start', function(options) {