refactor: app.parseAndTranslate to return promise if no callback passed

v1.18.x
Julian Lam 4 years ago
parent c1b3079d93
commit b5a6a3149d

@ -736,21 +736,29 @@ app.cacheBuster = null;
}; };
app.parseAndTranslate = function (template, blockName, data, callback) { app.parseAndTranslate = function (template, blockName, data, callback) {
require(['translator', 'benchpress'], function (translator, Benchpress) {
if (typeof blockName !== 'string') { if (typeof blockName !== 'string') {
callback = data; callback = data;
data = blockName; data = blockName;
blockName = undefined; blockName = undefined;
} }
const execute = (resolve, reject) => {
require(['translator', 'benchpress'], function (translator, Benchpress) {
Benchpress.render(template, data, blockName) Benchpress.render(template, data, blockName)
.then(rendered => translator.translate(rendered)) .then(rendered => translator.translate(rendered))
.then(translated => translator.unescape(translated)) .then(translated => translator.unescape(translated))
.then( .then(resolve, reject);
});
};
if (callback) {
execute(
result => setTimeout(callback, 0, $(result)), result => setTimeout(callback, 0, $(result)),
err => console.error(err) err => console.error(err)
); );
}); } else {
return new Promise(execute).then(html => $(html));
}
}; };
app.showCookieWarning = function () { app.showCookieWarning = function () {

Loading…
Cancel
Save