Themes: add toilet layers automatically if toilet information is included

This commit is contained in:
Pieter Vander Vennet 2025-04-27 23:45:09 +02:00
parent cf7e005fd1
commit af2636bfaa
8 changed files with 72 additions and 22 deletions

View file

@ -303,7 +303,8 @@ class AddDependencyLayersToTheme extends DesugaringStep<ThemeConfigJson> {
neededLayer: string
neededBy: string
reason: string
context?: string
context?: string,
minzoom?: number
}[] = []
do {
const dependencies: {
@ -311,7 +312,8 @@ class AddDependencyLayersToTheme extends DesugaringStep<ThemeConfigJson> {
reason: string
context?: string
neededBy: string
checkHasSnapName: boolean
checkHasSnapName: boolean,
minzoom?: number
}[] = []
for (const layerConfig of alreadyLoaded) {
@ -382,6 +384,7 @@ class AddDependencyLayersToTheme extends DesugaringStep<ThemeConfigJson> {
dep.forceLoad = true
dep.passAllFeatures = true
dep.description = reason
dep.minzoom = unmetDependency.minzoom ?? dep.minzoom
dependenciesToAdd.unshift({
config: dep,
reason,
@ -400,6 +403,7 @@ class AddDependencyLayersToTheme extends DesugaringStep<ThemeConfigJson> {
const state = this._state
const allKnownLayers: Map<string, LayerConfigJson> = state.sharedLayers
const knownTagRenderings: Map<string, TagRenderingConfigJson> = state.tagRenderings
// Current layers in the theme
const layers: LayerConfigJson[] = <LayerConfigJson[]>theme.layers // Layers should be expanded at this point
knownTagRenderings.forEach((value, key) => {