From dfbdadc1742d6decd4deac6c61e918b3918c7d06 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 4 May 2025 03:01:20 +0200 Subject: [PATCH] chore: automated housekeeping... --- Docs/BuiltinQuestions.md | 150 ++++++++---------- Docs/URL_Parameters.md | 2 +- scripts/generateDocs.ts | 18 ++- src/Logic/GeoOperations.ts | 1 - .../ThemeViewState/WithSpecialLayers.ts | 10 +- src/UI/Map/ShowDataLayer.ts | 18 ++- src/UI/Popup/TagHint.svelte | 2 +- src/UI/Search/SearchResults.svelte | 7 +- src/UI/Studio/EditLayerState.ts | 7 +- src/assets/contributors.json | 2 +- 10 files changed, 110 insertions(+), 107 deletions(-) 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" }, {