Show spinner while walk-on fares are loading
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
03d2a53961
commit
5910bae33b
1 changed files with 14 additions and 3 deletions
|
|
@ -85,6 +85,7 @@
|
||||||
<button type="button" class="btn-group-option {% if nr_class == 'advance_std' %}active{% endif %}" onclick="setNrClass('advance_std')">Advance Std</button>
|
<button type="button" class="btn-group-option {% if nr_class == 'advance_std' %}active{% endif %}" onclick="setNrClass('advance_std')">Advance Std</button>
|
||||||
<button type="button" class="btn-group-option {% if nr_class == 'advance_1st' %}active{% endif %}" onclick="setNrClass('advance_1st')">Advance 1st</button>
|
<button type="button" class="btn-group-option {% if nr_class == 'advance_1st' %}active{% endif %}" onclick="setNrClass('advance_1st')">Advance 1st</button>
|
||||||
</div>
|
</div>
|
||||||
|
<span id="walkon-loading"><span class="spinner spinner-inline" aria-hidden="true"></span>Loading fares</span>
|
||||||
<span id="advance-loading" style="display:none"><span class="spinner spinner-inline" aria-hidden="true"></span>Loading advance fares</span>
|
<span id="advance-loading" style="display:none"><span class="spinner spinner-inline" aria-hidden="true"></span>Loading advance fares</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|
@ -352,13 +353,23 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadWalkonFares() {
|
function loadWalkonFares() {
|
||||||
for (var sectionId in WALKON_API_URLS) {
|
var urls = WALKON_API_URLS;
|
||||||
|
var pending = Object.keys(urls).length;
|
||||||
|
if (!pending) return;
|
||||||
|
function done() {
|
||||||
|
if (--pending === 0) {
|
||||||
|
var el = document.getElementById('walkon-loading');
|
||||||
|
if (el) el.style.display = 'none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (var sectionId in urls) {
|
||||||
(function(id, url) {
|
(function(id, url) {
|
||||||
fetch(url).then(function(r) { return r.json(); }).then(function(fares) {
|
fetch(url).then(function(r) { return r.json(); }).then(function(fares) {
|
||||||
mergeWalkonFares(id, fares);
|
mergeWalkonFares(id, fares);
|
||||||
updateDisplay();
|
updateDisplay();
|
||||||
});
|
done();
|
||||||
})(sectionId, WALKON_API_URLS[sectionId]);
|
}).catch(done);
|
||||||
|
})(sectionId, urls[sectionId]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue