Rename Wordpress component to Communication component, fix preview JS

syntax
This commit is contained in:
Tautvidas Sipavičius
2015-12-16 18:06:28 +02:00
parent f02699158f
commit 132e6d3342
10 changed files with 58 additions and 52 deletions

View File

@ -11,10 +11,10 @@ define([
'newsletter_editor/blocks/base', 'newsletter_editor/blocks/base',
'newsletter_editor/blocks/button', 'newsletter_editor/blocks/button',
'newsletter_editor/blocks/divider', 'newsletter_editor/blocks/divider',
'newsletter_editor/components/wordpress', 'newsletter_editor/components/communication',
'underscore', 'underscore',
'jquery' 'jquery'
], function(App, BaseBlock, ButtonBlock, DividerBlock, WordpressComponent, _, jQuery) { ], function(App, BaseBlock, ButtonBlock, DividerBlock, CommunicationComponent, _, jQuery) {
"use strict"; "use strict";
@ -69,7 +69,7 @@ define([
}, },
fetchPosts: function() { fetchPosts: function() {
var that = this; var that = this;
WordpressComponent.getTransformedPosts(this.toJSON()).done(function(content) { CommunicationComponent.getTransformedPosts(this.toJSON()).done(function(content) {
console.log('ALC fetched', arguments); console.log('ALC fetched', arguments);
that.get('_container').get('blocks').reset(content, {parse: true}); that.get('_container').get('blocks').reset(content, {parse: true});
}).fail(function(error) { }).fail(function(error) {
@ -161,7 +161,7 @@ define([
var that = this; var that = this;
// Dynamically update available post types // Dynamically update available post types
WordpressComponent.getPostTypes().done(_.bind(this._updateContentTypes, this)); CommunicationComponent.getPostTypes().done(_.bind(this._updateContentTypes, this));
this.$('.mailpoet_automated_latest_content_categories_and_tags').select2({ this.$('.mailpoet_automated_latest_content_categories_and_tags').select2({
multiple: true, multiple: true,
@ -174,10 +174,10 @@ define([
}, },
transport: function(options, success, failure) { transport: function(options, success, failure) {
var taxonomies, var taxonomies,
promise = WordpressComponent.getTaxonomies(that.model.get('contentType')).then(function(tax) { promise = CommunicationComponent.getTaxonomies(that.model.get('contentType')).then(function(tax) {
taxonomies = tax; taxonomies = tax;
// Fetch available terms based on the list of taxonomies already fetched // Fetch available terms based on the list of taxonomies already fetched
var promise = WordpressComponent.getTerms({ var promise = CommunicationComponent.getTerms({
search: options.data.term, search: options.data.term,
taxonomies: _.keys(taxonomies) taxonomies: _.keys(taxonomies)
}).then(function(terms) { }).then(function(terms) {

View File

@ -18,12 +18,12 @@ define([
'jquery', 'jquery',
'mailpoet', 'mailpoet',
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/wordpress', 'newsletter_editor/components/communication',
'newsletter_editor/blocks/base', 'newsletter_editor/blocks/base',
'newsletter_editor/blocks/button', 'newsletter_editor/blocks/button',
'newsletter_editor/blocks/divider', 'newsletter_editor/blocks/divider',
'select2' 'select2'
], function(Backbone, Marionette, Radio, _, jQuery, MailPoet, App, WordpressComponent, BaseBlock, ButtonBlock, DividerBlock) { ], function(Backbone, Marionette, Radio, _, jQuery, MailPoet, App, CommunicationComponent, BaseBlock, ButtonBlock, DividerBlock) {
"use strict"; "use strict";
@ -96,7 +96,7 @@ define([
}, },
fetchAvailablePosts: function() { fetchAvailablePosts: function() {
var that = this; var that = this;
WordpressComponent.getPosts(this.toJSON()).done(function(posts) { CommunicationComponent.getPosts(this.toJSON()).done(function(posts) {
console.log('Posts fetched', arguments); console.log('Posts fetched', arguments);
that.get('_availablePosts').reset(posts); that.get('_availablePosts').reset(posts);
that.get('_selectedPosts').reset(); // Empty out the collection that.get('_selectedPosts').reset(); // Empty out the collection
@ -116,7 +116,7 @@ define([
return; return;
} }
WordpressComponent.getTransformedPosts(data).done(function(posts) { CommunicationComponent.getTransformedPosts(data).done(function(posts) {
console.log('Transformed posts fetched', arguments); console.log('Transformed posts fetched', arguments);
that.get('_transformedPosts').get('blocks').reset(posts, {parse: true}); that.get('_transformedPosts').get('blocks').reset(posts, {parse: true});
}).fail(function() { }).fail(function() {
@ -133,7 +133,7 @@ define([
if (data.posts.length === 0) return; if (data.posts.length === 0) return;
WordpressComponent.getTransformedPosts(data).done(function(posts) { CommunicationComponent.getTransformedPosts(data).done(function(posts) {
console.log('Available posts fetched', arguments); console.log('Available posts fetched', arguments);
collection.add(posts, { at: index }); collection.add(posts, { at: index });
}).fail(function() { }).fail(function() {
@ -271,7 +271,7 @@ define([
var that = this; var that = this;
// Dynamically update available post types // Dynamically update available post types
WordpressComponent.getPostTypes().done(_.bind(this._updateContentTypes, this)); CommunicationComponent.getPostTypes().done(_.bind(this._updateContentTypes, this));
this.$('.mailpoet_posts_categories_and_tags').select2({ this.$('.mailpoet_posts_categories_and_tags').select2({
multiple: true, multiple: true,
@ -284,10 +284,10 @@ define([
}, },
transport: function(options, success, failure) { transport: function(options, success, failure) {
var taxonomies, var taxonomies,
promise = WordpressComponent.getTaxonomies(that.model.get('contentType')).then(function(tax) { promise = CommunicationComponent.getTaxonomies(that.model.get('contentType')).then(function(tax) {
taxonomies = tax; taxonomies = tax;
// Fetch available terms based on the list of taxonomies already fetched // Fetch available terms based on the list of taxonomies already fetched
var promise = WordpressComponent.getTerms({ var promise = CommunicationComponent.getTerms({
search: options.data.term, search: options.data.term,
taxonomies: _.keys(taxonomies) taxonomies: _.keys(taxonomies)
}).then(function(terms) { }).then(function(terms) {

View File

@ -70,9 +70,10 @@ define([
}; };
Module.previewNewsletter = function(options) { Module.previewNewsletter = function(options) {
return Module._query({ return MailPoet.Ajax.post({
endpoint: 'newsletters',
action: 'preview', action: 'preview',
options: options, data: options || {},
}); });
}; };

View File

@ -1,12 +1,13 @@
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/communication',
'backbone', 'backbone',
'backbone.marionette', 'backbone.marionette',
'backbone.supermodel', 'backbone.supermodel',
'underscore', 'underscore',
'jquery', 'jquery',
'sticky-kit' 'sticky-kit'
], function(App, Backbone, Marionette, SuperModel, _, jQuery, StickyKit) { ], function(App, CommunicationComponent, Backbone, Marionette, SuperModel, _, jQuery, StickyKit) {
"use strict"; "use strict";
@ -229,7 +230,7 @@ define([
MailPoet.Modal.loading(true); MailPoet.Modal.loading(true);
// TODO: Migrate logic to new AJAX format // TODO: Migrate logic to new AJAX format
Wordpress.previewNewsletter(data).done(function(response) { CommunicationComponent.previewNewsletter(data).done(function(response) {
if(response.success !== undefined && response.success === true) { if(response.success !== undefined && response.success === true) {
MailPoet.Notice.success(App.getConfig().get('translations.testEmailSent')); MailPoet.Notice.success(App.getConfig().get('translations.testEmailSent'));
} else if(response.error !== undefined) { } else if(response.error !== undefined) {

View File

@ -2,8 +2,8 @@ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/automatedLatestContent', 'newsletter_editor/blocks/automatedLatestContent',
'amd-inject-loader!newsletter_editor/blocks/automatedLatestContent', 'amd-inject-loader!newsletter_editor/blocks/automatedLatestContent',
'newsletter_editor/components/wordpress', 'newsletter_editor/components/communication',
], function(EditorApplication, AutomatedLatestContentBlock, AutomatedLatestContentInjector, WordpressComponent) { ], function(EditorApplication, AutomatedLatestContentBlock, AutomatedLatestContentInjector, CommunicationComponent) {
describe('Automated latest content', function () { describe('Automated latest content', function () {
describe('model', function () { describe('model', function () {
@ -11,7 +11,7 @@ define([
before(function() { before(function() {
module = AutomatedLatestContentInjector({ module = AutomatedLatestContentInjector({
'newsletter_editor/components/wordpress': { 'newsletter_editor/components/communication': {
getTransformedPosts: function() { getTransformedPosts: function() {
return jQuery.Deferred(); return jQuery.Deferred();
} }
@ -199,7 +199,7 @@ define([
before(function() { before(function() {
module = AutomatedLatestContentInjector({ module = AutomatedLatestContentInjector({
'newsletter_editor/components/wordpress': { 'newsletter_editor/components/communication': {
getTransformedPosts: function() { getTransformedPosts: function() {
return jQuery.Deferred(); return jQuery.Deferred();
} }
@ -231,7 +231,7 @@ define([
before(function() { before(function() {
module = AutomatedLatestContentInjector({ module = AutomatedLatestContentInjector({
'newsletter_editor/components/wordpress': { 'newsletter_editor/components/communication': {
getTransformedPosts: function() { getTransformedPosts: function() {
return jQuery.Deferred(); return jQuery.Deferred();
}, },
@ -243,7 +243,7 @@ define([
}); });
before(function () { before(function () {
WordpressComponent.getPostTypes = function() { CommunicationComponent.getPostTypes = function() {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve([ deferred.resolve([
{ {

View File

@ -1,8 +1,8 @@
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/wordpress', 'newsletter_editor/components/communication',
'newsletter_editor/blocks/posts' 'newsletter_editor/blocks/posts'
], function(EditorApplication, WordpressComponent, PostsBlock) { ], function(EditorApplication, CommunicationComponent, PostsBlock) {
describe('Posts', function () { describe('Posts', function () {
Backbone.Radio = { Backbone.Radio = {
@ -16,7 +16,7 @@ define([
var model; var model;
before(function() { before(function() {
WordpressComponent.getPosts = function() { CommunicationComponent.getPosts = function() {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
return deferred; return deferred;
}; };
@ -226,7 +226,7 @@ define([
var model, view; var model, view;
before(function () { before(function () {
WordpressComponent.getPostTypes = function() { CommunicationComponent.getPostTypes = function() {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve([ deferred.resolve([
{ {

View File

@ -1,12 +1,12 @@
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/wordpress', 'newsletter_editor/components/communication',
'amd-inject-loader!newsletter_editor/components/wordpress' 'amd-inject-loader!newsletter_editor/components/communication'
], function(EditorApplication, Wordpress, WordpressInjector) { ], function(EditorApplication, Communication, CommunicationInjector) {
describe('getPostTypes', function() { describe('getPostTypes', function() {
it('fetches post types from the server', function() { it('fetches post types from the server', function() {
var module = WordpressInjector({ var module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: function() { post: function() {
@ -28,7 +28,7 @@ define([
it('caches results', function() { it('caches results', function() {
var deferred = jQuery.Deferred(), var deferred = jQuery.Deferred(),
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred), mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: mock, post: mock,
@ -59,7 +59,7 @@ define([
}, },
module; module;
spy = sinon.spy(post); spy = sinon.spy(post);
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: spy, post: spy,
@ -72,7 +72,7 @@ define([
}); });
it('fetches post types from the server', function() { it('fetches post types from the server', function() {
var module = WordpressInjector({ var module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: function() { post: function() {
@ -91,7 +91,7 @@ define([
it('caches results', function() { it('caches results', function() {
var deferred = jQuery.Deferred(), var deferred = jQuery.Deferred(),
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred), mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: mock, post: mock,
@ -116,7 +116,7 @@ define([
}, },
module; module;
spy = sinon.spy(post); spy = sinon.spy(post);
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: spy, post: spy,
@ -131,7 +131,7 @@ define([
}); });
it('fetches terms from the server', function() { it('fetches terms from the server', function() {
var module = WordpressInjector({ var module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: function() { post: function() {
@ -150,7 +150,7 @@ define([
it('caches results', function() { it('caches results', function() {
var deferred = jQuery.Deferred(), var deferred = jQuery.Deferred(),
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred), mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: mock, post: mock,
@ -175,7 +175,7 @@ define([
}, },
module; module;
spy = sinon.spy(post); spy = sinon.spy(post);
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: spy, post: spy,
@ -194,7 +194,7 @@ define([
}); });
it('fetches posts from the server', function() { it('fetches posts from the server', function() {
var module = WordpressInjector({ var module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: function() { post: function() {
@ -213,7 +213,7 @@ define([
it('caches results', function() { it('caches results', function() {
var deferred = jQuery.Deferred(), var deferred = jQuery.Deferred(),
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred), mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: mock, post: mock,
@ -241,7 +241,7 @@ define([
}, },
module; module;
spy = sinon.spy(post); spy = sinon.spy(post);
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: spy, post: spy,
@ -260,7 +260,7 @@ define([
}); });
it('fetches transformed posts from the server', function() { it('fetches transformed posts from the server', function() {
var module = WordpressInjector({ var module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: function() { post: function() {
@ -279,7 +279,7 @@ define([
it('caches results', function() { it('caches results', function() {
var deferred = jQuery.Deferred(), var deferred = jQuery.Deferred(),
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred), mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
module = WordpressInjector({ module = CommunicationInjector({
"mailpoet": { "mailpoet": {
Ajax: { Ajax: {
post: mock, post: mock,

View File

@ -81,10 +81,10 @@ define([
}; };
var json = ContentComponent.toJSON(); var json = ContentComponent.toJSON();
expect(json).to.deep.equal(_.extend({ expect(json).to.deep.equal(_.extend({
body: JSON.stringify({ body: {
content: dataField, content: dataField,
globalStyles: stylesField globalStyles: stylesField
}), },
}, newsletterFields)); }, newsletterFields));
}); });
}); });

View File

@ -95,7 +95,7 @@ define([
expect(view.$('.mailpoet_save_options')).to.not.have.$class('mailpoet_hidden'); expect(view.$('.mailpoet_save_options')).to.not.have.$class('mailpoet_hidden');
}); });
it('triggers template saving when clicked on save as template button', function() { it('triggers template saving when clicked on "save as template" button', function() {
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(jQuery.Deferred()), var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(jQuery.Deferred()),
html2canvasMock = jQuery.Deferred(); html2canvasMock = jQuery.Deferred();
@ -108,7 +108,11 @@ define([
'mailpoet': { 'mailpoet': {
Ajax: { Ajax: {
post: mock, post: mock,
} },
Notice: {
success: function() {},
error: function() {},
},
}, },
'newsletter_editor/App': EditorApplication, 'newsletter_editor/App': EditorApplication,
'html2canvas': function() { return html2canvasMock; }, 'html2canvas': function() { return html2canvasMock; },

View File

@ -132,7 +132,7 @@ config.push(_.extend({}, baseConfig, {
'newsletter_editor/components/content.js', 'newsletter_editor/components/content.js',
'newsletter_editor/components/heading.js', 'newsletter_editor/components/heading.js',
'newsletter_editor/components/save.js', 'newsletter_editor/components/save.js',
'newsletter_editor/components/wordpress.js', 'newsletter_editor/components/communication.js',
'newsletter_editor/behaviors/BehaviorsLookup.js', 'newsletter_editor/behaviors/BehaviorsLookup.js',
'newsletter_editor/behaviors/ColorPickerBehavior.js', 'newsletter_editor/behaviors/ColorPickerBehavior.js',
'newsletter_editor/behaviors/ContainerDropZoneBehavior.js', 'newsletter_editor/behaviors/ContainerDropZoneBehavior.js',
@ -201,7 +201,7 @@ config.push(_.extend({}, baseConfig, {
'newsletter_editor/components/content.js', 'newsletter_editor/components/content.js',
'newsletter_editor/components/heading.js', 'newsletter_editor/components/heading.js',
'newsletter_editor/components/save.js', 'newsletter_editor/components/save.js',
'newsletter_editor/components/wordpress.js', 'newsletter_editor/components/communication.js',
'newsletter_editor/behaviors/BehaviorsLookup.js', 'newsletter_editor/behaviors/BehaviorsLookup.js',
'newsletter_editor/behaviors/ColorPickerBehavior.js', 'newsletter_editor/behaviors/ColorPickerBehavior.js',
'newsletter_editor/behaviors/ContainerDropZoneBehavior.js', 'newsletter_editor/behaviors/ContainerDropZoneBehavior.js',
@ -227,7 +227,7 @@ config.push(_.extend({}, baseConfig, {
'components/save.spec.js', 'components/save.spec.js',
'components/sidebar.spec.js', 'components/sidebar.spec.js',
'components/styles.spec.js', 'components/styles.spec.js',
'components/wordpress.spec.js', 'components/communication.spec.js',
'blocks/automatedLatestContent.spec.js', 'blocks/automatedLatestContent.spec.js',
'blocks/button.spec.js', 'blocks/button.spec.js',