From 2b645413fc163863d000bddde5bc27a836321422 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 13 Apr 2019 23:06:48 +0000
Subject: [PATCH] Get rid of jQuery dependency - use XHR and Promise
---
index.js | 23 +++++++++--------------
1 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/index.js b/index.js
index a3695c9..e59ca07 100644
--- a/index.js
+++ b/index.js
@@ -176,6 +176,7 @@
times_timer = setTimeout(function(){ loadTimes(); loadRoute(); }, ttss_refresh);
}).fail(fail_ajax).always(loading_end);
+ return times_xhr;
}
function loadRoute(tripId, vehicleInfo) {
@@ -239,6 +240,7 @@
route_table.appendChild(tr);
}
}).fail(fail_ajax);
+ return route_xhr;
}
function startTimer(date) {
@@ -282,7 +284,7 @@
var text_name;
for(var i = 0; i < elements.length; i++) {
text_name = elements[i].dataset.translate;
- if(lang[text_name] == undefined) {
+ if(typeof lang[text_name] === 'undefined') {
console.log('Missing translation: ' + text_name);
continue;
}
@@ -315,13 +317,15 @@
}
language = lang;
+ var old_script = document.getElementById('lang_script');
+ var old_version = old_script.src.match(/\?v[0-9]+/)[0];
var script = document.createElement('script');
script.type = 'text/javascript';
- script.src = 'lang_' + lang + '.js';
+ script.src = 'lang_' + lang + '.js' + (old_version ? old_version : '');
script.id = 'lang_script';
script.onload = translate;
- document.body.removeChild(document.getElementById('lang_script'));
+ document.body.removeChild(old_script);
document.body.appendChild(script);
ignore_hashchange = true;
@@ -367,25 +371,16 @@
for(var i = 0, il = data.length; i < il; i++) {
var opt = document.createElement('option');
opt.value = data[i].id;
- setText(opt, data[i].id.substr(0,1) == 'b' ? lang.select_stop_bus.replace('$stop', data[i].name) : lang.select_stop_tram.replace('$stop', data[i].name));
+ setText(opt, lang.select_stop_type[data[i].id.substr(0,1)].replace('$stop', data[i].name));
stop_name_autocomplete.appendChild(opt);
}
if(!stop_id) setText(refresh_text, lang.select_stop_click_go);
}).fail(fail_ajax);
+ return stop_name_autocomplete_xhr;
}
function init() {
- if(!window.jQuery) {
- fail(lang.jquery_not_loaded);
- return;
- }
-
- $.ajaxSetup({
- dataType: 'json',
- timeout: 10000,
- });
-
lang_select.addEventListener('input', function(e) {
change_language(lang_select.value);
});
--
Gitblit v1.10.0