Hook up post fetching and post transformation

This commit is contained in:
Tautvidas Sipavičius
2015-09-11 14:06:49 +03:00
parent a4d1f80418
commit c030858562
5 changed files with 421 additions and 11 deletions

View File

@@ -9,10 +9,12 @@
define([
'newsletter_editor/App',
'newsletter_editor/blocks/base',
'newsletter_editor/blocks/button',
'newsletter_editor/blocks/divider',
'newsletter_editor/components/wordpress',
'underscore',
'jquery',
], function(App, BaseBlock, WordpressComponent, _, jQuery) {
], function(App, BaseBlock, ButtonBlock, DividerBlock, WordpressComponent, _, jQuery) {
"use strict";
@@ -249,7 +251,7 @@ define([
}
},
showButtonSettings: function(event) {
var buttonModule = App.module('blocks.button');
var buttonModule = ButtonBlock;
(new buttonModule.ButtonBlockSettingsView({
model: this.model.get('readMoreButton'),
renderOptions: {
@@ -260,7 +262,7 @@ define([
})).render();
},
showDividerSettings: function(event) {
var dividerModule = App.module('blocks.divider');
var dividerModule = DividerBlock;
(new dividerModule.DividerBlockSettingsView({
model: this.model.get('divider'),
renderOptions: {

View File

@@ -20,7 +20,9 @@ define([
'newsletter_editor/App',
'newsletter_editor/components/wordpress',
'newsletter_editor/blocks/base',
], function(Backbone, Marionette, Radio, _, jQuery, MailPoet, App, WordpressComponent, BaseBlock) {
'newsletter_editor/blocks/button',
'newsletter_editor/blocks/divider',
], function(Backbone, Marionette, Radio, _, jQuery, MailPoet, App, WordpressComponent, BaseBlock, ButtonBlock, DividerBlock) {
"use strict";
@@ -115,6 +117,12 @@ define([
if (data.posts.length === 0) return;
WordpressComponent.getTransformedPosts(data).done(function(posts) {
console.log('Available posts fetched', arguments);
collection.add(posts, { at: index });
}).fail(function() {
console.log('Posts fetchPosts error', arguments);
});
// TODO: Move query logic to new AJAX format
//mailpoet_post_wpi('automated_latest_content.php', data, function(response) {
//console.log('Available posts fetched', arguments);
@@ -437,7 +445,7 @@ define([
};
},
showButtonSettings: function(event) {
var buttonModule = App.module('blocks.button');
var buttonModule = ButtonBlock;
(new buttonModule.ButtonBlockSettingsView({
model: this.model.get('readMoreButton'),
renderOptions: {
@@ -448,7 +456,7 @@ define([
})).render();
},
showDividerSettings: function(event) {
var dividerModule = App.module('blocks.divider');
var dividerModule = DividerBlock;
(new dividerModule.DividerBlockSettingsView({
model: this.model.get('divider'),
renderOptions: {

View File

@@ -9,7 +9,8 @@ define([
var postTypesCache,
taxonomiesCache = {},
termsCache = {},
postsCache = {};
postsCache = {},
transformedPostsCache = {};
Module.getPostTypes = function() {
if (!postTypesCache) {
@@ -65,6 +66,19 @@ define([
return postsCache[key];
};
Module.getTransformedPosts = function(options) {
var key = JSON.stringify(options);
if (!transformedPostsCache[key]) {
transformedPostsCache[key] = MailPoet.Ajax.post({
endpoint: 'wordpress',
action: 'getTransformedPosts',
data: options || {},
});
}
return transformedPostsCache[key];
};
App.on('start', function(options) {
// Prefetch post types
Module.getPostTypes();