From 1415fcdfecb4be757ea9611b08a1b473e5d50be7 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 3 Nov 2024 18:59:22 +0100 Subject: [PATCH] Themes(memorial): add filter on type of memorial, remove obsolete 'memorial:type=stolperstein' --- assets/layers/memorial/memorial.json | 5 +++-- src/Models/ThemeConfig/Conversion/PrepareLayer.ts | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/assets/layers/memorial/memorial.json b/assets/layers/memorial/memorial.json index 11b01626e..f95b14572 100644 --- a/assets/layers/memorial/memorial.json +++ b/assets/layers/memorial/memorial.json @@ -151,7 +151,6 @@ }, { "if": "memorial=stolperstein", - "alsoShowIf": "memorial:type=stolperstein", "then": { "en": "This is a stolperstein (stumbing stone)", "de": "Dies ist ein Stolperstein", @@ -270,7 +269,9 @@ }, "freeform": { "key": "memorial" - } + }, + "filter": true + }, { "id": "inscription", diff --git a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts index d5945503c..8a53b9bd0 100644 --- a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts +++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts @@ -35,6 +35,7 @@ import { ExpandRewrite } from "./ExpandRewrite" import { TagUtils } from "../../../Logic/Tags/TagUtils" import { Tag } from "../../../Logic/Tags/Tag" import { RegexTag } from "../../../Logic/Tags/RegexTag" +import { Or } from "../../../Logic/Tags/Or" class AddFiltersFromTagRenderings extends DesugaringStep { constructor() { @@ -152,6 +153,9 @@ class ExpandFilter extends DesugaringStep { if(qtr.multiAnswer && osmTags instanceof Tag){ osmTags = new RegexTag(osmTags.key, new RegExp("^(.+;)?"+osmTags.value+"(;.+)$","is")) } + if(mapping.alsoShowIf){ + osmTags= new Or([osmTags, TagUtils.Tag(mapping.alsoShowIf)]) + } return { question: mapping.then,