forked from MapComplete/MapComplete
Add feature switch to disable the cache, partial fix to make GRB theme workable again
This commit is contained in:
parent
0a7d48de5b
commit
fda88fcccf
8 changed files with 47 additions and 31 deletions
|
|
@ -450,4 +450,14 @@ export interface LayoutConfigJson {
|
|||
* iftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey
|
||||
*/
|
||||
enableMorePrivacy: boolean
|
||||
/**
|
||||
* question: Should this theme have the cache enabled?
|
||||
*
|
||||
* Should only be dissabled in highly specific cases, such as the GRB-theme
|
||||
*
|
||||
* ifunset: Cache is enabled
|
||||
* iffalse: Do not cache data
|
||||
* group: hidden
|
||||
*/
|
||||
enableCache?: true | boolean
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ export default class LayoutConfig implements LayoutInformation {
|
|||
|
||||
private readonly layersDict: Map<string, LayerConfig>
|
||||
private readonly source: LayoutConfigJson
|
||||
public readonly enableCache: boolean
|
||||
|
||||
constructor(
|
||||
json: LayoutConfigJson,
|
||||
|
|
@ -98,6 +99,7 @@ export default class LayoutConfig implements LayoutInformation {
|
|||
this.id = json.id
|
||||
this.definedAtUrl = options?.definedAtUrl
|
||||
this.definitionRaw = options?.definitionRaw
|
||||
this.enableCache = json.enableCache ?? true
|
||||
if (official) {
|
||||
if (json.id.toLowerCase() !== json.id) {
|
||||
throw "The id of a theme should be lowercase: " + json.id
|
||||
|
|
|
|||
|
|
@ -204,7 +204,6 @@ export default class ThemeViewState implements SpecialVisualizationState {
|
|||
this.osmConnection.isLoggedIn
|
||||
)
|
||||
|
||||
const self = this
|
||||
this.layerState = new LayerState(
|
||||
this.osmConnection,
|
||||
layout.layers,
|
||||
|
|
@ -241,7 +240,7 @@ export default class ThemeViewState implements SpecialVisualizationState {
|
|||
this.featureSwitches,
|
||||
this.mapProperties,
|
||||
this.osmConnection.Backend(),
|
||||
(id) => self.layerState.filteredLayers.get(id).isDisplayed,
|
||||
(id) => this.layerState.filteredLayers.get(id).isDisplayed,
|
||||
mvtAvailableLayers,
|
||||
this.fullNodeDatabase
|
||||
)
|
||||
|
|
@ -316,7 +315,7 @@ export default class ThemeViewState implements SpecialVisualizationState {
|
|||
}
|
||||
const floors = new Set<string>()
|
||||
for (const feature of features) {
|
||||
let level = feature.properties["_level"]
|
||||
const level = feature.properties["_level"]
|
||||
if (level) {
|
||||
const levels = level.split(";")
|
||||
for (const l of levels) {
|
||||
|
|
@ -379,7 +378,7 @@ export default class ThemeViewState implements SpecialVisualizationState {
|
|||
this.featureSummary = this.setupSummaryLayer(
|
||||
new LayerConfig(<LayerConfigJson>summaryLayer, "summaryLayer", true)
|
||||
)
|
||||
this.toCacheSavers = this.initSaveToLocalStorage()
|
||||
this.toCacheSavers = layout.enableCache ? this.initSaveToLocalStorage() : undefined
|
||||
this.initActors()
|
||||
this.drawSpecialLayers()
|
||||
this.initHotkeys()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue