|
|
|
@ -17,32 +17,6 @@ app.cacheBuster = null;
|
|
|
|
|
|
|
|
|
|
app.cacheBuster = config['cache-buster'];
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Occasionally, a button or anchor (not meant to be ajaxified) is clicked before
|
|
|
|
|
* ajaxify is ready. Capture that event and re-click it once NodeBB is ready.
|
|
|
|
|
*
|
|
|
|
|
* e.g. New Topic/Reply, post tools
|
|
|
|
|
*/
|
|
|
|
|
var earlyQueue = []; // once we can ES6, use Set instead
|
|
|
|
|
var earlyClick = function (ev) {
|
|
|
|
|
var btnEl = ev.target.closest('button');
|
|
|
|
|
if (!btnEl && ev.target.closest('a') && ev.target.closest('a').getAttribute('data-ajaxify') === 'false') {
|
|
|
|
|
btnEl = ev.target.closest('a');
|
|
|
|
|
}
|
|
|
|
|
if (btnEl && !earlyQueue.includes(btnEl)) {
|
|
|
|
|
earlyQueue.push(btnEl);
|
|
|
|
|
ev.stopImmediatePropagation();
|
|
|
|
|
ev.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
document.body.addEventListener('click', earlyClick);
|
|
|
|
|
$(window).on('action:ajaxify.end', function () {
|
|
|
|
|
document.body.removeEventListener('click', earlyClick);
|
|
|
|
|
earlyQueue.forEach(function (el) {
|
|
|
|
|
el.click();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
bootbox.setDefaults({
|
|
|
|
|
locale: config.userLang,
|
|
|
|
|
});
|
|
|
|
|