diff --git a/server/scripts/modules/hazards.mjs b/server/scripts/modules/hazards.mjs index 7c64c73..b94c661 100644 --- a/server/scripts/modules/hazards.mjs +++ b/server/scripts/modules/hazards.mjs @@ -29,6 +29,8 @@ class Hazards extends WeatherDisplay { async getData(weatherParameters, refresh) { // super checks for enabled const superResult = super.getData(weatherParameters, refresh); + // hazards performs a silent refresh, but does not fall back to a previous fetch if no data is available + // this is intentional to ensure the latest alerts only are displayed. const alert = this.checkbox.querySelector('.alert'); alert.classList.remove('show'); diff --git a/server/scripts/modules/hourly-graph.mjs b/server/scripts/modules/hourly-graph.mjs index c956957..7914e3e 100644 --- a/server/scripts/modules/hourly-graph.mjs +++ b/server/scripts/modules/hourly-graph.mjs @@ -23,7 +23,7 @@ class HourlyGraph extends WeatherDisplay { this.elem.querySelector('.header .right').append(header); } - async getData(_weatherParameters, refresh) { + async getData(weatherParameters, refresh) { if (!super.getData(undefined, refresh)) return; const data = await getHourlyData(() => this.stillWaiting()); diff --git a/server/scripts/modules/latestobservations.mjs b/server/scripts/modules/latestobservations.mjs index 38f95fc..a52c747 100644 --- a/server/scripts/modules/latestobservations.mjs +++ b/server/scripts/modules/latestobservations.mjs @@ -16,14 +16,15 @@ class LatestObservations extends WeatherDisplay { this.MaximumRegionalStations = 7; } - async getData(_weatherParameters, refresh) { - if (!super.getData(_weatherParameters, refresh)) return; - const weatherParameters = _weatherParameters ?? this.weatherParameters; + async getData(weatherParameters, refresh) { + if (!super.getData(weatherParameters, refresh)) return; + // latest observations does a silent refresh but will not fall back to previously fetched data + // this is intentional because up to 30 stations are available to pull data from // calculate distance to each station const stationsByDistance = Object.keys(StationInfo).map((key) => { const station = StationInfo[key]; - const distance = calcDistance(station.lat, station.lon, weatherParameters.latitude, weatherParameters.longitude); + const distance = calcDistance(station.lat, station.lon, this.weatherParameters.latitude, this.weatherParameters.longitude); return { ...station, distance }; });