-Nuke the localstorage if it is full
This commit is contained in:
parent
1eca0a0f42
commit
75f33ee580
3 changed files with 16 additions and 5 deletions
|
@ -213,6 +213,7 @@ export class InitUiElements {
|
|||
userLayoutParam.setData(layoutToUse.id);
|
||||
return layoutToUse;
|
||||
} catch (e) {
|
||||
|
||||
new FixedUiElement("Error: could not parse the custom layout:<br/> " + e).AttachTo("centermessage");
|
||||
throw e;
|
||||
}
|
||||
|
@ -350,8 +351,8 @@ export class InitUiElements {
|
|||
const lonDiff = bounds[0][1] - bounds[1][1]
|
||||
console.warn("Locking the bounds to ", bounds)
|
||||
bm.map.setMaxBounds(
|
||||
[[ layout.startLat - latDiff, layout.startLon - lonDiff ],
|
||||
[ layout.startLat + latDiff, layout.startLon + lonDiff ],
|
||||
[[layout.startLat - latDiff, layout.startLon - lonDiff],
|
||||
[layout.startLat + latDiff, layout.startLon + lonDiff],
|
||||
]
|
||||
);
|
||||
bm.map.setMinZoom(layout.startZoom)
|
||||
|
@ -384,7 +385,7 @@ export class InitUiElements {
|
|||
State.state.layerUpdater = updater;
|
||||
const source = new FeaturePipeline(state.filteredLayers, updater, state.layoutToUse, state.changes, state.locationControl);
|
||||
|
||||
new ShowDataLayer(source.features, State.state.leafletMap, State.state.layoutToUse);
|
||||
new ShowDataLayer(source.features, State.state.leafletMap, State.state.layoutToUse);
|
||||
|
||||
new SelectedFeatureHandler(Hash.hash, State.state.selectedElement, source);
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
import {UIEventSource} from "../UIEventSource";
|
||||
|
||||
/**
|
||||
* UIEventsource-wrapper around localStorage
|
||||
*/
|
||||
export class LocalStorageSource {
|
||||
|
||||
static Get(key: string, defaultValue: string = undefined): UIEventSource<string> {
|
||||
|
@ -8,7 +11,14 @@ export class LocalStorageSource {
|
|||
const source = new UIEventSource<string>(saved ?? defaultValue, "localstorage:"+key);
|
||||
|
||||
source.addCallback((data) => {
|
||||
localStorage.setItem(key, data);
|
||||
try{
|
||||
localStorage.setItem(key, data);
|
||||
}catch(e){
|
||||
// Probably exceeded the quota with this item!
|
||||
// Lets nuke everything
|
||||
localStorage.clear()
|
||||
}
|
||||
|
||||
});
|
||||
return source;
|
||||
} catch (e) {
|
||||
|
|
|
@ -2,7 +2,7 @@ import { Utils } from "../Utils";
|
|||
|
||||
export default class Constants {
|
||||
|
||||
public static vNumber = "0.6.3";
|
||||
public static vNumber = "0.6.3a";
|
||||
|
||||
// The user journey states thresholds when a new feature gets unlocked
|
||||
public static userJourney = {
|
||||
|
|
Loading…
Reference in a new issue