diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md
index 6b2aef2505..31143a8f92 100644
--- a/Docs/BuiltinQuestions.md
+++ b/Docs/BuiltinQuestions.md
@@ -76,7 +76,7 @@ This is a special layer - data is not sourced from OpenStreetMap
- [seating](#seating)
- [maxstay](#maxstay)
- [name](#name)
-3. [Filters](#filters)
+ - [has_toilets](#has_toilets)
## Supported attributes
@@ -119,64 +119,66 @@ This is a special layer - data is not sourced from OpenStreetMap
|
[indoor](https://wiki.openstreetmap.org/wiki/Key:indoor) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dno) |
|
[maxstay](https://wiki.openstreetmap.org/wiki/Key:maxstay) | [pfloat](../SpecialInputElements.md#pfloat) | [unlimited](https://wiki.openstreetmap.org/wiki/Tag:maxstay%3Dunlimited) |
|
[name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | |
+|
[toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
## Featureview elements and TagRenderings
| id | question | labels | freeform key |
-----|-----|-----|----- |
-| [questions](#questions) | _{questions()}_ | | _Multiple choice only_ |
-| [images](#images) | _{image_carousel()}{image_upload()}_ | | _Multiple choice only_ |
-| [images_no_blur](#images_no_blur) | _{image_carousel()}{image_upload(,,,true)}_ | | _Multiple choice only_ |
-| [mapillary](#mapillary) | _{mapillary_link()}_ | | _Multiple choice only_ |
-| [export_as_gpx](#export_as_gpx) | _{export_as_gpx()}_ | | _Multiple choice only_ |
-| [export_as_geojson](#export_as_geojson) | _{export_as_geojson()}_ | | _Multiple choice only_ |
-| [wikipedia](#wikipedia) | What is the corresponding Wikidata entity?
_{wikipedia():max-height:25rem}_
2 options | | *[wikidata](https://wiki.osm.org/wiki/Key:wikidata)* ([wikidata](../SpecialInputElements.md#wikidata)) |
-| [reviews](#reviews) | _{create_review()}{list_reviews()}_ | | _Multiple choice only_ |
-| [phone](#phone) | What is the phone number of ?
_{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}_
1 options | contact | *[phone](https://wiki.osm.org/wiki/Key:phone)* ([phone](../SpecialInputElements.md#phone)) |
-| [mastodon](#mastodon) | What is the Mastodon-handle of ?
_{fediverse_link(contact:mastodon)}_ | | *[contact:mastodon](https://wiki.osm.org/wiki/Key:contact:mastodon)* ([fediverse](../SpecialInputElements.md#fediverse)) |
-| [facebook](#facebook) | What is the facebook page of of ?
_{link(Facebook page,&LBRACEcontact:facebook&RBRACE,,,,)}
Facebook is known to harm mental health, manipulate public opinion and cause hate. Try to use healthier alternatives
_ | | *[contact:facebook](https://wiki.osm.org/wiki/Key:contact:facebook)* ([url](../SpecialInputElements.md#url)) |
-| [osmlink](#osmlink) | _
_
1 options | | _Multiple choice only_ |
-| [email](#email) | What is the email address of ?
_{email}_
2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
-| [website](#website) | What is the website of ?
_{website}_
1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
-| [wheelchair-access](#wheelchair-access) | Is this place accessible with a wheelchair?
4 options | | _Multiple choice only_ |
-| [dog-access](#dog-access) | Are dogs allowed in this business?
5 options | | _Multiple choice only_ |
-| [description](#description) | Is there still some relevant info that the previous questions did not cover? Feel free to add it here.
_{description}_ | | *[description](https://wiki.osm.org/wiki/Key:description)* ([text](../SpecialInputElements.md#text)) |
-| [opening_hours](#opening_hours) | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
1 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
-| [opening_hours_24_7](#opening_hours_24_7)
_(Original in [questions](./BuiltinQuestions.md#opening_hours))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
2 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
-| [opening_hours_24_7_default](#opening_hours_24_7_default)
_(Original in [questions](./BuiltinQuestions.md#opening_hours_24_7))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
2 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
-| [opening_hours_by_appointment](#opening_hours_by_appointment)
_(Original in [questions](./BuiltinQuestions.md#opening_hours))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
3 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
-| [service:electricity](#service:electricity) | Does this amenity have electrical outlets, available to customers when they are inside?
4 options | | _Multiple choice only_ |
-| [payment-options](#payment-options) | Which methods of payment are accepted here?
3 options | | _Multiple choice only_ |
-| [payment-options-split](#payment-options-split)
_(Original in [questions](./BuiltinQuestions.md#payment-options))_ | Which methods of payment are accepted here?
7 options | | _Multiple choice only_ |
-| [payment-options-advanced](#payment-options-advanced)
_(Original in [questions](./BuiltinQuestions.md#payment-options))_ | Which methods of payment are accepted here?
5 options | | _Multiple choice only_ |
-| [denominations-coins](#denominations-coins) | What coins can you use to pay here?
15 options | | _Multiple choice only_ |
-| [denominations-notes](#denominations-notes) | what notes can you use to pay here?
13 options | | _Multiple choice only_ |
-| [all_tags](#all_tags) | _{all_tags()}_ | | _Multiple choice only_ |
-| [multilevels](#multilevels)
_(Original in [questions](./BuiltinQuestions.md#single_level))_ | What levels does this elevator go to?
_This elevator goes to floors {level}_
5 options | | *[level](https://wiki.osm.org/wiki/Key:level)* ([string](../SpecialInputElements.md#string)) |
-| [repeated](#repeated) | _Multiple, identical objects can be found on floors {repeat_on}._ | level | _Multiple choice only_ |
-| [single_level](#single_level) | On what level is this feature located?
_Located on the {level}th floor_
5 options | level | *[level](https://wiki.osm.org/wiki/Key:level)* ([float](../SpecialInputElements.md#float)) |
-| [smoking](#smoking) | Is smoking allowed at ?
3 options | | _Multiple choice only_ |
-| [induction-loop](#induction-loop) | Does this place have an audio induction loop for people with reduced hearing?
2 options | | _Multiple choice only_ |
-| [internet](#internet) | Does this place offer internet access?
6 options | internet-all | _Multiple choice only_ |
-| [internet-fee](#internet-fee) | Is there a fee for internet access?
3 options | internet-all | _Multiple choice only_ |
-| [internet-ssid](#internet-ssid) | What is the network name for the wireless internet access?
_The network name is {internet_access:ssid}_
1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
-| [luminous_or_lit](#luminous_or_lit) | Is this object lit or does it emit light?
4 options | | _Multiple choice only_ |
-| [survey_date](#survey_date) | When was this object last surveyed?
_This object was last surveyed on {survey:date}_
1 options | | *[survey:date](https://wiki.osm.org/wiki/Key:survey:date)* ([date](../SpecialInputElements.md#date)) |
-| [check_date](#check_date) | When was this object last checked?
_This object was last checked on {check_date}_
1 options | | *[check_date](https://wiki.osm.org/wiki/Key:check_date)* ([date](../SpecialInputElements.md#date)) |
-| [sugar_free](#sugar_free) | Does this shop have a sugar free offering?
4 options | diets | _Multiple choice only_ |
-| [lactose_free](#lactose_free) | Does have a lactose-free offering?
4 options | diets | _Multiple choice only_ |
-| [gluten_free](#gluten_free) | Does this shop have a gluten free offering?
4 options | diets | _Multiple choice only_ |
-| [vegan](#vegan) | Does this place offer a vegan option?
4 options | diets | _Multiple choice only_ |
-| [lod](#lod) | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
-| [split_button](#split_button) | _{split_button()}_ | | _Multiple choice only_ |
-| [seasonal](#seasonal) | Is available all around the year?
3 options | | _Multiple choice only_ |
-| [shower](#shower) | Does this facility offer showers?
4 options | | _Multiple choice only_ |
-| [preset_description](#preset_description) | _{preset_description()}_ | | _Multiple choice only_ |
-| [brand](#brand) | Is part of a bigger brand?
_Part of {brand}_
1 options | | *[brand](https://wiki.osm.org/wiki/Key:brand)* ([string](../SpecialInputElements.md#string)) |
-| [indoor](#indoor) | Is this object located indoors?
2 options | | _Multiple choice only_ |
-| [seating](#seating) | What kind of seating does have?
2 options | | _Multiple choice only_ |
-| [maxstay](#maxstay) | What is the maximum amount of time one is allowed to stay here?
_One can stay at most {canonical(maxstay)}_
1 options | | *[maxstay](https://wiki.osm.org/wiki/Key:maxstay)* ([pfloat](../SpecialInputElements.md#pfloat)) |
-| [name](#name) | What is the name of this place?
_{name}_ | | *[name](https://wiki.osm.org/wiki/Key:name)* ([string](../SpecialInputElements.md#string)) |
+| [questions](#questions)
_(Original in [questions](./BuiltinQuestions.md#questions))_ | _{questions()}_ | | _Multiple choice only_ |
+| [images](#images)
_(Original in [questions](./BuiltinQuestions.md#images))_ | _{image_carousel()}{image_upload()}_ | | _Multiple choice only_ |
+| [images_no_blur](#images_no_blur)
_(Original in [questions](./BuiltinQuestions.md#images_no_blur))_ | _{image_carousel()}{image_upload(,,,true)}_ | | _Multiple choice only_ |
+| [mapillary](#mapillary)
_(Original in [questions](./BuiltinQuestions.md#mapillary))_ | _{mapillary_link()}_ | | _Multiple choice only_ |
+| [export_as_gpx](#export_as_gpx)
_(Original in [questions](./BuiltinQuestions.md#export_as_gpx))_ | _{export_as_gpx()}_ | | _Multiple choice only_ |
+| [export_as_geojson](#export_as_geojson)
_(Original in [questions](./BuiltinQuestions.md#export_as_geojson))_ | _{export_as_geojson()}_ | | _Multiple choice only_ |
+| [wikipedia](#wikipedia)
_(Original in [questions](./BuiltinQuestions.md#wikipedia))_ | What is the corresponding Wikidata entity?
_{wikipedia():max-height:25rem}_
2 options | | *[wikidata](https://wiki.osm.org/wiki/Key:wikidata)* ([wikidata](../SpecialInputElements.md#wikidata)) |
+| [reviews](#reviews)
_(Original in [questions](./BuiltinQuestions.md#reviews))_ | _{create_review()}{list_reviews()}_ | | _Multiple choice only_ |
+| [phone](#phone)
_(Original in [questions](./BuiltinQuestions.md#phone))_ | What is the phone number of ?
_{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}_
1 options | contact | *[phone](https://wiki.osm.org/wiki/Key:phone)* ([phone](../SpecialInputElements.md#phone)) |
+| [mastodon](#mastodon)
_(Original in [questions](./BuiltinQuestions.md#mastodon))_ | What is the Mastodon-handle of ?
_{fediverse_link(contact:mastodon)}_ | | *[contact:mastodon](https://wiki.osm.org/wiki/Key:contact:mastodon)* ([fediverse](../SpecialInputElements.md#fediverse)) |
+| [facebook](#facebook)
_(Original in [questions](./BuiltinQuestions.md#facebook))_ | What is the facebook page of of ?
_{link(Facebook page,&LBRACEcontact:facebook&RBRACE,,,,)}Facebook is known to harm mental health, manipulate public opinion and cause hate. Try to use healthier alternatives
_ | | *[contact:facebook](https://wiki.osm.org/wiki/Key:contact:facebook)* ([url](../SpecialInputElements.md#url)) |
+| [osmlink](#osmlink)
_(Original in [questions](./BuiltinQuestions.md#osmlink))_ | _
_
1 options | | _Multiple choice only_ |
+| [email](#email)
_(Original in [questions](./BuiltinQuestions.md#email))_ | What is the email address of ?
_{email}_
2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
+| [website](#website)
_(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ?
_{website}_
1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
+| [wheelchair-access](#wheelchair-access)
_(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair?
4 options | | _Multiple choice only_ |
+| [dog-access](#dog-access)
_(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business?
5 options | | _Multiple choice only_ |
+| [description](#description)
_(Original in [questions](./BuiltinQuestions.md#description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here.
_{description}_ | | *[description](https://wiki.osm.org/wiki/Key:description)* ([text](../SpecialInputElements.md#text)) |
+| [opening_hours](#opening_hours)
_(Original in [questions](./BuiltinQuestions.md#opening_hours))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
1 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
+| [opening_hours_24_7](#opening_hours_24_7)
_(Original in [questions](./BuiltinQuestions.md#opening_hours_24_7))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
2 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
+| [opening_hours_24_7_default](#opening_hours_24_7_default)
_(Original in [questions](./BuiltinQuestions.md#opening_hours_24_7_default))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
2 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
+| [opening_hours_by_appointment](#opening_hours_by_appointment)
_(Original in [questions](./BuiltinQuestions.md#opening_hours_by_appointment))_ | What are the opening hours of ?
_Opening hours
{opening_hours_table(opening_hours)}_
3 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
+| [service:electricity](#service:electricity)
_(Original in [questions](./BuiltinQuestions.md#service:electricity))_ | Does this amenity have electrical outlets, available to customers when they are inside?
4 options | | _Multiple choice only_ |
+| [payment-options](#payment-options)
_(Original in [questions](./BuiltinQuestions.md#payment-options))_ | Which methods of payment are accepted here?
3 options | | _Multiple choice only_ |
+| [payment-options-split](#payment-options-split)
_(Original in [questions](./BuiltinQuestions.md#payment-options-split))_ | Which methods of payment are accepted here?
7 options | | _Multiple choice only_ |
+| [payment-options-advanced](#payment-options-advanced)
_(Original in [questions](./BuiltinQuestions.md#payment-options-advanced))_ | Which methods of payment are accepted here?
5 options | | _Multiple choice only_ |
+| [denominations-coins](#denominations-coins)
_(Original in [questions](./BuiltinQuestions.md#denominations-coins))_ | What coins can you use to pay here?
15 options | | _Multiple choice only_ |
+| [denominations-notes](#denominations-notes)
_(Original in [questions](./BuiltinQuestions.md#denominations-notes))_ | what notes can you use to pay here?
13 options | | _Multiple choice only_ |
+| [all_tags](#all_tags)
_(Original in [questions](./BuiltinQuestions.md#all_tags))_ | _{all_tags()}_ | | _Multiple choice only_ |
+| [multilevels](#multilevels)
_(Original in [questions](./BuiltinQuestions.md#multilevels))_ | What levels does this elevator go to?
_This elevator goes to floors {level}_
5 options | | *[level](https://wiki.osm.org/wiki/Key:level)* ([string](../SpecialInputElements.md#string)) |
+| [repeated](#repeated)
_(Original in [questions](./BuiltinQuestions.md#repeated))_ | _Multiple, identical objects can be found on floors {repeat_on}._ | level | _Multiple choice only_ |
+| [single_level](#single_level)
_(Original in [questions](./BuiltinQuestions.md#single_level))_ | On what level is this feature located?
_Located on the {level}th floor_
5 options | level | *[level](https://wiki.osm.org/wiki/Key:level)* ([float](../SpecialInputElements.md#float)) |
+| [smoking](#smoking)
_(Original in [questions](./BuiltinQuestions.md#smoking))_ | Is smoking allowed at ?
3 options | | _Multiple choice only_ |
+| [induction-loop](#induction-loop)
_(Original in [questions](./BuiltinQuestions.md#induction-loop))_ | Does this place have an audio induction loop for people with reduced hearing?
2 options | | _Multiple choice only_ |
+| [internet](#internet)
_(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access?
6 options | internet-all | _Multiple choice only_ |
+| [internet-fee](#internet-fee)
_(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access?
3 options | internet-all | _Multiple choice only_ |
+| [internet-ssid](#internet-ssid)
_(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access?
_The network name is {internet_access:ssid}_
1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
+| [luminous_or_lit](#luminous_or_lit)
_(Original in [questions](./BuiltinQuestions.md#luminous_or_lit))_ | Is this object lit or does it emit light?
4 options | | _Multiple choice only_ |
+| [survey_date](#survey_date)
_(Original in [questions](./BuiltinQuestions.md#survey_date))_ | When was this object last surveyed?
_This object was last surveyed on {survey:date}_
1 options | | *[survey:date](https://wiki.osm.org/wiki/Key:survey:date)* ([date](../SpecialInputElements.md#date)) |
+| [check_date](#check_date)
_(Original in [questions](./BuiltinQuestions.md#check_date))_ | When was this object last checked?
_This object was last checked on {check_date}_
1 options | | *[check_date](https://wiki.osm.org/wiki/Key:check_date)* ([date](../SpecialInputElements.md#date)) |
+| [sugar_free](#sugar_free)
_(Original in [questions](./BuiltinQuestions.md#sugar_free))_ | Does this shop have a sugar free offering?
4 options | diets | _Multiple choice only_ |
+| [lactose_free](#lactose_free)
_(Original in [questions](./BuiltinQuestions.md#lactose_free))_ | Does have a lactose-free offering?
4 options | diets | _Multiple choice only_ |
+| [gluten_free](#gluten_free)
_(Original in [questions](./BuiltinQuestions.md#gluten_free))_ | Does this shop have a gluten free offering?
4 options | diets | _Multiple choice only_ |
+| [vegan](#vegan)
_(Original in [questions](./BuiltinQuestions.md#vegan))_ | Does this place offer a vegan option?
4 options | diets | _Multiple choice only_ |
+| [lod](#lod)
_(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
+| [split_button](#split_button)
_(Original in [questions](./BuiltinQuestions.md#split_button))_ | _{split_button()}_ | | _Multiple choice only_ |
+| [seasonal](#seasonal)
_(Original in [questions](./BuiltinQuestions.md#seasonal))_ | Is available all around the year?
3 options | | _Multiple choice only_ |
+| [shower](#shower)
_(Original in [questions](./BuiltinQuestions.md#shower))_ | Does this facility offer showers?
4 options | | _Multiple choice only_ |
+| [preset_description](#preset_description)
_(Original in [questions](./BuiltinQuestions.md#preset_description))_ | _{preset_description()}_ | | _Multiple choice only_ |
+| [brand](#brand)
_(Original in [questions](./BuiltinQuestions.md#brand))_ | Is part of a bigger brand?
_Part of {brand}_
1 options | | *[brand](https://wiki.osm.org/wiki/Key:brand)* ([string](../SpecialInputElements.md#string)) |
+| [indoor](#indoor)
_(Original in [questions](./BuiltinQuestions.md#indoor))_ | Is this object located indoors?
2 options | | _Multiple choice only_ |
+| [seating](#seating)
_(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?
2 options | | _Multiple choice only_ |
+| [maxstay](#maxstay)
_(Original in [questions](./BuiltinQuestions.md#maxstay))_ | What is the maximum amount of time one is allowed to stay here?
_One can stay at most {canonical(maxstay)}_
1 options | | *[maxstay](https://wiki.osm.org/wiki/Key:maxstay)* ([pfloat](../SpecialInputElements.md#pfloat)) |
+| [name](#name)
_(Original in [questions](./BuiltinQuestions.md#name))_ | What is the name of this place?
_{name}_ | | *[name](https://wiki.osm.org/wiki/Key:name)* ([string](../SpecialInputElements.md#string)) |
+| [has_toilets](#has_toilets)
_(Original in [questions](./BuiltinQuestions.md#has_toilets))_ | Has toilets?
3 options | | _Multiple choice only_ |
### questions
Show the questions block at this location
@@ -213,7 +215,7 @@ Shows a wikipedia box with the corresponding wikipedia article; the wikidata-ite
The question is `What is the corresponding Wikidata entity?`
*{wikipedia():max-height:25rem}* is shown if `wikidata` is set
- - *No Wikipedia page has been linked yet* is shown if with wikipedia~.+. _This option cannot be chosen as answer_
+ - *{wikipedia():max-height:25rem}* is shown if with wikipedia~.+. _This option cannot be chosen as answer_
- *No Wikipedia page has been linked yet* is shown if with wikidata=. _This option cannot be chosen as answer_
### reviews
@@ -636,41 +638,13 @@ The question is `What is the maximum amount of time one is allowed to stay here?
The question is `What is the name of this place?`
*{name}* is shown if `name` is set
-## Filters
+### has_toilets
-| id | question | osmTags |
------|-----|----- |
-| dogs.0 | *No preference towards dogs* (default) | |
-| dogs.1 | Dogs allowed | dog=unleashed | dog=yes |
-| dogs.2 | No dogs allowed | dog=no |
+The question is `Has {title()} toilets?`
-| id | question | osmTags |
------|-----|----- |
-| open_now.0 | Now open | _isOpen=yes |
-
-| id | question | osmTags |
------|-----|----- |
-| accepts_cash.0 | Accepts cash | payment:cash=yes |
-
-| id | question | osmTags |
------|-----|----- |
-| accepts_cards.0 | Accepts payment cards | payment:cards=yes |
-
-| id | question | osmTags |
------|-----|----- |
-| has_internet.0 | Offers internet | internet_access=wlan | internet_access=yes | internet_access=wired |
-
-| id | question | osmTags |
------|-----|----- |
-| sugar_free.0 | Has a sugar-free offering | diet:sugar_free=yes | diet:sugar_free=only | diet:sugar_free=limited |
-
-| id | question | osmTags |
------|-----|----- |
-| lactose_free.0 | Has a lactose free offering | diet:lactose_free=yes | diet:lactose_free=only | diet:lactose_free=limited |
-
-| id | question | osmTags |
------|-----|----- |
-| gluten_free.0 | Has a gluten free offering | diet:gluten_free=yes | diet:gluten_free=only | diet:gluten_free=limited |
+ - *Has toilets* is shown if with toilets=yes
+ - *Has no toilets* is shown if with toilets=no
+ - *The toilets are marked separately on the map* is shown if with toilets=separate
diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md
index 907d7af13f..53bd163d02 100644
--- a/Docs/URL_Parameters.md
+++ b/Docs/URL_Parameters.md
@@ -419,7 +419,7 @@ The default value is _false_
The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics'
-This documentation is defined in the source code at [generateDocs.ts](ervdvn/git2/MapComplete/scripts/generateDocs.ts#L451)
+This documentation is defined in the source code at [generateDocs.ts](ervdvn/git2/MapComplete/scripts/generateDocs.ts#L452)
The default value is _map_
diff --git a/scripts/generateDocs.ts b/scripts/generateDocs.ts
index b7cf6b0959..6a09cb28ac 100644
--- a/scripts/generateDocs.ts
+++ b/scripts/generateDocs.ts
@@ -11,7 +11,7 @@ import themeOverview from "../src/assets/generated/theme_overview.json"
import ThemeConfig from "../src/Models/ThemeConfig/ThemeConfig"
import bookcases from "../public/assets/generated/themes/bookcases.json"
import fakedom from "fake-dom"
-import unit from "../src/assets/generated/layers/unit.json"
+import unit from "../public/assets/generated/layers/unit.json"
import Hotkeys from "../src/UI/Base/Hotkeys"
import { QueryParameters } from "../src/Logic/Web/QueryParameters"
import Constants from "../src/Models/Constants"
@@ -20,7 +20,7 @@ import DependencyCalculator from "../src/Models/ThemeConfig/DependencyCalculator
import { AllSharedLayers } from "../src/Customizations/AllSharedLayers"
import ThemeViewState from "../src/Models/ThemeViewState"
import Validators from "../src/UI/InputElement/Validators"
-import questions from "../src/assets/generated/layers/questions.json"
+import questions from "../public/assets/generated/layers/questions.json"
import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson"
import { Utils } from "../src/Utils"
import { TagUtils } from "../src/Logic/Tags/TagUtils"
@@ -32,6 +32,7 @@ import { parse as parse_html } from "node-html-parser"
import { AvailableRasterLayers } from "../src/Models/RasterLayers"
import { ImmutableStore } from "../src/Logic/UIEventSource"
import * as unitUsage from "../Docs/Schemas/UnitConfigJson.schema.json"
+import { ThemeConfigJson } from "../src/Models/ThemeConfig/Json/ThemeConfigJson"
/**
* Converts a markdown-file into a .json file, which a walkthrough/slideshow element can use
@@ -261,14 +262,17 @@ export class GenerateDocs extends Script {
}
private generateHotkeyDocs() {
- new ThemeViewState(new ThemeConfig(bookcases), new ImmutableStore(new Set()))
+ new ThemeViewState(
+ new ThemeConfig((bookcases)),
+ new ImmutableStore(new Set())
+ )
this.WriteMarkdownFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), [
"src/UI/Base/Hotkeys.ts",
])
}
private generateBuiltinUnits() {
- const layer = new LayerConfig(unit, "units", true)
+ const layer = new LayerConfig((unit), "units", true)
const els: string[] = [
"# Units",
"## How to use",
@@ -462,7 +466,11 @@ export class GenerateDocs extends Script {
}
private generateBuiltinQuestions() {
- const qLayer = new LayerConfig(questions, "questions.json", true)
+ const qLayer = new LayerConfig(
+ (questions),
+ "questions.json",
+ true
+ )
this.WriteMarkdownFile(
"./Docs/BuiltinQuestions.md",
qLayer.generateDocumentation([], new Map(), []),
diff --git a/src/Logic/GeoOperations.ts b/src/Logic/GeoOperations.ts
index 5de6d53c4f..d31481c637 100644
--- a/src/Logic/GeoOperations.ts
+++ b/src/Logic/GeoOperations.ts
@@ -14,7 +14,6 @@ import {
} from "geojson"
import { Tiles } from "../Models/TileRange"
import { Utils } from "../Utils"
-
;("use strict")
export class GeoOperations {
diff --git a/src/Models/ThemeViewState/WithSpecialLayers.ts b/src/Models/ThemeViewState/WithSpecialLayers.ts
index 52546d5cf6..1aeccfb6ef 100644
--- a/src/Models/ThemeViewState/WithSpecialLayers.ts
+++ b/src/Models/ThemeViewState/WithSpecialLayers.ts
@@ -18,7 +18,7 @@ import { Store, UIEventSource } from "../../Logic/UIEventSource"
import NearbyFeatureSource from "../../Logic/FeatureSource/Sources/NearbyFeatureSource"
import {
SummaryTileSource,
- SummaryTileSourceRewriter
+ SummaryTileSourceRewriter,
} from "../../Logic/FeatureSource/TiledFeatureSource/SummaryTileSource"
import { ShowDataLayerOptions } from "../../UI/Map/ShowDataLayerOptions"
@@ -121,7 +121,7 @@ export class WithSpecialLayers extends WithChangesState {
new ShowDataLayer(this.map, {
features: source,
- layer: new LayerConfig(summaryLayer, "summaryLayer"),
+ layer: new LayerConfig((summaryLayer), "summaryLayer"),
// doShowLayer: this.mapProperties.zoom.map((z) => z < maxzoom),
selectedElement: this.selectedElement,
})
@@ -147,7 +147,7 @@ export class WithSpecialLayers extends WithChangesState {
private drawLastClick() {
const source = this.lastClickObject
const lastClickLayerConfig = new LayerConfig(
- last_click_layerconfig,
+ (last_click_layerconfig),
"last_click"
)
const lastClickFiltered =
@@ -185,7 +185,9 @@ export class WithSpecialLayers extends WithChangesState {
const src = new StaticFeatureSource(
this.selectedElement.map((f) => (f === undefined ? [] : [f]))
)
- ShowDataLayer.showMultipleLayers(this.map, src, this.theme.layers, { prefix: "selected_element_" })
+ ShowDataLayer.showMultipleLayers(this.map, src, this.theme.layers, {
+ prefix: "selected_element_",
+ })
}
private drawSpecialLayers() {
diff --git a/src/UI/Map/ShowDataLayer.ts b/src/UI/Map/ShowDataLayer.ts
index 1fcbd20575..34fdc5b4d1 100644
--- a/src/UI/Map/ShowDataLayer.ts
+++ b/src/UI/Map/ShowDataLayer.ts
@@ -551,7 +551,7 @@ export default class ShowDataLayer {
options: ShowDataLayerOptions & {
layer: LayerConfig
drawMarkers?: true | boolean
- drawLines?: true | boolean,
+ drawLines?: true | boolean
}
) {
this._options = options
@@ -627,7 +627,15 @@ export default class ShowDataLayer {
}
private initDrawFeatures(map: MlMap) {
- const { features, doShowLayer, fetchStore, selectedElement, layer, drawLines, drawMarkers } = this._options
+ const {
+ features,
+ doShowLayer,
+ fetchStore,
+ selectedElement,
+ layer,
+ drawLines,
+ drawMarkers,
+ } = this._options
let onClick = this._options.onClick
if (!onClick && selectedElement && layer.title !== undefined) {
onClick = (feature: Feature) => {
@@ -640,7 +648,11 @@ export default class ShowDataLayer {
const l = new LineRenderingLayer(
map,
features,
- "mapcomplete_" + (this._options.prefix ?? "") + layer.id + "_linerendering_" + i,
+ "mapcomplete_" +
+ (this._options.prefix ?? "") +
+ layer.id +
+ "_linerendering_" +
+ i,
lineRenderingConfig,
doShowLayer,
fetchStore,
diff --git a/src/UI/Popup/TagHint.svelte b/src/UI/Popup/TagHint.svelte
index 6f85ce33ff..2bbeecd06e 100644
--- a/src/UI/Popup/TagHint.svelte
+++ b/src/UI/Popup/TagHint.svelte
@@ -14,7 +14,7 @@
{#if tags?.length > 0}
-
+
{#each tags as tag}
{#if tag["value"] === ""}
diff --git a/src/UI/Search/SearchResults.svelte b/src/UI/Search/SearchResults.svelte
index c5ed00e193..8e5d448bde 100644
--- a/src/UI/Search/SearchResults.svelte
+++ b/src/UI/Search/SearchResults.svelte
@@ -84,8 +84,11 @@
{#each $recentlySeen as entry (entry)}
-
state.searchState.applyGeocodeResult(select.detail)} />
+ state.searchState.applyGeocodeResult(select.detail)}
+ />
{/each}
{/if}
diff --git a/src/UI/Studio/EditLayerState.ts b/src/UI/Studio/EditLayerState.ts
index 7d2e9b64ce..09301d8e5e 100644
--- a/src/UI/Studio/EditLayerState.ts
+++ b/src/UI/Studio/EditLayerState.ts
@@ -1,7 +1,12 @@
import { ConfigMeta } from "./configMeta"
import { Store, UIEventSource } from "../../Logic/UIEventSource"
import { LayerConfigJson } from "../../Models/ThemeConfig/Json/LayerConfigJson"
-import { Conversion, ConversionMessage, DesugaringContext, Pipe } from "../../Models/ThemeConfig/Conversion/Conversion"
+import {
+ Conversion,
+ ConversionMessage,
+ DesugaringContext,
+ Pipe,
+} from "../../Models/ThemeConfig/Conversion/Conversion"
import { PrepareLayer } from "../../Models/ThemeConfig/Conversion/PrepareLayer"
import { PrevalidateTheme, ValidateLayer } from "../../Models/ThemeConfig/Conversion/Validation"
import { AllSharedLayers } from "../../Customizations/AllSharedLayers"
diff --git a/src/assets/contributors.json b/src/assets/contributors.json
index 231273fbb4..59a970f949 100644
--- a/src/assets/contributors.json
+++ b/src/assets/contributors.json
@@ -1,7 +1,7 @@
{
"contributors": [
{
- "commits": 9687,
+ "commits": 9694,
"contributor": "Pieter Vander Vennet"
},
{