Small fixes after feedback

This commit is contained in:
Pieter Vander Vennet 2021-09-29 19:56:59 +02:00
parent 6f70dc702e
commit 4da6070b28
3 changed files with 19 additions and 3 deletions

View file

@ -7,7 +7,8 @@ import {FeatureSourceForLayer} from "../FeatureSource";
export default class SaveTileToLocalStorageActor {
public static readonly storageKey: string = "cached-features";
public static readonly formatVersion : string = "1"
constructor(source: FeatureSourceForLayer, tileIndex: number) {
source.features.addCallbackAndRunD(features => {
const key = `${SaveTileToLocalStorageActor.storageKey}-${source.layer.layerDef.id}-${tileIndex}`
@ -20,6 +21,7 @@ export default class SaveTileToLocalStorageActor {
try {
localStorage.setItem(key, JSON.stringify(features));
localStorage.setItem(key + "-time", JSON.stringify(now))
localStorage.setItem(key+"-format", SaveTileToLocalStorageActor.formatVersion)
} catch (e) {
console.warn("Could not save the features to local storage:", e)
}

View file

@ -32,8 +32,18 @@ public tileFreshness : Map<number, Date> = new Map<number, Date>()
console.debug("Layer", layer.layerDef.id, "has following tiles in available in localstorage", indexes.map(i => Tiles.tile_from_index(i).join("/")).join(", "))
for (const index of indexes) {
const prefix = SaveTileToLocalStorageActor.storageKey + "-" + layer.layerDef.id + "-" +index+"-time";
const data = Number(localStorage.getItem(prefix))
const prefix = SaveTileToLocalStorageActor.storageKey + "-" + layer.layerDef.id + "-" +index;
const version = localStorage.getItem(prefix+"-format")
if(version === undefined || version !== SaveTileToLocalStorageActor.formatVersion){
// Invalid version! Remove this tile from local storage
localStorage.removeItem(prefix)
undefinedTiles.add(index)
console.log("Dropped old format tile", prefix)
continue
}
const data = Number(localStorage.getItem(prefix+"-time"))
const freshness = new Date()
freshness.setTime(data)
this.tileFreshness.set(index, freshness)

View file

@ -35,6 +35,10 @@
"startLon": 3.2228,
"maintainer": "MapComplete",
"widenfactor": 2,
"clustering": {
"maxZoom": 12,
"minNeededElements": 200
},
"roamingRenderings": [
{
"question": {