mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-07 06:25:50 +01:00
refactor: app.parseAndTranslate to return promise if no callback passed
This commit is contained in:
@@ -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 () {
|
||||||
|
|||||||
Reference in New Issue
Block a user