Hook up post fetching and post transformation
This commit is contained in:
@@ -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: {
|
||||
|
@@ -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: {
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user