Cleanup language loader

This commit is contained in:
djmaze 2020-10-15 12:59:56 +02:00
parent b68d04aacd
commit 0528bcf911

View file

@ -218,24 +218,9 @@ export function getUploadErrorDescByCode(code) {
* @param {string} language * @param {string} language
*/ */
export function reload(admin, language) { export function reload(admin, language) {
const start = Date.now();
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
return fetch(langLink(language, admin), {cache: 'reload'}) const script = doc.createElement('script');
.then(response => { script.onload = () => {
if (response.ok && response.headers.get('Content-Type').includes('application/javascript')) {
return response.text();
}
reject(new Error('Invalid response'))
}, error => {
reject(new Error(error.message))
})
.then(data => {
var script = doc.createElement('script');
script.text = data;
doc.head.appendChild(script).remove();
setTimeout(
() => {
// reload the data // reload the data
if (window.rainloopI18N) { if (window.rainloopI18N) {
I18N_DATA = window.rainloopI18N || {}; I18N_DATA = window.rainloopI18N || {};
@ -244,10 +229,12 @@ export function reload(admin, language) {
trigger(!trigger()); trigger(!trigger());
} }
window.rainloopI18N = null; window.rainloopI18N = null;
script.remove();
resolve(); resolve();
}, };
500 < Date.now() - start ? 1 : 500 script.onerror = () => reject(new Error('Language '+language+' failed'));
); script.src = langLink(language, admin);
}); // script.async = true;
doc.head.append(script);
}); });
} }