diff --git a/Docs/BuiltinIndex.md b/Docs/BuiltinIndex.md index 30c76b2ca..9a0b5c7ce 100644 --- a/Docs/BuiltinIndex.md +++ b/Docs/BuiltinIndex.md @@ -24,6 +24,9 @@ + [smoking](#smoking) + [service:electricity](#serviceelectricity) + [dog-access](#dog-access) + + [internet](#internet) + + [internet-fee](#internet-fee) + + [internet-ssid](#internet-ssid) + [reviews](#reviews) + [climbing.website](#climbingwebsite) + [climbing.fee](#climbingfee) @@ -104,11 +107,14 @@ - map - nature_reserve - observation_tower + - parcel_lockers - parking - pharmacy - picnic_table - play_forest - playground + - postboxes + - postoffices - public_bookcase - rainbow_crossings - reception_desk @@ -239,6 +245,7 @@ - doctors - food - kindergarten_childcare + - parcel_lockers - pharmacy - shops - veterinary @@ -383,6 +390,48 @@ +### internet + + + + + + - cafe_pub + - food + - hotel + - shops + + + + +### internet-fee + + + + + + - cafe_pub + - food + - hotel + - shops + + + + +### internet-ssid + + + + + + - cafe_pub + - food + - hotel + - shops + + + + ### reviews diff --git a/Docs/BuiltinLayers.md b/Docs/BuiltinLayers.md index 584170069..61010270e 100644 --- a/Docs/BuiltinLayers.md +++ b/Docs/BuiltinLayers.md @@ -842,12 +842,16 @@ The following layers are included in MapComplete: - [nature_reserve](./Layers/nature_reserve.md) - [note](./Layers/note.md) - [observation_tower](./Layers/observation_tower.md) + - [parcel_lockers](./Layers/parcel_lockers.md) - [parking](./Layers/parking.md) + - [parking_spaces](./Layers/parking_spaces.md) - [pedestrian_path](./Layers/pedestrian_path.md) - [pharmacy](./Layers/pharmacy.md) - [picnic_table](./Layers/picnic_table.md) - [play_forest](./Layers/play_forest.md) - [playground](./Layers/playground.md) + - [postboxes](./Layers/postboxes.md) + - [postoffices](./Layers/postoffices.md) - [public_bookcase](./Layers/public_bookcase.md) - [rainbow_crossings](./Layers/rainbow_crossings.md) - [reception_desk](./Layers/reception_desk.md) diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md index ecdea7fb3..4af0e1700 100644 --- a/Docs/BuiltinQuestions.md +++ b/Docs/BuiltinQuestions.md @@ -36,6 +36,9 @@ The following items can be easily reused in your layers + [level](#level) + [smoking](#smoking) + [induction-loop](#induction-loop) + + [internet](#internet) + + [internet-fee](#internet-fee) + + [internet-ssid](#internet-ssid) + [default](#default) + [defaults](#defaults) + [isOpen](#isopen) @@ -393,6 +396,53 @@ Does this place have an audio induction loop for people with reduced hearing? +### internet + + + +Does this place offer internet access? + + + + - This place offers wireless internet access + - This place does not offer internet access + - This place offers internet access + - This place offers internet access via a terminal or computer + - This place offers wired internet access + + + + +### internet-fee + + + +Is there a fee for internet access? + + + + - There is a fee for the internet access at this place + - Internet access is free at this place + - Internet access is free at this place, for customers only + + + + +### internet-ssid + + + +The network name is {internet_access:ssid} + +What is the network name for the wireless internet access? + + + + - Telekom + + + + ### default diff --git a/Docs/CalculatedTags.md b/Docs/CalculatedTags.md index f3fc567b9..ca7f73a14 100644 --- a/Docs/CalculatedTags.md +++ b/Docs/CalculatedTags.md @@ -94,7 +94,7 @@ The total length of a feature in meters (and in kilometers, rounded to one decim -If 'units' is defined in the layoutConfig, then this metatagger will rewrite the specified keys to have the canonical form (e.g. `1meter` will be rewritten to `1m`) +If 'units' is defined in the layoutConfig, then this metatagger will rewrite the specified keys to have the canonical form (e.g. `1meter` will be rewritten to `1m`; `1` will be rewritten to `1m` as well) diff --git a/Docs/Layers/bike_shop.md b/Docs/Layers/bike_shop.md index 8b8272b1e..fc49e8606 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -293,8 +293,6 @@ This is rendered with {rental} is rented here - Bike helmets can be rented here corresponds with `rental=bike_helmet` -Only visible if `amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown - This tagrendering has labels `bicycle_rental` @@ -311,7 +309,7 @@ This is rendered with {capacity:city_bike} city bikes can be rented here -Only visible if `rental~^.*city_bike.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*city_bike.*$` is shown This tagrendering has labels `bicycle_rental` @@ -329,7 +327,7 @@ This is rendered with {capacity:ebike} electrical bikes can be rented here -Only visible if `rental~^.*ebike.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*ebike.*$` is shown This tagrendering has labels `bicycle_rental` @@ -347,7 +345,7 @@ This is rendered with {capacity:kid_bike} bikes for children can be rented here -Only visible if `rental~^.*kid_bike.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*kid_bike.*$` is shown This tagrendering has labels `bicycle_rental` @@ -365,7 +363,7 @@ This is rendered with {capacity:bmx} BMX bikes can be rented here -Only visible if `rental~^.*bmx.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*bmx.*$` is shown This tagrendering has labels `bicycle_rental` @@ -383,7 +381,7 @@ This is rendered with {capacity:mtb} mountainbike can be rented here -Only visible if `rental~^.*mtb.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*mtb.*$` is shown This tagrendering has labels `bicycle_rental` @@ -401,7 +399,7 @@ This is rendered with {capacity:bicycle_pannier} bicycle panniers can be rented -Only visible if `rental~^.*bicycle_pannier.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*bicycle_pannier.*$` is shown This tagrendering has labels `bicycle_rental` @@ -419,7 +417,7 @@ This is rendered with {capacity:tandem_bicycle} tandem can be rented here -Only visible if `rental~^.*tandem_bicycle.*$&amenity=bicycle_rental|bicycle_rental~^..*$|service:bicycle:rental=yes|rental~^.*bicycle.*$` is shown +Only visible if `rental~^.*tandem_bicycle.*$` is shown This tagrendering has labels `bicycle_rental` @@ -514,8 +512,6 @@ This is rendered with Using the cleaning service costs {service:bicycle:cleanin - This option cannot be chosen as answer -Only visible if `amenity!=bike_wash&amenity!=bicycle_wash&service:bicycle:cleaning=yes|service:bicycle:cleaning=diy|amenity=bicycle_wash|amenity=bike_wash` is shown - ### description diff --git a/Docs/Layers/cafe_pub.md b/Docs/Layers/cafe_pub.md index 2beec78c1..d8d74b29a 100644 --- a/Docs/Layers/cafe_pub.md +++ b/Docs/Layers/cafe_pub.md @@ -72,6 +72,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/smoking#values) [smoking](https://wiki.openstreetmap.org/wiki/Key:smoking) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno) [outside](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside) [](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) [](https://taginfo.openstreetmap.org/keys/dog#values) [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -310,6 +313,66 @@ The question is Are dogs allowed in this business? +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown + + + ### reviews diff --git a/Docs/Layers/climbing_area.md b/Docs/Layers/climbing_area.md index c4d4c02fe..950a2c7e3 100644 --- a/Docs/Layers/climbing_area.md +++ b/Docs/Layers/climbing_area.md @@ -198,7 +198,7 @@ This is rendered with {url} -Only visible if `leisure!~^sports_centre$&sport=climbing&sport=climbing` is shown +Only visible if `leisure!~^sports_centre$&sport=climbing` is shown @@ -220,8 +220,6 @@ This is rendered with A fee of {charge} should be paid for climbing here - Paying a fee is required to climb here corresponds with `fee=yes` -Only visible if `sport=climbing` is shown - ### bouldering @@ -239,8 +237,6 @@ The question is Is bouldering possible here? - Bouldering is possible, allthough there are only a few routes corresponds with `climbing:boulder=limited` - There are {climbing:boulder} boulder routes corresponds with `climbing:boulder~^..*$` - This option cannot be chosen as answer - - -Only visible if `sport=climbing` is shown + This document is autogenerated from [assets/layers/climbing_area/climbing_area.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/climbing_area/climbing_area.json) \ No newline at end of file diff --git a/Docs/Layers/climbing_gym.md b/Docs/Layers/climbing_gym.md index 69063818d..15282d8ea 100644 --- a/Docs/Layers/climbing_gym.md +++ b/Docs/Layers/climbing_gym.md @@ -182,8 +182,6 @@ This is rendered with A fee of {charge} should be paid for climbing here - Paying a fee is required to climb here corresponds with `fee=yes` -Only visible if `sport=climbing` is shown - ### opening_hours @@ -212,8 +210,6 @@ This is rendered with The routes are {canonical(climbing:length)} long o -Only visible if `sport=climbing` is shown - ### min_difficulty @@ -228,8 +224,6 @@ This is rendered with The lowest grade is {climbing:grade:french:min} according -Only visible if `sport=climbing` is shown - ### max_difficulty @@ -244,7 +238,7 @@ This is rendered with The highest grade is {climbing:grade:french:max} accordin -Only visible if `climbing!~^route$&climbing:sport=yes|sport=climbing&sport=climbing` is shown +Only visible if `climbing!~^route$&climbing:sport=yes|sport=climbing` is shown @@ -265,8 +259,6 @@ The question is Is bouldering possible here? - This option cannot be chosen as answer -Only visible if `sport=climbing` is shown - ### sportclimbing @@ -285,8 +277,6 @@ The question is Is sport climbing possible here on fixed anchors? - This option cannot be chosen as answer -Only visible if `sport=climbing` is shown - ### max_bolts diff --git a/Docs/Layers/dogfoodb.md b/Docs/Layers/dogfoodb.md index f907e7920..6cd75cf01 100644 --- a/Docs/Layers/dogfoodb.md +++ b/Docs/Layers/dogfoodb.md @@ -80,6 +80,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/reusable_packaging:accept#values) [reusable_packaging:accept](https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno) [only](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly) [](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) [](https://taginfo.openstreetmap.org/keys/dog#values) [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -492,6 +495,66 @@ The question is Are dogs allowed in this business? +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown + + + ### reviews diff --git a/Docs/Layers/dogshop.md b/Docs/Layers/dogshop.md index 1d5ebc3a2..c6a9688b2 100644 --- a/Docs/Layers/dogshop.md +++ b/Docs/Layers/dogshop.md @@ -67,6 +67,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -273,8 +276,6 @@ This is rendered with This is a {shop} - Wine Shop corresponds with `shop=wine` -Only visible if `id~^..*$` is shown - ### opening_hours @@ -420,6 +421,66 @@ Only visible if `shop~^.*copyshop.*$|shop~^.*stationary.*$|service:print=yes` +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown + + + ### questions diff --git a/Docs/Layers/food.md b/Docs/Layers/food.md index f33ed20e4..f7766e789 100644 --- a/Docs/Layers/food.md +++ b/Docs/Layers/food.md @@ -83,6 +83,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/reusable_packaging:accept#values) [reusable_packaging:accept](https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno) [only](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly) [](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) [](https://taginfo.openstreetmap.org/keys/dog#values) [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -495,6 +498,66 @@ The question is Are dogs allowed in this business? +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown + + + ### reviews diff --git a/Docs/Layers/friture.md b/Docs/Layers/friture.md index 51ebe4cbe..925463afb 100644 --- a/Docs/Layers/friture.md +++ b/Docs/Layers/friture.md @@ -80,6 +80,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/reusable_packaging:accept#values) [reusable_packaging:accept](https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno) [only](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly) [](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) [](https://taginfo.openstreetmap.org/keys/dog#values) [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -492,6 +495,66 @@ The question is Are dogs allowed in this business? +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown + + + ### reviews diff --git a/Docs/Layers/hotel.md b/Docs/Layers/hotel.md index 7bda3b05f..b1e899246 100644 --- a/Docs/Layers/hotel.md +++ b/Docs/Layers/hotel.md @@ -25,6 +25,7 @@ Layer showing all hotels + - [hotels](https://mapcomplete.osm.be/hotels) - [onwheels](https://mapcomplete.osm.be/onwheels) - [personal](https://mapcomplete.osm.be/personal) @@ -65,6 +66,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | [](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | [](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -181,6 +185,66 @@ The question is Is this place accessible with a wheelchair? - This place is easily reachable with a wheelchair corresponds with `wheelchair=yes` - It is possible to reach this place in a wheelchair, but it is not easy corresponds with `wheelchair=limited` - This place is not reachable with a wheelchair corresponds with `wheelchair=no` - + + + + +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown This document is autogenerated from [assets/layers/hotel/hotel.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/hotel/hotel.json) \ No newline at end of file diff --git a/Docs/Layers/parcel_lockers.md b/Docs/Layers/parcel_lockers.md new file mode 100644 index 000000000..6903717bc --- /dev/null +++ b/Docs/Layers/parcel_lockers.md @@ -0,0 +1,183 @@ + + + parcel_lockers +================ + + + + + +Layer showing parcel lockers for collecting and sending parcels. + + + + + + + - This layer is shown at zoomlevel **12** and higher + + + + +#### Themes using this layer + + + + + + - [personal](https://mapcomplete.osm.be/personal) + - [postboxes](https://mapcomplete.osm.be/postboxes) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - amenity=parcel_locker|amenity=vending_machine&vending=parcel_pickup;parcel_mail_in + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22parcel_locker%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22vending_machine%22%5D%5B%22vending%22%3D%22parcel_pickup%3Bparcel_mail_in%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/brand#values) [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | [Amazon Locker](https://wiki.openstreetmap.org/wiki/Tag:brand%3DAmazon Locker) [DHL Packstation](https://wiki.openstreetmap.org/wiki/Tag:brand%3DDHL Packstation) [Pickup Station](https://wiki.openstreetmap.org/wiki/Tag:brand%3DPickup Station) [PostNL](https://wiki.openstreetmap.org/wiki/Tag:brand%3DPostNL) +[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | +[](https://taginfo.openstreetmap.org/keys/ref#values) [ref](https://wiki.openstreetmap.org/wiki/Key:ref) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/parcel_mail_in#values) [parcel_mail_in](https://wiki.openstreetmap.org/wiki/Key:parcel_mail_in) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:parcel_mail_in%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:parcel_mail_in%3Dno) +[](https://taginfo.openstreetmap.org/keys/parcel_pickup#values) [parcel_pickup](https://wiki.openstreetmap.org/wiki/Key:parcel_pickup) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:parcel_pickup%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:parcel_pickup%3Dno) + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` + +This tagrendering has no question and is thus read-only + + + + + +### brand + + + +The question is What is the brand of the parcel locker? + +This rendering asks information about the property [brand](https://wiki.openstreetmap.org/wiki/Key:brand) + +This is rendered with This is a {brand} parcel locker + + + + + + - This is an Amazon Locker corresponds with `brand=Amazon Locker` + - This is a DHL Packstation corresponds with `brand=DHL Packstation` + - This is a DPD Pickup Station corresponds with `brand=Pickup Station` + - This is a PostNL Parcel Locker corresponds with `brand=PostNL` + + + + +### operator + + + +The question is What is the operator of the parcel locker? + +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) + +This is rendered with This parcel locker is operated by {operator} + + + + + +### opening_hours + + + +The question is What are the opening hours of {title()}? + +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) + +This is rendered with

Opening hours

{opening_hours_table(opening_hours)} + + + + + +### ref + + + +The question is What is the reference number/identifier of this parcel locker? + +This rendering asks information about the property [ref](https://wiki.openstreetmap.org/wiki/Key:ref) + +This is rendered with This parcel locker has the reference {ref} + + + + + +### mail-in + + + +The question is Can you send packages from this parcel locker? + + + + + + - You can send packages from this parcel locker corresponds with `parcel_mail_in=yes` + - You can't send packages from this parcel locker corresponds with `parcel_mail_in=no` + + +Only visible if `amenity=parcel_locker` is shown + + + +### pickup + + + +The question is Can you pick up packages from this parcel locker? + + + + + + - You can pick up packages from this parcel locker corresponds with `parcel_pickup=yes` + - You can't pick up packages from this parcel locker corresponds with `parcel_pickup=no` + + +Only visible if `amenity=parcel_locker` is shown + +This document is autogenerated from [assets/layers/parcel_lockers/parcel_lockers.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/parcel_lockers/parcel_lockers.json) \ No newline at end of file diff --git a/Docs/Layers/parking.md b/Docs/Layers/parking.md index 2926c1429..8c62870f2 100644 --- a/Docs/Layers/parking.md +++ b/Docs/Layers/parking.md @@ -64,7 +64,7 @@ attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) [](https://taginfo.openstreetmap.org/keys/parking#values) [parking](https://wiki.openstreetmap.org/wiki/Key:parking) | Multiple choice | [surface](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dsurface) [street_side](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dstreet_side) [underground](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dunderground) [multi-storey](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dmulti-storey) [rooftop](https://wiki.openstreetmap.org/wiki/Tag:parking%3Drooftop) [lane](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dlane) [carports](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dcarports) [garage_boxes](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dgarage_boxes) [layby](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dlayby) [sheds](https://wiki.openstreetmap.org/wiki/Tag:parking%3Dsheds) -[](https://taginfo.openstreetmap.org/keys/capacity:disabled#values) [capacity:disabled](https://wiki.openstreetmap.org/wiki/Key:capacity:disabled) | [pnat](../SpecialInputElements.md#pnat) | +[](https://taginfo.openstreetmap.org/keys/capacity:disabled#values) [capacity:disabled](https://wiki.openstreetmap.org/wiki/Key:capacity:disabled) | [pnat](../SpecialInputElements.md#pnat) | [0](https://wiki.openstreetmap.org/wiki/Tag:capacity:disabled%3D0) [](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | @@ -149,6 +149,7 @@ This is rendered with There are {capacity:disabled} disabled parking spots - This option cannot be chosen as answer - There are no disabled parking spots corresponds with `capacity:disabled=no` - This option cannot be chosen as answer + - There are no disabled parking spots corresponds with `capacity:disabled=0` diff --git a/Docs/Layers/parking_spaces.md b/Docs/Layers/parking_spaces.md new file mode 100644 index 000000000..db640117e --- /dev/null +++ b/Docs/Layers/parking_spaces.md @@ -0,0 +1,112 @@ + + + parking_spaces +================ + + + + + +Layer showing individual parking spaces. + + + + + + + - This layer is shown at zoomlevel **20** and higher + + + + +#### Themes using this layer + + + + + + - [parkings](https://mapcomplete.osm.be/parkings) + - [personal](https://mapcomplete.osm.be/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must have the all of following tags to be shown on this layer: + + + + - amenity=parking_space + + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22parking_space%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/parking_space#values) [parking_space](https://wiki.openstreetmap.org/wiki/Key:parking_space) | Multiple choice | [normal](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dnormal) [disabled](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Ddisabled) [private](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dprivate) [charging](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcharging) [delivery](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Ddelivery) [hgv](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dhgv) [caravan](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcaravan) [bus](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dbus) [motorcycle](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dmotorcycle) [parent](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dparent) [staff](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dstaff) [taxi](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dtaxi) [trailer](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dtrailer) [car_sharing](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcar_sharing) +[](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | Multiple choice | [1](https://wiki.openstreetmap.org/wiki/Tag:capacity%3D1) + + + + +### type + + + +The question is What kind of parking space is this? + + + + + + - This is a normal parking space corresponds with `` + - This option cannot be chosen as answer + - This is a normal parking space. corresponds with `parking_space=normal` + - This is a disabled parking space. corresponds with `parking_space=disabled` + - This is a private parking space. corresponds with `parking_space=private` + - This is parking space reserved for charging vehicles. corresponds with `parking_space=charging` + - This is parking space reserved for deliveries. corresponds with `parking_space=delivery` + - This is parking space reserved for heavy goods vehicles. corresponds with `parking_space=hgv` + - This is parking space reserved for caravans or RVs. corresponds with `parking_space=caravan` + - This is parking space reserved for buses. corresponds with `parking_space=bus` + - This is parking space reserved for motorcycles. corresponds with `parking_space=motorcycle` + - This is a parking space reserved for parents with children. corresponds with `parking_space=parent` + - This is a parking space reserved for staff. corresponds with `parking_space=staff` + - This is a parking space reserved for taxis. corresponds with `parking_space=taxi` + - This is a parking space reserved for vehicles towing a trailer. corresponds with `parking_space=trailer` + - This is a parking space reserved for car sharing. corresponds with `parking_space=car_sharing` + + + + +### capacity + + + +This tagrendering has no question and is thus read-only + + + + + + - This parking space has 1 space. corresponds with `capacity=1` + + +This document is autogenerated from [assets/layers/parking_spaces/parking_spaces.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/parking_spaces/parking_spaces.json) \ No newline at end of file diff --git a/Docs/Layers/postboxes.md b/Docs/Layers/postboxes.md index e1094ca88..409ac7429 100644 --- a/Docs/Layers/postboxes.md +++ b/Docs/Layers/postboxes.md @@ -5,7 +5,7 @@ - + The layer showing postboxes. @@ -25,6 +25,7 @@ The layer showing postboxes. + - [personal](https://mapcomplete.osm.be/personal) - [postboxes](https://mapcomplete.osm.be/postboxes) @@ -73,4 +74,4 @@ This tagrendering has no question and is thus read-only -This document is autogenerated from [assets/themes/postboxes/postboxes.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/postboxes/postboxes.json) \ No newline at end of file +This document is autogenerated from [assets/layers/postboxes/postboxes.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/postboxes/postboxes.json) \ No newline at end of file diff --git a/Docs/Layers/postoffices.md b/Docs/Layers/postoffices.md index 06547ab30..571037bc5 100644 --- a/Docs/Layers/postoffices.md +++ b/Docs/Layers/postoffices.md @@ -5,7 +5,7 @@ - + A layer showing post offices. @@ -25,6 +25,7 @@ A layer showing post offices. + - [personal](https://mapcomplete.osm.be/personal) - [postboxes](https://mapcomplete.osm.be/postboxes) @@ -39,10 +40,10 @@ Elements must have the all of following tags to be shown on this layer: - - amenity=post_office + - amenity=post_office|post_office=post_partner -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22post_office%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22amenity%22%3D%22post_office%22%5D(%7B%7Bbbox%7D%7D)%3B%0A%20%20%20%20nwr%5B%22post_office%22%3D%22post_partner%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) @@ -103,4 +104,4 @@ This is rendered with Opening Hours: {opening_hours_table()} - 24/7 opened (including holidays) corresponds with `opening_hours=24/7` -This document is autogenerated from [assets/themes/postboxes/postboxes.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/postboxes/postboxes.json) \ No newline at end of file +This document is autogenerated from [assets/layers/postoffices/postoffices.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/postoffices/postoffices.json) \ No newline at end of file diff --git a/Docs/Layers/school.md b/Docs/Layers/school.md index 44326b4b1..eb7df39c7 100644 --- a/Docs/Layers/school.md +++ b/Docs/Layers/school.md @@ -732,8 +732,6 @@ The question is What is the main language of this school?
Wh - Simplified Chinese corresponds with `school:language=zh_Hant` - Brazilian Portuguese corresponds with `school:language=pt_BR` - Filipino corresponds with `school:language=fil` - - -Only visible if `id~^..*$` is shown + This document is autogenerated from [assets/layers/school/school.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/school/school.json) \ No newline at end of file diff --git a/Docs/Layers/shops.md b/Docs/Layers/shops.md index 51c5d9baf..a7f6b83a2 100644 --- a/Docs/Layers/shops.md +++ b/Docs/Layers/shops.md @@ -69,6 +69,9 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) +[](https://taginfo.openstreetmap.org/keys/internet_access#values) [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) +[](https://taginfo.openstreetmap.org/keys/internet_access:fee#values) [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) +[](https://taginfo.openstreetmap.org/keys/internet_access:ssid#values) [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) @@ -275,8 +278,6 @@ This is rendered with This is a {shop} - Wine Shop corresponds with `shop=wine` -Only visible if `id~^..*$` is shown - ### opening_hours @@ -422,6 +423,66 @@ Only visible if `shop~^.*copyshop.*$|shop~^.*stationary.*$|service:print=yes` +### internet + + + +The question is Does this place offer internet access? + + + + + + - This place offers wireless internet access corresponds with `internet_access=wlan` + - This place does not offer internet access corresponds with `internet_access=no` + - This place offers internet access corresponds with `internet_access=yes` + - This option cannot be chosen as answer + - This place offers internet access via a terminal or computer corresponds with `internet_access=terminal` + - This place offers wired internet access corresponds with `internet_access=wired` + + + + +### internet-fee + + + +The question is Is there a fee for internet access? + + + + + + - There is a fee for the internet access at this place corresponds with `internet_access:fee=yes` + - Internet access is free at this place corresponds with `internet_access:fee=no` + - Internet access is free at this place, for customers only corresponds with `internet_access:fee=customers` + + +Only visible if `internet_access!=no&internet_access~^..*$` is shown + + + +### internet-ssid + + + +The question is What is the network name for the wireless internet access? + +This rendering asks information about the property [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) + +This is rendered with The network name is {internet_access:ssid} + + + + + + - Telekom corresponds with `internet_access:ssid=Telekom` + + +Only visible if `internet_access=wlan` is shown + + + ### questions diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index db606f70a..62291e306 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -62,7 +62,7 @@ attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/sport#values) [sport](https://wiki.openstreetmap.org/wiki/Key:sport) | [string](../SpecialInputElements.md#string) | [basketball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbasketball) [soccer](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dsoccer) [table_tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtable_tennis) [tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtennis) [korfball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dkorfball) [](https://taginfo.openstreetmap.org/keys/surface#values) [surface](https://wiki.openstreetmap.org/wiki/Key:surface) | [string](../SpecialInputElements.md#string) | [grass](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dgrass) [sand](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dsand) [paving_stones](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dpaving_stones) [asphalt](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dasphalt) [concrete](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dconcrete) -[](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [public](https://wiki.openstreetmap.org/wiki/Tag:access%3Dpublic) [limited](https://wiki.openstreetmap.org/wiki/Tag:access%3Dlimited) [members](https://wiki.openstreetmap.org/wiki/Tag:access%3Dmembers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) +[](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:access%3Dlimited) [members](https://wiki.openstreetmap.org/wiki/Tag:access%3Dmembers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [](https://taginfo.openstreetmap.org/keys/reservation#values) [reservation](https://wiki.openstreetmap.org/wiki/Key:reservation) | Multiple choice | [required](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drequired) [recommended](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drecommended) [yes](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dno) [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | @@ -141,10 +141,12 @@ The question is Is this sport pitch publicly accessible? - - Public access corresponds with `access=public` + - Public access corresponds with `access=yes` - Limited access (e.g. only with an appointment, during certain hours, …) corresponds with `access=limited` - Only accessible for members of the club corresponds with `access=members` - Private - not accessible to the public corresponds with `access=private` + - Public access corresponds with `access=public` + - This option cannot be chosen as answer diff --git a/Docs/Schemas/DenominationConfigJson.schema.json b/Docs/Schemas/DenominationConfigJson.schema.json new file mode 100644 index 000000000..807226c6b --- /dev/null +++ b/Docs/Schemas/DenominationConfigJson.schema.json @@ -0,0 +1,127 @@ +{ + "$ref": "#/definitions/DenominationConfigJson", + "definitions": { + "TagConfigJson": { + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation", + "anyOf": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ] + }, + "AndTagConfigJson": { + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "and": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "and" + ], + "additionalProperties": false + }, + "OrTagConfigJson": { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ], + "additionalProperties": false + }, + "DenominationConfigJson": { + "type": "object", + "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "canonicalDenomination": { + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "type": "string" + }, + "canonicalDenominationSingular": { + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", + "type": "string" + }, + "alternativeDenomination": { + "description": "A list of alternative values which can occur in the OSM database - used for parsing.", + "type": "array", + "items": { + "type": "string" + } + }, + "human": { + "description": "The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g.\n{\n \"en\": \"meter\",\n \"fr\": \"metre\"\n}" + }, + "humanSingular": { + "description": "The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g.\n{\n \"en\": \"minute\",\n \"nl\": \"minuut\"x²\n}" + }, + "prefix": { + "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", + "type": "boolean" + } + }, + "required": [ + "canonicalDenomination" + ], + "additionalProperties": false + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false +} \ No newline at end of file diff --git a/Docs/Schemas/DenominationConfigJsonJSC.ts b/Docs/Schemas/DenominationConfigJsonJSC.ts new file mode 100644 index 000000000..8e4178640 --- /dev/null +++ b/Docs/Schemas/DenominationConfigJsonJSC.ts @@ -0,0 +1,123 @@ +export default { + "$ref": "#/definitions/DenominationConfigJson", + "definitions": { + "TagConfigJson": { + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation", + "anyOf": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ] + }, + "AndTagConfigJson": { + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "and": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "and" + ] + }, + "OrTagConfigJson": { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + "DenominationConfigJson": { + "type": "object", + "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "canonicalDenomination": { + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "type": "string" + }, + "canonicalDenominationSingular": { + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", + "type": "string" + }, + "alternativeDenomination": { + "description": "A list of alternative values which can occur in the OSM database - used for parsing.", + "type": "array", + "items": { + "type": "string" + } + }, + "human": { + "description": "The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g.\n{\n \"en\": \"meter\",\n \"fr\": \"metre\"\n}" + }, + "humanSingular": { + "description": "The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g.\n{\n \"en\": \"minute\",\n \"nl\": \"minuut\"x²\n}" + }, + "prefix": { + "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", + "type": "boolean" + } + }, + "required": [ + "canonicalDenomination" + ] + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" +} \ No newline at end of file diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index 89fcd06ba..76fa17ced 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -325,7 +325,44 @@ ] }, { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "builtin": { + "type": "array", + "items": { + "type": "string" + } + }, + "override": { + "$ref": "#/definitions/Partial" + } + }, + "required": [ + "builtin", + "id", + "override" + ] + }, + { + "allOf": [ + { + "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + ] }, { "type": "string" @@ -463,15 +500,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -490,10 +555,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -520,6 +581,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -675,7 +739,7 @@ ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -1019,6 +1083,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -1112,6 +1179,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -1343,7 +1413,7 @@ "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -1357,7 +1427,7 @@ "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index 3cb6accfe..1b283a7ec 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -325,7 +325,44 @@ export default { ] }, { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "builtin": { + "type": "array", + "items": { + "type": "string" + } + }, + "override": { + "$ref": "#/definitions/Partial" + } + }, + "required": [ + "builtin", + "id", + "override" + ] + }, + { + "allOf": [ + { + "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + ] }, { "type": "string" @@ -461,15 +498,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -488,10 +553,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -517,6 +578,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -670,7 +734,7 @@ export default { ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -1009,6 +1073,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -1101,6 +1168,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -1327,7 +1397,7 @@ export default { "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -1341,7 +1411,7 @@ export default { "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, diff --git a/Docs/Schemas/LayoutConfigJson.schema.json b/Docs/Schemas/LayoutConfigJson.schema.json index 577eabe6f..0496a4250 100644 --- a/Docs/Schemas/LayoutConfigJson.schema.json +++ b/Docs/Schemas/LayoutConfigJson.schema.json @@ -10,14 +10,6 @@ "description": "Who helped to create this theme and should be attributed?", "type": "string" }, - "maintainer": { - "description": "Who does maintain this preset?", - "type": "string" - }, - "version": { - "description": "A version number, either semantically or by date.\nShould be sortable, where the higher value is the later version", - "type": "string" - }, "mustHaveLanguage": { "description": "Only used in 'generateLayerOverview': if present, every translation will be checked to make sure it is fully translated.\n\nThis must be a list of two-letter, lowercase codes which identifies the language, e.g. \"en\", \"nl\", ...", "type": "array", @@ -69,7 +61,7 @@ }, "overrideAll": { "description": "An override applied on all layers of the theme.\n\nE.g.: if there are two layers defined:\n```\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ...}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ...}}\n]\n```\n\nand overrideAll is specified:\n```\n\"overrideAll\": {\n \"osmSource\":{\"geoJsonSource\":\"xyz\"}\n}\nthen the result will be that all the layers will have these properties applied and result in:\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ..., \"geoJsonSource\":\"xyz\"}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ..., \"geoJsonSource\":\"xyz\"}}\n]\n```\n\nIf the overrideAll contains a list where the keys starts with a plus, the values will be appended (instead of discarding the old list), for example\n\n\"overrideAll\": {\n \"+tagRenderings\": [ { ... some tagrendering ... }]\n}\n\nIn the above scenario, `sometagrendering` will be added at the beginning of the tagrenderings of every layer", - "$ref": "#/definitions/Partial" + "$ref": "#/definitions/Partial" }, "defaultBackgroundId": { "description": "The id of the default background. BY default: vanilla OSM", @@ -281,12 +273,10 @@ "icon", "id", "layers", - "maintainer", "startLat", "startLon", "startZoom", - "title", - "version" + "title" ], "definitions": { "TagConfigJson": { @@ -347,15 +337,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -374,10 +392,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -404,6 +418,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -559,7 +576,7 @@ ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -903,6 +920,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -996,6 +1016,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -1227,7 +1250,7 @@ "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -1241,7 +1264,7 @@ "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, @@ -1251,406 +1274,8 @@ ], "additionalProperties": false }, - "Partial": { + "Partial": { "type": "object", - "properties": { - "id": { - "description": "The id of this layer.\nThis should be a simple, lowercase, human readable string that is used to identify the layer.", - "type": "string" - }, - "name": { - "description": "The name of this layer\nUsed in the layer control panel and the 'Personal theme'.\n\nIf not given, will be hidden (and thus not toggable) in the layer control" - }, - "description": { - "description": "A description for this layer.\nShown in the layer selections and in the personel theme" - }, - "source": { - "description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up.", - "anyOf": [ - { - "allOf": [ - { - "type": "object", - "properties": { - "osmTags": { - "$ref": "#/definitions/TagConfigJson", - "description": "Every source must set which tags have to be present in order to load the given layer." - }, - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" - } - }, - "required": [ - "osmTags" - ] - }, - { - "type": "object", - "properties": { - "overpassScript": { - "description": "If set, this custom overpass-script will be used instead of building one by using the OSM-tags.\nSpecifying OSM-tags is still obligatory and will still hide non-matching items and they will be used for the rest of the pipeline.\n_This should be really rare_.\n\nFor example, when you want to fetch all grass-areas in parks and which are marked as publicly accessible: \n```\n\"source\": {\n \"overpassScript\": \n \"way[\\\"leisure\\\"=\\\"park\\\"];node(w);is_in;area._[\\\"leisure\\\"=\\\"park\\\"];(way(area)[\\\"landuse\\\"=\\\"grass\\\"]; node(w); );\",\n \"osmTags\": \"access=yes\"\n}\n```", - "type": "string" - } - } - } - ] - }, - { - "allOf": [ - { - "type": "object", - "properties": { - "osmTags": { - "$ref": "#/definitions/TagConfigJson", - "description": "Every source must set which tags have to be present in order to load the given layer." - }, - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" - } - }, - "required": [ - "osmTags" - ] - }, - { - "type": "object", - "properties": { - "geoJson": { - "description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}", - "type": "string" - }, - "geoJsonZoomLevel": { - "description": "To load a tiled geojson layer, set the zoomlevel of the tiles", - "type": "number" - }, - "isOsmCache": { - "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache", - "type": "boolean" - }, - "mercatorCrs": { - "description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this", - "type": "boolean" - }, - "idKey": { - "description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'", - "type": "string" - } - }, - "required": [ - "geoJson" - ] - } - ] - } - ] - }, - "calculatedTags": { - "description": "A list of extra tags to calculate, specified as \"keyToAssignTo=javascript-expression\".\nThere are a few extra functions available. Refer to Docs/CalculatedTags.md for more information\nThe functions will be run in order, e.g.\n[\n \"_max_overlap_m2=Math.max(...feat.overlapsWith(\"someOtherLayer\").map(o => o.overlap))\n \"_max_overlap_ratio=Number(feat._max_overlap_m2)/feat.area\n]\n\nThe specified tags are evaluated lazily. E.g. if a calculated tag is only used in the popup (e.g. the number of nearby features),\nthe expensive calculation will only be performed then for that feature. This avoids clogging up the contributors PC when all features are loaded.\n\nIf a tag has to be evaluated strictly, use ':=' instead:\n\n[\n\"_some_key:=some_javascript_expression\"\n]", - "type": "array", - "items": { - "type": "string" - } - }, - "doNotDownload": { - "description": "If set, this layer will not query overpass; but it'll still match the tags above which are by chance returned by other layers.\nWorks well together with 'passAllFeatures', to add decoration", - "type": "boolean" - }, - "isShown": { - "description": "If set, only features matching this extra tag will be shown.\nThis is useful to hide certain features from view.\n\nImportant: hiding features does not work dynamically, but is only calculated when the data is first renders.\nThis implies that it is not possible to hide a feature after a tagging change\n\nThe default value is 'yes'", - "anyOf": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ] - }, - "forceLoad": { - "description": "Advanced option - might be set by the theme compiler\n\nIf true, this data will _always_ be loaded, even if the theme is disabled", - "type": "boolean" - }, - "minzoom": { - "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0", - "type": "number" - }, - "shownByDefault": { - "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)", - "type": "boolean" - }, - "minzoomVisible": { - "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible", - "type": "number" - }, - "title": { - "description": "The title shown in a popup for elements of this layer.", - "anyOf": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ] - }, - "titleIcons": { - "description": "Small icons shown next to the title.\nIf not specified, the OsmLink and wikipedia links will be used by default.\nUse an empty array to hide them.\nNote that \"defaults\" will insert all the default titleIcons (which are added automatically)\n\nType: icon[]", - "anyOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ] - } - }, - { - "type": "array", - "items": [ - { - "type": "string", - "enum": [ - "defaults" - ] - } - ], - "minItems": 1, - "maxItems": 1 - } - ] - }, - "mapRendering": { - "description": "Visualisation of the items on the map", - "anyOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/default_4" - }, - { - "$ref": "#/definitions/default_5" - }, - { - "$ref": "#/definitions/default" - } - ] - } - }, - { - "type": "null" - } - ] - }, - "passAllFeatures": { - "description": "If set, this layer will pass all the features it receives onto the next layer.\nThis is ideal for decoration, e.g. directionss on cameras", - "type": "boolean" - }, - "presets": { - "description": "Presets for this layer.\nA preset shows up when clicking the map on a without data (or when right-clicking/long-pressing);\nit will prompt the user to add a new point.\n\nThe most important aspect are the tags, which define which tags the new point will have;\nThe title is shown in the dialog, along with the first sentence of the description.\n\nUpon confirmation, the full description is shown beneath the buttons - perfect to add pictures and examples.\n\nNote: the icon of the preset is determined automatically based on the tags and the icon above. Don't worry about that!\nNB: if no presets are defined, the popup to add new points doesn't show up at all", - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "description": "The title - shown on the 'add-new'-button.\n\nThis should include the article of the noun, e.g. 'a hydrant', 'a bicycle pump'.\nThis text will be inserted into `Add {category} here`, becoming `Add a hydrant here`.\n\nDo _not_ indicate 'new': 'add a new shop here' is incorrect, as the shop might have existed forever, it could just be unmapped!" - }, - "tags": { - "description": "The tags to add. It determines the icon too", - "type": "array", - "items": { - "type": "string" - } - }, - "description": { - "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" - }, - "exampleImages": { - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image", - "type": "array", - "items": { - "type": "string" - } - }, - "preciseInput": { - "description": "If set, the user will prompted to confirm the location before actually adding the data.\nThis will be with a 'drag crosshair'-method.\n\nIf 'preferredBackgroundCategory' is set, the element will attempt to pick a background layer of that category.", - "anyOf": [ - { - "type": "object", - "properties": { - "preferredBackground": { - "description": "The type of background picture", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "snapToLayer": { - "description": "If specified, these layers will be shown to and the new point will be snapped towards it", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "maxSnapDistance": { - "description": "If specified, a new point will only be snapped if it is within this range.\nDistance in meter\n\nDefault: 10", - "type": "number" - } - }, - "required": [ - "preferredBackground" - ] - }, - { - "enum": [ - true - ], - "type": "boolean" - } - ] - } - }, - "required": [ - "tags", - "title" - ] - } - }, - "tagRenderings": { - "description": "All the tag renderings.\nA tag rendering is a block that either shows the known value or asks a question.\n\nRefer to the class `TagRenderingConfigJson` to see the possibilities.\n\nNote that we can also use a string here - where the string refers to a tag rendering defined in `assets/questions/questions.json`,\nwhere a few very general questions are defined e.g. website, phone number, ...\nFurthermore, _all_ the questions of another layer can be reused with `otherlayer.*`\nIf you need only a single of the tagRenderings, use `otherlayer.tagrenderingId`\nIf one or more questions have a 'group' or 'label' set, select all the entries with the corresponding group or label with `otherlayer.*group`\nRemark: if a tagRendering is 'lent' from another layer, the 'source'-tags are copied and added as condition.\nIf they are not wanted, remove them with an override\n\nA special value is 'questions', which indicates the location of the questions box. If not specified, it'll be appended to the bottom of the featureInfobox.\n\nAt last, one can define a group of renderings where parts of all strings will be replaced by multiple other strings.\nThis is mainly create questions for a 'left' and a 'right' side of the road.\nThese will be grouped and questions will be asked together", - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/QuestionableTagRenderingConfigJson" - }, - { - "type": "object", - "properties": { - "builtin": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "override": { - "$ref": "#/definitions/Partial" - } - }, - "required": [ - "builtin", - "override" - ] - }, - { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" - }, - { - "type": "string" - } - ] - } - }, - "filter": { - "description": "All the extra questions for filtering", - "anyOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/default_1" - } - }, - { - "type": "object", - "properties": { - "sameAs": { - "type": "string" - } - }, - "required": [ - "sameAs" - ] - } - ] - }, - "deletion": { - "description": "This block defines under what circumstances the delete dialog is shown for objects of this layer.\nIf set, a dialog is shown to the user to (soft) delete the point.\nThe dialog is built to be user friendly and to prevent mistakes.\nIf deletion is not possible, the dialog will hide itself and show the reason of non-deletability instead.\n\nTo configure, the following values are possible:\n\n- false: never ever show the delete button\n- true: show the default delete button\n- undefined: use the mapcomplete default to show deletion or not. Currently, this is the same as 'false' but this will change in the future\n- or: a hash with options (see below)\n\n The delete dialog\n =================\n\n\n\n#### Hard deletion if enough experience\n\nA feature can only be deleted from OpenStreetMap by mapcomplete if:\n\n- It is a node\n- No ways or relations use the node\n- The logged-in user has enough experience OR the user is the only one to have edited the point previously\n- The logged-in user has no unread messages (or has a ton of experience)\n- The user did not select one of the 'non-delete-options' (see below)\n\nIn all other cases, a 'soft deletion' is used.\n\n#### Soft deletion\n\nA 'soft deletion' is when the point isn't deleted from OSM but retagged so that it'll won't how up in the mapcomplete theme anymore.\nThis makes it look like it was deleted, without doing damage. A fixme will be added to the point.\n\nNote that a soft deletion is _only_ possible if these tags are provided by the theme creator, as they'll be different for every theme\n\n#### No-delete options\n\nIn some cases, the contributor might want to delete something for the wrong reason (e.g. someone who wants to have a path removed \"because the path is on their private property\").\nHowever, the path exists in reality and should thus be on OSM - otherwise the next contributor will pass by and notice \"hey, there is a path missing here! Let me redraw it in OSM!)\n\nThe correct approach is to retag the feature in such a way that it is semantically correct *and* that it doesn't show up on the theme anymore.\nA no-delete option is offered as 'reason to delete it', but secretly retags.", - "anyOf": [ - { - "$ref": "#/definitions/DeleteConfigJson" - }, - { - "type": "boolean" - } - ] - }, - "allowMove": { - "description": "Indicates if a point can be moved and configures the modalities.\n\nA feature can be moved by MapComplete if:\n\n- It is a point\n- The point is _not_ part of a way or a a relation.\n\nOff by default. Can be enabled by setting this flag or by configuring.", - "anyOf": [ - { - "$ref": "#/definitions/default_3" - }, - { - "type": "boolean" - } - ] - }, - "allowSplit": { - "description": "If set, a 'split this way' button is shown on objects rendered as LineStrings, e.g. highways.\n\nIf the way is part of a relation, MapComplete will attempt to update this relation as well", - "type": "boolean" - }, - "units": { - "description": "In some cases, a value is represented in a certain unit (such as meters for heigt/distance/..., km/h for speed, ...)\n\nSometimes, multiple denominations are possible (e.g. km/h vs mile/h; megawatt vs kilowatt vs gigawatt for power generators, ...)\n\nThis brings in some troubles, as there are multiple ways to write it (no denomitation, 'm' vs 'meter' 'metre', ...)\n\nNot only do we want to write consistent data to OSM, we also want to present this consistently to the user.\nThis is handled by defining units.\n\n# Rendering\n\nTo render a value with long (human) denomination, use {canonical(key)}\n\n# Usage\n\nFirst of all, you define which keys have units applied, for example:\n\n```\nunits: [\n appliesTo: [\"maxspeed\", \"maxspeed:hgv\", \"maxspeed:bus\"]\n applicableUnits: [\n ...\n ]\n]\n```\n\nApplicableUnits defines which is the canonical extension, how it is presented to the user, ...:\n\n```\napplicableUnits: [\n{\n canonicalDenomination: \"km/h\",\n alternativeDenomination: [\"km/u\", \"kmh\", \"kph\"]\n default: true,\n human: {\n en: \"kilometer/hour\",\n nl: \"kilometer/uur\"\n },\n humanShort: {\n en: \"km/h\",\n nl: \"km/u\"\n }\n},\n{\n canoncialDenomination: \"mph\",\n ... similar for miles an hour ...\n}\n]\n```\n\n\nIf this is defined, then every key which the denominations apply to (`maxspeed`, `maxspeed:hgv` and `maxspeed:bus`) will be rewritten at the metatagging stage:\nevery value will be parsed and the canonical extension will be added add presented to the other parts of the code.\n\nAlso, if a freeform text field is used, an extra dropdown with applicable denominations will be given", - "type": "array", - "items": { - "$ref": "#/definitions/default_2" - } - }, - "syncSelection": { - "description": "If set, synchronizes whether or not this layer is enabled.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes", - "enum": [ - "global", - "local", - "no", - "theme-only" - ], - "type": "string" - } - }, "additionalProperties": false }, "default_6": { @@ -2019,7 +1644,44 @@ ] }, { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "builtin": { + "type": "array", + "items": { + "type": "string" + } + }, + "override": { + "$ref": "#/definitions/Partial" + } + }, + "required": [ + "builtin", + "id", + "override" + ] + }, + { + "allOf": [ + { + "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + ] }, { "type": "string" diff --git a/Docs/Schemas/LayoutConfigJsonJSC.ts b/Docs/Schemas/LayoutConfigJsonJSC.ts index 180163708..e578e5997 100644 --- a/Docs/Schemas/LayoutConfigJsonJSC.ts +++ b/Docs/Schemas/LayoutConfigJsonJSC.ts @@ -10,14 +10,6 @@ export default { "description": "Who helped to create this theme and should be attributed?", "type": "string" }, - "maintainer": { - "description": "Who does maintain this preset?", - "type": "string" - }, - "version": { - "description": "A version number, either semantically or by date.\nShould be sortable, where the higher value is the later version", - "type": "string" - }, "mustHaveLanguage": { "description": "Only used in 'generateLayerOverview': if present, every translation will be checked to make sure it is fully translated.\n\nThis must be a list of two-letter, lowercase codes which identifies the language, e.g. \"en\", \"nl\", ...", "type": "array", @@ -69,7 +61,7 @@ export default { }, "overrideAll": { "description": "An override applied on all layers of the theme.\n\nE.g.: if there are two layers defined:\n```\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ...}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ...}}\n]\n```\n\nand overrideAll is specified:\n```\n\"overrideAll\": {\n \"osmSource\":{\"geoJsonSource\":\"xyz\"}\n}\nthen the result will be that all the layers will have these properties applied and result in:\n\"layers\":[\n {\"title\": ..., \"tagRenderings\": [...], \"osmSource\":{\"tags\": ..., \"geoJsonSource\":\"xyz\"}},\n {\"title\", ..., \"tagRenderings\", [...], \"osmSource\":{\"tags\" ..., \"geoJsonSource\":\"xyz\"}}\n]\n```\n\nIf the overrideAll contains a list where the keys starts with a plus, the values will be appended (instead of discarding the old list), for example\n\n\"overrideAll\": {\n \"+tagRenderings\": [ { ... some tagrendering ... }]\n}\n\nIn the above scenario, `sometagrendering` will be added at the beginning of the tagrenderings of every layer", - "$ref": "#/definitions/Partial" + "$ref": "#/definitions/Partial" }, "defaultBackgroundId": { "description": "The id of the default background. BY default: vanilla OSM", @@ -281,12 +273,10 @@ export default { "icon", "id", "layers", - "maintainer", "startLat", "startLon", "startZoom", - "title", - "version" + "title" ], "definitions": { "TagConfigJson": { @@ -345,15 +335,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -372,10 +390,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -401,6 +415,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -554,7 +571,7 @@ export default { ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -893,6 +910,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -985,6 +1005,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -1211,7 +1234,7 @@ export default { "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -1225,7 +1248,7 @@ export default { "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, @@ -1234,406 +1257,8 @@ export default { "appliesToKey" ] }, - "Partial": { - "type": "object", - "properties": { - "id": { - "description": "The id of this layer.\nThis should be a simple, lowercase, human readable string that is used to identify the layer.", - "type": "string" - }, - "name": { - "description": "The name of this layer\nUsed in the layer control panel and the 'Personal theme'.\n\nIf not given, will be hidden (and thus not toggable) in the layer control" - }, - "description": { - "description": "A description for this layer.\nShown in the layer selections and in the personel theme" - }, - "source": { - "description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up.", - "anyOf": [ - { - "allOf": [ - { - "type": "object", - "properties": { - "osmTags": { - "$ref": "#/definitions/TagConfigJson", - "description": "Every source must set which tags have to be present in order to load the given layer." - }, - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" - } - }, - "required": [ - "osmTags" - ] - }, - { - "type": "object", - "properties": { - "overpassScript": { - "description": "If set, this custom overpass-script will be used instead of building one by using the OSM-tags.\nSpecifying OSM-tags is still obligatory and will still hide non-matching items and they will be used for the rest of the pipeline.\n_This should be really rare_.\n\nFor example, when you want to fetch all grass-areas in parks and which are marked as publicly accessible: \n```\n\"source\": {\n \"overpassScript\": \n \"way[\\\"leisure\\\"=\\\"park\\\"];node(w);is_in;area._[\\\"leisure\\\"=\\\"park\\\"];(way(area)[\\\"landuse\\\"=\\\"grass\\\"]; node(w); );\",\n \"osmTags\": \"access=yes\"\n}\n```", - "type": "string" - } - } - } - ] - }, - { - "allOf": [ - { - "type": "object", - "properties": { - "osmTags": { - "$ref": "#/definitions/TagConfigJson", - "description": "Every source must set which tags have to be present in order to load the given layer." - }, - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" - } - }, - "required": [ - "osmTags" - ] - }, - { - "type": "object", - "properties": { - "geoJson": { - "description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}", - "type": "string" - }, - "geoJsonZoomLevel": { - "description": "To load a tiled geojson layer, set the zoomlevel of the tiles", - "type": "number" - }, - "isOsmCache": { - "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache", - "type": "boolean" - }, - "mercatorCrs": { - "description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this", - "type": "boolean" - }, - "idKey": { - "description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'", - "type": "string" - } - }, - "required": [ - "geoJson" - ] - } - ] - } - ] - }, - "calculatedTags": { - "description": "A list of extra tags to calculate, specified as \"keyToAssignTo=javascript-expression\".\nThere are a few extra functions available. Refer to Docs/CalculatedTags.md for more information\nThe functions will be run in order, e.g.\n[\n \"_max_overlap_m2=Math.max(...feat.overlapsWith(\"someOtherLayer\").map(o => o.overlap))\n \"_max_overlap_ratio=Number(feat._max_overlap_m2)/feat.area\n]\n\nThe specified tags are evaluated lazily. E.g. if a calculated tag is only used in the popup (e.g. the number of nearby features),\nthe expensive calculation will only be performed then for that feature. This avoids clogging up the contributors PC when all features are loaded.\n\nIf a tag has to be evaluated strictly, use ':=' instead:\n\n[\n\"_some_key:=some_javascript_expression\"\n]", - "type": "array", - "items": { - "type": "string" - } - }, - "doNotDownload": { - "description": "If set, this layer will not query overpass; but it'll still match the tags above which are by chance returned by other layers.\nWorks well together with 'passAllFeatures', to add decoration", - "type": "boolean" - }, - "isShown": { - "description": "If set, only features matching this extra tag will be shown.\nThis is useful to hide certain features from view.\n\nImportant: hiding features does not work dynamically, but is only calculated when the data is first renders.\nThis implies that it is not possible to hide a feature after a tagging change\n\nThe default value is 'yes'", - "anyOf": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ] - }, - "forceLoad": { - "description": "Advanced option - might be set by the theme compiler\n\nIf true, this data will _always_ be loaded, even if the theme is disabled", - "type": "boolean" - }, - "minzoom": { - "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0", - "type": "number" - }, - "shownByDefault": { - "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)", - "type": "boolean" - }, - "minzoomVisible": { - "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible", - "type": "number" - }, - "title": { - "description": "The title shown in a popup for elements of this layer.", - "anyOf": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ] - }, - "titleIcons": { - "description": "Small icons shown next to the title.\nIf not specified, the OsmLink and wikipedia links will be used by default.\nUse an empty array to hide them.\nNote that \"defaults\" will insert all the default titleIcons (which are added automatically)\n\nType: icon[]", - "anyOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ] - } - }, - { - "type": "array", - "items": [ - { - "type": "string", - "enum": [ - "defaults" - ] - } - ], - "minItems": 1, - "maxItems": 1 - } - ] - }, - "mapRendering": { - "description": "Visualisation of the items on the map", - "anyOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/default_4" - }, - { - "$ref": "#/definitions/default_5" - }, - { - "$ref": "#/definitions/default" - } - ] - } - }, - { - "type": "null" - } - ] - }, - "passAllFeatures": { - "description": "If set, this layer will pass all the features it receives onto the next layer.\nThis is ideal for decoration, e.g. directionss on cameras", - "type": "boolean" - }, - "presets": { - "description": "Presets for this layer.\nA preset shows up when clicking the map on a without data (or when right-clicking/long-pressing);\nit will prompt the user to add a new point.\n\nThe most important aspect are the tags, which define which tags the new point will have;\nThe title is shown in the dialog, along with the first sentence of the description.\n\nUpon confirmation, the full description is shown beneath the buttons - perfect to add pictures and examples.\n\nNote: the icon of the preset is determined automatically based on the tags and the icon above. Don't worry about that!\nNB: if no presets are defined, the popup to add new points doesn't show up at all", - "type": "array", - "items": { - "type": "object", - "properties": { - "title": { - "description": "The title - shown on the 'add-new'-button.\n\nThis should include the article of the noun, e.g. 'a hydrant', 'a bicycle pump'.\nThis text will be inserted into `Add {category} here`, becoming `Add a hydrant here`.\n\nDo _not_ indicate 'new': 'add a new shop here' is incorrect, as the shop might have existed forever, it could just be unmapped!" - }, - "tags": { - "description": "The tags to add. It determines the icon too", - "type": "array", - "items": { - "type": "string" - } - }, - "description": { - "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" - }, - "exampleImages": { - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image", - "type": "array", - "items": { - "type": "string" - } - }, - "preciseInput": { - "description": "If set, the user will prompted to confirm the location before actually adding the data.\nThis will be with a 'drag crosshair'-method.\n\nIf 'preferredBackgroundCategory' is set, the element will attempt to pick a background layer of that category.", - "anyOf": [ - { - "type": "object", - "properties": { - "preferredBackground": { - "description": "The type of background picture", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "snapToLayer": { - "description": "If specified, these layers will be shown to and the new point will be snapped towards it", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "maxSnapDistance": { - "description": "If specified, a new point will only be snapped if it is within this range.\nDistance in meter\n\nDefault: 10", - "type": "number" - } - }, - "required": [ - "preferredBackground" - ] - }, - { - "enum": [ - true - ], - "type": "boolean" - } - ] - } - }, - "required": [ - "tags", - "title" - ] - } - }, - "tagRenderings": { - "description": "All the tag renderings.\nA tag rendering is a block that either shows the known value or asks a question.\n\nRefer to the class `TagRenderingConfigJson` to see the possibilities.\n\nNote that we can also use a string here - where the string refers to a tag rendering defined in `assets/questions/questions.json`,\nwhere a few very general questions are defined e.g. website, phone number, ...\nFurthermore, _all_ the questions of another layer can be reused with `otherlayer.*`\nIf you need only a single of the tagRenderings, use `otherlayer.tagrenderingId`\nIf one or more questions have a 'group' or 'label' set, select all the entries with the corresponding group or label with `otherlayer.*group`\nRemark: if a tagRendering is 'lent' from another layer, the 'source'-tags are copied and added as condition.\nIf they are not wanted, remove them with an override\n\nA special value is 'questions', which indicates the location of the questions box. If not specified, it'll be appended to the bottom of the featureInfobox.\n\nAt last, one can define a group of renderings where parts of all strings will be replaced by multiple other strings.\nThis is mainly create questions for a 'left' and a 'right' side of the road.\nThese will be grouped and questions will be asked together", - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/QuestionableTagRenderingConfigJson" - }, - { - "type": "object", - "properties": { - "builtin": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "override": { - "$ref": "#/definitions/Partial" - } - }, - "required": [ - "builtin", - "override" - ] - }, - { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" - }, - { - "type": "string" - } - ] - } - }, - "filter": { - "description": "All the extra questions for filtering", - "anyOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/default_1" - } - }, - { - "type": "object", - "properties": { - "sameAs": { - "type": "string" - } - }, - "required": [ - "sameAs" - ] - } - ] - }, - "deletion": { - "description": "This block defines under what circumstances the delete dialog is shown for objects of this layer.\nIf set, a dialog is shown to the user to (soft) delete the point.\nThe dialog is built to be user friendly and to prevent mistakes.\nIf deletion is not possible, the dialog will hide itself and show the reason of non-deletability instead.\n\nTo configure, the following values are possible:\n\n- false: never ever show the delete button\n- true: show the default delete button\n- undefined: use the mapcomplete default to show deletion or not. Currently, this is the same as 'false' but this will change in the future\n- or: a hash with options (see below)\n\n The delete dialog\n =================\n\n\n\n#### Hard deletion if enough experience\n\nA feature can only be deleted from OpenStreetMap by mapcomplete if:\n\n- It is a node\n- No ways or relations use the node\n- The logged-in user has enough experience OR the user is the only one to have edited the point previously\n- The logged-in user has no unread messages (or has a ton of experience)\n- The user did not select one of the 'non-delete-options' (see below)\n\nIn all other cases, a 'soft deletion' is used.\n\n#### Soft deletion\n\nA 'soft deletion' is when the point isn't deleted from OSM but retagged so that it'll won't how up in the mapcomplete theme anymore.\nThis makes it look like it was deleted, without doing damage. A fixme will be added to the point.\n\nNote that a soft deletion is _only_ possible if these tags are provided by the theme creator, as they'll be different for every theme\n\n#### No-delete options\n\nIn some cases, the contributor might want to delete something for the wrong reason (e.g. someone who wants to have a path removed \"because the path is on their private property\").\nHowever, the path exists in reality and should thus be on OSM - otherwise the next contributor will pass by and notice \"hey, there is a path missing here! Let me redraw it in OSM!)\n\nThe correct approach is to retag the feature in such a way that it is semantically correct *and* that it doesn't show up on the theme anymore.\nA no-delete option is offered as 'reason to delete it', but secretly retags.", - "anyOf": [ - { - "$ref": "#/definitions/DeleteConfigJson" - }, - { - "type": "boolean" - } - ] - }, - "allowMove": { - "description": "Indicates if a point can be moved and configures the modalities.\n\nA feature can be moved by MapComplete if:\n\n- It is a point\n- The point is _not_ part of a way or a a relation.\n\nOff by default. Can be enabled by setting this flag or by configuring.", - "anyOf": [ - { - "$ref": "#/definitions/default_3" - }, - { - "type": "boolean" - } - ] - }, - "allowSplit": { - "description": "If set, a 'split this way' button is shown on objects rendered as LineStrings, e.g. highways.\n\nIf the way is part of a relation, MapComplete will attempt to update this relation as well", - "type": "boolean" - }, - "units": { - "description": "In some cases, a value is represented in a certain unit (such as meters for heigt/distance/..., km/h for speed, ...)\n\nSometimes, multiple denominations are possible (e.g. km/h vs mile/h; megawatt vs kilowatt vs gigawatt for power generators, ...)\n\nThis brings in some troubles, as there are multiple ways to write it (no denomitation, 'm' vs 'meter' 'metre', ...)\n\nNot only do we want to write consistent data to OSM, we also want to present this consistently to the user.\nThis is handled by defining units.\n\n# Rendering\n\nTo render a value with long (human) denomination, use {canonical(key)}\n\n# Usage\n\nFirst of all, you define which keys have units applied, for example:\n\n```\nunits: [\n appliesTo: [\"maxspeed\", \"maxspeed:hgv\", \"maxspeed:bus\"]\n applicableUnits: [\n ...\n ]\n]\n```\n\nApplicableUnits defines which is the canonical extension, how it is presented to the user, ...:\n\n```\napplicableUnits: [\n{\n canonicalDenomination: \"km/h\",\n alternativeDenomination: [\"km/u\", \"kmh\", \"kph\"]\n default: true,\n human: {\n en: \"kilometer/hour\",\n nl: \"kilometer/uur\"\n },\n humanShort: {\n en: \"km/h\",\n nl: \"km/u\"\n }\n},\n{\n canoncialDenomination: \"mph\",\n ... similar for miles an hour ...\n}\n]\n```\n\n\nIf this is defined, then every key which the denominations apply to (`maxspeed`, `maxspeed:hgv` and `maxspeed:bus`) will be rewritten at the metatagging stage:\nevery value will be parsed and the canonical extension will be added add presented to the other parts of the code.\n\nAlso, if a freeform text field is used, an extra dropdown with applicable denominations will be given", - "type": "array", - "items": { - "$ref": "#/definitions/default_2" - } - }, - "syncSelection": { - "description": "If set, synchronizes whether or not this layer is enabled.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes", - "enum": [ - "global", - "local", - "no", - "theme-only" - ], - "type": "string" - } - } + "Partial": { + "type": "object" }, "default_6": { "description": "Configuration for a tilesource config", @@ -2000,7 +1625,44 @@ export default { ] }, { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "builtin": { + "type": "array", + "items": { + "type": "string" + } + }, + "override": { + "$ref": "#/definitions/Partial" + } + }, + "required": [ + "builtin", + "id", + "override" + ] + }, + { + "allOf": [ + { + "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + ] }, { "type": "string" diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index bb1365aea..941cfdad3 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -146,15 +146,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -173,10 +201,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -203,6 +227,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index 5c7aea7cd..1caf3bf98 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -144,15 +144,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -171,10 +199,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -200,6 +224,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/MappingConfigJson.schema.json b/Docs/Schemas/MappingConfigJson.schema.json index b2dd05386..11ecaed7f 100644 --- a/Docs/Schemas/MappingConfigJson.schema.json +++ b/Docs/Schemas/MappingConfigJson.schema.json @@ -69,7 +69,7 @@ ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -159,15 +159,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -186,10 +214,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -216,6 +240,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/MappingConfigJsonJSC.ts b/Docs/Schemas/MappingConfigJsonJSC.ts index 5f3d2c5c7..6287ec765 100644 --- a/Docs/Schemas/MappingConfigJsonJSC.ts +++ b/Docs/Schemas/MappingConfigJsonJSC.ts @@ -69,7 +69,7 @@ export default { ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -157,15 +157,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -184,10 +212,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -213,6 +237,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/MoveConfigJson.schema.json b/Docs/Schemas/MoveConfigJson.schema.json index eee6d82e7..90ef6daf4 100644 --- a/Docs/Schemas/MoveConfigJson.schema.json +++ b/Docs/Schemas/MoveConfigJson.schema.json @@ -69,15 +69,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -96,10 +124,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ diff --git a/Docs/Schemas/MoveConfigJsonJSC.ts b/Docs/Schemas/MoveConfigJsonJSC.ts index c32177955..ac352d096 100644 --- a/Docs/Schemas/MoveConfigJsonJSC.ts +++ b/Docs/Schemas/MoveConfigJsonJSC.ts @@ -67,15 +67,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -94,10 +122,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index 211201cd9..1e3c266cc 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -144,15 +144,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -171,10 +199,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -201,6 +225,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index d3ec5552a..9ae3c3455 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -142,15 +142,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -169,10 +197,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -198,6 +222,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json index ea5bf65af..bc69312af 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json @@ -70,6 +70,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -149,15 +152,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -176,10 +207,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -206,6 +233,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -361,7 +391,7 @@ ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts index cb14ce95b..f2614312d 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts @@ -70,6 +70,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -147,15 +150,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -174,10 +205,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -203,6 +230,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -356,7 +386,7 @@ export default { ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" diff --git a/Docs/Schemas/RewritableConfigJson.schema.json b/Docs/Schemas/RewritableConfigJson.schema.json index 120b922da..bdbaf7af5 100644 --- a/Docs/Schemas/RewritableConfigJson.schema.json +++ b/Docs/Schemas/RewritableConfigJson.schema.json @@ -91,15 +91,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -118,10 +146,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -148,6 +172,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -303,7 +330,7 @@ ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" diff --git a/Docs/Schemas/RewritableConfigJsonJSC.ts b/Docs/Schemas/RewritableConfigJsonJSC.ts index dd99db574..e3ecabb7b 100644 --- a/Docs/Schemas/RewritableConfigJsonJSC.ts +++ b/Docs/Schemas/RewritableConfigJsonJSC.ts @@ -89,15 +89,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -116,10 +144,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -145,6 +169,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -298,7 +325,7 @@ export default { ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" diff --git a/Docs/Schemas/TagRenderingConfigJson.schema.json b/Docs/Schemas/TagRenderingConfigJson.schema.json index e4ea00cb1..3c4eff055 100644 --- a/Docs/Schemas/TagRenderingConfigJson.schema.json +++ b/Docs/Schemas/TagRenderingConfigJson.schema.json @@ -17,6 +17,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/TagRenderingConfigJsonJSC.ts b/Docs/Schemas/TagRenderingConfigJsonJSC.ts index c7acab367..135d71152 100644 --- a/Docs/Schemas/TagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/TagRenderingConfigJsonJSC.ts @@ -17,6 +17,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, diff --git a/Docs/Schemas/TilesourceConfigJson.schema.json b/Docs/Schemas/TilesourceConfigJson.schema.json index 001f9a78e..921f6fb15 100644 --- a/Docs/Schemas/TilesourceConfigJson.schema.json +++ b/Docs/Schemas/TilesourceConfigJson.schema.json @@ -94,15 +94,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -121,10 +149,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -151,6 +175,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -306,7 +333,7 @@ ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -650,6 +677,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -743,6 +773,9 @@ "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -974,7 +1007,7 @@ "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -988,7 +1021,7 @@ "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, diff --git a/Docs/Schemas/TilesourceConfigJsonJSC.ts b/Docs/Schemas/TilesourceConfigJsonJSC.ts index ba161c218..d40d4f9a7 100644 --- a/Docs/Schemas/TilesourceConfigJsonJSC.ts +++ b/Docs/Schemas/TilesourceConfigJsonJSC.ts @@ -92,15 +92,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -119,10 +147,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ @@ -148,6 +172,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -301,7 +328,7 @@ export default { ] }, "addExtraTags": { - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```", "type": "array", "items": { "type": "string" @@ -640,6 +667,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -732,6 +762,9 @@ export default { "type": "string" } }, + "description": { + "description": "A human-readable text explaining what this tagRendering does" + }, "render": { "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" }, @@ -958,7 +991,7 @@ export default { "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -972,7 +1005,7 @@ export default { "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, diff --git a/Docs/Schemas/UnitConfigJson.schema.json b/Docs/Schemas/UnitConfigJson.schema.json index 715b15a77..8b4ec1440 100644 --- a/Docs/Schemas/UnitConfigJson.schema.json +++ b/Docs/Schemas/UnitConfigJson.schema.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -16,7 +16,7 @@ "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, @@ -83,15 +83,43 @@ ], "additionalProperties": false }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -110,10 +138,6 @@ "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ diff --git a/Docs/Schemas/UnitConfigJsonJSC.ts b/Docs/Schemas/UnitConfigJsonJSC.ts index 43573dfd9..7459b2310 100644 --- a/Docs/Schemas/UnitConfigJsonJSC.ts +++ b/Docs/Schemas/UnitConfigJsonJSC.ts @@ -2,7 +2,7 @@ export default { "type": "object", "properties": { "appliesToKey": { - "description": "Every key from this list will be normalized", + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use", "type": "array", "items": { "type": "string" @@ -16,7 +16,7 @@ export default { "description": "The possible denominations", "type": "array", "items": { - "$ref": "#/definitions/ApplicableUnitJson" + "$ref": "#/definitions/DenominationConfigJson" } } }, @@ -81,15 +81,43 @@ export default { "or" ] }, - "ApplicableUnitJson": { + "DenominationConfigJson": { "type": "object", "properties": { + "useIfNoUnitGiven": { + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, + "useAsDefaultInput": { + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ] + }, "canonicalDenomination": { - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used", "type": "string" }, "canonicalDenominationSingular": { - "description": "The canonical denomination in the case that the unit is precisely '1'", + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes", "type": "string" }, "alternativeDenomination": { @@ -108,10 +136,6 @@ export default { "prefix": { "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field", "type": "boolean" - }, - "default": { - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit", - "type": "boolean" } }, "required": [ diff --git a/Docs/TagInfo/mapcomplete_aed.json b/Docs/TagInfo/mapcomplete_aed.json index f17e929c7..59966fc7e 100644 --- a/Docs/TagInfo/mapcomplete_aed.json +++ b/Docs/TagInfo/mapcomplete_aed.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/aed", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/aed/aed.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_artwork.json b/Docs/TagInfo/mapcomplete_artwork.json index cff0df482..5fcb00d4b 100644 --- a/Docs/TagInfo/mapcomplete_artwork.json +++ b/Docs/TagInfo/mapcomplete_artwork.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/artwork", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/artwork/artwork.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_benches.json b/Docs/TagInfo/mapcomplete_benches.json index 66411c545..bd82b4b77 100644 --- a/Docs/TagInfo/mapcomplete_benches.json +++ b/Docs/TagInfo/mapcomplete_benches.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/benches", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/benches/bench_poi.svg", - "contact_name": "Pieter Vander Vennet, Florian Edelmann", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_bicycle_rental.json b/Docs/TagInfo/mapcomplete_bicycle_rental.json index e03db7b4c..aa0c396be 100644 --- a/Docs/TagInfo/mapcomplete_bicycle_rental.json +++ b/Docs/TagInfo/mapcomplete_bicycle_rental.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/bicycle_rental", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/bicycle_rental/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_bicyclelib.json b/Docs/TagInfo/mapcomplete_bicyclelib.json index 9824808cb..7d3504eba 100644 --- a/Docs/TagInfo/mapcomplete_bicyclelib.json +++ b/Docs/TagInfo/mapcomplete_bicyclelib.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/bicyclelib", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/bicyclelib/logo.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_binoculars.json b/Docs/TagInfo/mapcomplete_binoculars.json index 74ba3b57d..c047427bf 100644 --- a/Docs/TagInfo/mapcomplete_binoculars.json +++ b/Docs/TagInfo/mapcomplete_binoculars.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/binoculars", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/binocular/telescope.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_bookcases.json b/Docs/TagInfo/mapcomplete_bookcases.json index 34062d339..b3bca5e8f 100644 --- a/Docs/TagInfo/mapcomplete_bookcases.json +++ b/Docs/TagInfo/mapcomplete_bookcases.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/bookcases", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/bookcases/bookcase.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json index dfba13bcb..507eb9d8d 100644 --- a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json +++ b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/cafes_and_pubs", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/cafe_pub/pub.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -226,6 +226,55 @@ "key": "dog", "description": "Layer 'Cafés and pubs' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", "value": "unleashed" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Cafés and pubs')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Cafés and pubs' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", + "value": "Telekom" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_campersite.json b/Docs/TagInfo/mapcomplete_campersite.json index b589bf99f..d122cefe0 100644 --- a/Docs/TagInfo/mapcomplete_campersite.json +++ b/Docs/TagInfo/mapcomplete_campersite.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/campersite", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/campersite/caravan.svg", - "contact_name": "Pieter Vander Vennet, joost schouppe", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_charging_stations.json b/Docs/TagInfo/mapcomplete_charging_stations.json index af5234c21..b3137e3e8 100644 --- a/Docs/TagInfo/mapcomplete_charging_stations.json +++ b/Docs/TagInfo/mapcomplete_charging_stations.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/charging_stations", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/charging_stations/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_climbing.json b/Docs/TagInfo/mapcomplete_climbing.json index 9fe73f3d4..4bcfdbf38 100644 --- a/Docs/TagInfo/mapcomplete_climbing.json +++ b/Docs/TagInfo/mapcomplete_climbing.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/climbing", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/climbing/climbing_icon.svg", - "contact_name": "Pieter Vander Vennet, Christian Neumann ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_cycle_infra.json b/Docs/TagInfo/mapcomplete_cycle_infra.json index b68fd2ec2..758c52e1b 100644 --- a/Docs/TagInfo/mapcomplete_cycle_infra.json +++ b/Docs/TagInfo/mapcomplete_cycle_infra.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/cycle_infra", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/cycle_infra/cycle-infra.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_cyclestreets.json b/Docs/TagInfo/mapcomplete_cyclestreets.json index 2080ef76c..8ee1a775c 100644 --- a/Docs/TagInfo/mapcomplete_cyclestreets.json +++ b/Docs/TagInfo/mapcomplete_cyclestreets.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/cyclestreets", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/cyclestreets/logo.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index dd52d0f39..e2d945d37 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/cyclofix", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/cyclofix/logo.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_drinking_water.json b/Docs/TagInfo/mapcomplete_drinking_water.json index f88a09f7d..4f79f86c3 100644 --- a/Docs/TagInfo/mapcomplete_drinking_water.json +++ b/Docs/TagInfo/mapcomplete_drinking_water.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/drinking_water", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/drinking_water/logo.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_education.json b/Docs/TagInfo/mapcomplete_education.json index b36803452..c7041f9f7 100644 --- a/Docs/TagInfo/mapcomplete_education.json +++ b/Docs/TagInfo/mapcomplete_education.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/education", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/school/college.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_etymology.json b/Docs/TagInfo/mapcomplete_etymology.json index d9fd45968..24658e365 100644 --- a/Docs/TagInfo/mapcomplete_etymology.json +++ b/Docs/TagInfo/mapcomplete_etymology.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/etymology", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/etymology/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_facadegardens.json b/Docs/TagInfo/mapcomplete_facadegardens.json index a110d6c78..55f6c2b8e 100644 --- a/Docs/TagInfo/mapcomplete_facadegardens.json +++ b/Docs/TagInfo/mapcomplete_facadegardens.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/facadegardens", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/facadegardens/geveltuin.svg", - "contact_name": "Pieter Vander Vennet, joost schouppe; stla", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_food.json b/Docs/TagInfo/mapcomplete_food.json index 70e4c3c98..22ba75d73 100644 --- a/Docs/TagInfo/mapcomplete_food.json +++ b/Docs/TagInfo/mapcomplete_food.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/food", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/food/restaurant.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -395,6 +395,55 @@ "key": "dog", "description": "Layer 'Restaurants and fast food' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", "value": "unleashed" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Restaurants and fast food')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Restaurants and fast food' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", + "value": "Telekom" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_fritures.json b/Docs/TagInfo/mapcomplete_fritures.json index 20b71812e..9cb973d52 100644 --- a/Docs/TagInfo/mapcomplete_fritures.json +++ b/Docs/TagInfo/mapcomplete_fritures.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/fritures", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/fritures/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -399,6 +399,55 @@ "key": "dog", "description": "Layer 'Fries shop' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", "value": "unleashed" + }, + { + "key": "internet_access", + "description": "Layer 'Fries shop' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Fries shop' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Fries shop' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Fries shops')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Fries shop' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Fries shop' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Fries shop' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Fries shop' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Fries shop' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Fries shop' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Fries shops')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Fries shop' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Fries shops')", + "value": "Telekom" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_ghostbikes.json b/Docs/TagInfo/mapcomplete_ghostbikes.json index 042bf718f..b7f1fa4eb 100644 --- a/Docs/TagInfo/mapcomplete_ghostbikes.json +++ b/Docs/TagInfo/mapcomplete_ghostbikes.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/ghostbikes", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/ghostbikes/logo.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_hackerspaces.json b/Docs/TagInfo/mapcomplete_hackerspaces.json index 46731af55..d64bf7b73 100644 --- a/Docs/TagInfo/mapcomplete_hackerspaces.json +++ b/Docs/TagInfo/mapcomplete_hackerspaces.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/hackerspaces", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/hackerspaces/glider.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_hailhydrant.json b/Docs/TagInfo/mapcomplete_hailhydrant.json index 898534709..43ef61eb7 100644 --- a/Docs/TagInfo/mapcomplete_hailhydrant.json +++ b/Docs/TagInfo/mapcomplete_hailhydrant.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/hailhydrant", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/hailhydrant/logo.svg", - "contact_name": "Pieter Vander Vennet, Erwin Olario", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_healthcare.json b/Docs/TagInfo/mapcomplete_healthcare.json index 649fb2966..010bc5a3e 100644 --- a/Docs/TagInfo/mapcomplete_healthcare.json +++ b/Docs/TagInfo/mapcomplete_healthcare.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/healthcare", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/doctors/doctors.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_hotels.json b/Docs/TagInfo/mapcomplete_hotels.json new file mode 100644 index 000000000..1877fabe0 --- /dev/null +++ b/Docs/TagInfo/mapcomplete_hotels.json @@ -0,0 +1,132 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Hotels", + "description": "On this map, you'll find hotels in your area", + "project_url": "https://mapcomplete.osm.be/hotels", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.osm.be/assets/layers/hotel/hotel.svg", + "contact_name": "Pieter Vander Vennet", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "tourism", + "description": "The MapComplete theme Hotels has a layer Hotels showing features with this tag", + "value": "hotel" + }, + { + "key": "image", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Hotels allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'Hotels' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "phone", + "description": "Layer 'Hotels' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "contact:phone", + "description": "Layer 'Hotels' shows contact:phone~^..*$ with a fixed text, namely '{contact:phone}' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "email", + "description": "Layer 'Hotels' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "contact:email", + "description": "Layer 'Hotels' shows contact:email~^..*$ with a fixed text, namely '{contact:email}' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "website", + "description": "Layer 'Hotels' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "contact:website", + "description": "Layer 'Hotels' shows contact:website~^..*$ with a fixed text, namely '{contact:website}' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "designated" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=yes with a fixed text, namely 'This place is easily reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "yes" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=limited with a fixed text, namely 'It is possible to reach this place in a wheelchair, but it is not easy' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "limited" + }, + { + "key": "wheelchair", + "description": "Layer 'Hotels' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Hotels')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Hotels' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Hotels')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Hotels' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hotels')", + "value": "Telekom" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_indoors.json b/Docs/TagInfo/mapcomplete_indoors.json index 221ba68aa..68a22831e 100644 --- a/Docs/TagInfo/mapcomplete_indoors.json +++ b/Docs/TagInfo/mapcomplete_indoors.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/indoors", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/entrance/entrance.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_kerbs_and_crossings.json b/Docs/TagInfo/mapcomplete_kerbs_and_crossings.json index c9ab7964e..9546b74e4 100644 --- a/Docs/TagInfo/mapcomplete_kerbs_and_crossings.json +++ b/Docs/TagInfo/mapcomplete_kerbs_and_crossings.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/kerbs_and_crossings", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/kerbs/KerbIcon.svg", - "contact_name": "Pieter Vander Vennet, Robin van der Linde", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_maps.json b/Docs/TagInfo/mapcomplete_maps.json index 42dd76c13..898f48544 100644 --- a/Docs/TagInfo/mapcomplete_maps.json +++ b/Docs/TagInfo/mapcomplete_maps.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/maps", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/maps/logo.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_maxspeed.json b/Docs/TagInfo/mapcomplete_maxspeed.json index c0f4b1602..676182db7 100644 --- a/Docs/TagInfo/mapcomplete_maxspeed.json +++ b/Docs/TagInfo/mapcomplete_maxspeed.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/maxspeed", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/maxspeed/maxspeed_logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_nature.json b/Docs/TagInfo/mapcomplete_nature.json index a2f1ca567..1c829e846 100644 --- a/Docs/TagInfo/mapcomplete_nature.json +++ b/Docs/TagInfo/mapcomplete_nature.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/nature", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/nature/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_observation_towers.json b/Docs/TagInfo/mapcomplete_observation_towers.json index 27881a1dc..e49c63679 100644 --- a/Docs/TagInfo/mapcomplete_observation_towers.json +++ b/Docs/TagInfo/mapcomplete_observation_towers.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/observation_towers", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/observation_tower/Tower_observation.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_onwheels.json b/Docs/TagInfo/mapcomplete_onwheels.json index ef2bfd84d..efae5e6d6 100644 --- a/Docs/TagInfo/mapcomplete_onwheels.json +++ b/Docs/TagInfo/mapcomplete_onwheels.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/onwheels", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/onwheels/crest.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -227,6 +227,55 @@ "description": "Layer 'Cafés and pubs' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "unleashed" }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Cafés and pubs' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "Telekom" + }, { "key": "entrance", "description": "The MapComplete theme OnWheels has a layer Entrance showing features with this tag" @@ -844,6 +893,55 @@ "description": "Layer 'Restaurants and fast food' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "unleashed" }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Restaurants and fast food' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "Telekom" + }, { "key": "barrier", "description": "The MapComplete theme OnWheels has a layer Kerbs showing features with this tag", @@ -1007,6 +1105,11 @@ "description": "Layer 'Parking' shows capacity:disabled=no with a fixed text, namely 'There are no disabled parking spots' (in the MapComplete.osm.be theme 'OnWheels')", "value": "no" }, + { + "key": "capacity:disabled", + "description": "Layer 'Parking' shows capacity:disabled=0 with a fixed text, namely 'There are no disabled parking spots' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "0" + }, { "key": "capacity", "description": "Layer 'Parking' shows and asks freeform values for key 'capacity' (in the MapComplete.osm.be theme 'OnWheels')" @@ -1931,6 +2034,55 @@ "description": "Layer 'Shop' shows service:print:A0=yes with a fixed text, namely 'This shop can print on papers of size A0' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "yes" }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "Telekom" + }, { "key": "amenity", "description": "The MapComplete theme OnWheels has a layer Toilets showing features with this tag", @@ -2553,6 +2705,55 @@ "description": "Layer 'Hotels' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", "value": "no" }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Hotels' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'OnWheels')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Hotels' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')", + "value": "Telekom" + }, { "key": "office", "description": "The MapComplete theme OnWheels has a layer governments showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_openwindpowermap.json b/Docs/TagInfo/mapcomplete_openwindpowermap.json index c5fe704c9..31b7d0963 100644 --- a/Docs/TagInfo/mapcomplete_openwindpowermap.json +++ b/Docs/TagInfo/mapcomplete_openwindpowermap.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/openwindpowermap", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/openwindpowermap/logo.svg", - "contact_name": "Pieter Vander Vennet, Seppe Santens", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_parkings.json b/Docs/TagInfo/mapcomplete_parkings.json index aac1019d2..66c6a1bde 100644 --- a/Docs/TagInfo/mapcomplete_parkings.json +++ b/Docs/TagInfo/mapcomplete_parkings.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/parkings", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/parkings/parkings.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -124,9 +124,99 @@ "description": "Layer 'Parking' shows capacity:disabled=no with a fixed text, namely 'There are no disabled parking spots' (in the MapComplete.osm.be theme 'Parking')", "value": "no" }, + { + "key": "capacity:disabled", + "description": "Layer 'Parking' shows capacity:disabled=0 with a fixed text, namely 'There are no disabled parking spots' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "0" + }, { "key": "capacity", "description": "Layer 'Parking' shows and asks freeform values for key 'capacity' (in the MapComplete.osm.be theme 'Parking')" + }, + { + "key": "amenity", + "description": "The MapComplete theme Parking has a layer Parking Spaces showing features with this tag", + "value": "parking_space" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows with a fixed text, namely 'This is a normal parking space' (in the MapComplete.osm.be theme 'Parking') Picking this answer will delete the key parking_space.", + "value": "" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=normal with a fixed text, namely 'This is a normal parking space.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "normal" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=disabled with a fixed text, namely 'This is a disabled parking space.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "disabled" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=private with a fixed text, namely 'This is a private parking space.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "private" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=charging with a fixed text, namely 'This is parking space reserved for charging vehicles.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "charging" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=delivery with a fixed text, namely 'This is parking space reserved for deliveries.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "delivery" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=hgv with a fixed text, namely 'This is parking space reserved for heavy goods vehicles.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "hgv" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=caravan with a fixed text, namely 'This is parking space reserved for caravans or RVs.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "caravan" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=bus with a fixed text, namely 'This is parking space reserved for buses.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "bus" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=motorcycle with a fixed text, namely 'This is parking space reserved for motorcycles.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "motorcycle" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=parent with a fixed text, namely 'This is a parking space reserved for parents with children.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "parent" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=staff with a fixed text, namely 'This is a parking space reserved for staff.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "staff" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=taxi with a fixed text, namely 'This is a parking space reserved for taxis.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "taxi" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=trailer with a fixed text, namely 'This is a parking space reserved for vehicles towing a trailer.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "trailer" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=car_sharing with a fixed text, namely 'This is a parking space reserved for car sharing.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Parking')", + "value": "car_sharing" + }, + { + "key": "capacity", + "description": "Layer 'Parking Spaces' shows capacity=1 with a fixed text, namely 'This parking space has 1 space.' (in the MapComplete.osm.be theme 'Parking')", + "value": "1" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_personal.json b/Docs/TagInfo/mapcomplete_personal.json index 9b5b37d4f..f72f2767c 100644 --- a/Docs/TagInfo/mapcomplete_personal.json +++ b/Docs/TagInfo/mapcomplete_personal.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/personal", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/svg/addSmall.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -2109,6 +2109,55 @@ "description": "Layer 'Cafés and pubs' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "unleashed" }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Cafés and pubs' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Cafés and pubs' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Cafés and pubs' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "Telekom" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Charging stations showing features with this tag", @@ -5655,6 +5704,55 @@ "description": "Layer 'Restaurants and fast food' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "unleashed" }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Restaurants and fast food' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Restaurants and fast food' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Restaurants and fast food' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "Telekom" + }, { "key": "memorial", "description": "The MapComplete theme Personal theme has a layer Ghost bikes showing features with this tag", @@ -5980,6 +6078,55 @@ "description": "Layer 'Hotels' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "no" }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Hotels' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Hotels' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Hotels' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Hotels' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "Telekom" + }, { "key": "emergency", "description": "The MapComplete theme Personal theme has a layer Map of hydrants showing features with this tag", @@ -6735,6 +6882,93 @@ "description": "Layer 'Observation towers' shows with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key wikidata.", "value": "" }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Parcel Lockers showing features with this tag", + "value": "parcel_locker" + }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Parcel Lockers showing features with this tag", + "value": "vending_machine" + }, + { + "key": "vending", + "description": "The MapComplete theme Personal theme has a layer Parcel Lockers showing features with this tag", + "value": "parcel_pickup;parcel_mail_in" + }, + { + "key": "image", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'brand' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=Amazon Locker with a fixed text, namely 'This is an Amazon Locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "Amazon Locker" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=DHL Packstation with a fixed text, namely 'This is a DHL Packstation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "DHL Packstation" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=Pickup Station with a fixed text, namely 'This is a DPD Pickup Station' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "Pickup Station" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=PostNL with a fixed text, namely 'This is a PostNL Parcel Locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "PostNL" + }, + { + "key": "operator", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'operator' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "opening_hours", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "ref", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'ref' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "parcel_mail_in", + "description": "Layer 'Parcel Lockers' shows parcel_mail_in=yes with a fixed text, namely 'You can send packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "parcel_mail_in", + "description": "Layer 'Parcel Lockers' shows parcel_mail_in=no with a fixed text, namely 'You can't send packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "parcel_pickup", + "description": "Layer 'Parcel Lockers' shows parcel_pickup=yes with a fixed text, namely 'You can pick up packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "parcel_pickup", + "description": "Layer 'Parcel Lockers' shows parcel_pickup=no with a fixed text, namely 'You can't pick up packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Parking showing features with this tag", @@ -6849,10 +7083,100 @@ "description": "Layer 'Parking' shows capacity:disabled=no with a fixed text, namely 'There are no disabled parking spots' (in the MapComplete.osm.be theme 'Personal theme')", "value": "no" }, + { + "key": "capacity:disabled", + "description": "Layer 'Parking' shows capacity:disabled=0 with a fixed text, namely 'There are no disabled parking spots' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "0" + }, { "key": "capacity", "description": "Layer 'Parking' shows and asks freeform values for key 'capacity' (in the MapComplete.osm.be theme 'Personal theme')" }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Parking Spaces showing features with this tag", + "value": "parking_space" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows with a fixed text, namely 'This is a normal parking space' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key parking_space.", + "value": "" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=normal with a fixed text, namely 'This is a normal parking space.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "normal" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=disabled with a fixed text, namely 'This is a disabled parking space.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "disabled" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=private with a fixed text, namely 'This is a private parking space.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "private" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=charging with a fixed text, namely 'This is parking space reserved for charging vehicles.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "charging" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=delivery with a fixed text, namely 'This is parking space reserved for deliveries.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "delivery" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=hgv with a fixed text, namely 'This is parking space reserved for heavy goods vehicles.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "hgv" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=caravan with a fixed text, namely 'This is parking space reserved for caravans or RVs.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "caravan" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=bus with a fixed text, namely 'This is parking space reserved for buses.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "bus" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=motorcycle with a fixed text, namely 'This is parking space reserved for motorcycles.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "motorcycle" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=parent with a fixed text, namely 'This is a parking space reserved for parents with children.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "parent" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=staff with a fixed text, namely 'This is a parking space reserved for staff.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "staff" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=taxi with a fixed text, namely 'This is a parking space reserved for taxis.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "taxi" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=trailer with a fixed text, namely 'This is a parking space reserved for vehicles towing a trailer.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "trailer" + }, + { + "key": "parking_space", + "description": "Layer 'Parking Spaces' shows parking_space=car_sharing with a fixed text, namely 'This is a parking space reserved for car sharing.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "car_sharing" + }, + { + "key": "capacity", + "description": "Layer 'Parking Spaces' shows capacity=1 with a fixed text, namely 'This parking space has 1 space.' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "1" + }, { "key": "highway", "description": "The MapComplete theme Personal theme has a layer Pedestrian paths showing features with this tag", @@ -7172,6 +7496,62 @@ "description": "Layer 'Playgrounds' shows opening_hours=24/7 with a fixed text, namely 'Always accessible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "24/7" }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Postboxes showing features with this tag", + "value": "post_box" + }, + { + "key": "image", + "description": "The layer 'Postboxes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Postboxes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Postboxes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Postboxes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Post offices showing features with this tag", + "value": "post_office" + }, + { + "key": "post_office", + "description": "The MapComplete theme Personal theme has a layer Post offices showing features with this tag", + "value": "post_partner" + }, + { + "key": "image", + "description": "The layer 'Post offices allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Post offices allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Post offices allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Post offices allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "opening_hours", + "description": "Layer 'Post offices' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "opening_hours", + "description": "Layer 'Post offices' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "24/7" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Bookcases showing features with this tag", @@ -11132,6 +11512,55 @@ "description": "Layer 'Shop' shows service:print:A0=yes with a fixed text, namely 'This shop can print on papers of size A0' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "yes" }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Personal theme')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "Telekom" + }, { "key": "leisure", "description": "The MapComplete theme Personal theme has a layer Sport pitches showing features with this tag", @@ -11218,8 +11647,8 @@ }, { "key": "access", - "description": "Layer 'Sport pitches' shows access=public with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", - "value": "public" + "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", + "value": "yes" }, { "key": "access", @@ -11236,6 +11665,11 @@ "description": "Layer 'Sport pitches' shows access=private with a fixed text, namely 'Private - not accessible to the public' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "value": "private" }, + { + "key": "access", + "description": "Layer 'Sport pitches' shows access=public with a fixed text, namely 'Public access' (in the MapComplete.osm.be theme 'Personal theme')", + "value": "public" + }, { "key": "reservation", "description": "Layer 'Sport pitches' shows reservation=required with a fixed text, namely 'Making an appointment is obligatory to use this sport pitch' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", diff --git a/Docs/TagInfo/mapcomplete_pets.json b/Docs/TagInfo/mapcomplete_pets.json index e9af46420..2c7dcde97 100644 --- a/Docs/TagInfo/mapcomplete_pets.json +++ b/Docs/TagInfo/mapcomplete_pets.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/pets", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/dogpark/dog-park.svg", - "contact_name": "Pieter Vander Vennet, Niels Elgaard Larsen", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -466,6 +466,55 @@ "description": "Layer 'Dog friendly eateries' shows dog=unleashed with a fixed text, namely 'Dogs are allowed and can run around freely' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", "value": "unleashed" }, + { + "key": "internet_access", + "description": "Layer 'Dog friendly eateries' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Dog friendly eateries' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Dog friendly eateries' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Dog friendly eateries' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Dog friendly eateries' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Dog friendly eateries' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Dog friendly eateries' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Dog friendly eateries' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Dog friendly eateries' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Dog friendly eateries' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "Telekom" + }, { "key": "shop", "description": "The MapComplete theme Veterinarians, dog parks and other pet-amenities has a layer Dog-friendly shops showing features with this tag" @@ -1401,6 +1450,55 @@ "description": "Layer 'Dog-friendly shops' shows service:print:A0=yes with a fixed text, namely 'This shop can print on papers of size A0' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", "value": "yes" }, + { + "key": "internet_access", + "description": "Layer 'Dog-friendly shops' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Dog-friendly shops' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Dog-friendly shops' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Dog-friendly shops' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Dog-friendly shops' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Dog-friendly shops' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Dog-friendly shops' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Dog-friendly shops' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Dog-friendly shops' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "Telekom" + }, { "key": "amenity", "description": "The MapComplete theme Veterinarians, dog parks and other pet-amenities has a layer veterinary showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_playgrounds.json b/Docs/TagInfo/mapcomplete_playgrounds.json index b13bba959..7b70366c4 100644 --- a/Docs/TagInfo/mapcomplete_playgrounds.json +++ b/Docs/TagInfo/mapcomplete_playgrounds.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/playgrounds", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/playgrounds/playground.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_postboxes.json b/Docs/TagInfo/mapcomplete_postboxes.json index dfa98291a..8a4b707b4 100644 --- a/Docs/TagInfo/mapcomplete_postboxes.json +++ b/Docs/TagInfo/mapcomplete_postboxes.json @@ -5,8 +5,8 @@ "description": "A map showing postboxes and post offices", "project_url": "https://mapcomplete.osm.be/postboxes", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", - "icon_url": "https://mapcomplete.osm.be/assets/themes/postboxes/postbox.svg", - "contact_name": "Pieter Vander Vennet, nicolelaine", + "icon_url": "https://mapcomplete.osm.be/assets/layers/postboxes/postbox.svg", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -36,6 +36,11 @@ "description": "The MapComplete theme Postbox and Post Office Map has a layer Post offices showing features with this tag", "value": "post_office" }, + { + "key": "post_office", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Post offices showing features with this tag", + "value": "post_partner" + }, { "key": "image", "description": "The layer 'Post offices allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" @@ -60,6 +65,93 @@ "key": "opening_hours", "description": "Layer 'Post offices' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", "value": "24/7" + }, + { + "key": "amenity", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Parcel Lockers showing features with this tag", + "value": "parcel_locker" + }, + { + "key": "amenity", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Parcel Lockers showing features with this tag", + "value": "vending_machine" + }, + { + "key": "vending", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Parcel Lockers showing features with this tag", + "value": "parcel_pickup;parcel_mail_in" + }, + { + "key": "image", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Parcel Lockers allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'brand' (in the MapComplete.osm.be theme 'Postbox and Post Office Map')" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=Amazon Locker with a fixed text, namely 'This is an Amazon Locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "Amazon Locker" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=DHL Packstation with a fixed text, namely 'This is a DHL Packstation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "DHL Packstation" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=Pickup Station with a fixed text, namely 'This is a DPD Pickup Station' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "Pickup Station" + }, + { + "key": "brand", + "description": "Layer 'Parcel Lockers' shows brand=PostNL with a fixed text, namely 'This is a PostNL Parcel Locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "PostNL" + }, + { + "key": "operator", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'operator' (in the MapComplete.osm.be theme 'Postbox and Post Office Map')" + }, + { + "key": "opening_hours", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Postbox and Post Office Map')" + }, + { + "key": "ref", + "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'ref' (in the MapComplete.osm.be theme 'Postbox and Post Office Map')" + }, + { + "key": "parcel_mail_in", + "description": "Layer 'Parcel Lockers' shows parcel_mail_in=yes with a fixed text, namely 'You can send packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "yes" + }, + { + "key": "parcel_mail_in", + "description": "Layer 'Parcel Lockers' shows parcel_mail_in=no with a fixed text, namely 'You can't send packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "no" + }, + { + "key": "parcel_pickup", + "description": "Layer 'Parcel Lockers' shows parcel_pickup=yes with a fixed text, namely 'You can pick up packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "yes" + }, + { + "key": "parcel_pickup", + "description": "Layer 'Parcel Lockers' shows parcel_pickup=no with a fixed text, namely 'You can't pick up packages from this parcel locker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Postbox and Post Office Map')", + "value": "no" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_rainbow_crossings.json b/Docs/TagInfo/mapcomplete_rainbow_crossings.json index 0c48ec6a3..68079f931 100644 --- a/Docs/TagInfo/mapcomplete_rainbow_crossings.json +++ b/Docs/TagInfo/mapcomplete_rainbow_crossings.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/rainbow_crossings", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/rainbow_crossings/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_shops.json b/Docs/TagInfo/mapcomplete_shops.json index ba687edb6..899bf8728 100644 --- a/Docs/TagInfo/mapcomplete_shops.json +++ b/Docs/TagInfo/mapcomplete_shops.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/shops", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/shops/shop.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -930,6 +930,55 @@ "description": "Layer 'Shop' shows service:print:A0=yes with a fixed text, namely 'This shop can print on papers of size A0' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", "value": "yes" }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows and asks freeform values for key 'internet_access:ssid' (in the MapComplete.osm.be theme 'Open Shop Map')" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')", + "value": "Telekom" + }, { "key": "amenity", "description": "The MapComplete theme Open Shop Map has a layer pharmacy showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_sport_pitches.json b/Docs/TagInfo/mapcomplete_sport_pitches.json index 47a38ba4d..714c26ed1 100644 --- a/Docs/TagInfo/mapcomplete_sport_pitches.json +++ b/Docs/TagInfo/mapcomplete_sport_pitches.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/sport_pitches", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/sport_pitch/table_tennis.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -96,8 +96,8 @@ }, { "key": "access", - "description": "Layer 'Sport pitches' shows access=public with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')", - "value": "public" + "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')", + "value": "yes" }, { "key": "access", @@ -114,6 +114,11 @@ "description": "Layer 'Sport pitches' shows access=private with a fixed text, namely 'Private - not accessible to the public' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')", "value": "private" }, + { + "key": "access", + "description": "Layer 'Sport pitches' shows access=public with a fixed text, namely 'Public access' (in the MapComplete.osm.be theme 'Sport pitches')", + "value": "public" + }, { "key": "reservation", "description": "Layer 'Sport pitches' shows reservation=required with a fixed text, namely 'Making an appointment is obligatory to use this sport pitch' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')", diff --git a/Docs/TagInfo/mapcomplete_street_lighting.json b/Docs/TagInfo/mapcomplete_street_lighting.json index 5151c236c..3421d9e2d 100644 --- a/Docs/TagInfo/mapcomplete_street_lighting.json +++ b/Docs/TagInfo/mapcomplete_street_lighting.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/street_lighting", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/street_lamps/street_lamp.svg", - "contact_name": "Pieter Vander Vennet, Robin van der Linde", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_surveillance.json b/Docs/TagInfo/mapcomplete_surveillance.json index 690abbddf..0e8261b77 100644 --- a/Docs/TagInfo/mapcomplete_surveillance.json +++ b/Docs/TagInfo/mapcomplete_surveillance.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/surveillance", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/surveillance/logo.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_toilets.json b/Docs/TagInfo/mapcomplete_toilets.json index 50bf15acb..8ba1bf852 100644 --- a/Docs/TagInfo/mapcomplete_toilets.json +++ b/Docs/TagInfo/mapcomplete_toilets.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/toilets", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/toilets/toilets.svg", - "contact_name": "Pieter Vander Vennet, MapComplete", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_transit.json b/Docs/TagInfo/mapcomplete_transit.json index b4ac84281..5174dde06 100644 --- a/Docs/TagInfo/mapcomplete_transit.json +++ b/Docs/TagInfo/mapcomplete_transit.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/transit", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/transit_stops/bus_stop.svg", - "contact_name": "Pieter Vander Vennet, Robin van der Linde", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ @@ -449,6 +449,11 @@ "description": "Layer 'Parking' shows capacity:disabled=no with a fixed text, namely 'There are no disabled parking spots' (in the MapComplete.osm.be theme 'Bus routes')", "value": "no" }, + { + "key": "capacity:disabled", + "description": "Layer 'Parking' shows capacity:disabled=0 with a fixed text, namely 'There are no disabled parking spots' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bus routes')", + "value": "0" + }, { "key": "capacity", "description": "Layer 'Parking' shows and asks freeform values for key 'capacity' (in the MapComplete.osm.be theme 'Bus routes')" diff --git a/Docs/TagInfo/mapcomplete_trees.json b/Docs/TagInfo/mapcomplete_trees.json index 63aad020e..a634ffa13 100644 --- a/Docs/TagInfo/mapcomplete_trees.json +++ b/Docs/TagInfo/mapcomplete_trees.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/trees", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/trees/logo.svg", - "contact_name": "Pieter Vander Vennet, Midgard", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_waste.json b/Docs/TagInfo/mapcomplete_waste.json index 15dbda80f..01951f163 100644 --- a/Docs/TagInfo/mapcomplete_waste.json +++ b/Docs/TagInfo/mapcomplete_waste.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/waste", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/layers/recycling/recycling-14.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/Docs/TagInfo/mapcomplete_waste_basket.json b/Docs/TagInfo/mapcomplete_waste_basket.json index 3b5b36905..c996eccbb 100644 --- a/Docs/TagInfo/mapcomplete_waste_basket.json +++ b/Docs/TagInfo/mapcomplete_waste_basket.json @@ -6,7 +6,7 @@ "project_url": "https://mapcomplete.osm.be/waste_basket", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.osm.be/assets/themes/waste_basket/waste_basket.svg", - "contact_name": "Pieter Vander Vennet, ", + "contact_name": "Pieter Vander Vennet", "contact_email": "pietervdvn@posteo.net" }, "tags": [ diff --git a/assets/contributors.json b/assets/contributors.json index e4ad91de1..af7d82884 100644 --- a/assets/contributors.json +++ b/assets/contributors.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 4343, + "commits": 4389, "contributor": "Pieter Vander Vennet" }, { - "commits": 171, + "commits": 183, "contributor": "Robin van der Linde" }, { @@ -196,6 +196,14 @@ "commits": 2, "contributor": "Stanislas Gueniffey" }, + { + "commits": 1, + "contributor": "Reiner Herrmann" + }, + { + "commits": 1, + "contributor": "Hopperpop" + }, { "commits": 1, "contributor": "Arya" diff --git a/assets/layoutconfigmeta.json b/assets/layoutconfigmeta.json index d937b6afa..d97e44ac1 100644 --- a/assets/layoutconfigmeta.json +++ b/assets/layoutconfigmeta.json @@ -18,20 +18,6 @@ "type": "string", "description": "Who helped to create this theme and should be attributed?" }, - { - "path": [ - "maintainer" - ], - "type": "string", - "description": "Who does maintain this preset?" - }, - { - "path": [ - "version" - ], - "type": "string", - "description": "A version number, either semantically or by date.\nShould be sortable, where the higher value is the later version" - }, { "path": [ "mustHaveLanguage" @@ -107,19439 +93,6 @@ "type": "number", "description": "When the OSM-api is used to fetch features, it does so in a tiled fashion.\nThese tiles are using a ceratin zoom level, that can be controlled here\nDefault: overpassMaxZoom + 1" }, - { - "path": [ - "overrideAll", - "id" - ], - "type": "string", - "description": "The id of this layer.\nThis should be a simple, lowercase, human readable string that is used to identify the layer." - }, - { - "path": [ - "overrideAll", - "name" - ], - "description": "The name of this layer\nUsed in the layer control panel and the 'Personal theme'.\n\nIf not given, will be hidden (and thus not toggable) in the layer control" - }, - { - "path": [ - "overrideAll", - "description" - ], - "description": "A description for this layer.\nShown in the layer selections and in the personel theme" - }, - { - "path": [ - "overrideAll", - "source" - ], - "type": [ - { - "allOf": [ - { - "type": "object", - "properties": { - "osmTags": { - "$ref": "#/definitions/TagConfigJson", - "description": "Every source must set which tags have to be present in order to load the given layer." - }, - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" - } - }, - "required": [ - "osmTags" - ] - }, - { - "type": "object", - "properties": { - "overpassScript": { - "description": "If set, this custom overpass-script will be used instead of building one by using the OSM-tags.\nSpecifying OSM-tags is still obligatory and will still hide non-matching items and they will be used for the rest of the pipeline.\n_This should be really rare_.\n\nFor example, when you want to fetch all grass-areas in parks and which are marked as publicly accessible: \n```\n\"source\": {\n \"overpassScript\": \n \"way[\\\"leisure\\\"=\\\"park\\\"];node(w);is_in;area._[\\\"leisure\\\"=\\\"park\\\"];(way(area)[\\\"landuse\\\"=\\\"grass\\\"]; node(w); );\",\n \"osmTags\": \"access=yes\"\n}\n```", - "type": "string" - } - } - } - ] - }, - { - "allOf": [ - { - "type": "object", - "properties": { - "osmTags": { - "$ref": "#/definitions/TagConfigJson", - "description": "Every source must set which tags have to be present in order to load the given layer." - }, - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" - } - }, - "required": [ - "osmTags" - ] - }, - { - "type": "object", - "properties": { - "geoJson": { - "description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}", - "type": "string" - }, - "geoJsonZoomLevel": { - "description": "To load a tiled geojson layer, set the zoomlevel of the tiles", - "type": "number" - }, - "isOsmCache": { - "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache", - "type": "boolean" - }, - "mercatorCrs": { - "description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this", - "type": "boolean" - }, - "idKey": { - "description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'", - "type": "string" - } - }, - "required": [ - "geoJson" - ] - } - ] - } - ], - "description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up." - }, - { - "path": [ - "overrideAll", - "source", - "osmTags" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "source", - "osmTags" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "source", - "osmTags" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "source", - "maxCacheAge" - ], - "type": "number", - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache" - }, - { - "path": [ - "overrideAll", - "source", - "overpassScript" - ], - "type": "string", - "description": "If set, this custom overpass-script will be used instead of building one by using the OSM-tags.\nSpecifying OSM-tags is still obligatory and will still hide non-matching items and they will be used for the rest of the pipeline.\n_This should be really rare_.\n\nFor example, when you want to fetch all grass-areas in parks and which are marked as publicly accessible: \n```\n\"source\": {\n \"overpassScript\": \n \"way[\\\"leisure\\\"=\\\"park\\\"];node(w);is_in;area._[\\\"leisure\\\"=\\\"park\\\"];(way(area)[\\\"landuse\\\"=\\\"grass\\\"]; node(w); );\",\n \"osmTags\": \"access=yes\"\n}\n```" - }, - { - "path": [ - "overrideAll", - "source", - "osmTags" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "source", - "osmTags" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "source", - "osmTags" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "source", - "maxCacheAge" - ], - "type": "number", - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache" - }, - { - "path": [ - "overrideAll", - "source", - "geoJson" - ], - "type": "string", - "description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}" - }, - { - "path": [ - "overrideAll", - "source", - "geoJsonZoomLevel" - ], - "type": "number", - "description": "To load a tiled geojson layer, set the zoomlevel of the tiles" - }, - { - "path": [ - "overrideAll", - "source", - "isOsmCache" - ], - "type": "boolean", - "description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache" - }, - { - "path": [ - "overrideAll", - "source", - "mercatorCrs" - ], - "type": "boolean", - "description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this" - }, - { - "path": [ - "overrideAll", - "source", - "idKey" - ], - "type": "string", - "description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'" - }, - { - "path": [ - "overrideAll", - "calculatedTags" - ], - "type": "array", - "description": "A list of extra tags to calculate, specified as \"keyToAssignTo=javascript-expression\".\nThere are a few extra functions available. Refer to Docs/CalculatedTags.md for more information\nThe functions will be run in order, e.g.\n[\n \"_max_overlap_m2=Math.max(...feat.overlapsWith(\"someOtherLayer\").map(o => o.overlap))\n \"_max_overlap_ratio=Number(feat._max_overlap_m2)/feat.area\n]\n\nThe specified tags are evaluated lazily. E.g. if a calculated tag is only used in the popup (e.g. the number of nearby features),\nthe expensive calculation will only be performed then for that feature. This avoids clogging up the contributors PC when all features are loaded.\n\nIf a tag has to be evaluated strictly, use ':=' instead:\n\n[\n\"_some_key:=some_javascript_expression\"\n]" - }, - { - "path": [ - "overrideAll", - "doNotDownload" - ], - "type": "boolean", - "description": "If set, this layer will not query overpass; but it'll still match the tags above which are by chance returned by other layers.\nWorks well together with 'passAllFeatures', to add decoration" - }, - { - "path": [ - "overrideAll", - "isShown" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "If set, only features matching this extra tag will be shown.\nThis is useful to hide certain features from view.\n\nImportant: hiding features does not work dynamically, but is only calculated when the data is first renders.\nThis implies that it is not possible to hide a feature after a tagging change\n\nThe default value is 'yes'" - }, - { - "path": [ - "overrideAll", - "isShown" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "isShown", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "isShown", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "isShown" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "isShown", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "isShown", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "isShown", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "forceLoad" - ], - "type": "boolean", - "description": "Advanced option - might be set by the theme compiler\n\nIf true, this data will _always_ be loaded, even if the theme is disabled" - }, - { - "path": [ - "overrideAll", - "minzoom" - ], - "type": "number", - "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0" - }, - { - "path": [ - "overrideAll", - "shownByDefault" - ], - "type": "boolean", - "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)" - }, - { - "path": [ - "overrideAll", - "minzoomVisible" - ], - "type": "number", - "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible" - }, - { - "path": [ - "overrideAll", - "title" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The title shown in a popup for elements of this layer." - }, - { - "path": [ - "overrideAll", - "title" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "title", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "title", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "title", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "title", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "title", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "title", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "title", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "title", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "title", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "title", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "title", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "titleIcons" - ], - "typeHint": "icon[]", - "type": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ] - } - }, - { - "type": "array", - "items": [ - { - "type": "string", - "enum": [ - "defaults" - ] - } - ], - "minItems": 1, - "maxItems": 1 - } - ], - "description": "Small icons shown next to the title.\nIf not specified, the OsmLink and wikipedia links will be used by default.\nUse an empty array to hide them.\nNote that \"defaults\" will insert all the default titleIcons (which are added automatically)\n\nType: icon[]" - }, - { - "path": [ - "overrideAll", - "titleIcons" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "titleIcons", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "titleIcons", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering" - ], - "type": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/default_4" - }, - { - "$ref": "#/definitions/default_5" - }, - { - "$ref": "#/definitions/default" - } - ] - } - }, - { - "type": "null" - } - ], - "description": "Visualisation of the items on the map" - }, - { - "path": [ - "overrideAll", - "mapRendering" - ], - "type": "object", - "description": "The PointRenderingConfig gives all details onto how to render a single point of a feature.\n\nThis can be used if:\n\n- The feature is a point\n- To render something at the centroid of an area, or at the start, end or projected centroid of a way" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "location" - ], - "type": "array", - "description": "All the locations that this point should be rendered at.\nUsing `location: [\"point\", \"centroid\"] will always render centerpoint.\n'projected_centerpoint' will show an item on the line itself, near the middle of the line. (LineStrings only)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The icon for an element.\nNote that this also doubles as the icon for this layer (rendered with the overpass-tags) ánd the icon in the presets.\n\nThe result of the icon is rendered as follows:\nthe resulting string is interpreted as a _list_ of items, separated by \";\". The bottommost layer is the first layer.\nAs a result, on could use a generic pin, then overlay it with a specific icon.\nTo make things even more practical, one can use all SVG's from the folder \"assets/svg\" and _substitute the color_ in it.\nE.g. to draw a red pin, use \"pin:#f00\", to have a green circle with your icon on top, use `circle:#0f0;`\n\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "icon", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges" - ], - "type": "array", - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then" - ], - "typeHint": "icon", - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "Badge to show\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconBadges", - "then", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A string containing \"width,height\" or \"width,height,anchorpoint\" where anchorpoint is any of 'center', 'top', 'bottom', 'left', 'right', 'bottomleft','topright', ...\nDefault is '40,40,center'" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "iconSize", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The rotation of an icon, useful for e.g. directions.\nUsage: as if it were a css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "rotation", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A HTML-fragment that is shown below the icon, for example:\n
{name}
\n\nIf the icon is undefined, then the label is shown in the center of the feature.\nNote that, if the wayhandling hides the icon then no label is shown as well." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "label", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering" - ], - "type": "object", - "description": "The LineRenderingConfig gives all details onto how to render a single line of a feature.\n\nThis can be used if:\n\n- The feature is a line\n- The feature is an area" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The color for way-elements and SVG-elements.\nIf the value starts with \"--\", the style of the body element will be queried for the corresponding variable instead" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "color", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": [ - "string", - "number" - ] - } - ], - "description": "The stroke-width for way-elements" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "width", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A dasharray, e.g. \"5 6\"\nThe dasharray defines 'pixels of line, pixels of gap, pixels of line, pixels of gap',\nDefault value: \"\" (empty string == full line)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "dashArray", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The form at the end of a line" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "lineCap", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "enum": [ - "no", - "yes" - ], - "type": "string" - } - ], - "description": "Whether or not to fill polygons" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fill", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The color to fill a polygon with.\nIf undefined, this will be slightly more opaque version of the stroke line" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "fillColor", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "number" - } - ], - "description": "The number of pixels this line should be moved.\nUse a positive numbe to move to the right, a negative to move to the left (left/right as defined by the drawing direction of the line).\n\nIMPORTANT: MapComplete will already normalize 'key:both:property' and 'key:both' into the corresponding 'key:left' and 'key:right' tagging (same for 'sidewalk=left/right/both' which is rewritten to 'sidewalk:left' and 'sidewalk:right')\nThis simplifies programming. Refer to the CalculatedTags.md-documentation for more details" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "offset", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering" - ], - "type": "object", - "description": "Rewrites and multiplies the given renderings of type T.\n\nThis can be used for introducing many similar questions automatically,\nwhich also makes translations easier.\n\n(Note that the key does _not_ need to be wrapped in {}. \nHowever, we recommend to use them if the key is used in a translation, as missing keys will be picked up and warned for by the translation scripts)\n\nFor example:\n\n```\n{\n rewrite: {\n sourceString: [\"key\", \"a|b|c\"],\n into: [\n [\"X\", 0]\n [\"Y\", 1],\n [\"Z\", 2]\n ],\n renderings: [{\n \"key\":\"a|b|c\"\n }]\n }\n}\n```\nwill result in _three_ copies (as the values to rewrite into have three values, namely:\n\n[\n {\n # The first pair: key --> X, a|b|c --> 0\n \"X\": 0\n },\n {\n \"Y\": 1\n },\n {\n \"Z\": 2\n }\n\n]" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings" - ], - "type": "object", - "description": "The PointRenderingConfig gives all details onto how to render a single point of a feature.\n\nThis can be used if:\n\n- The feature is a point\n- To render something at the centroid of an area, or at the start, end or projected centroid of a way" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "location" - ], - "type": "array", - "description": "All the locations that this point should be rendered at.\nUsing `location: [\"point\", \"centroid\"] will always render centerpoint.\n'projected_centerpoint' will show an item on the line itself, near the middle of the line. (LineStrings only)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The icon for an element.\nNote that this also doubles as the icon for this layer (rendered with the overpass-tags) ánd the icon in the presets.\n\nThe result of the icon is rendered as follows:\nthe resulting string is interpreted as a _list_ of items, separated by \";\". The bottommost layer is the first layer.\nAs a result, on could use a generic pin, then overlay it with a specific icon.\nTo make things even more practical, one can use all SVG's from the folder \"assets/svg\" and _substitute the color_ in it.\nE.g. to draw a red pin, use \"pin:#f00\", to have a green circle with your icon on top, use `circle:#0f0;`\n\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges" - ], - "type": "array", - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then" - ], - "typeHint": "icon", - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "Badge to show\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A string containing \"width,height\" or \"width,height,anchorpoint\" where anchorpoint is any of 'center', 'top', 'bottom', 'left', 'right', 'bottomleft','topright', ...\nDefault is '40,40,center'" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The rotation of an icon, useful for e.g. directions.\nUsage: as if it were a css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A HTML-fragment that is shown below the icon, for example:\n
{name}
\n\nIf the icon is undefined, then the label is shown in the center of the feature.\nNote that, if the wayhandling hides the icon then no label is shown as well." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings" - ], - "type": "object", - "description": "The LineRenderingConfig gives all details onto how to render a single line of a feature.\n\nThis can be used if:\n\n- The feature is a line\n- The feature is an area" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The color for way-elements and SVG-elements.\nIf the value starts with \"--\", the style of the body element will be queried for the corresponding variable instead" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": [ - "string", - "number" - ] - } - ], - "description": "The stroke-width for way-elements" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A dasharray, e.g. \"5 6\"\nThe dasharray defines 'pixels of line, pixels of gap, pixels of line, pixels of gap',\nDefault value: \"\" (empty string == full line)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The form at the end of a line" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "enum": [ - "no", - "yes" - ], - "type": "string" - } - ], - "description": "Whether or not to fill polygons" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The color to fill a polygon with.\nIf undefined, this will be slightly more opaque version of the stroke line" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "number" - } - ], - "description": "The number of pixels this line should be moved.\nUse a positive numbe to move to the right, a negative to move to the left (left/right as defined by the drawing direction of the line).\n\nIMPORTANT: MapComplete will already normalize 'key:both:property' and 'key:both' into the corresponding 'key:left' and 'key:right' tagging (same for 'sidewalk=left/right/both' which is rewritten to 'sidewalk:left' and 'sidewalk:right')\nThis simplifies programming. Refer to the CalculatedTags.md-documentation for more details" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings" - ], - "type": "object", - "description": "The LineRenderingConfig gives all details onto how to render a single line of a feature.\n\nThis can be used if:\n\n- The feature is a line\n- The feature is an area" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The color for way-elements and SVG-elements.\nIf the value starts with \"--\", the style of the body element will be queried for the corresponding variable instead" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "color", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": [ - "string", - "number" - ] - } - ], - "description": "The stroke-width for way-elements" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "width", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A dasharray, e.g. \"5 6\"\nThe dasharray defines 'pixels of line, pixels of gap, pixels of line, pixels of gap',\nDefault value: \"\" (empty string == full line)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "dashArray", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The form at the end of a line" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "lineCap", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "enum": [ - "no", - "yes" - ], - "type": "string" - } - ], - "description": "Whether or not to fill polygons" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fill", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The color to fill a polygon with.\nIf undefined, this will be slightly more opaque version of the stroke line" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "fillColor", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "number" - } - ], - "description": "The number of pixels this line should be moved.\nUse a positive numbe to move to the right, a negative to move to the left (left/right as defined by the drawing direction of the line).\n\nIMPORTANT: MapComplete will already normalize 'key:both:property' and 'key:both' into the corresponding 'key:left' and 'key:right' tagging (same for 'sidewalk=left/right/both' which is rewritten to 'sidewalk:left' and 'sidewalk:right')\nThis simplifies programming. Refer to the CalculatedTags.md-documentation for more details" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "offset", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings" - ], - "type": "object", - "description": "The PointRenderingConfig gives all details onto how to render a single point of a feature.\n\nThis can be used if:\n\n- The feature is a point\n- To render something at the centroid of an area, or at the start, end or projected centroid of a way" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "location" - ], - "type": "array", - "description": "All the locations that this point should be rendered at.\nUsing `location: [\"point\", \"centroid\"] will always render centerpoint.\n'projected_centerpoint' will show an item on the line itself, near the middle of the line. (LineStrings only)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The icon for an element.\nNote that this also doubles as the icon for this layer (rendered with the overpass-tags) ánd the icon in the presets.\n\nThe result of the icon is rendered as follows:\nthe resulting string is interpreted as a _list_ of items, separated by \";\". The bottommost layer is the first layer.\nAs a result, on could use a generic pin, then overlay it with a specific icon.\nTo make things even more practical, one can use all SVG's from the folder \"assets/svg\" and _substitute the color_ in it.\nE.g. to draw a red pin, use \"pin:#f00\", to have a green circle with your icon on top, use `circle:#0f0;`\n\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "icon", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges" - ], - "type": "array", - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then" - ], - "typeHint": "icon", - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "Badge to show\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconBadges", - "then", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A string containing \"width,height\" or \"width,height,anchorpoint\" where anchorpoint is any of 'center', 'top', 'bottom', 'left', 'right', 'bottomleft','topright', ...\nDefault is '40,40,center'" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "iconSize", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "The rotation of an icon, useful for e.g. directions.\nUsage: as if it were a css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "rotation", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label" - ], - "type": [ - { - "$ref": "#/definitions/TagRenderingConfigJson" - }, - { - "type": "string" - } - ], - "description": "A HTML-fragment that is shown below the icon, for example:\n
{name}
\n\nIf the icon is undefined, then the label is shown in the center of the feature.\nNote that, if the wayhandling hides the icon then no label is shown as well." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label" - ], - "type": "object", - "description": "A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nFor an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "freeform", - "key" - ], - "type": "string", - "description": "If this key is present, then 'render' is used to display the value.\nIf this is undefined, the rendering is _always_ shown" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\nType: rendered" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An icon supporting this mapping; typically shown pretty small\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "mapRendering", - "renderings", - "label", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "A hint to mapcomplete on how to render this icon within the mapping.\nThis is translated to 'mapping-icon-', so defining your own in combination with a custom CSS is possible (but discouraged)" - }, - { - "path": [ - "overrideAll", - "passAllFeatures" - ], - "type": "boolean", - "description": "If set, this layer will pass all the features it receives onto the next layer.\nThis is ideal for decoration, e.g. directionss on cameras" - }, - { - "path": [ - "overrideAll", - "presets" - ], - "type": "array", - "description": "Presets for this layer.\nA preset shows up when clicking the map on a without data (or when right-clicking/long-pressing);\nit will prompt the user to add a new point.\n\nThe most important aspect are the tags, which define which tags the new point will have;\nThe title is shown in the dialog, along with the first sentence of the description.\n\nUpon confirmation, the full description is shown beneath the buttons - perfect to add pictures and examples.\n\nNote: the icon of the preset is determined automatically based on the tags and the icon above. Don't worry about that!\nNB: if no presets are defined, the popup to add new points doesn't show up at all" - }, - { - "path": [ - "overrideAll", - "presets", - "title" - ], - "description": "The title - shown on the 'add-new'-button.\n\nThis should include the article of the noun, e.g. 'a hydrant', 'a bicycle pump'.\nThis text will be inserted into `Add {category} here`, becoming `Add a hydrant here`.\n\nDo _not_ indicate 'new': 'add a new shop here' is incorrect, as the shop might have existed forever, it could just be unmapped!" - }, - { - "path": [ - "overrideAll", - "presets", - "tags" - ], - "type": "array", - "description": "The tags to add. It determines the icon too" - }, - { - "path": [ - "overrideAll", - "presets", - "description" - ], - "description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)" - }, - { - "path": [ - "overrideAll", - "presets", - "exampleImages" - ], - "typeHint": "image", - "type": "array", - "description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image" - }, - { - "path": [ - "overrideAll", - "presets", - "preciseInput" - ], - "type": [ - { - "type": "object", - "properties": { - "preferredBackground": { - "description": "The type of background picture", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "snapToLayer": { - "description": "If specified, these layers will be shown to and the new point will be snapped towards it", - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "maxSnapDistance": { - "description": "If specified, a new point will only be snapped if it is within this range.\nDistance in meter\n\nDefault: 10", - "type": "number" - } - }, - "required": [ - "preferredBackground" - ] - }, - { - "enum": [ - true - ], - "type": "boolean" - } - ], - "description": "If set, the user will prompted to confirm the location before actually adding the data.\nThis will be with a 'drag crosshair'-method.\n\nIf 'preferredBackgroundCategory' is set, the element will attempt to pick a background layer of that category." - }, - { - "path": [ - "overrideAll", - "presets", - "preciseInput", - "preferredBackground" - ], - "type": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ], - "description": "The type of background picture" - }, - { - "path": [ - "overrideAll", - "presets", - "preciseInput", - "snapToLayer" - ], - "type": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ], - "description": "If specified, these layers will be shown to and the new point will be snapped towards it" - }, - { - "path": [ - "overrideAll", - "presets", - "preciseInput", - "maxSnapDistance" - ], - "type": "number", - "description": "If specified, a new point will only be snapped if it is within this range.\nDistance in meter\n\nDefault: 10" - }, - { - "path": [ - "overrideAll", - "tagRenderings" - ], - "type": [ - { - "$ref": "#/definitions/QuestionableTagRenderingConfigJson" - }, - { - "type": "object", - "properties": { - "builtin": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "override": { - "$ref": "#/definitions/Partial" - } - }, - "required": [ - "builtin", - "override" - ] - }, - { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" - }, - { - "type": "string" - } - ], - "description": "All the tag renderings.\nA tag rendering is a block that either shows the known value or asks a question.\n\nRefer to the class `TagRenderingConfigJson` to see the possibilities.\n\nNote that we can also use a string here - where the string refers to a tag rendering defined in `assets/questions/questions.json`,\nwhere a few very general questions are defined e.g. website, phone number, ...\nFurthermore, _all_ the questions of another layer can be reused with `otherlayer.*`\nIf you need only a single of the tagRenderings, use `otherlayer.tagrenderingId`\nIf one or more questions have a 'group' or 'label' set, select all the entries with the corresponding group or label with `otherlayer.*group`\nRemark: if a tagRendering is 'lent' from another layer, the 'source'-tags are copied and added as condition.\nIf they are not wanted, remove them with an override\n\nA special value is 'questions', which indicates the location of the questions box. If not specified, it'll be appended to the bottom of the featureInfobox.\n\nAt last, one can define a group of renderings where parts of all strings will be replaced by multiple other strings.\nThis is mainly create questions for a 'left' and a 'right' side of the road.\nThese will be grouped and questions will be asked together" - }, - { - "path": [ - "overrideAll", - "tagRenderings" - ], - "type": "object", - "description": "A QuestionableTagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nIf the desired tags are missing and a question is defined, a question will be shown instead." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "question" - ], - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform", - "type" - ], - "type": "string", - "description": "The type of the text-field, e.g. 'string', 'nat', 'float', 'date',...\nSee Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform", - "placeholder" - ], - "description": "A (translated) text that is shown (as gray text) within the textfield" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform", - "helperArgs" - ], - "type": "array", - "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform", - "addExtraTags" - ], - "type": "array", - "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform", - "inline" - ], - "type": "boolean", - "description": "When set, influences the way a question is asked.\nInstead of showing a full-widht text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "freeform", - "default" - ], - "type": "string", - "description": "default value to enter if no previous tagging is present.\nNormally undefined (aka do not enter anything)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "multiAnswer" - ], - "type": "boolean", - "description": "If true, use checkboxes instead of radio buttons when asking the question" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "Shown if the 'if is fulfilled\nType: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "Size of the image", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An extra icon supporting the choice\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "Size of the image" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": [ - "string", - "boolean" - ] - } - ], - "description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "addExtraTags" - ], - "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "If the searchable selector is picked, mappings with this item will have priority and show up even if the others are hidden\nUse this sparingly" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "question" - ], - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform", - "type" - ], - "type": "string", - "description": "The type of the text-field, e.g. 'string', 'nat', 'float', 'date',...\nSee Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform", - "placeholder" - ], - "description": "A (translated) text that is shown (as gray text) within the textfield" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform", - "helperArgs" - ], - "type": "array", - "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform", - "addExtraTags" - ], - "type": "array", - "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform", - "inline" - ], - "type": "boolean", - "description": "When set, influences the way a question is asked.\nInstead of showing a full-widht text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "freeform", - "default" - ], - "type": "string", - "description": "default value to enter if no previous tagging is present.\nNormally undefined (aka do not enter anything)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "multiAnswer" - ], - "type": "boolean", - "description": "If true, use checkboxes instead of radio buttons when asking the question" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "Shown if the 'if is fulfilled\nType: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "Size of the image", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An extra icon supporting the choice\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "Size of the image" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": [ - "string", - "boolean" - ] - } - ], - "description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "addExtraTags" - ], - "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "If the searchable selector is picked, mappings with this item will have priority and show up even if the others are hidden\nUse this sparingly" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "override", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings" - ], - "type": "object", - "description": "Rewrites and multiplies the given renderings of type T.\n\nThis can be used for introducing many similar questions automatically,\nwhich also makes translations easier.\n\n(Note that the key does _not_ need to be wrapped in {}. \nHowever, we recommend to use them if the key is used in a translation, as missing keys will be picked up and warned for by the translation scripts)\n\nFor example:\n\n```\n{\n rewrite: {\n sourceString: [\"key\", \"a|b|c\"],\n into: [\n [\"X\", 0]\n [\"Y\", 1],\n [\"Z\", 2]\n ],\n renderings: [{\n \"key\":\"a|b|c\"\n }]\n }\n}\n```\nwill result in _three_ copies (as the values to rewrite into have three values, namely:\n\n[\n {\n # The first pair: key --> X, a|b|c --> 0\n \"X\": 0\n },\n {\n \"Y\": 1\n },\n {\n \"Z\": 2\n }\n\n]" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings" - ], - "type": "object", - "description": "A QuestionableTagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.\nIf the desired tags are missing and a question is defined, a question will be shown instead." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "question" - ], - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform", - "type" - ], - "type": "string", - "description": "The type of the text-field, e.g. 'string', 'nat', 'float', 'date',...\nSee Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform", - "placeholder" - ], - "description": "A (translated) text that is shown (as gray text) within the textfield" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform", - "helperArgs" - ], - "type": "array", - "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform", - "addExtraTags" - ], - "type": "array", - "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform", - "inline" - ], - "type": "boolean", - "description": "When set, influences the way a question is asked.\nInstead of showing a full-widht text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "freeform", - "default" - ], - "type": "string", - "description": "default value to enter if no previous tagging is present.\nNormally undefined (aka do not enter anything)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "multiAnswer" - ], - "type": "boolean", - "description": "If true, use checkboxes instead of radio buttons when asking the question" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "Shown if the 'if is fulfilled\nType: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "Size of the image", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An extra icon supporting the choice\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "Size of the image" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": [ - "string", - "boolean" - ] - } - ], - "description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "addExtraTags" - ], - "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "If the searchable selector is picked, mappings with this item will have priority and show up even if the others are hidden\nUse this sparingly" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "question" - ], - "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform" - ], - "type": "object", - "description": "Allow freeform text input from the user" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform", - "type" - ], - "type": "string", - "description": "The type of the text-field, e.g. 'string', 'nat', 'float', 'date',...\nSee Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform", - "placeholder" - ], - "description": "A (translated) text that is shown (as gray text) within the textfield" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform", - "helperArgs" - ], - "type": "array", - "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform", - "addExtraTags" - ], - "type": "array", - "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform", - "inline" - ], - "type": "boolean", - "description": "When set, influences the way a question is asked.\nInstead of showing a full-widht text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "freeform", - "default" - ], - "type": "string", - "description": "default value to enter if no previous tagging is present.\nNormally undefined (aka do not enter anything)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "multiAnswer" - ], - "type": "boolean", - "description": "If true, use checkboxes instead of radio buttons when asking the question" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings" - ], - "type": "array", - "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "then" - ], - "typeHint": "rendered", - "description": "Shown if the 'if is fulfilled\nType: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "icon" - ], - "typeHint": "icon", - "type": [ - { - "type": "object", - "properties": { - "path": { - "description": "The path to the icon\nType: icon", - "type": "string" - }, - "class": { - "description": "Size of the image", - "type": "string" - } - }, - "required": [ - "class", - "path" - ] - }, - { - "type": "string" - } - ], - "description": "An extra icon supporting the choice\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "icon", - "path" - ], - "typeHint": "icon", - "type": "string", - "description": "The path to the icon\nType: icon" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "icon", - "class" - ], - "type": "string", - "description": "Size of the image" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": [ - "string", - "boolean" - ] - } - ], - "description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "hideInAnswer", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "ifnot", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "addExtraTags" - ], - "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "If the searchable selector is picked, mappings with this item will have priority and show up even if the others are hidden\nUse this sparingly" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "mappings", - "priorityIf", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "id" - ], - "type": "string", - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "group" - ], - "type": "string", - "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "labels" - ], - "type": "array", - "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "render" - ], - "typeHint": "rendered", - "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "tagRenderings", - "renderings", - "override", - "condition", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "filter" - ], - "type": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/default_1" - } - }, - { - "type": "object", - "properties": { - "sameAs": { - "type": "string" - } - }, - "required": [ - "sameAs" - ] - } - ], - "description": "All the extra questions for filtering" - }, - { - "path": [ - "overrideAll", - "filter", - "id" - ], - "type": "string", - "description": "An id/name for this filter, used to set the URL parameters" - }, - { - "path": [ - "overrideAll", - "filter", - "options" - ], - "type": "array", - "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer." - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "osmTags", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "filter", - "options", - "fields", - "name" - ], - "type": "string", - "description": "If name is `search`, use \"_first_comment~.*{search}.*\" as osmTags" - }, - { - "path": [ - "overrideAll", - "deletion" - ], - "type": [ - { - "$ref": "#/definitions/DeleteConfigJson" - }, - { - "type": "boolean" - } - ], - "description": "This block defines under what circumstances the delete dialog is shown for objects of this layer.\nIf set, a dialog is shown to the user to (soft) delete the point.\nThe dialog is built to be user friendly and to prevent mistakes.\nIf deletion is not possible, the dialog will hide itself and show the reason of non-deletability instead.\n\nTo configure, the following values are possible:\n\n- false: never ever show the delete button\n- true: show the default delete button\n- undefined: use the mapcomplete default to show deletion or not. Currently, this is the same as 'false' but this will change in the future\n- or: a hash with options (see below)\n\n The delete dialog\n =================\n\n\n\n#### Hard deletion if enough experience\n\nA feature can only be deleted from OpenStreetMap by mapcomplete if:\n\n- It is a node\n- No ways or relations use the node\n- The logged-in user has enough experience OR the user is the only one to have edited the point previously\n- The logged-in user has no unread messages (or has a ton of experience)\n- The user did not select one of the 'non-delete-options' (see below)\n\nIn all other cases, a 'soft deletion' is used.\n\n#### Soft deletion\n\nA 'soft deletion' is when the point isn't deleted from OSM but retagged so that it'll won't how up in the mapcomplete theme anymore.\nThis makes it look like it was deleted, without doing damage. A fixme will be added to the point.\n\nNote that a soft deletion is _only_ possible if these tags are provided by the theme creator, as they'll be different for every theme\n\n#### No-delete options\n\nIn some cases, the contributor might want to delete something for the wrong reason (e.g. someone who wants to have a path removed \"because the path is on their private property\").\nHowever, the path exists in reality and should thus be on OSM - otherwise the next contributor will pass by and notice \"hey, there is a path missing here! Let me redraw it in OSM!)\n\nThe correct approach is to retag the feature in such a way that it is semantically correct *and* that it doesn't show up on the theme anymore.\nA no-delete option is offered as 'reason to delete it', but secretly retags." - }, - { - "path": [ - "overrideAll", - "deletion", - "extraDeleteReasons" - ], - "type": "array", - "description": "*\nBy default, three reasons to delete a point are shown:\n\n- The point does not exist anymore\n- The point was a testing point\n- THe point could not be found\n\nHowever, for some layers, there might be different or more specific reasons for deletion which can be user friendly to set, e.g.:\n\n- the shop has closed\n- the climbing route has been closed of for nature conservation reasons\n- ...\n\nThese reasons can be stated here and will be shown in the list of options the user can choose from" - }, - { - "path": [ - "overrideAll", - "deletion", - "extraDeleteReasons", - "explanation" - ], - "description": "The text that will be shown to the user - translatable" - }, - { - "path": [ - "overrideAll", - "deletion", - "extraDeleteReasons", - "changesetMessage" - ], - "type": "string", - "description": "The text that will be uploaded into the changeset or will be used in the fixme in case of a soft deletion\nShould be a few words, in english" - }, - { - "path": [ - "overrideAll", - "deletion", - "nonDeleteMappings" - ], - "type": "array", - "description": "In some cases, a (starting) contributor might wish to delete a feature even though deletion is not appropriate.\n(The most relevant case are small paths running over private property. These should be marked as 'private' instead of deleted, as the community might trace the path again from aerial imagery, gettting us back to the original situation).\n\nBy adding a 'nonDeleteMapping', an option can be added into the list which will retag the feature.\nIt is important that the feature will be retagged in such a way that it won't be picked up by the layer anymore!" - }, - { - "path": [ - "overrideAll", - "deletion", - "nonDeleteMappings", - "if" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "nonDeleteMappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "nonDeleteMappings", - "if" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "nonDeleteMappings", - "then" - ], - "description": "The human explanation for the options" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "$ref": "#/definitions/OrTagConfigJson", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "type": "string" - } - ], - "description": "In some cases, the contributor is not allowed to delete the current feature (e.g. because it isn't a point, the point is referenced by a relation or the user isn't experienced enough).\nTo still offer the user a 'delete'-option, the feature is retagged with these tags. This is a soft deletion, as the point isn't actually removed from OSM but rather marked as 'disused'\nIt is important that the feature will be retagged in such a way that it won't be picked up by the layer anymore!\n\nExample (note that \"amenity=\" erases the 'amenity'-key alltogether):\n```\n{\n \"and\": [\"disussed:amenity=public_bookcase\", \"amenity=\"]\n}\n```\n\nor (notice the use of the ':='-tag to copy the old value of 'shop=*' into 'disused:shop='):\n```\n{\n \"and\": [\"disused:shop:={shop}\", \"shop=\"]\n}\n```" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags", - "and" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags", - "and" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags", - "or" - ], - "type": [ - { - "$ref": "#/definitions/AndTagConfigJson" - }, - { - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", - "type": "object", - "properties": { - "or": { - "type": "array", - "items": { - "$ref": "#/definitions/TagConfigJson" - } - } - }, - "required": [ - "or" - ] - }, - { - "type": "string" - } - ], - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "softDeletionTags", - "or" - ], - "type": "object", - "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" - }, - { - "path": [ - "overrideAll", - "deletion", - "neededChangesets" - ], - "type": "number", - "description": "*\nBy default, the contributor needs 20 previous changesets to delete points edited by others.\nFor some small features (e.g. bicycle racks) this is too much and this requirement can be lowered or dropped, which can be done here." - }, - { - "path": [ - "overrideAll", - "allowMove" - ], - "type": [ - { - "$ref": "#/definitions/default_3" - }, - { - "type": "boolean" - } - ], - "description": "Indicates if a point can be moved and configures the modalities.\n\nA feature can be moved by MapComplete if:\n\n- It is a point\n- The point is _not_ part of a way or a a relation.\n\nOff by default. Can be enabled by setting this flag or by configuring." - }, - { - "path": [ - "overrideAll", - "allowMove", - "enableImproveAccuracy" - ], - "type": "boolean", - "description": "One default reason to move a point is to improve accuracy.\nSet to false to disable this reason" - }, - { - "path": [ - "overrideAll", - "allowMove", - "enableRelocation" - ], - "type": "boolean", - "description": "One default reason to move a point is because it has relocated\nSet to false to disable this reason" - }, - { - "path": [ - "overrideAll", - "allowSplit" - ], - "type": "boolean", - "description": "If set, a 'split this way' button is shown on objects rendered as LineStrings, e.g. highways.\n\nIf the way is part of a relation, MapComplete will attempt to update this relation as well" - }, - { - "path": [ - "overrideAll", - "units" - ], - "type": "array", - "description": "In some cases, a value is represented in a certain unit (such as meters for heigt/distance/..., km/h for speed, ...)\n\nSometimes, multiple denominations are possible (e.g. km/h vs mile/h; megawatt vs kilowatt vs gigawatt for power generators, ...)\n\nThis brings in some troubles, as there are multiple ways to write it (no denomitation, 'm' vs 'meter' 'metre', ...)\n\nNot only do we want to write consistent data to OSM, we also want to present this consistently to the user.\nThis is handled by defining units.\n\n# Rendering\n\nTo render a value with long (human) denomination, use {canonical(key)}\n\n# Usage\n\nFirst of all, you define which keys have units applied, for example:\n\n```\nunits: [\n appliesTo: [\"maxspeed\", \"maxspeed:hgv\", \"maxspeed:bus\"]\n applicableUnits: [\n ...\n ]\n]\n```\n\nApplicableUnits defines which is the canonical extension, how it is presented to the user, ...:\n\n```\napplicableUnits: [\n{\n canonicalDenomination: \"km/h\",\n alternativeDenomination: [\"km/u\", \"kmh\", \"kph\"]\n default: true,\n human: {\n en: \"kilometer/hour\",\n nl: \"kilometer/uur\"\n },\n humanShort: {\n en: \"km/h\",\n nl: \"km/u\"\n }\n},\n{\n canoncialDenomination: \"mph\",\n ... similar for miles an hour ...\n}\n]\n```\n\n\nIf this is defined, then every key which the denominations apply to (`maxspeed`, `maxspeed:hgv` and `maxspeed:bus`) will be rewritten at the metatagging stage:\nevery value will be parsed and the canonical extension will be added add presented to the other parts of the code.\n\nAlso, if a freeform text field is used, an extra dropdown with applicable denominations will be given" - }, - { - "path": [ - "overrideAll", - "units", - "appliesToKey" - ], - "type": "array", - "description": "Every key from this list will be normalized" - }, - { - "path": [ - "overrideAll", - "units", - "eraseInvalidValues" - ], - "type": "boolean", - "description": "If set, invalid values will be erased in the MC application (but not in OSM of course!)\nBe careful with setting this" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits" - ], - "type": "array", - "description": "The possible denominations" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "canonicalDenomination" - ], - "type": "string", - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "canonicalDenominationSingular" - ], - "type": "string", - "description": "The canonical denomination in the case that the unit is precisely '1'" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "alternativeDenomination" - ], - "type": "array", - "description": "A list of alternative values which can occur in the OSM database - used for parsing." - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "human" - ], - "description": "The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g.\n{\n \"en\": \"meter\",\n \"fr\": \"metre\"\n}" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "humanSingular" - ], - "description": "The value for humans in the dropdown. This should not use abbreviations and should be translated, e.g.\n{\n \"en\": \"minute\",\n \"nl\": \"minuut\"x²\n}" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "prefix" - ], - "type": "boolean", - "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field" - }, - { - "path": [ - "overrideAll", - "units", - "applicableUnits", - "default" - ], - "type": "boolean", - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit" - }, - { - "path": [ - "overrideAll", - "syncSelection" - ], - "type": "string", - "description": "If set, synchronizes whether or not this layer is enabled.\n\nno: Do not sync at all, always revert to default\nlocal: keep selection on local storage\ntheme-only: sync via OSM, but this layer will only be toggled in this theme\nglobal: all layers with this ID will be synced accross all themes" - }, { "path": [ "defaultBackgroundId" @@ -20168,6 +721,14 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "title", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -20526,6 +1087,14 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "titleIcons", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -20914,6 +1483,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -21342,6 +1920,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -21722,6 +2310,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -22083,6 +2680,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -22444,6 +3050,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "label", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -22813,6 +3428,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "color", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -23177,6 +3801,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "width", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -23538,6 +4171,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -23899,6 +4541,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -24264,6 +4915,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -24625,6 +5285,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -24986,6 +5655,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -25380,6 +6058,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "icon", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -25836,6 +6524,17 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "iconBadges", + "then", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -26240,6 +6939,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "iconSize", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -26625,6 +7334,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "rotation", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -27010,6 +7729,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "label", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -27404,6 +8133,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "color", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -27792,6 +8531,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "width", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -28177,6 +8926,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "dashArray", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -28562,6 +9321,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "lineCap", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -28951,6 +9720,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "fill", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -29336,6 +10115,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "fillColor", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -29721,6 +10510,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "offset", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -30115,6 +10914,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "color", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -30503,6 +11312,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "width", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -30888,6 +11707,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "dashArray", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -31273,6 +12102,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "lineCap", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -31662,6 +12501,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "fill", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -32047,6 +12896,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "fillColor", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -32432,6 +13291,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "offset", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -32837,6 +13706,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "icon", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -33293,6 +14172,17 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "iconBadges", + "then", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -33697,6 +14587,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "iconSize", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -34082,6 +14982,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "rotation", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -34467,6 +15377,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "mapRendering", + "renderings", + "label", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -34984,7 +15904,44 @@ ] }, { - "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "builtin": { + "type": "array", + "items": { + "type": "string" + } + }, + "override": { + "$ref": "#/definitions/Partial" + } + }, + "required": [ + "builtin", + "id", + "override" + ] + }, + { + "allOf": [ + { + "$ref": "#/definitions/default<(string|QuestionableTagRenderingConfigJson|{builtin:string;override:Partial;})[]>" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + } + ] }, { "type": "string" @@ -35504,7 +16461,7 @@ "addExtraTags" ], "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```" }, { "path": [ @@ -35674,6 +16631,14 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "tagRenderings", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -36354,7 +17319,7 @@ "addExtraTags" ], "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```" }, { "path": [ @@ -36535,6 +17500,894 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "render" + ], + "typeHint": "rendered", + "description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "$ref": "#/definitions/OrTagConfigJson", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "type": "string" + } + ], + "description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition", + "and" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition", + "and" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition", + "or" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "condition", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "question" + ], + "description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform" + ], + "type": "object", + "description": "Allow freeform text input from the user" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform", + "type" + ], + "type": "string", + "description": "The type of the text-field, e.g. 'string', 'nat', 'float', 'date',...\nSee Docs/SpecialInputElements.md and UI/Input/ValidatedTextField.ts for supported values" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform", + "placeholder" + ], + "description": "A (translated) text that is shown (as gray text) within the textfield" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform", + "helperArgs" + ], + "type": "array", + "description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform", + "addExtraTags" + ], + "type": "array", + "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform", + "inline" + ], + "type": "boolean", + "description": "When set, influences the way a question is asked.\nInstead of showing a full-widht text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout." + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "freeform", + "default" + ], + "type": "string", + "description": "default value to enter if no previous tagging is present.\nNormally undefined (aka do not enter anything)" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "multiAnswer" + ], + "type": "boolean", + "description": "If true, use checkboxes instead of radio buttons when asking the question" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings" + ], + "type": "array", + "description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "if" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "if" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "if" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "then" + ], + "typeHint": "rendered", + "description": "Shown if the 'if is fulfilled\nType: rendered" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "icon" + ], + "typeHint": "icon", + "type": [ + { + "type": "object", + "properties": { + "path": { + "description": "The path to the icon\nType: icon", + "type": "string" + }, + "class": { + "description": "Size of the image", + "type": "string" + } + }, + "required": [ + "class", + "path" + ] + }, + { + "type": "string" + } + ], + "description": "An extra icon supporting the choice\nType: icon" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "icon", + "path" + ], + "typeHint": "icon", + "type": "string", + "description": "The path to the icon\nType: icon" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "icon", + "class" + ], + "type": "string", + "description": "Size of the image" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "$ref": "#/definitions/OrTagConfigJson", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "type": [ + "string", + "boolean" + ] + } + ], + "description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n \n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer", + "and" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer", + "and" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer", + "or" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "hideInAnswer", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "$ref": "#/definitions/OrTagConfigJson", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "type": "string" + } + ], + "description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot", + "and" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot", + "and" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot", + "or" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "ifnot", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "addExtraTags" + ], + "type": "array", + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "$ref": "#/definitions/OrTagConfigJson", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "type": "string" + } + ], + "description": "If the searchable selector is picked, mappings with this item will have priority and show up even if the others are hidden\nUse this sparingly" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf", + "and" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf", + "and" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf", + "or" + ], + "type": [ + { + "$ref": "#/definitions/AndTagConfigJson" + }, + { + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation", + "type": "object", + "properties": { + "or": { + "type": "array", + "items": { + "$ref": "#/definitions/TagConfigJson" + } + } + }, + "required": [ + "or" + ] + }, + { + "type": "string" + } + ], + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, a single of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "mappings", + "priorityIf", + "or" + ], + "type": "object", + "description": "Chain many tags, to match, all of these should be true\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for documentation" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "id" + ], + "type": "string", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "group" + ], + "type": "string", + "description": "If 'group' is defined on many tagRenderings, these are grouped together when shown. The questions are grouped together as well.\nThe first tagRendering of a group will always be a sticky element." + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "labels" + ], + "type": "array", + "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" + }, + { + "path": [ + "layers", + "tagRenderings", + "override", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -37241,7 +19094,7 @@ "addExtraTags" ], "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```" }, { "path": [ @@ -37422,6 +19275,15 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -38145,7 +20007,7 @@ "addExtraTags" ], "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```" }, { "path": [ @@ -38337,6 +20199,16 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "override", + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "layers", @@ -39004,7 +20876,7 @@ "appliesToKey" ], "type": "array", - "description": "Every key from this list will be normalized" + "description": "Every key from this list will be normalized.\n\nTo render a united value properly, use" }, { "path": [ @@ -39024,6 +20896,46 @@ "type": "array", "description": "The possible denominations" }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "useIfNoUnitGiven" + ], + "type": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ], + "description": "If this evaluates to true and the value to interpret has _no_ unit given, assumes that this unit is meant.\nAlternatively, a list of country codes can be given where this acts as the default interpretation\n\nE.g., a denomination using \"meter\" would probably set this flag to \"true\";\na denomination for \"mp/h\" will use the condition \"_country=gb\" to indicate that it is the default in the UK.\n\nIf none of the units indicate that they are the default, the first denomination will be used instead" + }, + { + "path": [ + "layers", + "units", + "applicableUnits", + "useAsDefaultInput" + ], + "type": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "boolean" + } + ], + "description": "Use this value as default denomination when the user inputs a value (e.g. to force using 'centimeters' instead of 'meters' by default).\nIf unset for all values, this will use 'useIfNoUnitGiven'. If at least one denomination has this set, this will default to false" + }, { "path": [ "layers", @@ -39032,7 +20944,7 @@ "canonicalDenomination" ], "type": "string", - "description": "The canonical value which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used" + "description": "The canonical value for this denomination which will be added to the value in OSM.\ne.g. \"m\" for meters\nIf the user inputs '42', the canonical value will be added and it'll become '42m'.\n\nImportant: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.\nIn this case, an empty string should be used" }, { "path": [ @@ -39042,7 +20954,7 @@ "canonicalDenominationSingular" ], "type": "string", - "description": "The canonical denomination in the case that the unit is precisely '1'" + "description": "The canonical denomination in the case that the unit is precisely '1'.\nUsed for display purposes" }, { "path": [ @@ -39082,16 +20994,6 @@ "type": "boolean", "description": "If set, then the canonical value will be prefixed instead, e.g. for '€'\nNote that if all values use 'prefix', the dropdown might move to before the text field" }, - { - "path": [ - "layers", - "units", - "applicableUnits", - "default" - ], - "type": "boolean", - "description": "The default interpretation - only one can be set.\nIf none is set, the first unit will be considered the default interpretation of a value without a unit" - }, { "path": [ "layers", diff --git a/assets/questionabletagrenderingconfigmeta.json b/assets/questionabletagrenderingconfigmeta.json index 0d2bb4760..a96eac8f3 100644 --- a/assets/questionabletagrenderingconfigmeta.json +++ b/assets/questionabletagrenderingconfigmeta.json @@ -440,7 +440,7 @@ "addExtraTags" ], "type": "array", - "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer" + "description": "If chosen as answer, these tags will be applied as well onto the object.\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": \"not:crossing:marking=\"\n}\n```" }, { "path": [ @@ -588,6 +588,12 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "render" diff --git a/assets/tagrenderingconfigmeta.json b/assets/tagrenderingconfigmeta.json index dfe933ee0..784157409 100644 --- a/assets/tagrenderingconfigmeta.json +++ b/assets/tagrenderingconfigmeta.json @@ -25,6 +25,12 @@ "type": "array", "description": "A list of labels. These are strings that are used for various purposes, e.g. to filter them away" }, + { + "path": [ + "description" + ], + "description": "A human-readable text explaining what this tagRendering does" + }, { "path": [ "render"