GrapeJS and Mosaico Integration
This commit is contained in:
parent
c36071524d
commit
588eed008b
13 changed files with 1493 additions and 18 deletions
68
lib/editor-helpers.js
Normal file
68
lib/editor-helpers.js
Normal file
|
@ -0,0 +1,68 @@
|
|||
'use strict';
|
||||
|
||||
let _ = require('../lib/translate')._;
|
||||
let helpers = require('../lib/helpers');
|
||||
let templates = require('../lib/models/templates');
|
||||
let campaigns = require('../lib/models/campaigns');
|
||||
|
||||
module.exports = {
|
||||
getResource
|
||||
};
|
||||
|
||||
function getResource(type, id, callback) {
|
||||
if (type === 'template') {
|
||||
templates.get(id, (err, template) => {
|
||||
if (err || !template) {
|
||||
return callback(err && err.message || err || _('Could not find template with specified ID'));
|
||||
}
|
||||
|
||||
getMergeTagsForResource(template, (err, mergeTags) => {
|
||||
if (err) {
|
||||
return callback(err.message || err);
|
||||
}
|
||||
|
||||
template.mergeTags = mergeTags;
|
||||
return callback(null, template);
|
||||
});
|
||||
});
|
||||
|
||||
} else if (type === 'campaign') {
|
||||
campaigns.get(id, false, (err, campaign) => {
|
||||
if (err || !campaign) {
|
||||
return callback(err && err.message || err || _('Could not find campaign with specified ID'));
|
||||
}
|
||||
|
||||
getMergeTagsForResource(campaign, (err, mergeTags) => {
|
||||
if (err) {
|
||||
return callback(err.message || err);
|
||||
}
|
||||
|
||||
campaign.mergeTags = mergeTags;
|
||||
return callback(null, campaign);
|
||||
});
|
||||
});
|
||||
|
||||
} else {
|
||||
return callback(_('Invalid resource type'));
|
||||
}
|
||||
}
|
||||
|
||||
function getMergeTagsForResource(resource, callback) {
|
||||
helpers.getDefaultMergeTags((err, defaultMergeTags) => {
|
||||
if (err) {
|
||||
return callback(err.message || err);
|
||||
}
|
||||
|
||||
if (!resource.list) {
|
||||
return callback(null, defaultMergeTags);
|
||||
}
|
||||
|
||||
helpers.getListMergeTags(resource.list, (err, listMergeTags) => {
|
||||
if (err) {
|
||||
return callback(err.message || err);
|
||||
}
|
||||
|
||||
callback(null, defaultMergeTags.concat(listMergeTags));
|
||||
});
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue