Remove roamingRenderings as feature, overrideAll is easier to use

This commit is contained in:
Pieter Vander Vennet 2021-10-19 02:13:50 +02:00
parent 1fb45ad75a
commit 4153193500
5 changed files with 934 additions and 925 deletions

View file

@ -343,263 +343,265 @@
},
"viewpoint"
],
"roamingRenderings": [
{
"#": "Access tag",
"condition": {
"and": [
"tourism!~viewpoint"
"overrideAll": {
"tagRenderings+": [
{
"id": "Access tag",
"condition": {
"and": [
"tourism!~viewpoint"
]
},
"render": {
"nl": "De toegankelijkheid van dit gebied is: {access:description}"
},
"question": {
"nl": "Is dit gebied toegankelijk?"
},
"freeform": {
"key": "access:description",
"addExtraTags": [
"access="
]
},
"mappings": [
{
"if": {
"and": [
"access:description=",
"access=",
"leisure=park"
]
},
"then": {
"nl": "Dit gebied is vrij toegankelijk"
},
"hideInAnswer": true
},
{
"if": {
"and": [
"access:description=",
"access=yes",
"fee="
]
},
"then": {
"nl": "Vrij toegankelijk"
}
},
{
"if": {
"and": [
"access:description=",
"access=no",
"fee="
]
},
"then": {
"nl": "Niet toegankelijk"
}
},
{
"if": {
"and": [
"access:description=",
"access=private",
"fee="
]
},
"then": {
"nl": "Niet toegankelijk, want privégebied"
}
},
{
"if": {
"and": [
"access:description=",
"access=permissive",
"fee="
]
},
"then": {
"nl": "Toegankelijk, ondanks dat het privegebied is"
}
},
{
"if": {
"and": [
"access:description=",
"access=guided",
"fee="
]
},
"then": {
"nl": "Enkel toegankelijk met een gids of tijdens een activiteit"
}
},
{
"if": {
"and": [
"access:description=",
"access=yes",
"fee=yes"
]
},
"then": {
"nl": "Toegankelijk mits betaling"
}
}
]
},
"render": {
"nl": "De toegankelijkheid van dit gebied is: {access:description}"
},
"question": {
"nl": "Is dit gebied toegankelijk?"
},
"freeform": {
"key": "access:description",
"addExtraTags": [
"access="
]
},
"mappings": [
{
"if": {
"and": [
"access:description=",
"access=",
"leisure=park"
]
},
"then": {
"nl": "Dit gebied is vrij toegankelijk"
},
"hideInAnswer": true
{
"id": "Operator tag",
"render": {
"nl": "Beheer door {operator}"
},
{
"if": {
"and": [
"access:description=",
"access=yes",
"fee="
]
},
"then": {
"nl": "Vrij toegankelijk"
}
"question": {
"nl": "Wie beheert dit gebied?"
},
{
"if": {
"and": [
"access:description=",
"access=no",
"fee="
]
},
"then": {
"nl": "Niet toegankelijk"
}
"freeform": {
"key": "operator"
},
{
"if": {
"and": [
"access:description=",
"access=private",
"fee="
]
"mappings": [
{
"if": {
"and": [
"leisure=park",
"operator="
]
},
"then": "Beheer door de gemeente",
"hideInAnswer": true
},
"then": {
"nl": "Niet toegankelijk, want privégebied"
}
},
{
"if": {
"and": [
"access:description=",
"access=permissive",
"fee="
]
{
"if": {
"and": [
"operator=Natuurpunt"
]
},
"then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
}
},
"then": {
"nl": "Toegankelijk, ondanks dat het privegebied is"
}
},
{
"if": {
"and": [
"access:description=",
"access=guided",
"fee="
]
{
"if": {
"and": [
"operator~(n|N)atuurpunt.*"
]
},
"then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
},
"hideInAnswer": true
},
"then": {
"nl": "Enkel toegankelijk met een gids of tijdens een activiteit"
}
},
{
"if": {
"and": [
"access:description=",
"access=yes",
"fee=yes"
]
{
"if": {
"and": [
"operator=Agentschap Natuur en Bos"
]
},
"then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/ANB.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door het Agentschap Natuur en Bos"
}
},
"then": {
"nl": "Toegankelijk mits betaling"
{
"if": {
"and": [
"operator:type=private"
]
},
"then": "Beheer door een privépersoon",
"hideInAnswer": true
},
{
"if": {
"and": [
"operator:type=private",
"operator="
]
},
"then": "Beheer door een privépersoon"
}
],
"condition": {
"and": [
"leisure!~park",
"tourism!~viewpoint"
]
}
]
},
{
"#": "Operator tag",
"render": {
"nl": "Beheer door {operator}"
},
"question": {
"nl": "Wie beheert dit gebied?"
},
"freeform": {
"key": "operator"
},
"mappings": [
{
"if": {
"and": [
"leisure=park",
"operator="
]
},
"then": "Beheer door de gemeente",
"hideInAnswer": true
{
"id": "Non-editable description {description}",
"render": {
"nl": "Extra info: <i>{description}</i>"
},
{
"if": {
"and": [
"operator=Natuurpunt"
]
},
"then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door Natuurpunt"
}
},
{
"if": {
"and": [
"operator~(n|N)atuurpunt.*"
]
},
"then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/Natuurpunt.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door {operator}"
},
"hideInAnswer": true
},
{
"if": {
"and": [
"operator=Agentschap Natuur en Bos"
]
},
"then": {
"nl": "<img src=\"./assets/themes/buurtnatuur/ANB.jpg\" style=\"width:1.5em\">Dit gebied wordt beheerd door het Agentschap Natuur en Bos"
}
},
{
"if": {
"and": [
"operator:type=private"
]
},
"then": "Beheer door een privépersoon",
"hideInAnswer": true
},
{
"if": {
"and": [
"operator:type=private",
"operator="
]
},
"then": "Beheer door een privépersoon"
"freeform": {
"key": "description"
}
],
"condition": {
"and": [
"leisure!~park",
"tourism!~viewpoint"
]
}
},
{
"#": "Non-editable description {description}",
"render": {
"nl": "Extra info: <i>{description}</i>"
},
"freeform": {
"key": "description"
}
},
{
"#": "Editable description {description:0}",
"question": "Is er extra info die je kwijt wil?<br/><span class='subtle'>De <i>naam</i> van het gebied wordt in de volgende vraag gesteld</span>",
"render": {
"nl": "Extra info via buurtnatuur.be: <i>{description:0}</i>"
},
"freeform": {
"key": "description:0"
}
},
{
"#": "Name:nl-tag",
"render": {
"nl": "Dit gebied heet {name:nl}"
},
"question": {
"nl": "Wat is de Nederlandstalige naam van dit gebied?"
},
"freeform": {
"key": "name:nl"
},
"condition": {
"and": [
"name:nl~*",
"viewpoint!~tourism"
]
}
},
{
"#": "Name tag",
"render": {
"nl": "Dit gebied heet {name}"
},
"question": {
"nl": "Wat is de naam van dit gebied?"
},
"freeform": {
"key": "name",
"addExtraTags": [
"noname="
]
},
"condition": {
"and": [
"name:nl=",
"tourism!~viewpoint"
]
},
"mappings": [
{
"if": {
"and": [
"noname=yes",
"name="
]
},
"then": {
"nl": "Dit gebied heeft geen naam"
}
{
"id": "Editable description {description:0}",
"question": "Is er extra info die je kwijt wil?<br/><span class='subtle'>De <i>naam</i> van het gebied wordt in de volgende vraag gesteld</span>",
"render": {
"nl": "Extra info via buurtnatuur.be: <i>{description:0}</i>"
},
"freeform": {
"key": "description:0"
}
]
}
]
},
{
"id": "Name:nl-tag",
"render": {
"nl": "Dit gebied heet {name:nl}"
},
"question": {
"nl": "Wat is de Nederlandstalige naam van dit gebied?"
},
"freeform": {
"key": "name:nl"
},
"condition": {
"and": [
"name:nl~*",
"viewpoint!~tourism"
]
}
},
{
"id": "Name tag",
"render": {
"nl": "Dit gebied heet {name}"
},
"question": {
"nl": "Wat is de naam van dit gebied?"
},
"freeform": {
"key": "name",
"addExtraTags": [
"noname="
]
},
"condition": {
"and": [
"name:nl=",
"tourism!~viewpoint"
]
},
"mappings": [
{
"if": {
"and": [
"noname=yes",
"name="
]
},
"then": {
"nl": "Dit gebied heeft geen naam"
}
}
]
}
]
}
}

View file

@ -1078,66 +1078,70 @@
]
}
],
"roamingRenderings": [
{
"render": {
"en": "This place is operated by {operator}",
"ja": "この場所は{operator}によって運営されます",
"it": "Questo luogo è gestito da {operator}",
"fr": "Ce site est exploité par {operator}",
"de": "Dieser Ort wird betrieben von {operator}"
},
"question": {
"en": "Who operates this place?",
"ja": "この店は誰が経営しているんですか?",
"it": "Chi gestisce questo luogo?",
"fr": "Qui est lexploitant du site ?",
"de": "Wer betreibt diesen Ort?"
},
"freeform": {
"key": "operator"
}
},
{
"question": {
"en": "Does this place have a power supply?",
"ja": "この場所に電源はありますか?",
"it": "Questo luogo fornisce corrente elettrica?",
"fr": "Ce site a-til une source délectricité ?",
"de": "Hat dieser Ort eine Stromversorgung?"
},
"mappings": [
{
"if": {
"and": [
"power_supply=yes"
]
},
"then": {
"en": "This place has a power supply",
"id": "Tempat ini memiliki catu daya",
"ja": "この場所には電源があります",
"it": "Questo luogo fornisce corrente elettrica",
"fr": "Ce site a une source dalimentation",
"de": "Dieser Ort hat eine Stromversorgung"
}
"overrideAll": {
"tagRenderings+": [
{
"id": "operator",
"render": {
"en": "This place is operated by {operator}",
"ja": "この場所は{operator}によって運営されます",
"it": "Questo luogo è gestito da {operator}",
"fr": "Ce site est exploité par {operator}",
"de": "Dieser Ort wird betrieben von {operator}"
},
{
"if": {
"and": [
"power_supply=no"
]
},
"then": {
"en": "This place does not have power supply",
"id": "Tempat ini tidak memiliki sumber listrik",
"ja": "この場所には電源がありません",
"it": "Questo luogo non fornisce corrente elettrica",
"fr": "Ce site na pas de source dalimentation",
"de": "Dieser Ort hat keine Stromversorgung"
}
"question": {
"en": "Who operates this place?",
"ja": "この店は誰が経営しているんですか?",
"it": "Chi gestisce questo luogo?",
"fr": "Qui est lexploitant du site ?",
"de": "Wer betreibt diesen Ort?"
},
"freeform": {
"key": "operator"
}
]
}
]
},
{
"id": "power_supply",
"question": {
"en": "Does this place have a power supply?",
"ja": "この場所に電源はありますか?",
"it": "Questo luogo fornisce corrente elettrica?",
"fr": "Ce site a-til une source délectricité ?",
"de": "Hat dieser Ort eine Stromversorgung?"
},
"mappings": [
{
"if": {
"and": [
"power_supply=yes"
]
},
"then": {
"en": "This place has a power supply",
"id": "Tempat ini memiliki catu daya",
"ja": "この場所には電源があります",
"it": "Questo luogo fornisce corrente elettrica",
"fr": "Ce site a une source dalimentation",
"de": "Dieser Ort hat eine Stromversorgung"
}
},
{
"if": {
"and": [
"power_supply=no"
]
},
"then": {
"en": "This place does not have power supply",
"id": "Tempat ini tidak memiliki sumber listrik",
"ja": "この場所には電源がありません",
"it": "Questo luogo non fornisce corrente elettrica",
"fr": "Ce site na pas de source dalimentation",
"de": "Dieser Ort hat keine Stromversorgung"
}
}
]
}
]
}
}

File diff suppressed because it is too large Load diff

View file

@ -43,105 +43,6 @@
"maxZoom": 12,
"minNeededElements": 200
},
"roamingRenderings": [
{
"question": {
"nl": "Is deze straat een fietsstraat?",
"en": "Is this street a cyclestreet?",
"ja": "この通りはcyclestreetですか?",
"nb_NO": "Er denne gaten en sykkelvei?",
"de": "Ist diese Straße eine Fahrradstraße?"
},
"mappings": [
{
"if": {
"and": [
"cyclestreet=yes",
"maxspeed=30",
"overtaking:motor_vehicle=no",
"proposed:cyclestreet="
]
},
"then": {
"nl": "Deze straat is een fietsstraat (en dus zone 30)",
"en": "This street is a cyclestreet (and has a speed limit of 30 km/h)",
"ja": "cyclestreet(最高速度は30km/h)",
"nb_NO": "Denne gaten er en sykkelvei (og har en fartsgrense på 30 km/t)",
"de": "Diese Straße ist eine Fahrradstraße (mit einer Geschwindigkeitsbegrenzung von 30 km/h)"
}
},
{
"if": {
"and": [
"cyclestreet=yes",
"proposed:cyclestreet="
]
},
"then": {
"nl": "Deze straat i een fietsstraat",
"en": "This street is a cyclestreet",
"ja": "この通りはcyclestreetだ",
"nb_NO": "Denne gaten er en sykkelvei",
"de": "Diese Straße ist eine Fahrradstraße"
},
"hideInAnswer": true
},
{
"if": {
"and": [
"cyclestreet=",
"proposed:cyclestreet=yes"
]
},
"then": {
"nl": "Deze straat wordt binnenkort een fietsstraat",
"en": "This street will become a cyclstreet soon",
"ja": "この通りはまもなくcyclstreetになるだろう",
"nb_NO": "Denne gaten vil bli sykkelvei ganske snart",
"de": "Diese Straße wird bald eine Fahrradstraße sein"
}
},
{
"if": {
"and": [
"cyclestreet=",
"proposed:cyclestreet=",
"overtaking:motor_vehicle="
]
},
"then": {
"nl": "Deze straat is geen fietsstraat",
"en": "This street is not a cyclestreet",
"ja": "この通りはcyclestreetではない",
"nb_NO": "Denne gaten er ikke en sykkelvei",
"it": "Questa strada non è una strada ciclabile",
"de": "Diese Straße ist keine Fahrradstraße"
}
}
]
},
{
"question": {
"nl": "Wanneer wordt deze straat een fietsstraat?",
"en": "When will this street become a cyclestreet?",
"ja": "この通りはいつcyclestreetになるんですか?",
"it": "Questa strada diventerà una strada ciclabile quando?",
"de": "Wann wird diese Straße eine Fahrradstraße?"
},
"render": {
"nl": "Deze straat wordt fietsstraat op {cyclestreet:start_date}",
"en": "This street will become a cyclestreet at {cyclestreet:start_date}",
"ja": "この通りは{cyclestreet:start_date}に、cyclestreetになります",
"it": "Questa strada diventerà una strada ciclabile dal {cyclestreet:start_date}",
"de": "Diese Straße wird am {cyclestreet:start_date} zu einer Fahrradstraße"
},
"condition": "proposed:cyclestreet=yes",
"freeform": {
"type": "date",
"key": "cyclestreet:start_date"
}
}
],
"layers": [
{
"id": "fietsstraat",
@ -304,6 +205,105 @@
}
],
"overrideAll": {
"allowSplit": true
"allowSplit": true,
"tagRenderings+": [
{"id": "is_cyclestreet",
"question": {
"nl": "Is deze straat een fietsstraat?",
"en": "Is this street a cyclestreet?",
"ja": "この通りはcyclestreetですか?",
"nb_NO": "Er denne gaten en sykkelvei?",
"de": "Ist diese Straße eine Fahrradstraße?"
},
"mappings": [
{
"if": {
"and": [
"cyclestreet=yes",
"maxspeed=30",
"overtaking:motor_vehicle=no",
"proposed:cyclestreet="
]
},
"then": {
"nl": "Deze straat is een fietsstraat (en dus zone 30)",
"en": "This street is a cyclestreet (and has a speed limit of 30 km/h)",
"ja": "cyclestreet(最高速度は30km/h)",
"nb_NO": "Denne gaten er en sykkelvei (og har en fartsgrense på 30 km/t)",
"de": "Diese Straße ist eine Fahrradstraße (mit einer Geschwindigkeitsbegrenzung von 30 km/h)"
}
},
{
"if": {
"and": [
"cyclestreet=yes",
"proposed:cyclestreet="
]
},
"then": {
"nl": "Deze straat i een fietsstraat",
"en": "This street is a cyclestreet",
"ja": "この通りはcyclestreetだ",
"nb_NO": "Denne gaten er en sykkelvei",
"de": "Diese Straße ist eine Fahrradstraße"
},
"hideInAnswer": true
},
{
"if": {
"and": [
"cyclestreet=",
"proposed:cyclestreet=yes"
]
},
"then": {
"nl": "Deze straat wordt binnenkort een fietsstraat",
"en": "This street will become a cyclstreet soon",
"ja": "この通りはまもなくcyclstreetになるだろう",
"nb_NO": "Denne gaten vil bli sykkelvei ganske snart",
"de": "Diese Straße wird bald eine Fahrradstraße sein"
}
},
{
"if": {
"and": [
"cyclestreet=",
"proposed:cyclestreet=",
"overtaking:motor_vehicle="
]
},
"then": {
"nl": "Deze straat is geen fietsstraat",
"en": "This street is not a cyclestreet",
"ja": "この通りはcyclestreetではない",
"nb_NO": "Denne gaten er ikke en sykkelvei",
"it": "Questa strada non è una strada ciclabile",
"de": "Diese Straße ist keine Fahrradstraße"
}
}
]
},
{"id": "future_cyclestreet",
"question": {
"nl": "Wanneer wordt deze straat een fietsstraat?",
"en": "When will this street become a cyclestreet?",
"ja": "この通りはいつcyclestreetになるんですか?",
"it": "Questa strada diventerà una strada ciclabile quando?",
"de": "Wann wird diese Straße eine Fahrradstraße?"
},
"render": {
"nl": "Deze straat wordt fietsstraat op {cyclestreet:start_date}",
"en": "This street will become a cyclestreet at {cyclestreet:start_date}",
"ja": "この通りは{cyclestreet:start_date}に、cyclestreetになります",
"it": "Questa strada diventerà una strada ciclabile dal {cyclestreet:start_date}",
"de": "Diese Straße wird am {cyclestreet:start_date} zu einer Fahrradstraße"
},
"condition": "proposed:cyclestreet=yes",
"freeform": {
"type": "date",
"key": "cyclestreet:start_date"
}
}
]
}
}

View file

@ -118,6 +118,9 @@ class LayerOverviewUtils {
if (themeFile["units"] !== undefined) {
themeErrorCount.push("The theme " + themeFile.id + " has units defined - these should be defined on the layer instead. (Hint: use overrideAll: { '+units': ... }) ")
}
if (themeFile["roamingRenderings"] !== undefined) {
themeErrorCount.push("Theme " + themeFile.id + " contains an old 'roamingRenderings'. Use an 'overrideAll' instead")
}
for (const layer of themeFile.layers) {
if (typeof layer === "string") {
if (!knownLayerIds.has(layer)) {
@ -213,4 +216,4 @@ class LayerOverviewUtils {
}
}
new LayerOverviewUtils().main(process.argv)
new LayerOverviewUtils().main(process.argv)