From ba04beab2c2f54c27fdd1f96ff2e759ce6a91760 Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Wed, 30 Jun 2021 16:02:46 +0200 Subject: [PATCH] Use addCallbackAndRunD --- Logic/FeatureSource/LocalStorageSaver.ts | 6 +----- Logic/FeatureSource/LocalStorageSource.ts | 2 -- Logic/FeatureSource/OsmApiFeatureSource.ts | 5 ++--- Logic/FeatureSource/RegisteringFeatureSource.ts | 4 ++-- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Logic/FeatureSource/LocalStorageSaver.ts b/Logic/FeatureSource/LocalStorageSaver.ts index e45942410e..9d49949456 100644 --- a/Logic/FeatureSource/LocalStorageSaver.ts +++ b/Logic/FeatureSource/LocalStorageSaver.ts @@ -16,11 +16,7 @@ export default class LocalStorageSaver implements FeatureSource { constructor(source: FeatureSource, layout: UIEventSource) { this.features = source.features; - this.features.addCallbackAndRun(features => { - if (features === undefined) { - return; - } - + this.features.addCallbackAndRunD(features => { const now = new Date().getTime() features = features.filter(f => layout.data.cacheTimeout > Math.abs(now - f.freshness.getTime())/1000) diff --git a/Logic/FeatureSource/LocalStorageSource.ts b/Logic/FeatureSource/LocalStorageSource.ts index 0723a2fb49..1cabd6839a 100644 --- a/Logic/FeatureSource/LocalStorageSource.ts +++ b/Logic/FeatureSource/LocalStorageSource.ts @@ -11,8 +11,6 @@ export default class LocalStorageSource implements FeatureSource { this.features = new UIEventSource<{ feature: any; freshness: Date }[]>([]) const key = LocalStorageSaver.storageKey + layout.data.id layout.addCallbackAndRun(_ => { - - try { const fromStorage = localStorage.getItem(key); if (fromStorage == null) { diff --git a/Logic/FeatureSource/OsmApiFeatureSource.ts b/Logic/FeatureSource/OsmApiFeatureSource.ts index 8719ffb6ad..ec1c03a743 100644 --- a/Logic/FeatureSource/OsmApiFeatureSource.ts +++ b/Logic/FeatureSource/OsmApiFeatureSource.ts @@ -3,7 +3,6 @@ import {UIEventSource} from "../UIEventSource"; import {OsmObject} from "../Osm/OsmObject"; import State from "../../State"; import {Utils} from "../../Utils"; -import Loc from "../../Models/Loc"; export default class OsmApiFeatureSource implements FeatureSource { @@ -21,10 +20,10 @@ export default class OsmApiFeatureSource implements FeatureSource { return; } console.debug("Downloading", id, "from the OSM-API") - OsmObject.DownloadObject(id, (element, meta) => { + OsmObject.DownloadObject(id).addCallbackAndRunD(element => { const geojson = element.asGeoJson(); geojson.id = geojson.properties.id; - this.features.setData([{feature: geojson, freshness: meta["_last_edit:timestamp"]}]) + this.features.setData([{feature: geojson, freshness: element.timestamp}]) }) } diff --git a/Logic/FeatureSource/RegisteringFeatureSource.ts b/Logic/FeatureSource/RegisteringFeatureSource.ts index 7c246ee673..e464a60b8e 100644 --- a/Logic/FeatureSource/RegisteringFeatureSource.ts +++ b/Logic/FeatureSource/RegisteringFeatureSource.ts @@ -9,8 +9,8 @@ export default class RegisteringFeatureSource implements FeatureSource { constructor(source: FeatureSource) { this.features = source.features; this.name = "RegisteringSource of " + source.name; - this.features.addCallbackAndRun(features => { - for (const feature of features ?? []) { + this.features.addCallbackAndRunD(features => { + for (const feature of features) { State.state.allElements.addOrGetElement(feature.feature) } })