From 246089b4b65d97b2d1335a71e051dba6e5eeb0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tautvidas=20Sipavi=C4=8Dius?= Date: Thu, 24 Sep 2015 13:54:52 +0300 Subject: [PATCH] Add call wrappers for saving and previewing newsletters --- .../src/newsletter_editor/components/save.js | 42 +++++++++---------- .../newsletter_editor/components/sidebar.js | 34 +++++++-------- .../newsletter_editor/components/wordpress.js | 7 ++++ 3 files changed, 45 insertions(+), 38 deletions(-) diff --git a/assets/js/src/newsletter_editor/components/save.js b/assets/js/src/newsletter_editor/components/save.js index eac6c93981..f5f0a020ba 100644 --- a/assets/js/src/newsletter_editor/components/save.js +++ b/assets/js/src/newsletter_editor/components/save.js @@ -1,8 +1,9 @@ define([ 'newsletter_editor/App', + 'newsletter_editor/components/wordpress', 'backbone', 'backbone.marionette', - ], function(App, Backbone, Marionette) { + ], function(App, Wordpress, Backbone, Marionette) { "use strict"; @@ -15,27 +16,26 @@ define([ var json = App.toJSON(); - // save newsletter - // TODO: Migrate logic to new AJAX format - //mailpoet_post_wpi('newsletter_save.php', json, function(response) { - //if(response.success !== undefined && response.success === true) { - ////MailPoet.Notice.success(""); - //} else if(response.error !== undefined) { - //if(response.error.length === 0) { - //// TODO: Handle translations - //MailPoet.Notice.error(""); - //} else { - //$(response.error).each(function(i, error) { - //MailPoet.Notice.error(error); - //}); - //} - //} - //App.getChannel().trigger('afterEditorSave', json, response); - //}, function(error) { - //// TODO: Handle saving errors - //App.getChannel().trigger('afterEditorSave', {}, error); - //}); + Wordpress.saveNewsletter(json).done(function(response) { + if(response.success !== undefined && response.success === true) { + // TODO: Handle translations + //MailPoet.Notice.success(""); + } else if(response.error !== undefined) { + if(response.error.length === 0) { + // TODO: Handle translations + MailPoet.Notice.error(""); + } else { + $(response.error).each(function(i, error) { + MailPoet.Notice.error(error); + }); + } + } + App.getChannel().trigger('afterEditorSave', json, response); + }).fail(function() { + // TODO: Handle saving errors + App.getChannel().trigger('afterEditorSave', {}, error); + }); }; Module.SaveView = Marionette.LayoutView.extend({ diff --git a/assets/js/src/newsletter_editor/components/sidebar.js b/assets/js/src/newsletter_editor/components/sidebar.js index a7a338b550..235496ca76 100644 --- a/assets/js/src/newsletter_editor/components/sidebar.js +++ b/assets/js/src/newsletter_editor/components/sidebar.js @@ -225,23 +225,23 @@ define([ MailPoet.Modal.loading(true); // TODO: Migrate logic to new AJAX format - //mailpoet_post_wpi('newsletter_preview.php', data, function(response) { - //if(response.success !== undefined && response.success === true) { - //MailPoet.Notice.success(App.getConfig().get('translations.testEmailSent')); - //} else if(response.error !== undefined) { - //if(response.error.length === 0) { - //MailPoet.Notice.error(App.getConfig().get('translations.unknownErrorOccurred')); - //} else { - //$(response.error).each(function(i, error) { - //MailPoet.Notice.error(error); - //}); - //} - //} - //MailPoet.Modal.loading(false); - //}, function(error) { - //// an error occurred - //MailPoet.Modal.loading(false); - //}); + Wordpress.previewNewsletter(data).done(function(response) { + if(response.success !== undefined && response.success === true) { + MailPoet.Notice.success(App.getConfig().get('translations.testEmailSent')); + } else if(response.error !== undefined) { + if(response.error.length === 0) { + MailPoet.Notice.error(App.getConfig().get('translations.unknownErrorOccurred')); + } else { + $(response.error).each(function(i, error) { + MailPoet.Notice.error(error); + }); + } + } + MailPoet.Modal.loading(false); + }).fail(function(response) { + // an error occurred + MailPoet.Modal.loading(false); + }); }, }); diff --git a/assets/js/src/newsletter_editor/components/wordpress.js b/assets/js/src/newsletter_editor/components/wordpress.js index 931582684b..6b3c43da0c 100644 --- a/assets/js/src/newsletter_editor/components/wordpress.js +++ b/assets/js/src/newsletter_editor/components/wordpress.js @@ -69,6 +69,13 @@ define([ }); }; + Module.previewNewsletter = function(options) { + return Module._query({ + action: 'preview', + options: options, + }); + }; + App.on('start', function(options) { // Prefetch post types Module.getPostTypes();