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; }
}
Benchpress.render(template, data, blockName) const execute = (resolve, reject) => {
.then(rendered => translator.translate(rendered)) require(['translator', 'benchpress'], function (translator, Benchpress) {
.then(translated => translator.unescape(translated)) Benchpress.render(template, data, blockName)
.then( .then(rendered => translator.translate(rendered))
result => setTimeout(callback, 0, $(result)), .then(translated => translator.unescape(translated))
err => console.error(err) .then(resolve, reject);
); });
}); };
if (callback) {
execute(
result => setTimeout(callback, 0, $(result)),
err => console.error(err)
);
} else {
return new Promise(execute).then(html => $(html));
}
}; };
app.showCookieWarning = function () { app.showCookieWarning = function () {

Loading…
Cancel
Save