Include thumbnail on saved templates, add another sample template
This commit is contained in:
@ -47,18 +47,34 @@ define([
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Module.getThumbnail = function(element, options) {
|
||||||
|
return html2canvas(element, options || {});
|
||||||
|
};
|
||||||
|
|
||||||
Module.saveTemplate = function(options) {
|
Module.saveTemplate = function(options) {
|
||||||
|
var that = this,
|
||||||
|
promise = jQuery.Deferred();
|
||||||
|
|
||||||
|
promise.then(function(thumbnail) {
|
||||||
|
var data = _.extend(options || {}, {
|
||||||
|
thumbnail: thumbnail.toDataURL('image/jpeg'),
|
||||||
|
body: App.getBody(),
|
||||||
|
});
|
||||||
|
|
||||||
return MailPoet.Ajax.post({
|
return MailPoet.Ajax.post({
|
||||||
endpoint: 'newsletterTemplates',
|
endpoint: 'newsletterTemplates',
|
||||||
action: 'save',
|
action: 'save',
|
||||||
data: _.extend(options || {}, {
|
data: data,
|
||||||
body: App.getBody(),
|
});
|
||||||
}),
|
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
|
||||||
Module.getThumbnail = function(element, options) {
|
Module.getThumbnail(
|
||||||
return html2canvas(element, options || {});
|
jQuery('#mailpoet_editor_content > .mailpoet_block').get(0)
|
||||||
|
).then(function(thumbnail) {
|
||||||
|
promise.resolve(thumbnail);
|
||||||
|
});
|
||||||
|
|
||||||
|
return promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
Module.exportTemplate = function(options) {
|
Module.exportTemplate = function(options) {
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace MailPoet\Config;
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
use MailPoet\Config\PopulatorData\Templates\SampleTemplate;
|
use MailPoet\Config\PopulatorData\Templates\FranksRoastHouseTemplate;
|
||||||
|
use MailPoet\Config\PopulatorData\Templates\BlankTemplate;
|
||||||
use \MailPoet\Models\Segment;
|
use \MailPoet\Models\Segment;
|
||||||
use \MailPoet\Segments\WP;
|
use \MailPoet\Segments\WP;
|
||||||
|
|
||||||
@ -124,7 +125,8 @@ class Populator {
|
|||||||
|
|
||||||
private function newsletter_templates() {
|
private function newsletter_templates() {
|
||||||
return array(
|
return array(
|
||||||
(new SampleTemplate(Env::$assets_url))->get(),
|
(new FranksRoastHouseTemplate(Env::$assets_url))->get(),
|
||||||
|
(new BlankTemplate(Env::$assets_url))->get(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
214
lib/Config/PopulatorData/Templates/BlankTemplate.php
Normal file
214
lib/Config/PopulatorData/Templates/BlankTemplate.php
Normal file
File diff suppressed because one or more lines are too long
349
lib/Config/PopulatorData/Templates/FranksRoastHouseTemplate.php
Normal file
349
lib/Config/PopulatorData/Templates/FranksRoastHouseTemplate.php
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -96,7 +96,13 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
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.resolve({
|
||||||
|
toDataURL: function() { return 'somedataurl'; },
|
||||||
|
});
|
||||||
|
|
||||||
EditorApplication.getBody = sinon.stub();
|
EditorApplication.getBody = sinon.stub();
|
||||||
var module = SaveInjector({
|
var module = SaveInjector({
|
||||||
'mailpoet': {
|
'mailpoet': {
|
||||||
@ -105,6 +111,7 @@ define([
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
'newsletter_editor/App': EditorApplication,
|
'newsletter_editor/App': EditorApplication,
|
||||||
|
'html2canvas': function() { return html2canvasMock; },
|
||||||
});
|
});
|
||||||
var view = new (module.SaveView)();
|
var view = new (module.SaveView)();
|
||||||
view.render();
|
view.render();
|
||||||
|
Reference in New Issue
Block a user