|
|
|
@ -1,5 +1,8 @@
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
const benchpress = require('benchpressjs');
|
|
|
|
|
const translator = require('./modules/translator');
|
|
|
|
|
const alerts = require('./modules/alerts');
|
|
|
|
|
const hooks = require('./modules/hooks');
|
|
|
|
|
const { render } = require('./widgets');
|
|
|
|
|
|
|
|
|
@ -160,9 +163,7 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
$('#footer, #content').removeClass('hide').addClass('ajaxifying');
|
|
|
|
|
return renderTemplate(url, status.toString(), data.responseJSON || {}, callback);
|
|
|
|
|
} else if (status === 401) {
|
|
|
|
|
require(['alerts'], function (alerts) {
|
|
|
|
|
alerts.error('[[global:please_log_in]]');
|
|
|
|
|
});
|
|
|
|
|
app.previousUrl = url;
|
|
|
|
|
window.location.href = config.relative_path + '/login';
|
|
|
|
|
} else if (status === 302 || status === 308) {
|
|
|
|
@ -180,16 +181,13 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else if (textStatus !== 'abort') {
|
|
|
|
|
require(['alerts'], function (alerts) {
|
|
|
|
|
alerts.error(data.responseJSON.error);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderTemplate(url, tpl_url, data, callback) {
|
|
|
|
|
hooks.fire('action:ajaxify.loadingTemplates', {});
|
|
|
|
|
require(['translator', 'benchpress'], function (translator, Benchpress) {
|
|
|
|
|
Benchpress.render(tpl_url, data)
|
|
|
|
|
benchpress.render(tpl_url, data)
|
|
|
|
|
.then(rendered => translator.translate(rendered))
|
|
|
|
|
.then(function (translated) {
|
|
|
|
|
translated = translator.unescape(translated);
|
|
|
|
@ -208,14 +206,13 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
updateTitle(data.title);
|
|
|
|
|
updateTags();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function updateTitle(title) {
|
|
|
|
|
if (!title) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
require(['translator'], function (translator) {
|
|
|
|
|
|
|
|
|
|
title = config.titleLayout.replace(/{/g, '{').replace(/}/g, '}')
|
|
|
|
|
.replace('{pageTitle}', function () { return title; })
|
|
|
|
|
.replace('{browserTitle}', function () { return config.browserTitle; });
|
|
|
|
@ -227,7 +224,6 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
translator.translate(data.title, function (translated) {
|
|
|
|
|
window.document.title = $('<div></div>').html(translated).text();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
ajaxify.updateTitle = updateTitle;
|
|
|
|
|
|
|
|
|
@ -249,7 +245,7 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
.forEach(function (el) {
|
|
|
|
|
document.head.removeChild(el);
|
|
|
|
|
});
|
|
|
|
|
require(['translator'], function (translator) {
|
|
|
|
|
|
|
|
|
|
// Add new meta tags
|
|
|
|
|
ajaxify.data._header.tags.meta
|
|
|
|
|
.filter(function (tagObj) {
|
|
|
|
@ -267,7 +263,7 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
});
|
|
|
|
|
document.head.appendChild(metaEl);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Delete the old link tags
|
|
|
|
|
Array.prototype.slice
|
|
|
|
@ -472,15 +468,13 @@ ajaxify.widgets = { render: render };
|
|
|
|
|
hooks.fire('action:ajaxify.cleanup', { url, tpl_url });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
require(['translator', 'benchpress', 'navigator'], function (translator, Benchpress) {
|
|
|
|
|
translator.translate('[[error:no-connection]]');
|
|
|
|
|
translator.translate('[[error:socket-reconnect-failed]]');
|
|
|
|
|
translator.translate(`[[global:reconnecting-message, ${config.siteTitle}]]`);
|
|
|
|
|
Benchpress.registerLoader(ajaxify.loadTemplate);
|
|
|
|
|
Benchpress.setGlobal('config', config);
|
|
|
|
|
Benchpress.render('500', {}); // loads and caches 500.tpl
|
|
|
|
|
Benchpress.render('partials/toast'); // loads and caches partials/toast
|
|
|
|
|
});
|
|
|
|
|
benchpress.registerLoader(ajaxify.loadTemplate);
|
|
|
|
|
benchpress.setGlobal('config', config);
|
|
|
|
|
benchpress.render('500', {}); // loads and caches 500.tpl
|
|
|
|
|
benchpress.render('partials/toast'); // loads and caches partials/toast
|
|
|
|
|
}());
|
|
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
|
|
|
|