Fix refresh button on view station page
This commit is contained in:
parent
c2ea04de4b
commit
32f52fe549
3 changed files with 36 additions and 4 deletions
2
sw.js
2
sw.js
|
@ -1,4 +1,4 @@
|
||||||
const VERSION = 'v15'
|
const VERSION = 'v16'
|
||||||
const API_ORIGIN = 'https://scraper.infotren.dcdev.ro/'
|
const API_ORIGIN = 'https://scraper.infotren.dcdev.ro/'
|
||||||
const API_TRAINS = `${API_ORIGIN}v3/trains`
|
const API_TRAINS = `${API_ORIGIN}v3/trains`
|
||||||
const API_STATIONS = `${API_ORIGIN}v3/stations`
|
const API_STATIONS = `${API_ORIGIN}v3/stations`
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
color: red !important;
|
color: red !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rsk {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
#-date {
|
#-date {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
|
@ -114,14 +114,25 @@ function refresh() {
|
||||||
reschedule(10000)
|
reschedule(10000)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
return response.json()
|
var cacheDate = response.headers.get('SW-Cached-At')
|
||||||
|
return response.json().then(function (data) {
|
||||||
|
data['$cacheDate'] = cacheDate
|
||||||
|
return data
|
||||||
|
})
|
||||||
}).then(function (response) {
|
}).then(function (response) {
|
||||||
if (!response) {
|
if (!response) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
var cacheDate = response['$cacheDate']
|
||||||
|
if (cacheDate) {
|
||||||
|
cacheDate = new Date(cacheDate)
|
||||||
|
}
|
||||||
|
var success = !cacheDate
|
||||||
stationData = response
|
stationData = response
|
||||||
onStationData(response)
|
onStationData(response)
|
||||||
reschedule()
|
// Check in 1 seconds if network error
|
||||||
|
reschedule(success ? undefined : 1000)
|
||||||
|
return success
|
||||||
}).catch(function (e) {
|
}).catch(function (e) {
|
||||||
// Check in 1 second if network error
|
// Check in 1 second if network error
|
||||||
reschedule(1000)
|
reschedule(1000)
|
||||||
|
@ -136,7 +147,24 @@ window.addEventListener('unload', function (e) {
|
||||||
})
|
})
|
||||||
|
|
||||||
function rsk() {
|
function rsk() {
|
||||||
refresh()
|
function changeRskText(newText) {
|
||||||
|
document.querySelectorAll('.rsk').forEach(function (elem) {
|
||||||
|
elem.textContent = newText
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
changeRskText('Refreshing...')
|
||||||
|
refresh().catch(function () { return false}).then(function (success) {
|
||||||
|
if (!success) {
|
||||||
|
changeRskText('Refreshing failed')
|
||||||
|
setTimeout(function (_) {
|
||||||
|
changeRskText('Refresh')
|
||||||
|
}, 3000)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
changeRskText('Refresh')
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener('load', function (e) {
|
window.addEventListener('load', function (e) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue