From f5d7686c98b14b34e64b020cd855f927c466d662 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 2 Sep 2024 12:48:15 +0200 Subject: [PATCH] chore: automated housekeeping... --- Docs/BuiltinIndex.md | 6 +- Docs/BuiltinQuestions.md | 4 +- Docs/ELI-overview.md | 10 +- Docs/Layers/address.md | 6 + Docs/Layers/all_vending_machine.md | 4 +- Docs/Layers/ambulancestation.md | 6 + Docs/Layers/animal_shelter.md | 4 +- Docs/Layers/assisted_repair.md | 4 +- Docs/Layers/bank.md | 6 + Docs/Layers/banks_with_atm.md | 6 + Docs/Layers/barrier.md | 6 + .../bicycle_assisted_repair_workshop.md | 159 ++ Docs/Layers/bicycle_library.md | 4 +- Docs/Layers/bicycle_rental.md | 4 +- Docs/Layers/bicycle_rental_non_docking.md | 4 +- Docs/Layers/bike_cafe.md | 10 +- Docs/Layers/bike_shop.md | 7 +- Docs/Layers/bike_themed_object.md | 4 +- Docs/Layers/brothel.md | 4 +- Docs/Layers/cafe_pub.md | 4 +- Docs/Layers/car_rental.md | 4 +- Docs/Layers/caravansites.md | 26 +- Docs/Layers/cinema.md | 10 +- Docs/Layers/climbing_club.md | 10 +- Docs/Layers/climbing_gym.md | 10 +- Docs/Layers/climbing_route.md | 6 + Docs/Layers/crossings.md | 6 + Docs/Layers/crossings_no_traffic_lights.md | 6 + Docs/Layers/dentist.md | 4 +- Docs/Layers/disaster_response.md | 6 + Docs/Layers/doctors.md | 4 +- Docs/Layers/dogfoodb.md | 4 +- Docs/Layers/dogpark.md | 6 + Docs/Layers/dogshop.md | 4 +- Docs/Layers/dumpstations.md | 25 +- Docs/Layers/elevator.md | 6 + Docs/Layers/entrance.md | 6 + Docs/Layers/extinguisher.md | 6 + Docs/Layers/fire_station.md | 6 + Docs/Layers/fitness_centre.md | 10 +- Docs/Layers/food.md | 4 +- Docs/Layers/food_courts.md | 10 +- Docs/Layers/food_glutenfree.md | 4 +- Docs/Layers/food_lactosefree.md | 4 +- Docs/Layers/friture.md | 4 +- Docs/Layers/ghostsigns.md | 2 +- Docs/Layers/governments.md | 10 +- Docs/Layers/grave.md | 6 + Docs/Layers/hackerspace.md | 4 +- Docs/Layers/hospital.md | 10 +- Docs/Layers/ice_cream.md | 10 +- Docs/Layers/icecream_glutenfree.md | 10 +- Docs/Layers/icecream_lactosefree.md | 10 +- Docs/Layers/indoors.md | 12 +- Docs/Layers/kerbs.md | 6 + Docs/Layers/kindergarten_childcare.md | 4 +- Docs/Layers/lighthouse.md | 6 + Docs/Layers/love_hotel.md | 10 +- Docs/Layers/medical_shops.md | 4 +- Docs/Layers/nature_reserve.md | 6 + Docs/Layers/outdoor_seating.md | 6 + Docs/Layers/parking_spaces.md | 6 + Docs/Layers/parking_spaces_disabled.md | 6 + Docs/Layers/parking_ticket_machine.md | 6 + Docs/Layers/pharmacy.md | 4 +- Docs/Layers/physiotherapist.md | 4 +- Docs/Layers/picnic_table.md | 3 +- Docs/Layers/play_forest.md | 6 + Docs/Layers/playground.md | 15 + Docs/Layers/post_offices_with_atm.md | 6 + Docs/Layers/postboxes.md | 6 + Docs/Layers/postoffices.md | 6 + Docs/Layers/rainbow_crossing_high_zoom.md | 6 + Docs/Layers/rainbow_crossings.md | 6 + Docs/Layers/reception_desk.md | 6 + Docs/Layers/recycling.md | 4 +- Docs/Layers/school.md | 4 +- Docs/Layers/shops.md | 4 +- Docs/Layers/shops_glutenfree.md | 4 +- Docs/Layers/shops_lactosefree.md | 4 +- Docs/Layers/shops_second_hand.md | 6 +- .../Layers/shops_with_climbing_shoe_repair.md | 4 +- Docs/Layers/ski_piste.md | 6 + Docs/Layers/speed_display.md | 6 + Docs/Layers/sport_pitch.md | 6 + Docs/Layers/sport_shops.md | 4 +- Docs/Layers/sports_centre.md | 4 +- Docs/Layers/stairs.md | 6 + Docs/Layers/stripclub.md | 10 +- Docs/Layers/surveillance_camera.md | 6 + Docs/Layers/tertiary_education.md | 4 +- Docs/Layers/toilet.md | 6 +- Docs/Layers/tool_library.md | 4 +- Docs/Layers/tourism_accomodation.md | 7 +- Docs/Layers/vending_machine.md | 4 +- Docs/Layers/vending_machine_bicycle.md | 4 +- Docs/Layers/veterinary.md | 10 +- Docs/Layers/viewpoint.md | 6 + Docs/Layers/village_green.md | 6 + Docs/Layers/visitor_information_centre.md | 6 + Docs/TagInfo/mapcomplete_benches.json | 5 + Docs/TagInfo/mapcomplete_bicycle_rental.json | 2 +- Docs/TagInfo/mapcomplete_bicyclelib.json | 2 +- Docs/TagInfo/mapcomplete_cafes_and_pubs.json | 4 +- .../TagInfo/mapcomplete_circular_economy.json | 8 +- Docs/TagInfo/mapcomplete_climbing.json | 6 +- Docs/TagInfo/mapcomplete_cyclofix.json | 137 +- .../mapcomplete_disaster_response.json | 2 +- Docs/TagInfo/mapcomplete_education.json | 6 +- Docs/TagInfo/mapcomplete_food.json | 6 +- Docs/TagInfo/mapcomplete_fritures.json | 2 +- Docs/TagInfo/mapcomplete_glutenfree.json | 6 +- Docs/TagInfo/mapcomplete_hackerspaces.json | 2 +- Docs/TagInfo/mapcomplete_healthcare.json | 12 +- Docs/TagInfo/mapcomplete_hotels.json | 9 +- Docs/TagInfo/mapcomplete_icecream.json | 2 +- Docs/TagInfo/mapcomplete_lactosefree.json | 6 +- Docs/TagInfo/mapcomplete_nature.json | 5 + Docs/TagInfo/mapcomplete_onwheels.json | 21 +- Docs/TagInfo/mapcomplete_personal.json | 297 ++- Docs/TagInfo/mapcomplete_pets.json | 8 +- Docs/TagInfo/mapcomplete_playgrounds.json | 15 + Docs/TagInfo/mapcomplete_postboxes.json | 2 +- Docs/TagInfo/mapcomplete_shops.json | 6 +- Docs/TagInfo/mapcomplete_ski.json | 2 +- Docs/TagInfo/mapcomplete_sports.json | 6 +- Docs/TagInfo/mapcomplete_vending_machine.json | 2 +- Docs/TagInfo/mapcomplete_waste.json | 2 +- Docs/Themes/atm.md | 12 + Docs/Themes/campersite.md | 300 +-- Docs/Themes/circular_economy.md | 7 +- Docs/Themes/climbing.md | 4 +- Docs/Themes/cyclofix.md | 166 +- Docs/Themes/fritures.md | 4 +- Docs/Themes/ghostsigns.md | 3 +- Docs/Themes/glutenfree.md | 19 +- Docs/Themes/healthcare.md | 4 +- Docs/Themes/items_with_image.md | 1 + Docs/Themes/kerbs_and_crossings.md | 6 + Docs/Themes/lactosefree.md | 20 +- Docs/Themes/mapcomplete-changes.md | 1 + Docs/Themes/onwheels.md | 6 + Docs/Themes/openlovemap.md | 18 +- Docs/Themes/personal.md | 2 + Docs/Themes/pets.md | 8 +- Docs/Themes/rainbow_crossings.md | 6 + Docs/Themes/sports.md | 4 +- Docs/Themes/stations.md | 6 + Docs/Themes/toerisme_vlaanderen.md | 4 +- Docs/Themes/uk_addresses.md | 6 + Docs/Themes/vending_machine.md | 4 +- Docs/URL_Parameters.md | 6 +- Docs/wikiIndex.txt | 8 +- .../charging_station/charging_station.json | 252 +-- .../mapcomplete-changes.json | 93 +- assets/themes/postal_codes/postal_codes.json | 1 - .../street_lighting/street_lighting.json | 1 - assets/themes/uk_addresses/uk_addresses.json | 1 - langs/ca.json | 2 +- langs/cs.json | 2 +- langs/da.json | 2 +- langs/de.json | 2 +- langs/en.json | 4 +- langs/es.json | 2 +- langs/fr.json | 2 +- langs/gl.json | 2 +- langs/hu.json | 2 +- langs/it.json | 2 +- langs/ja.json | 2 +- langs/nb_NO.json | 2 +- langs/nl.json | 2 +- langs/pl.json | 2 +- langs/pt.json | 2 +- langs/pt_BR.json | 2 +- langs/ru.json | 2 +- langs/zh_Hant.json | 2 +- scripts/generateDocs.ts | 50 +- scripts/generateSunnyUnlabeled.ts | 4 +- scripts/generateTranslations.ts | 82 +- scripts/handleErrors.ts | 38 +- .../Actors/PreferredRasterLayerSelector.ts | 8 +- .../Sources/OverpassFeatureSource.ts | 27 +- src/Logic/Osm/Changes.ts | 86 +- src/Logic/Osm/ChangesetHandler.ts | 49 +- src/Logic/State/FeatureSwitchState.ts | 15 +- src/Logic/State/UserRelatedState.ts | 58 +- src/Logic/State/UserSettingsMetaTagging.ts | 48 +- src/Logic/Tags/And.ts | 10 +- src/Logic/Tags/Or.ts | 2 +- src/Logic/Tags/TagUtils.ts | 5 +- src/Logic/Web/ThemeViewStateHashActor.ts | 12 +- src/Models/MenuState.ts | 32 +- src/Models/RasterLayerProperties.ts | 18 +- src/Models/RasterLayers.ts | 10 +- .../Conversion/CreateNoteImportLayer.ts | 2 +- .../Conversion/PrevalidateLayer.ts | 8 +- src/Models/ThemeViewState.ts | 83 +- src/UI/AllThemesGui.svelte | 6 +- src/UI/Base/DrawerLeft.svelte | 25 +- src/UI/Base/FloatOver.svelte | 18 +- src/UI/Base/Link.svelte | 3 +- src/UI/Base/LogoutButton.svelte | 2 +- src/UI/Base/MapControlButton.svelte | 1 - src/UI/Base/Page.svelte | 38 +- src/UI/Base/Searchbar.svelte | 21 +- src/UI/Base/TitledPanel.svelte | 3 +- src/UI/BigComponents/CopyrightAllIcons.svelte | 1 - src/UI/BigComponents/CopyrightPanel.svelte | 4 - src/UI/BigComponents/Geosearch.svelte | 6 +- src/UI/BigComponents/HotkeyTable.svelte | 52 +- src/UI/BigComponents/MenuDrawer.svelte | 173 +- .../BigComponents/SelectedElementTitle.svelte | 3 +- src/UI/BigComponents/ShareScreen.svelte | 3 +- src/UI/BigComponents/ThemeIntroPanel.svelte | 8 +- src/UI/Comparison/ComparisonTool.svelte | 15 +- src/UI/Image/AttributedImage.svelte | 22 +- src/UI/Image/ImageAttribution.svelte | 11 +- src/UI/Image/ImageOperations.svelte | 8 +- src/UI/Image/LinkableImage.svelte | 14 +- .../InputElement/Validators/UrlValidator.ts | 20 +- src/UI/Map/RasterLayerOverview.svelte | 12 +- src/UI/Popup/AddNewPoint/PresetList.svelte | 2 +- .../TagRendering/TagRenderingQuestion.svelte | 12 +- src/UI/SpecialVisualizations.ts | 486 +++-- src/UI/Studio/QuestionPreview.svelte | 4 +- src/UI/ThemeViewGUI.svelte | 56 +- src/Utils.ts | 57 +- src/assets/contributors.json | 10 +- src/assets/language_native.json | 2 +- src/assets/language_translations.json | 1731 +++++++++-------- src/assets/schemas/layerconfigmeta.json | 18 + src/assets/schemas/layoutconfigmeta.json | 54 + src/assets/translators.json | 18 +- src/service-worker.ts | 25 +- 234 files changed, 3493 insertions(+), 2482 deletions(-) create mode 100644 Docs/Layers/bicycle_assisted_repair_workshop.md diff --git a/Docs/BuiltinIndex.md b/Docs/BuiltinIndex.md index 2fecb0d772..942769bc80 100644 --- a/Docs/BuiltinIndex.md +++ b/Docs/BuiltinIndex.md @@ -31,6 +31,7 @@ - brothel - cafe_pub - car_rental + - caravansites - charging_station - cinema - climbing_area @@ -45,6 +46,7 @@ - doctors - dogpark - drinking_water + - dumpstations - elevator - elongated_coin - entrance @@ -160,6 +162,7 @@ - animal_shelter - brothel - cafe_pub + - caravansites - cinema - climbing_area - climbing_gym @@ -465,7 +468,8 @@ ### questions - - charging_station + - caravansites + - charging_station - etymology - favourite - hackerspace diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md index 0190bea736..2cf20ec17f 100644 --- a/Docs/BuiltinQuestions.md +++ b/Docs/BuiltinQuestions.md @@ -146,9 +146,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/ELI-overview.md b/Docs/ELI-overview.md index 06edef0d0f..e9c22322d4 100644 --- a/Docs/ELI-overview.md +++ b/Docs/ELI-overview.md @@ -160,10 +160,6 @@ This table gives a summary of ids, names and other metainformation. [See the onl | PrahaIPRlatestorthophoto | Praha IPR latest orthophoto | photo | | | | PrahaIPRlow-vegetationorthophoto | Praha IPR low-vegetation orthophoto | photo | ⭐ | IPR Praha | | AktuelleLuftbilderDerLandeshauptstadtMuenchen20cm | Aktuelle Luftbilder der Landeshauptstadt München 20cm | photo | | Datenquelle: dl-de/by-2-0: Landeshauptstadt München – Kommunalreferat – GeodatenService – www.geodatenservice-muenchen.de | -| BY_DOP20C | Bayern Orthophoto 20cm (Farbe) | photo | ⭐ | Bayerische Vermessungsverwaltung | -| BY_DOP20CIR | Bayern Orthophoto 20cm (Colorinfrarot) | photo | | Bayerische Vermessungsverwaltung | -| BY_Relief | Bayern Geländerelief | elevation | | Bayerische Vermessungsverwaltung | -| BY_Webkarte | Bayern Webkarte | map | | Bayerische Vermessungsverwaltung | | Berlin-2020-TrueDOP | Berlin/Geoportal TrueDOP20RGB (2020) | photo | | Geoportal Berlin/Digitale farbige TrueOrthophotos 2020 (TrueDOP20RGB) (codefor.de mirror) | | Berlin-Alkis | Berlin/Geoportal ALKIS | other | | Geoportal Berlin/ALKIS Berlin (Amtliches Liegenschaftskatasterinformationssystem) (codefor.de proxy) | | Berlin-Baumbestand_Alkis | Berlin/Geoportal Baumbestand, Alkis s/w | other | | Geoportal Berlin/Straßen- und Anlagenbaumbestand Berlin, ALKIS s/w (codefor.de proxy) | @@ -278,6 +274,8 @@ This table gives a summary of ids, names and other metainformation. [See the onl | Mulhouse_2018 | Mulhouse - 2018 | photo | | Mulhouse Alsace Agglomération 2018 | | GrandNancy_Orthophotographie_2016 | Nancy - Orthophoto - 2016 | photo | | GrandNancy Orthophotographie 2016 | | GrandNancy_Orthophotographie | Nancy - Orthophoto | photo | ⭐ | GrandNancy Orthophotographie 2016 | +| fr.ign.orthoexpress.2023 | Ortho Express 2023 (20 cm) | photo | | IGN | +| fr.ign.orthoexpress.2024 | Ortho Express 2024 (20 cm) | photo | | IGN | | fr.orthohr | Ortho HR | photo | | IGN, CRAIG, Mégalis Bretagne | | fr.orthohr.2013 | Ortho HR 2013 | historicphoto | | IGN, CRAIG, Mégalis Bretagne | | fr.orthohr.2014 | Ortho HR 2014 | historicphoto | | IGN, Mégalis Bretagne | @@ -309,7 +307,6 @@ This table gives a summary of ids, names and other metainformation. [See the onl | Tours-Orthophoto-2008_2010 | Tours - Orthophotos 2008-2010 | historicphoto | | Orthophoto Tour(s) Plus 2008 | | fr.dpt.84.2010 | Vaucluse 2010 | historicphoto | | ORTHO 2010 © PACA-04-05-84 | | Vercors-Orthophotos-1999 | Vercors (Réserve naturelle des Hauts-Plateaux du Vercors) - Orthophoto - 1999 - 1 m | historicphoto | | Parc Naturel Régional du Vercors | -| fr.ign.orthoexpress.2023 | Ortho Express IGN 2023 (20 cm) | photo | | IGN | | Hampshire-Aerial-FCIR | Hampshire Aerial FCIR | photo | | | | Hampshire-Aerial-RGB | Hampshire Aerial RGB | photo | | | | NLS-OS-NatGrid-11250-1940-60 | NLS - OS 1:1,250 National Grid Maps, 1940s-1960s | historicmap | | National Library of Scotland Historic Maps | @@ -442,9 +439,6 @@ This table gives a summary of ids, names and other metainformation. [See the onl | LV_ORTOFOTO_C5 | Orthophoto (2013-2015), 1:5000, Latvia | photo | | LĢIA (Latvian Geospatial Information Agency) provided these open data (CC0). WMS service is provided by LVM (Latvian State Forestry). | | LV_ORTOFOTO_C6 | Orthophoto (2016–2018), 1:5000, Latvia | photo | ⭐ | LĢIA (Latvian Geospatial Information Agency) provided these open data (CC0). WMS service is provided by LVM (Latvian State Forestry). | | LV_TERRAIN_LIDAR_LGIA | Digital terrain model (2013–2019), LĢIA, Latvia | elevation | | LĢIA (Latvian Geospatial Information Agency) provided these open data (CC0). WMS service is provided by LVM (Latvian State Forestry). | -| MoldovaMap-2020_Ortofoto_2016_RM | Moldova Ortophoto (2016) | photo | ⭐ | © Agenţia Relaţii Funciare şi Cadastru a Republicii Moldova / Geoportal INDS / Moldova Ortofoto 2016 | -| Geoportal-Ortofoto_2016_RM | Moldova Ortophoto (2016) / Geoportal.md Reserve Server | photo | | © Agenţia Relaţii Funciare şi Cadastru a Republicii Moldova / Fondul Naţional de Date Geospaţiale / Geoportal INDS / Moldova Ortofoto 2016 | -| MoldovaMap-2020_ortofoto_moldova_centru | Moldova Ortophoto, Center part (2020) | photo | ⭐ | © Agenţia Relaţii Funciare şi Cadastru a Republicii Moldova / Geoportal INDS / Ortofoto Moldova, Centru 2020 | | Actueel_orthoHR_WMTS | PDOK aerial imagery Beeldmateriaal.nl 8cm (WMTS) latest | photo | ⭐ | Kadaster / Beeldmateriaal.nl, CC BY 4.0 | | kartverket-topo4 | Kartverket topo | map | | © Kartverket | | kartverket-ok-1st | Kartverket Economic Maps (historic) | historicmap | | © Kartverket | diff --git a/Docs/Layers/address.md b/Docs/Layers/address.md index b01d7d6d4a..3475395f90 100644 --- a/Docs/Layers/address.md +++ b/Docs/Layers/address.md @@ -16,6 +16,7 @@ Addresses - [street](#street) - [fixme](#fixme) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -70,6 +71,11 @@ The question is `What should be fixed here? Please explain` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/all_vending_machine.md b/Docs/Layers/all_vending_machine.md index aadc174fbb..958bbe6cea 100644 --- a/Docs/Layers/all_vending_machine.md +++ b/Docs/Layers/all_vending_machine.md @@ -221,9 +221,9 @@ The question is `Is this vending machine indoors?` ### phone The question is `What is the phone number of the operator of this vending machine?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/ambulancestation.md b/Docs/Layers/ambulancestation.md index d78ea49946..6f3a28e770 100644 --- a/Docs/Layers/ambulancestation.md +++ b/Docs/Layers/ambulancestation.md @@ -18,6 +18,7 @@ An ambulance station is an area for storage of ambulance vehicles, medical equip - [ambulance-operator-type](#ambulance-operator-type) - [images](#images) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -83,6 +84,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/animal_shelter.md b/Docs/Layers/animal_shelter.md index da22e314b7..5d4e78e0da 100644 --- a/Docs/Layers/animal_shelter.md +++ b/Docs/Layers/animal_shelter.md @@ -79,9 +79,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/assisted_repair.md b/Docs/Layers/assisted_repair.md index d279cebaf3..a27be485a5 100644 --- a/Docs/Layers/assisted_repair.md +++ b/Docs/Layers/assisted_repair.md @@ -79,9 +79,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/bank.md b/Docs/Layers/bank.md index f524937bba..7d907d4d86 100644 --- a/Docs/Layers/bank.md +++ b/Docs/Layers/bank.md @@ -14,6 +14,7 @@ A financial institution to deposit money - [images](#images) - [has_atm](#has_atm) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) 4. [Filters](#filters) @@ -55,6 +56,11 @@ The question is `Does this bank have an ATM?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/banks_with_atm.md b/Docs/Layers/banks_with_atm.md index 566bb88e92..e4993a0080 100644 --- a/Docs/Layers/banks_with_atm.md +++ b/Docs/Layers/banks_with_atm.md @@ -16,6 +16,7 @@ A financial institution to deposit money - [images](#images) - [has_atm](#has_atm) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) 4. [Filters](#filters) @@ -59,6 +60,11 @@ The question is `Does this bank have an ATM?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/barrier.md b/Docs/Layers/barrier.md index 70c1a691dc..6a8be1bfd3 100644 --- a/Docs/Layers/barrier.md +++ b/Docs/Layers/barrier.md @@ -23,6 +23,7 @@ Obstacles while cycling, such as bollards and cycle barriers - [Width of opening (cyclebarrier)](#width-of-opening-(cyclebarrier)) - [Overlap (cyclebarrier)](#overlap-(cyclebarrier)) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) @@ -132,6 +133,11 @@ This tagrendering is only visible in the popup if the following condition is met _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/bicycle_assisted_repair_workshop.md b/Docs/Layers/bicycle_assisted_repair_workshop.md new file mode 100644 index 0000000000..1a5aa48d66 --- /dev/null +++ b/Docs/Layers/bicycle_assisted_repair_workshop.md @@ -0,0 +1,159 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + +# bicycle_assisted_repair_workshop + +This layer is based on [assisted_repair](../Layers/assisted_repair.md) + +A self-assisted workshop is a location where people can come and repair their goods with help of volunteers and with the tools available at the given location. A repair café is a type of event organized regularly along the same principles. + + - This layer is shown at zoomlevel **11** and higher + +## Table of contents + +1. [Themes using this layer](#themes-using-this-layer) +2. [Basic tags for this layer](#basic-tags-for-this-layer) +3. [Supported attributes](#supported-attributes) + - [images](#images) + - [preset_description](#preset_description) + - [name](#name) + - [opening_hours_by_appointment](#opening_hours_by_appointment) + - [Opening hours](#opening-hours) + - [phone](#phone) + - [email](#email) + - [website](#website) + - [mastodon](#mastodon) + - [facebook](#facebook) + - [item:repair](#itemrepair) + - [leftover-questions](#leftover-questions) + - [move-button](#move-button) + - [delete-button](#delete-button) + - [lod](#lod) + +## Themes using this layer + + - [cyclofix](https://mapcomplete.org/cyclofix) + +## Basic tags for this layer + +Elements must match **all** of the following expressions: + +0. repair=assisted_self_service +1. bicycle:repair=yes | service:bicycle:repair=yes + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22repair%22%3D%22assisted_self_service%22%5D%5B%22bicycle%3Arepair%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22repair%22%3D%22assisted_self_service%22%5D%5B%22service%3Abicycle%3Arepair%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%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 | +-----|-----|----- | +| [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | | +| [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | ["by appointment"](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment") | +| [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | | +| [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | | +| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | | +| [contact:mastodon](https://wiki.openstreetmap.org/wiki/Key:contact:mastodon) | [fediverse](../SpecialInputElements.md#fediverse) | | +| [contact:facebook](https://wiki.openstreetmap.org/wiki/Key:contact:facebook) | [url](../SpecialInputElements.md#url) | | + +### images +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images +_This tagrendering has no question and is thus read-only_ +*{image_carousel()}{image_upload()}* + +### preset_description + +_This tagrendering has no question and is thus read-only_ +*{preset_description()}* + +### name + +The question is `What is the name of this repair workshop?` +*This workshop is called {name}* is shown if `name` is set + +### opening_hours_by_appointment + +The question is `What are the opening hours of {title()}?` +*

Opening hours

{opening_hours_table(opening_hours)}* is shown if `opening_hours` is set + + - *Only by appointment* is shown if with opening_hours="by appointment" + - *Only by appointment* is shown if with opening_hours~^("by appointment"|by appointment)$. _This option cannot be chosen as answer_ + - *Marked as closed for an unspecified time* is shown if with opening_hours=closed. _This option cannot be chosen as answer_ + +### phone + +The question is `What is the phone number of {title()}?` +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set + + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### email + +The question is `What is the email address of {title()}?` +*{email}* is shown if `email` is set + + - *{contact:email}* is shown if with contact:email~.+. _This option cannot be chosen as answer_ + - *{operator:email}* is shown if with operator:email~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### website + +The question is `What is the website of {title()}?` +*{website}* is shown if `website` is set + + - *{contact:website}* is shown if with contact:website~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### mastodon +Shows and asks for the mastodon handle +The question is `What is the Mastodon-handle of {title()}?` +*{fediverse_link(contact:mastodon)}* is shown if `contact:mastodon` is set + +### facebook +Shows and asks for the facebook handle +The question is `What is the facebook page of of {title()}?` +*{link(Facebook page,&LBRACEcontact:facebook&RBRACE,,,,)}
Facebook is known to harm mental health, manipulate public opinion and cause hate. Try to use healthier alternatives
* is shown if `contact:facebook` is set + +### item:repair + +The question is `What type of items are repaired here?` + + - *Mobile phones are repaired here* is shown if with service:mobile_phone:repair=yes. Unselecting this answer will add service:mobile_phone:repair=no + - *Computers are repaired here* is shown if with service:computer:repair=yes. Unselecting this answer will add service:computer:repair=no + - *Bicycles are repaired here* is shown if with service:bicycle:repair=yes. Unselecting this answer will add service:bicycle:repair=no + - *Electronic devices are repaired here* is shown if with service:electronics:repair=yes. Unselecting this answer will add service:electronics:repair=no + - *Furniture is repaired here* is shown if with service:furniture:repair=yes. Unselecting this answer will add service:furniture:repair=no + - *Clothes are repaired here* is shown if with service:clothes:repair=yes. Unselecting this answer will add service:clothes:repair=no + +### leftover-questions + +_This tagrendering has no question and is thus read-only_ +*{questions( ,)}* + +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + +### delete-button + +_This tagrendering has no question and is thus read-only_ +*{delete_button()}* + +### lod + +_This tagrendering has no question and is thus read-only_ +*{linked_data_from_website()}* + +This tagrendering has labels +`added_by_default` + + +This document is autogenerated from [assets/themes/cyclofix/cyclofix.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/cyclofix/cyclofix.json) diff --git a/Docs/Layers/bicycle_library.md b/Docs/Layers/bicycle_library.md index 190ed35275..1e6649364f 100644 --- a/Docs/Layers/bicycle_library.md +++ b/Docs/Layers/bicycle_library.md @@ -77,9 +77,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/bicycle_rental.md b/Docs/Layers/bicycle_rental.md index 4609874abf..00467cc6ef 100644 --- a/Docs/Layers/bicycle_rental.md +++ b/Docs/Layers/bicycle_rental.md @@ -114,9 +114,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/bicycle_rental_non_docking.md b/Docs/Layers/bicycle_rental_non_docking.md index 0cefc51c3a..b7dd214b48 100644 --- a/Docs/Layers/bicycle_rental_non_docking.md +++ b/Docs/Layers/bicycle_rental_non_docking.md @@ -110,9 +110,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/bike_cafe.md b/Docs/Layers/bike_cafe.md index 3a77d65dd4..174a20b75f 100644 --- a/Docs/Layers/bike_cafe.md +++ b/Docs/Layers/bike_cafe.md @@ -22,6 +22,7 @@ A bike café is a café geared towards cyclists, for example with services such - [opening_hours](#opening_hours) - [Opening hours](#opening-hours) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) @@ -98,9 +99,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -128,6 +129,11 @@ The question is `When it this bike café opened?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/bike_shop.md b/Docs/Layers/bike_shop.md index 6ddc79e6f3..fbbe306dc9 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -300,9 +300,6 @@ The question is `What kind of shop is this?` - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine -This tagrendering has labels -`description` - ### brand The question is `What is the brand of this shop?` @@ -351,9 +348,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/bike_themed_object.md b/Docs/Layers/bike_themed_object.md index 050004de18..47ab8d3669 100644 --- a/Docs/Layers/bike_themed_object.md +++ b/Docs/Layers/bike_themed_object.md @@ -88,9 +88,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/brothel.md b/Docs/Layers/brothel.md index 9b7a1b9ac9..4d23a1252c 100644 --- a/Docs/Layers/brothel.md +++ b/Docs/Layers/brothel.md @@ -71,9 +71,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/cafe_pub.md b/Docs/Layers/cafe_pub.md index 70e1ec2a09..4613db25ea 100644 --- a/Docs/Layers/cafe_pub.md +++ b/Docs/Layers/cafe_pub.md @@ -151,9 +151,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/car_rental.md b/Docs/Layers/car_rental.md index 6aaad46b74..6b10d36fc3 100644 --- a/Docs/Layers/car_rental.md +++ b/Docs/Layers/car_rental.md @@ -81,9 +81,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/caravansites.md b/Docs/Layers/caravansites.md index 34d33d4442..3f6d163395 100644 --- a/Docs/Layers/caravansites.md +++ b/Docs/Layers/caravansites.md @@ -25,13 +25,13 @@ camper sites - [caravansites-description](#caravansites-description) - [questions](#questions) - [reviews](#reviews) + - [move-button](#move-button) - [lod](#lod) - - [operator](#operator) - - [power_supply](#power_supply) ## Themes using this layer - [campersite](https://mapcomplete.org/campersite) + - [personal](https://mapcomplete.org/personal) ## Basic tags for this layer @@ -59,8 +59,6 @@ Elements must match **all** of the following expressions: | [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | | | [permanent_camping](https://wiki.openstreetmap.org/wiki/Key:permanent_camping) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:permanent_camping%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:permanent_camping%3Dno) [only](https://wiki.openstreetmap.org/wiki/Tag:permanent_camping%3Donly) | | [description](https://wiki.openstreetmap.org/wiki/Key:description) | [text](../SpecialInputElements.md#text) | | -| [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | | -| [power_supply](https://wiki.openstreetmap.org/wiki/Key:power_supply) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dno) | ### images This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images @@ -150,6 +148,11 @@ Shows the reviews module (including the possibility to leave a review) _This tagrendering has no question and is thus read-only_ *{create_review()}{list_reviews()}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ @@ -158,18 +161,5 @@ _This tagrendering has no question and is thus read-only_ This tagrendering has labels `added_by_default` -### operator -The question is `Who operates this place?` -*This place is operated by {operator}* is shown if `operator` is set - -### power_supply - -The question is `Does this place have a power supply?` - - - *This place has a power supply* is shown if with power_supply=yes - - *This place does not have power supply* is shown if with power_supply=no - - - -This document is autogenerated from [assets/themes/campersite/campersite.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/campersite/campersite.json) +This document is autogenerated from [assets/layers/caravansites/caravansites.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/caravansites/caravansites.json) diff --git a/Docs/Layers/cinema.md b/Docs/Layers/cinema.md index 6547de4cf4..5ea4055fbf 100644 --- a/Docs/Layers/cinema.md +++ b/Docs/Layers/cinema.md @@ -19,6 +19,7 @@ - [wikipedia](#wikipedia) - [cinema_type](#cinema_type) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -56,9 +57,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -104,6 +105,11 @@ The question is `What type of cinema is this?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/climbing_club.md b/Docs/Layers/climbing_club.md index 6ae6adbf76..b06d82f08a 100644 --- a/Docs/Layers/climbing_club.md +++ b/Docs/Layers/climbing_club.md @@ -18,6 +18,7 @@ A climbing club or organisation - [opening_hours](#opening_hours) - [Opening hours](#opening-hours) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -75,9 +76,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -94,6 +95,11 @@ The question is `What are the opening hours of {title()}?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/climbing_gym.md b/Docs/Layers/climbing_gym.md index 1b8f9b9710..69f8736706 100644 --- a/Docs/Layers/climbing_gym.md +++ b/Docs/Layers/climbing_gym.md @@ -38,6 +38,7 @@ A climbing gym - [internet-fee](#internet-fee) - [internet-ssid](#internet-ssid) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -105,9 +106,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -293,6 +294,11 @@ This tagrendering has labels _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/climbing_route.md b/Docs/Layers/climbing_route.md index 8e6e0bd8f6..ddc13e49ba 100644 --- a/Docs/Layers/climbing_route.md +++ b/Docs/Layers/climbing_route.md @@ -21,6 +21,7 @@ A single climbing route and its properties. Some properties are derived from the - [description](#description) - [Rock type via embedded feature](#rock-type-via-embedded-feature) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -91,6 +92,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/crossings.md b/Docs/Layers/crossings.md index 9148efab21..55171b3f53 100644 --- a/Docs/Layers/crossings.md +++ b/Docs/Layers/crossings.md @@ -27,6 +27,7 @@ Crossings for pedestrians and cyclists - [crossing-right-turn-through-red](#crossing-right-turn-through-red) - [crossing-continue-through-red](#crossing-continue-through-red) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -189,6 +190,11 @@ This tagrendering is only visible in the popup if the following condition is met _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/crossings_no_traffic_lights.md b/Docs/Layers/crossings_no_traffic_lights.md index c7d77bc765..68ce69162f 100644 --- a/Docs/Layers/crossings_no_traffic_lights.md +++ b/Docs/Layers/crossings_no_traffic_lights.md @@ -28,6 +28,7 @@ Crossings for pedestrians and cyclists - [crossing-right-turn-through-red](#crossing-right-turn-through-red) - [crossing-continue-through-red](#crossing-continue-through-red) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -185,6 +186,11 @@ This tagrendering is only visible in the popup if the following condition is met _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/dentist.md b/Docs/Layers/dentist.md index 8a303dd537..f6b5eb00d1 100644 --- a/Docs/Layers/dentist.md +++ b/Docs/Layers/dentist.md @@ -62,9 +62,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/disaster_response.md b/Docs/Layers/disaster_response.md index 9052e3b62c..b3379752d4 100644 --- a/Docs/Layers/disaster_response.md +++ b/Docs/Layers/disaster_response.md @@ -15,6 +15,7 @@ This layer contains organizations that have the main objective to help the civil - [website](#website) - [disaster_response_name](#disaster_response_name) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -62,6 +63,11 @@ The question is `What is the name of this organization?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/doctors.md b/Docs/Layers/doctors.md index 58076e2341..0798afe736 100644 --- a/Docs/Layers/doctors.md +++ b/Docs/Layers/doctors.md @@ -72,9 +72,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/dogfoodb.md b/Docs/Layers/dogfoodb.md index 77b8ea46ef..82cd4ad68d 100644 --- a/Docs/Layers/dogfoodb.md +++ b/Docs/Layers/dogfoodb.md @@ -161,9 +161,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/dogpark.md b/Docs/Layers/dogpark.md index 3fb1306634..f7c11ffcf1 100644 --- a/Docs/Layers/dogpark.md +++ b/Docs/Layers/dogpark.md @@ -21,6 +21,7 @@ A layer showing dogparks, which are areas where dog are allowed to run without a - [smalldogs](#smalldogs) - [dogarea](#dogarea) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -106,6 +107,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/dogshop.md b/Docs/Layers/dogshop.md index 8e207634b6..8ff5a4f3c2 100644 --- a/Docs/Layers/dogshop.md +++ b/Docs/Layers/dogshop.md @@ -347,9 +347,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/dumpstations.md b/Docs/Layers/dumpstations.md index a8c7c673b2..9e02d0f0b5 100644 --- a/Docs/Layers/dumpstations.md +++ b/Docs/Layers/dumpstations.md @@ -19,14 +19,14 @@ Sanitary dump stations - [dumpstations-chemical-waste](#dumpstations-chemical-waste) - [dumpstations-access](#dumpstations-access) - [dumpstations-network](#dumpstations-network) - - [operator](#operator) - - [power_supply](#power_supply) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer - [campersite](https://mapcomplete.org/campersite) + - [personal](https://mapcomplete.org/personal) ## Basic tags for this layer @@ -50,8 +50,6 @@ Elements must match **all** of the following expressions: | [sanitary_dump_station:chemical_toilet](https://wiki.openstreetmap.org/wiki/Key:sanitary_dump_station:chemical_toilet) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station:chemical_toilet%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station:chemical_toilet%3Dno) | | [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [network](https://wiki.openstreetmap.org/wiki/Tag:access%3Dnetwork) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) | | [network](https://wiki.openstreetmap.org/wiki/Key:network) | [string](../SpecialInputElements.md#string) | | -| [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | | -| [power_supply](https://wiki.openstreetmap.org/wiki/Key:power_supply) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dno) | ### images This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images @@ -107,23 +105,16 @@ The question is `Who can use this dump station?` The question is `What network is this place a part of? (skip if none)` *This station is part of network {network}* is shown if `network` is set -### operator - -The question is `Who operates this place?` -*This place is operated by {operator}* is shown if `operator` is set - -### power_supply - -The question is `Does this place have a power supply?` - - - *This place has a power supply* is shown if with power_supply=yes - - *This place does not have power supply* is shown if with power_supply=no - ### leftover-questions _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ @@ -133,4 +124,4 @@ This tagrendering has labels `added_by_default` -This document is autogenerated from [assets/themes/campersite/campersite.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/campersite/campersite.json) +This document is autogenerated from [assets/layers/dumpstations/dumpstations.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/dumpstations/dumpstations.json) diff --git a/Docs/Layers/elevator.md b/Docs/Layers/elevator.md index d6509134ee..86d715dfaa 100644 --- a/Docs/Layers/elevator.md +++ b/Docs/Layers/elevator.md @@ -25,6 +25,7 @@ This layer show elevators and asks for operational status and elevator dimension - [speech_output_available](#speech_output_available) - [speech_output](#speech_output) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -152,6 +153,11 @@ This tagrendering is only visible in the popup if the following condition is met _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/entrance.md b/Docs/Layers/entrance.md index 719d15bb74..2e34d4d507 100644 --- a/Docs/Layers/entrance.md +++ b/Docs/Layers/entrance.md @@ -24,6 +24,7 @@ A layer showing entrances and offering capabilities to survey some advanced data - [width](#width) - [kerb-height](#kerb-height) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -141,6 +142,11 @@ The question is `What is the height of this kerb?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/extinguisher.md b/Docs/Layers/extinguisher.md index 536b6ebc85..2db704bd95 100644 --- a/Docs/Layers/extinguisher.md +++ b/Docs/Layers/extinguisher.md @@ -14,6 +14,7 @@ Map layer to show fire extinguishers. - [extinguisher-location](#extinguisher-location) - [images](#images) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -53,6 +54,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/fire_station.md b/Docs/Layers/fire_station.md index c76cc8520c..066d9077cd 100644 --- a/Docs/Layers/fire_station.md +++ b/Docs/Layers/fire_station.md @@ -18,6 +18,7 @@ Map layer to show fire stations. - [station-operator](#station-operator) - [images](#images) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -85,6 +86,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/fitness_centre.md b/Docs/Layers/fitness_centre.md index 2c0855c3e3..cc2147ce26 100644 --- a/Docs/Layers/fitness_centre.md +++ b/Docs/Layers/fitness_centre.md @@ -23,6 +23,7 @@ Layer showing fitness centres - [single_level](#single_level) - [reviews](#reviews) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -66,9 +67,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -143,6 +144,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/food.md b/Docs/Layers/food.md index b9334c3ff1..60fcbd745d 100644 --- a/Docs/Layers/food.md +++ b/Docs/Layers/food.md @@ -167,9 +167,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/food_courts.md b/Docs/Layers/food_courts.md index 91865e16e4..21a1206c62 100644 --- a/Docs/Layers/food_courts.md +++ b/Docs/Layers/food_courts.md @@ -21,6 +21,7 @@ Food courts with a variety of food options. - [phone](#phone) - [smoking](#smoking) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -92,9 +93,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -112,6 +113,11 @@ The question is `Is smoking allowed at {title()}?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/food_glutenfree.md b/Docs/Layers/food_glutenfree.md index 58fcc02880..e1b3846edd 100644 --- a/Docs/Layers/food_glutenfree.md +++ b/Docs/Layers/food_glutenfree.md @@ -174,9 +174,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/food_lactosefree.md b/Docs/Layers/food_lactosefree.md index 0ad41dd9c5..794d62189d 100644 --- a/Docs/Layers/food_lactosefree.md +++ b/Docs/Layers/food_lactosefree.md @@ -174,9 +174,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/friture.md b/Docs/Layers/friture.md index e745332639..19804cb006 100644 --- a/Docs/Layers/friture.md +++ b/Docs/Layers/friture.md @@ -161,9 +161,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/ghostsigns.md b/Docs/Layers/ghostsigns.md index 2fa372376f..6a974884f0 100644 --- a/Docs/Layers/ghostsigns.md +++ b/Docs/Layers/ghostsigns.md @@ -40,7 +40,7 @@ Elements must match **all** of the following expressions: | attribute | type | values which are supported by this layer | -----|-----|----- | | [historic](https://wiki.openstreetmap.org/wiki/Key:historic) | Multiple choice | [advertising](https://wiki.openstreetmap.org/wiki/Tag:historic%3Dadvertising) [](https://wiki.openstreetmap.org/wiki/Tag:historic%3D) | -| [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [string](../SpecialInputElements.md#string) | | +| [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [text](../SpecialInputElements.md#text) | | | [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | | ### historic diff --git a/Docs/Layers/governments.md b/Docs/Layers/governments.md index 210884312c..efdebffddf 100644 --- a/Docs/Layers/governments.md +++ b/Docs/Layers/governments.md @@ -17,6 +17,7 @@ This layer show governmental buildings. It was setup as commissioned layer for t - [website](#website) - [name](#name) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -49,9 +50,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -87,6 +88,11 @@ The question is `What is the name of this Governmental Office?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/grave.md b/Docs/Layers/grave.md index 59b34f7caf..bb51db8411 100644 --- a/Docs/Layers/grave.md +++ b/Docs/Layers/grave.md @@ -15,6 +15,7 @@ Tombstones (and graves) indicate where a person was buried. On this map, those c - [buried:wikidata](#buriedwikidata) - [name](#name) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -58,6 +59,11 @@ The question is `What is the name of the person buried here?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/hackerspace.md b/Docs/Layers/hackerspace.md index 06f052af36..29e06b0c9b 100644 --- a/Docs/Layers/hackerspace.md +++ b/Docs/Layers/hackerspace.md @@ -153,9 +153,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/hospital.md b/Docs/Layers/hospital.md index 47acc8304e..cda59f6f43 100644 --- a/Docs/Layers/hospital.md +++ b/Docs/Layers/hospital.md @@ -19,6 +19,7 @@ A layer showing hospital grounds - [oh-visitor](#oh-visitor) - [Opening hours for visitors](#opening-hours-for-visitors) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -65,9 +66,9 @@ The question is `Does this facility admit inpatients?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -103,6 +104,11 @@ The question is `When are visitors allowed to visit?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/ice_cream.md b/Docs/Layers/ice_cream.md index f19be22f0f..00f18fce7a 100644 --- a/Docs/Layers/ice_cream.md +++ b/Docs/Layers/ice_cream.md @@ -26,6 +26,7 @@ A place where ice cream is sold over the counter - [payment-options](#payment-options) - [wheelchair-access](#wheelchair-access) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -85,9 +86,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -183,6 +184,11 @@ The question is `Is this place accessible with a wheelchair?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/icecream_glutenfree.md b/Docs/Layers/icecream_glutenfree.md index 5bffc9e01e..586645fbb7 100644 --- a/Docs/Layers/icecream_glutenfree.md +++ b/Docs/Layers/icecream_glutenfree.md @@ -28,6 +28,7 @@ A place where ice cream is sold over the counter - [payment-options](#payment-options) - [wheelchair-access](#wheelchair-access) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -98,9 +99,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -184,6 +185,11 @@ The question is `Is this place accessible with a wheelchair?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/icecream_lactosefree.md b/Docs/Layers/icecream_lactosefree.md index df0294d6ac..984c3a2d04 100644 --- a/Docs/Layers/icecream_lactosefree.md +++ b/Docs/Layers/icecream_lactosefree.md @@ -28,6 +28,7 @@ A place where ice cream is sold over the counter - [payment-options](#payment-options) - [wheelchair-access](#wheelchair-access) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -98,9 +99,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -184,6 +185,11 @@ The question is `Is this place accessible with a wheelchair?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/indoors.md b/Docs/Layers/indoors.md index 139d2a56e8..a020b1995e 100644 --- a/Docs/Layers/indoors.md +++ b/Docs/Layers/indoors.md @@ -35,6 +35,7 @@ Basic indoor mapping: shows room outlines - [toilet-handwashing](#toilet-handwashing) - [toilet-has-paper](#toilet-has-paper) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -171,9 +172,9 @@ The question is `Are these toilets publicly accessible?` *Access is {access}* is shown if `access` is set - *Public access* is shown if with access=yes - - *Only access to customers* is shown if with access=customers - - *Not accessible* is shown if with access=no - - *Accessible, but one has to ask a key to enter* is shown if with access=key + - *Only access to customers* is shown if with access=customers + - *Not accessible* is shown if with access=no + - *Accessible, but one has to ask a key to enter* is shown if with access=key - *Public access* is shown if with access=public. _This option cannot be chosen as answer_ This tagrendering is only visible in the popup if the following condition is met: amenity=toilets @@ -314,6 +315,11 @@ This tagrendering has labels _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/kerbs.md b/Docs/Layers/kerbs.md index 764846a509..1fbdf6a421 100644 --- a/Docs/Layers/kerbs.md +++ b/Docs/Layers/kerbs.md @@ -19,6 +19,7 @@ A layer showing kerbs. - [tactile-paving](#tactile-paving) - [kerb-height](#kerb-height) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -84,6 +85,11 @@ The question is `What is the height of this kerb?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/kindergarten_childcare.md b/Docs/Layers/kindergarten_childcare.md index 8f449231fc..937cf51cbe 100644 --- a/Docs/Layers/kindergarten_childcare.md +++ b/Docs/Layers/kindergarten_childcare.md @@ -89,9 +89,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/lighthouse.md b/Docs/Layers/lighthouse.md index bf12ebe49c..6c99f0fd97 100644 --- a/Docs/Layers/lighthouse.md +++ b/Docs/Layers/lighthouse.md @@ -13,6 +13,7 @@ - [wikipedia](#wikipedia) - [lighthouse-height](#lighthouse-height) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -58,6 +59,11 @@ The question is `What is the height of this lighthouse, in metres?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/love_hotel.md b/Docs/Layers/love_hotel.md index a655cd54e5..12657932ac 100644 --- a/Docs/Layers/love_hotel.md +++ b/Docs/Layers/love_hotel.md @@ -18,6 +18,7 @@ A love hotel is a type of short-stay hotel found around the world operated prima - [email](#email) - [website](#website) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -61,9 +62,9 @@ The question is `What is the name of this love hotel?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -94,6 +95,11 @@ This tagrendering has labels _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/medical_shops.md b/Docs/Layers/medical_shops.md index c81463c546..4a135d3610 100644 --- a/Docs/Layers/medical_shops.md +++ b/Docs/Layers/medical_shops.md @@ -347,9 +347,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/nature_reserve.md b/Docs/Layers/nature_reserve.md index 10a976179b..9383804cca 100644 --- a/Docs/Layers/nature_reserve.md +++ b/Docs/Layers/nature_reserve.md @@ -25,6 +25,7 @@ A nature reserve is an area where nature can take its course - [Surface area](#surface-area) - [wikipedia](#wikipedia) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -156,6 +157,11 @@ The question is `What is the corresponding Wikidata entity?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/outdoor_seating.md b/Docs/Layers/outdoor_seating.md index a657a5fadb..bca2f577ab 100644 --- a/Docs/Layers/outdoor_seating.md +++ b/Docs/Layers/outdoor_seating.md @@ -25,6 +25,7 @@ Outdoor seating areas, usually located near cafes and restaurants. - [covered](#covered) - [smoking](#smoking) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -171,6 +172,11 @@ The question is `Is smoking allowed at {title()}?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/parking_spaces.md b/Docs/Layers/parking_spaces.md index 75ed1bc9c6..ad143c0de7 100644 --- a/Docs/Layers/parking_spaces.md +++ b/Docs/Layers/parking_spaces.md @@ -15,6 +15,7 @@ Layer showing individual parking spaces. - [type](#type) - [capacity](#capacity) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -73,6 +74,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/parking_spaces_disabled.md b/Docs/Layers/parking_spaces_disabled.md index 6ec11af782..45ddb0dc70 100644 --- a/Docs/Layers/parking_spaces_disabled.md +++ b/Docs/Layers/parking_spaces_disabled.md @@ -18,6 +18,7 @@ Layer showing individual parking spaces. - [images](#images) - [_stolen_entrances](#_stolen_entrances) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -47,6 +48,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/parking_ticket_machine.md b/Docs/Layers/parking_ticket_machine.md index b5321a3ec7..fbc5d4afdd 100644 --- a/Docs/Layers/parking_ticket_machine.md +++ b/Docs/Layers/parking_ticket_machine.md @@ -17,6 +17,7 @@ Layer with parking ticket machines to pay for parking. - [denominations-notes](#denominations-notes) - [ref](#ref) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -115,6 +116,11 @@ The question is `What is the reference number of this parking ticket machine?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/pharmacy.md b/Docs/Layers/pharmacy.md index ca47702032..5d2d90189c 100644 --- a/Docs/Layers/pharmacy.md +++ b/Docs/Layers/pharmacy.md @@ -77,9 +77,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/physiotherapist.md b/Docs/Layers/physiotherapist.md index 82be80743c..e5e11fabbc 100644 --- a/Docs/Layers/physiotherapist.md +++ b/Docs/Layers/physiotherapist.md @@ -69,9 +69,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/picnic_table.md b/Docs/Layers/picnic_table.md index aa8658037f..267c48a14b 100644 --- a/Docs/Layers/picnic_table.md +++ b/Docs/Layers/picnic_table.md @@ -41,7 +41,7 @@ Elements must match the expression ** [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) | -| [material](https://wiki.openstreetmap.org/wiki/Key:material) | [string](../SpecialInputElements.md#string) | [wood](https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood) [concrete](https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete) [plastic](https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic) | +| [material](https://wiki.openstreetmap.org/wiki/Key:material) | [string](../SpecialInputElements.md#string) | [wood](https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood) [concrete](https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete) [plastic](https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic) [metal](https://wiki.openstreetmap.org/wiki/Tag:material%3Dmetal) | ### images This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images @@ -79,6 +79,7 @@ The question is `What material is this picnic table made of?` - *This is a wooden picnic table* is shown if with material=wood - *This is a concrete picnic table* is shown if with material=concrete - *This picnic table is made from (recycled) plastic* is shown if with material=plastic + - *This picnic table is made from metal* is shown if with material=metal ### leftover-questions diff --git a/Docs/Layers/play_forest.md b/Docs/Layers/play_forest.md index 37fa6dd199..d7a6fad053 100644 --- a/Docs/Layers/play_forest.md +++ b/Docs/Layers/play_forest.md @@ -18,6 +18,7 @@ Een speelbos is een vrij toegankelijke zone in een bos - [play_forest-phone](#play_forest-phone) - [questions](#questions) - [play_forest-reviews](#play_forest-reviews) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -82,6 +83,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{reviews(name, play_forest)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/playground.md b/Docs/Layers/playground.md index 03bd452f6a..ac93878102 100644 --- a/Docs/Layers/playground.md +++ b/Docs/Layers/playground.md @@ -13,6 +13,7 @@ Playgrounds 3. [Supported attributes](#supported-attributes) - [images](#images) - [reviews](#reviews) + - [fee](#fee) - [playground-surface](#playground-surface) - [playground-lit](#playground-lit) - [playground-min_age](#playground-min_age) @@ -27,6 +28,7 @@ Playgrounds - [check_date](#check_date) - [questions](#questions) - [playground-reviews](#playground-reviews) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) @@ -52,6 +54,7 @@ Elements must match **all** of the following expressions: | attribute | type | values which are supported by this layer | -----|-----|----- | +| [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) | | [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) [woodchips](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dwoodchips) [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) [tartan](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dtartan) [rubber](https://wiki.openstreetmap.org/wiki/Tag:surface%3Drubber) [fine_gravel](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dfine_gravel) | | [lit](https://wiki.openstreetmap.org/wiki/Key:lit) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:lit%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:lit%3Dno) | | [min_age](https://wiki.openstreetmap.org/wiki/Key:min_age) | [nat](../SpecialInputElements.md#nat) | | @@ -74,6 +77,13 @@ Shows the reviews module (including the possibility to leave a review) _This tagrendering has no question and is thus read-only_ *{create_review()}{list_reviews()}* +### fee + +The question is `Does one have to pay to use this playground?` + + - *Free to use* is shown if with fee=no + - *Paid playground* is shown if with fee=yes + ### playground-surface The question is `Which is the surface of this playground?` @@ -186,6 +196,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{reviews(name, playground)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/post_offices_with_atm.md b/Docs/Layers/post_offices_with_atm.md index 215bb7cb34..2049287674 100644 --- a/Docs/Layers/post_offices_with_atm.md +++ b/Docs/Layers/post_offices_with_atm.md @@ -27,6 +27,7 @@ A layer showing post offices. - [stamps](#stamps) - [has_atm](#has_atm) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -160,6 +161,11 @@ The question is `Does this post office have an ATM?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/postboxes.md b/Docs/Layers/postboxes.md index 782ffffc50..c0bce1c428 100644 --- a/Docs/Layers/postboxes.md +++ b/Docs/Layers/postboxes.md @@ -14,6 +14,7 @@ The layer showing postboxes. - [images](#images) - [minimap](#minimap) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) @@ -45,6 +46,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/postoffices.md b/Docs/Layers/postoffices.md index 8f1001163a..21f2979b88 100644 --- a/Docs/Layers/postoffices.md +++ b/Docs/Layers/postoffices.md @@ -25,6 +25,7 @@ A layer showing post offices. - [stamps](#stamps) - [has_atm](#has_atm) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -160,6 +161,11 @@ The question is `Does this post office have an ATM?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/rainbow_crossing_high_zoom.md b/Docs/Layers/rainbow_crossing_high_zoom.md index b2ef3a0033..14f03abb56 100644 --- a/Docs/Layers/rainbow_crossing_high_zoom.md +++ b/Docs/Layers/rainbow_crossing_high_zoom.md @@ -17,6 +17,7 @@ A layer showing pedestrian crossings with rainbow paintings - [images](#images) - [crossing-with-rainbow](#crossing-with-rainbow) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -49,6 +50,11 @@ The question is `Does this crossing has rainbow paintings?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/rainbow_crossings.md b/Docs/Layers/rainbow_crossings.md index d061454fbd..ff2774e156 100644 --- a/Docs/Layers/rainbow_crossings.md +++ b/Docs/Layers/rainbow_crossings.md @@ -15,6 +15,7 @@ A layer showing pedestrian crossings with rainbow paintings - [images](#images) - [crossing-with-rainbow](#crossing-with-rainbow) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -52,6 +53,11 @@ The question is `Does this crossing has rainbow paintings?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/reception_desk.md b/Docs/Layers/reception_desk.md index b80c8c8ec3..ad7a0f6d75 100644 --- a/Docs/Layers/reception_desk.md +++ b/Docs/Layers/reception_desk.md @@ -17,6 +17,7 @@ A layer showing where the reception desks are and which asks some accessibility - [desk-height](#desk-height) - [induction-loop](#induction-loop) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -85,6 +86,11 @@ The question is `Does this place have an audio induction loop for people with re _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/recycling.md b/Docs/Layers/recycling.md index e14dcea293..8681917090 100644 --- a/Docs/Layers/recycling.md +++ b/Docs/Layers/recycling.md @@ -154,9 +154,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering is only visible in the popup if the following condition is met: recycling_type=centre This tagrendering has labels diff --git a/Docs/Layers/school.md b/Docs/Layers/school.md index c059a9696d..47dbc79200 100644 --- a/Docs/Layers/school.md +++ b/Docs/Layers/school.md @@ -133,9 +133,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/shops.md b/Docs/Layers/shops.md index 81148b6cf6..3ca28db3e5 100644 --- a/Docs/Layers/shops.md +++ b/Docs/Layers/shops.md @@ -357,9 +357,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/shops_glutenfree.md b/Docs/Layers/shops_glutenfree.md index 482cb48bf0..c4de0b7aaf 100644 --- a/Docs/Layers/shops_glutenfree.md +++ b/Docs/Layers/shops_glutenfree.md @@ -361,9 +361,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/shops_lactosefree.md b/Docs/Layers/shops_lactosefree.md index 3407598a8a..b9ef5eec36 100644 --- a/Docs/Layers/shops_lactosefree.md +++ b/Docs/Layers/shops_lactosefree.md @@ -361,9 +361,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/shops_second_hand.md b/Docs/Layers/shops_second_hand.md index f6bb8c5875..e6cf7d9e7d 100644 --- a/Docs/Layers/shops_second_hand.md +++ b/Docs/Layers/shops_second_hand.md @@ -6,7 +6,7 @@ This layer is based on [shops](../Layers/shops.md) A shop - - This layer is shown at zoomlevel **10** and higher + - This layer is shown at zoomlevel **6** and higher ## Table of contents @@ -346,9 +346,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/shops_with_climbing_shoe_repair.md b/Docs/Layers/shops_with_climbing_shoe_repair.md index eb40bbe758..f67052b749 100644 --- a/Docs/Layers/shops_with_climbing_shoe_repair.md +++ b/Docs/Layers/shops_with_climbing_shoe_repair.md @@ -356,9 +356,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/ski_piste.md b/Docs/Layers/ski_piste.md index 100695a72c..472c4faec2 100644 --- a/Docs/Layers/ski_piste.md +++ b/Docs/Layers/ski_piste.md @@ -15,6 +15,7 @@ Ski and snowboard pistes - [piste_difficulty](#piste_difficulty) - [length](#length) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -65,6 +66,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/speed_display.md b/Docs/Layers/speed_display.md index db487e18d0..9b61848cff 100644 --- a/Docs/Layers/speed_display.md +++ b/Docs/Layers/speed_display.md @@ -14,6 +14,7 @@ Layer showing speed displays that alert drivers of their speed. - [maxspeed](#maxspeed) - [inscription](#inscription) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -51,6 +52,11 @@ The question is `What is the text on this speed display?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index 49f8007fb8..a4a110a960 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -22,6 +22,7 @@ A sport pitch - [sport_pitch-opening_hours](#sport_pitch-opening_hours) - [questions](#questions) - [sport-pitch-reviews](#sport-pitch-reviews) + - [move-button](#move-button) - [lod](#lod) 4. [Filters](#filters) @@ -144,6 +145,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{reviews(name, sportpitch)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/sport_shops.md b/Docs/Layers/sport_shops.md index bdd5f3505e..689b757c5f 100644 --- a/Docs/Layers/sport_shops.md +++ b/Docs/Layers/sport_shops.md @@ -344,9 +344,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/sports_centre.md b/Docs/Layers/sports_centre.md index c9bee5df3d..d382ef470b 100644 --- a/Docs/Layers/sports_centre.md +++ b/Docs/Layers/sports_centre.md @@ -61,9 +61,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/stairs.md b/Docs/Layers/stairs.md index 29e1f32aa4..da587c7bae 100644 --- a/Docs/Layers/stairs.md +++ b/Docs/Layers/stairs.md @@ -20,6 +20,7 @@ Layer showing stairs and escalators - [ramp](#ramp) - [incline](#incline) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -116,6 +117,11 @@ The question is `What is the incline of these stairs?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/stripclub.md b/Docs/Layers/stripclub.md index c631e01601..40e0b1e45c 100644 --- a/Docs/Layers/stripclub.md +++ b/Docs/Layers/stripclub.md @@ -20,6 +20,7 @@ A venue where erotic dance, striptease, or lap dances are performed commercially - [email](#email) - [website](#website) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -69,9 +70,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -102,6 +103,11 @@ This tagrendering has labels _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/surveillance_camera.md b/Docs/Layers/surveillance_camera.md index c39d41d1ce..18bbe1e85a 100644 --- a/Docs/Layers/surveillance_camera.md +++ b/Docs/Layers/surveillance_camera.md @@ -24,6 +24,7 @@ This layer shows surveillance cameras and allows a contributor to update informa - [Surveillance:zone](#surveillancezone) - [camera:mount](#cameramount) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [delete-button](#delete-button) - [lod](#lod) @@ -142,6 +143,11 @@ The question is `How is this camera placed?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/tertiary_education.md b/Docs/Layers/tertiary_education.md index d4b92f382b..fe04b1d377 100644 --- a/Docs/Layers/tertiary_education.md +++ b/Docs/Layers/tertiary_education.md @@ -106,9 +106,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/toilet.md b/Docs/Layers/toilet.md index e13c3c5464..0cea8e91e7 100644 --- a/Docs/Layers/toilet.md +++ b/Docs/Layers/toilet.md @@ -113,9 +113,9 @@ The question is `Are these toilets publicly accessible?` *Access is {access}* is shown if `access` is set - *Public access* is shown if with access=yes - - *Only access to customers* is shown if with access=customers - - *Not accessible* is shown if with access=no - - *Accessible, but one has to ask a key to enter* is shown if with access=key + - *Only access to customers* is shown if with access=customers + - *Not accessible* is shown if with access=no + - *Accessible, but one has to ask a key to enter* is shown if with access=key - *Public access* is shown if with access=public. _This option cannot be chosen as answer_ This tagrendering has labels diff --git a/Docs/Layers/tool_library.md b/Docs/Layers/tool_library.md index eb462c2a40..2cac3b01fe 100644 --- a/Docs/Layers/tool_library.md +++ b/Docs/Layers/tool_library.md @@ -60,9 +60,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/tourism_accomodation.md b/Docs/Layers/tourism_accomodation.md index 62ed38787b..e92ee2e6bb 100644 --- a/Docs/Layers/tourism_accomodation.md +++ b/Docs/Layers/tourism_accomodation.md @@ -47,8 +47,9 @@ Elements must match **any** of the following expressions: - tourism=chalet - tourism=motel - tourism=guest_house + - tourism=camp_site -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22tourism%22%3D%22hotel%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22hostel%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22apartment%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22chalet%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22motel%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22guest_house%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22tourism%22%3D%22hotel%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22hostel%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22apartment%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22chalet%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22motel%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22guest_house%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22tourism%22%3D%22camp_site%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) ## Supported attributes @@ -97,9 +98,9 @@ The question is `Is {title()} part of a bigger brand?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/vending_machine.md b/Docs/Layers/vending_machine.md index 6959aec4a4..44ac33ca88 100644 --- a/Docs/Layers/vending_machine.md +++ b/Docs/Layers/vending_machine.md @@ -221,9 +221,9 @@ The question is `Is this vending machine indoors?` ### phone The question is `What is the phone number of the operator of this vending machine?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/vending_machine_bicycle.md b/Docs/Layers/vending_machine_bicycle.md index 998981f1df..897a889854 100644 --- a/Docs/Layers/vending_machine_bicycle.md +++ b/Docs/Layers/vending_machine_bicycle.md @@ -221,9 +221,9 @@ The question is `Is this vending machine indoors?` ### phone The question is `What is the phone number of the operator of this vending machine?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Layers/veterinary.md b/Docs/Layers/veterinary.md index 58993d3218..ba055b3a5b 100644 --- a/Docs/Layers/veterinary.md +++ b/Docs/Layers/veterinary.md @@ -18,6 +18,7 @@ A layer showing veterinarians - [Opening hours](#opening-hours) - [vetName](#vetname) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -60,9 +61,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -84,6 +85,11 @@ The question is `What is the name of this veterinarian?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/viewpoint.md b/Docs/Layers/viewpoint.md index ee9d6695d1..16e2ffd3a5 100644 --- a/Docs/Layers/viewpoint.md +++ b/Docs/Layers/viewpoint.md @@ -14,6 +14,7 @@ A nice viewpoint or nice view. Ideal to add an image if no other category fits - [images](#images) - [viewpoint-description](#viewpoint-description) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -51,6 +52,11 @@ The question is `Do you want to add a description?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/village_green.md b/Docs/Layers/village_green.md index ab88ba4771..9033ecf0b2 100644 --- a/Docs/Layers/village_green.md +++ b/Docs/Layers/village_green.md @@ -15,6 +15,7 @@ A layer showing village-green (which are communal green areas, but not quite par - [village_green-explanation](#village_green-explanation) - [village_green-reviews](#village_green-reviews) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Themes using this layer @@ -49,6 +50,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/visitor_information_centre.md b/Docs/Layers/visitor_information_centre.md index 0c45192ad6..5668daeac5 100644 --- a/Docs/Layers/visitor_information_centre.md +++ b/Docs/Layers/visitor_information_centre.md @@ -13,6 +13,7 @@ No themes use this layer 1. [Basic tags for this layer](#basic-tags-for-this-layer) 2. [Supported attributes](#supported-attributes) - [leftover-questions](#leftover-questions) + - [move-button](#move-button) - [lod](#lod) ## Basic tags for this layer @@ -31,6 +32,11 @@ Elements must match **any** of the following expressions: _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/TagInfo/mapcomplete_benches.json b/Docs/TagInfo/mapcomplete_benches.json index d903882d14..f9681c1f1a 100644 --- a/Docs/TagInfo/mapcomplete_benches.json +++ b/Docs/TagInfo/mapcomplete_benches.json @@ -83,6 +83,11 @@ "description": "Layer 'Picnic tables' shows material=plastic with a fixed text, namely 'This picnic table is made from (recycled) plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches')", "value": "plastic" }, + { + "key": "material", + "description": "Layer 'Picnic tables' shows material=metal with a fixed text, namely 'This picnic table is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches')", + "value": "metal" + }, { "key": "amenity", "description": "The MapComplete theme Benches has a layer Benches showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_bicycle_rental.json b/Docs/TagInfo/mapcomplete_bicycle_rental.json index 9c3a259e6b..8d49cac91e 100644 --- a/Docs/TagInfo/mapcomplete_bicycle_rental.json +++ b/Docs/TagInfo/mapcomplete_bicycle_rental.json @@ -114,7 +114,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Bicycle rental')" + "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Bicycle rental')" }, { "key": "opening_hours", diff --git a/Docs/TagInfo/mapcomplete_bicyclelib.json b/Docs/TagInfo/mapcomplete_bicyclelib.json index 2f6884aa59..96920c0d04 100644 --- a/Docs/TagInfo/mapcomplete_bicyclelib.json +++ b/Docs/TagInfo/mapcomplete_bicyclelib.json @@ -53,7 +53,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Bicycle libraries')" + "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Bicycle libraries')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json index 72127dfd8b..b400294866 100644 --- a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json +++ b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json @@ -153,7 +153,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Cafés and pubs' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cafés and pubs')" + "description": "Layer 'Cafés and pubs' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cafés and pubs')" }, { "key": "payment:cash", @@ -567,7 +567,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Food Courts' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cafés and pubs')" + "description": "Layer 'Food Courts' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cafés and pubs')" }, { "key": "smoking", diff --git a/Docs/TagInfo/mapcomplete_circular_economy.json b/Docs/TagInfo/mapcomplete_circular_economy.json index 3765b97eb1..b1a7f9af1a 100644 --- a/Docs/TagInfo/mapcomplete_circular_economy.json +++ b/Docs/TagInfo/mapcomplete_circular_economy.json @@ -175,7 +175,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Circular economy')" + "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Circular economy')" }, { "key": "email", @@ -481,7 +481,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Tool libraries' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Circular economy')" + "description": "Layer 'Tool libraries' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Circular economy')" }, { "key": "email", @@ -622,7 +622,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Circular economy')" + "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Circular economy')" }, { "key": "email", @@ -1613,7 +1613,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Second hand shops' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Circular economy')" + "description": "Layer 'Second hand shops' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Circular economy')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_climbing.json b/Docs/TagInfo/mapcomplete_climbing.json index b109d8467f..c853efb161 100644 --- a/Docs/TagInfo/mapcomplete_climbing.json +++ b/Docs/TagInfo/mapcomplete_climbing.json @@ -62,7 +62,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Climbing club' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" + "description": "Layer 'Climbing club' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" }, { "key": "opening_hours", @@ -150,7 +150,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Climbing gyms' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" + "description": "Layer 'Climbing gyms' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" }, { "key": "email", @@ -1625,7 +1625,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index b0763bc1a7..ddf07cef85 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -2,7 +2,7 @@ "data_format": 1, "project": { "name": "MapComplete Cyclofix - a map for cyclists", - "description": "The goal of this map is to present cyclists with an easy-to-use solution to find the appropriate infrastructure for their needs", + "description": "A map for cyclists to find the appropriate infrastructure for their needs, such as bicycle pumps, drinking water, bicycle shops, repair stations or parkings", "project_url": "https://mapcomplete.org/cyclofix", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "icon_url": "https://mapcomplete.org/assets/themes/cyclofix/logo.svg", @@ -10,6 +10,129 @@ "contact_email": "pietervdvn@posteo.net" }, "tags": [ + { + "key": "repair", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Repair cafés and assisted repair workshops showing features with this tag", + "value": "assisted_self_service" + }, + { + "key": "service:bicycle:repair", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Repair cafés and assisted repair workshops showing features with this tag", + "value": "yes" + }, + { + "key": "bicycle:repair", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Repair cafés and assisted repair workshops showing features with this tag", + "value": "yes" + }, + { + "key": "id", + "description": "Layer 'Repair cafés and assisted repair workshops' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Repair cafés and assisted repair workshops 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 'Repair cafés and assisted repair workshops 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 'Repair cafés and assisted repair workshops 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 'Repair cafés and assisted repair workshops 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 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Repair cafés and assisted repair workshops' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "\"by appointment\"" + }, + { + "key": "opening_hours", + "description": "Layer 'Repair cafés and assisted repair workshops' shows opening_hours~^(\"by appointment\"|by appointment)$ with a fixed text, namely 'Only by appointment' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Repair cafés and assisted repair workshops' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, + { + "key": "phone", + "description": "Layer 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:phone", + "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "email", + "description": "Layer 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:email", + "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "operator:email", + "description": "Layer 'Repair cafés and assisted repair workshops' shows operator:email~.+ with a fixed text, namely '{operator:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "website", + "description": "Layer 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:website", + "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:mastodon", + "description": "Layer 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'contact:mastodon' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:facebook", + "description": "Layer 'Repair cafés and assisted repair workshops' shows and asks freeform values for key 'contact:facebook' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "service:mobile_phone:repair", + "description": "Layer 'Repair cafés and assisted repair workshops' shows service:mobile_phone:repair=yes with a fixed text, namely 'Mobile phones are repaired here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "service:computer:repair", + "description": "Layer 'Repair cafés and assisted repair workshops' shows service:computer:repair=yes with a fixed text, namely 'Computers are repaired here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "service:bicycle:repair", + "description": "Layer 'Repair cafés and assisted repair workshops' shows service:bicycle:repair=yes with a fixed text, namely 'Bicycles are repaired here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "service:electronics:repair", + "description": "Layer 'Repair cafés and assisted repair workshops' shows service:electronics:repair=yes with a fixed text, namely 'Electronic devices are repaired here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "service:furniture:repair", + "description": "Layer 'Repair cafés and assisted repair workshops' shows service:furniture:repair=yes with a fixed text, namely 'Furniture is repaired here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "service:clothes:repair", + "description": "Layer 'Repair cafés and assisted repair workshops' shows service:clothes:repair=yes with a fixed text, namely 'Clothes are repaired here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, { "key": "amenity", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bike cafe showing features with this tag", @@ -118,7 +241,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bike cafe' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + "description": "Layer 'Bike cafe' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, { "key": "email", @@ -1083,7 +1206,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bike repair/shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + "description": "Layer 'Bike repair/shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, { "key": "payment:cash", @@ -2034,7 +2157,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bike-related object' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + "description": "Layer 'Bike-related object' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, { "key": "opening_hours", @@ -2222,7 +2345,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, { "key": "opening_hours", @@ -2393,7 +2516,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, { "key": "email", @@ -4581,7 +4704,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Vending Machines' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + "description": "Layer 'Vending Machines' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, { "key": "website", diff --git a/Docs/TagInfo/mapcomplete_disaster_response.json b/Docs/TagInfo/mapcomplete_disaster_response.json index f5708e9d6c..dfb3f3a1b9 100644 --- a/Docs/TagInfo/mapcomplete_disaster_response.json +++ b/Docs/TagInfo/mapcomplete_disaster_response.json @@ -44,7 +44,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Disaster response')" + "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Disaster response')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_education.json b/Docs/TagInfo/mapcomplete_education.json index d4056e4043..3315ebfe0e 100644 --- a/Docs/TagInfo/mapcomplete_education.json +++ b/Docs/TagInfo/mapcomplete_education.json @@ -112,7 +112,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Colleges and universities' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Education')" + "description": "Layer 'Colleges and universities' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Education')" }, { "key": "amenity", @@ -298,7 +298,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Primary and secondary schools' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Education')" + "description": "Layer 'Primary and secondary schools' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Education')" }, { "key": "email", @@ -371,7 +371,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Kindergartens and childcare' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Education')" + "description": "Layer 'Kindergartens and childcare' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Education')" }, { "key": "opening_hours", diff --git a/Docs/TagInfo/mapcomplete_food.json b/Docs/TagInfo/mapcomplete_food.json index f7e203aaf6..9c1cf1a369 100644 --- a/Docs/TagInfo/mapcomplete_food.json +++ b/Docs/TagInfo/mapcomplete_food.json @@ -89,7 +89,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Restaurants and fast food')" + "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Restaurants and fast food')" }, { "key": "payment:cash", @@ -683,7 +683,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Restaurants and fast food')" + "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Restaurants and fast food')" }, { "key": "email", @@ -1088,7 +1088,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Food Courts' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Restaurants and fast food')" + "description": "Layer 'Food Courts' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Restaurants and fast food')" }, { "key": "smoking", diff --git a/Docs/TagInfo/mapcomplete_fritures.json b/Docs/TagInfo/mapcomplete_fritures.json index b6bd8bd495..78bad7e977 100644 --- a/Docs/TagInfo/mapcomplete_fritures.json +++ b/Docs/TagInfo/mapcomplete_fritures.json @@ -93,7 +93,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Fries shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Fries shops')" + "description": "Layer 'Fries shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Fries shops')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_glutenfree.json b/Docs/TagInfo/mapcomplete_glutenfree.json index a071c48db1..3809ede7e0 100644 --- a/Docs/TagInfo/mapcomplete_glutenfree.json +++ b/Docs/TagInfo/mapcomplete_glutenfree.json @@ -113,7 +113,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Glutenfree')" + "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Glutenfree')" }, { "key": "payment:cash", @@ -711,7 +711,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Glutenfree')" + "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Glutenfree')" }, { "key": "email", @@ -1773,7 +1773,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Glutenfree')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Glutenfree')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_hackerspaces.json b/Docs/TagInfo/mapcomplete_hackerspaces.json index 88c11673ca..94d6ebcb71 100644 --- a/Docs/TagInfo/mapcomplete_hackerspaces.json +++ b/Docs/TagInfo/mapcomplete_hackerspaces.json @@ -104,7 +104,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Hackerspace' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Hackerspaces and makerspaces')" + "description": "Layer 'Hackerspace' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Hackerspaces and makerspaces')" }, { "key": "contact:mastodon", diff --git a/Docs/TagInfo/mapcomplete_healthcare.json b/Docs/TagInfo/mapcomplete_healthcare.json index 156d0af025..c9e861e4b4 100644 --- a/Docs/TagInfo/mapcomplete_healthcare.json +++ b/Docs/TagInfo/mapcomplete_healthcare.json @@ -63,7 +63,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Doctors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Healthcare')" + "description": "Layer 'Doctors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Healthcare')" }, { "key": "email", @@ -162,7 +162,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Physiotherapist' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Healthcare')" + "description": "Layer 'Physiotherapist' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Healthcare')" }, { "key": "email", @@ -224,7 +224,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Dentist' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Healthcare')" + "description": "Layer 'Dentist' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Healthcare')" }, { "key": "email", @@ -284,7 +284,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Healthcare')" + "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Healthcare')" }, { "key": "email", @@ -354,7 +354,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Healthcare')" + "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Healthcare')" }, { "key": "email", @@ -1327,7 +1327,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Healthcare')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Healthcare')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_hotels.json b/Docs/TagInfo/mapcomplete_hotels.json index fe051a354b..fb38ba566d 100644 --- a/Docs/TagInfo/mapcomplete_hotels.json +++ b/Docs/TagInfo/mapcomplete_hotels.json @@ -40,6 +40,11 @@ "description": "The MapComplete theme Hotels has a layer Tourism accomodation showing features with this tag", "value": "guest_house" }, + { + "key": "tourism", + "description": "The MapComplete theme Hotels has a layer Tourism accomodation showing features with this tag", + "value": "camp_site" + }, { "key": "id", "description": "Layer 'Tourism accomodation' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Hotels') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" @@ -79,7 +84,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Tourism accomodation' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Hotels')" + "description": "Layer 'Tourism accomodation' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Hotels')" }, { "key": "email", @@ -230,7 +235,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Love hotels' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Hotels')" + "description": "Layer 'Love hotels' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Hotels')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_icecream.json b/Docs/TagInfo/mapcomplete_icecream.json index 84b8881d5e..5e3d4cf112 100644 --- a/Docs/TagInfo/mapcomplete_icecream.json +++ b/Docs/TagInfo/mapcomplete_icecream.json @@ -54,7 +54,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Icecream')" + "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Icecream')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_lactosefree.json b/Docs/TagInfo/mapcomplete_lactosefree.json index de90febb83..30e13eb013 100644 --- a/Docs/TagInfo/mapcomplete_lactosefree.json +++ b/Docs/TagInfo/mapcomplete_lactosefree.json @@ -113,7 +113,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" + "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" }, { "key": "payment:cash", @@ -711,7 +711,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" + "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" }, { "key": "email", @@ -1773,7 +1773,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_nature.json b/Docs/TagInfo/mapcomplete_nature.json index 5b433ab2bd..9e9c5b3770 100644 --- a/Docs/TagInfo/mapcomplete_nature.json +++ b/Docs/TagInfo/mapcomplete_nature.json @@ -1024,6 +1024,11 @@ "description": "Layer 'Picnic tables' shows material=plastic with a fixed text, namely 'This picnic table is made from (recycled) plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", "value": "plastic" }, + { + "key": "material", + "description": "Layer 'Picnic tables' shows material=metal with a fixed text, namely 'This picnic table is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "metal" + }, { "key": "amenity", "description": "The MapComplete theme Into nature has a layer Toilets showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_onwheels.json b/Docs/TagInfo/mapcomplete_onwheels.json index 05fccec5e7..dec4b439e8 100644 --- a/Docs/TagInfo/mapcomplete_onwheels.json +++ b/Docs/TagInfo/mapcomplete_onwheels.json @@ -153,7 +153,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Cafés and pubs' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Cafés and pubs' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "payment:cash", @@ -613,7 +613,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "payment:cash", @@ -2310,7 +2310,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "payment:cash", @@ -3066,7 +3066,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "email", @@ -3156,7 +3156,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Doctors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Doctors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "email", @@ -3236,7 +3236,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "email", @@ -3490,6 +3490,11 @@ "description": "The MapComplete theme OnWheels has a layer Tourism accomodation showing features with this tag", "value": "guest_house" }, + { + "key": "tourism", + "description": "The MapComplete theme OnWheels has a layer Tourism accomodation showing features with this tag", + "value": "camp_site" + }, { "key": "id", "description": "Layer 'Tourism accomodation' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'OnWheels') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" @@ -3529,7 +3534,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Tourism accomodation' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'Tourism accomodation' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "email", @@ -3676,7 +3681,7 @@ }, { "key": "contact:phone", - "description": "Layer 'governments' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'OnWheels')" + "description": "Layer 'governments' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'OnWheels')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_personal.json b/Docs/TagInfo/mapcomplete_personal.json index 6659db6392..2740395f31 100644 --- a/Docs/TagInfo/mapcomplete_personal.json +++ b/Docs/TagInfo/mapcomplete_personal.json @@ -435,7 +435,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Animal shelters' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Animal shelters' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -1007,7 +1007,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Repair cafés and assisted repair workshops' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -1806,7 +1806,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -1976,7 +1976,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "opening_hours", @@ -2212,7 +2212,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bike cafe' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Bike cafe' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -3679,7 +3679,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bike repair/shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Bike repair/shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "payment:cash", @@ -4199,7 +4199,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Bike-related object' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Bike-related object' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "opening_hours", @@ -4510,7 +4510,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Cafés and pubs' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Cafés and pubs' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "payment:cash", @@ -4656,6 +4656,126 @@ "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.org theme 'Personal theme') (This is only shown if internet_access=wlan)", "value": "Telekom" }, + { + "key": "tourism", + "description": "The MapComplete theme Personal theme has a layer Camper sites showing features with this tag", + "value": "caravan_site" + }, + { + "key": "id", + "description": "Layer 'Camper sites' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Camper sites 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 'Camper sites 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 'Camper sites 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 'Camper sites 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 'Camper sites' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "fee", + "description": "Layer 'Camper sites' shows fee=yes with a fixed text, namely 'You need to pay for use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "fee", + "description": "Layer 'Camper sites' shows fee=no with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "charge", + "description": "Layer 'Camper sites' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Personal theme') (This is only shown if fee=yes)" + }, + { + "key": "sanitary_dump_station", + "description": "Layer 'Camper sites' shows sanitary_dump_station=yes with a fixed text, namely 'This place has a sanitary dump station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "sanitary_dump_station", + "description": "Layer 'Camper sites' shows sanitary_dump_station=no with a fixed text, namely 'This place does not have a sanitary dump station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "capacity", + "description": "Layer 'Camper sites' shows and asks freeform values for key 'capacity' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "internet_access", + "description": "Layer 'Camper sites' shows internet_access=yes with a fixed text, namely 'There is internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Camper sites' shows internet_access=wifi | internet_access=wlan with a fixed text, namely 'There is internet access' (in the mapcomplete.org theme 'Personal theme')", + "value": "wifi" + }, + { + "key": "internet_access", + "description": "Layer 'Camper sites' shows internet_access=wifi | internet_access=wlan with a fixed text, namely 'There is internet access' (in the mapcomplete.org theme 'Personal theme')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Camper sites' shows internet_access=no with a fixed text, namely 'There is no internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Camper sites' shows internet_access:fee=yes with a fixed text, namely 'You need to pay extra for internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if internet_access=yes)", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Camper sites' shows internet_access:fee=no with a fixed text, namely 'You do not need to pay extra for internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if internet_access=yes)", + "value": "no" + }, + { + "key": "toilets", + "description": "Layer 'Camper sites' shows toilets=yes with a fixed text, namely 'This place has toilets' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "toilets", + "description": "Layer 'Camper sites' shows toilets=no with a fixed text, namely 'This place does not have toilets' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "website", + "description": "Layer 'Camper sites' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "permanent_camping", + "description": "Layer 'Camper sites' shows permanent_camping=yes with a fixed text, namely 'There are some spots for long term rental, but you can also stay on a daily basis' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "permanent_camping", + "description": "Layer 'Camper sites' shows permanent_camping=no with a fixed text, namely 'There are no permanent guests here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "permanent_camping", + "description": "Layer 'Camper sites' shows permanent_camping=only with a fixed text, namely 'It is only possible to stay here if you have a long term contract (this place disappears from this map if you choose this)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "only" + }, + { + "key": "description", + "description": "Layer 'Camper sites' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Personal theme')" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Charging stations showing features with this tag", @@ -6285,7 +6405,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Climbing club' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Climbing club' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "opening_hours", @@ -6344,7 +6464,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Climbing gyms' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Climbing gyms' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -7935,7 +8055,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Dentist' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Dentist' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -8051,7 +8171,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Doctors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Doctors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -8400,6 +8520,99 @@ "key": "subject:wikidata", "description": "Layer 'Drinking water' shows and asks freeform values for key 'subject:wikidata' (in the mapcomplete.org theme 'Personal theme') (This is only shown if tourism=artwork)" }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Sanitary dump stations showing features with this tag", + "value": "sanitary_dump_station" + }, + { + "key": "id", + "description": "Layer 'Sanitary dump stations' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Sanitary dump stations 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 'Sanitary dump stations 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 'Sanitary dump stations 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 'Sanitary dump stations 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": "fee", + "description": "Layer 'Sanitary dump stations' shows fee=yes with a fixed text, namely 'You need to pay for use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "fee", + "description": "Layer 'Sanitary dump stations' shows fee=no with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "charge", + "description": "Layer 'Sanitary dump stations' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Personal theme') (This is only shown if fee=yes)" + }, + { + "key": "water_point", + "description": "Layer 'Sanitary dump stations' shows water_point=yes with a fixed text, namely 'This place has a water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "water_point", + "description": "Layer 'Sanitary dump stations' shows water_point=no with a fixed text, namely 'This place does not have a water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "sanitary_dump_station:grey_water", + "description": "Layer 'Sanitary dump stations' shows sanitary_dump_station:grey_water=yes with a fixed text, namely 'You can dispose of grey water here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "sanitary_dump_station:grey_water", + "description": "Layer 'Sanitary dump stations' shows sanitary_dump_station:grey_water=no with a fixed text, namely 'You cannot dispose of gray water here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "sanitary_dump_station:chemical_toilet", + "description": "Layer 'Sanitary dump stations' shows sanitary_dump_station:chemical_toilet=yes with a fixed text, namely 'You can dispose of chemical toilet waste here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "sanitary_dump_station:chemical_toilet", + "description": "Layer 'Sanitary dump stations' shows sanitary_dump_station:chemical_toilet=no with a fixed text, namely 'You cannot dispose of chemical toilet waste here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "access", + "description": "Layer 'Sanitary dump stations' shows access=network with a fixed text, namely 'You need a network key/code to use this' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "network" + }, + { + "key": "access", + "description": "Layer 'Sanitary dump stations' shows access=customers with a fixed text, namely 'You need to be a customer of camping/campersite to use this place' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "customers" + }, + { + "key": "access", + "description": "Layer 'Sanitary dump stations' shows access=public with a fixed text, namely 'Anyone can use this dump station' (in the mapcomplete.org theme 'Personal theme')", + "value": "public" + }, + { + "key": "access", + "description": "Layer 'Sanitary dump stations' shows access=yes with a fixed text, namely 'Anyone can use this dump station' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "network", + "description": "Layer 'Sanitary dump stations' shows and asks freeform values for key 'network' (in the mapcomplete.org theme 'Personal theme')" + }, { "key": "highway", "description": "The MapComplete theme Personal theme has a layer Elevator showing features with this tag", @@ -9357,7 +9570,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Fitness Centres' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Fitness Centres' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -9714,7 +9927,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "payment:cash", @@ -10336,7 +10549,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Food Courts' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Food Courts' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "smoking", @@ -10434,7 +10647,7 @@ }, { "key": "contact:phone", - "description": "Layer 'governments' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'governments' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -10637,7 +10850,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Hackerspace' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Hackerspace' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "contact:mastodon", @@ -10909,7 +11122,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Hospitals' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -11098,7 +11311,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -11783,7 +11996,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Kindergartens and childcare' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Kindergartens and childcare' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "opening_hours", @@ -11875,7 +12088,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Love hotels' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Love hotels' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -13507,7 +13720,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -13597,7 +13810,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Physiotherapist' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Physiotherapist' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -13692,6 +13905,11 @@ "description": "Layer 'Picnic tables' shows material=plastic with a fixed text, namely 'This picnic table is made from (recycled) plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "plastic" }, + { + "key": "material", + "description": "Layer 'Picnic tables' shows material=metal with a fixed text, namely 'This picnic table is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "metal" + }, { "key": "leisure", "description": "The MapComplete theme Personal theme has a layer Playgrounds showing features with this tag", @@ -13717,6 +13935,16 @@ "key": "wikipedia", "description": "The layer 'Playgrounds 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": "fee", + "description": "Layer 'Playgrounds' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Playgrounds' shows fee=yes with a fixed text, namely 'Paid playground' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, { "key": "surface", "description": "Layer 'Playgrounds' shows and asks freeform values for key 'surface' (in the mapcomplete.org theme 'Personal theme')" @@ -14721,7 +14949,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Recycling' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme') (This is only shown if recycling_type=centre)" + "description": "Layer 'Recycling' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme') (This is only shown if recycling_type=centre)" }, { "key": "opening_hours", @@ -14949,7 +15177,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Primary and secondary schools' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Primary and secondary schools' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -15948,7 +16176,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "payment:cash", @@ -17343,7 +17571,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Sports centres' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Sports centres' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "website", @@ -17985,7 +18213,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Colleges and universities' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Colleges and universities' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "amenity", @@ -18785,7 +19013,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Tool libraries' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Tool libraries' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -18903,6 +19131,11 @@ "description": "The MapComplete theme Personal theme has a layer Tourism accomodation showing features with this tag", "value": "guest_house" }, + { + "key": "tourism", + "description": "The MapComplete theme Personal theme has a layer Tourism accomodation showing features with this tag", + "value": "camp_site" + }, { "key": "id", "description": "Layer 'Tourism accomodation' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" @@ -18942,7 +19175,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Tourism accomodation' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Tourism accomodation' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "email", @@ -19917,7 +20150,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Vending Machines' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'Vending Machines' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "website", @@ -19981,7 +20214,7 @@ }, { "key": "contact:phone", - "description": "Layer 'veterinary' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Personal theme')" + "description": "Layer 'veterinary' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Personal theme')" }, { "key": "opening_hours", diff --git a/Docs/TagInfo/mapcomplete_pets.json b/Docs/TagInfo/mapcomplete_pets.json index bd3d816946..2979f32376 100644 --- a/Docs/TagInfo/mapcomplete_pets.json +++ b/Docs/TagInfo/mapcomplete_pets.json @@ -185,7 +185,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Dog friendly eateries' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" + "description": "Layer 'Dog friendly eateries' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, { "key": "payment:cash", @@ -1661,7 +1661,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Dog-friendly shops' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" + "description": "Layer 'Dog-friendly shops' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, { "key": "payment:cash", @@ -2109,7 +2109,7 @@ }, { "key": "contact:phone", - "description": "Layer 'veterinary' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" + "description": "Layer 'veterinary' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, { "key": "opening_hours", @@ -2167,7 +2167,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Animal shelters' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" + "description": "Layer 'Animal shelters' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_playgrounds.json b/Docs/TagInfo/mapcomplete_playgrounds.json index 0879fad555..e87c1ad580 100644 --- a/Docs/TagInfo/mapcomplete_playgrounds.json +++ b/Docs/TagInfo/mapcomplete_playgrounds.json @@ -35,6 +35,16 @@ "key": "wikipedia", "description": "The layer 'Playgrounds 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": "fee", + "description": "Layer 'Playgrounds' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Playgrounds' shows fee=yes with a fixed text, namely 'Paid playground' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "yes" + }, { "key": "surface", "description": "Layer 'Playgrounds' shows and asks freeform values for key 'surface' (in the mapcomplete.org theme 'Playgrounds')" @@ -715,6 +725,11 @@ "description": "Layer 'Picnic tables' shows material=plastic with a fixed text, namely 'This picnic table is made from (recycled) plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", "value": "plastic" }, + { + "key": "material", + "description": "Layer 'Picnic tables' shows material=metal with a fixed text, namely 'This picnic table is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "metal" + }, { "key": "amenity", "description": "The MapComplete theme Playgrounds has a layer Waste Basket showing features with this tag", diff --git a/Docs/TagInfo/mapcomplete_postboxes.json b/Docs/TagInfo/mapcomplete_postboxes.json index 0a1fe9273b..50439d2fa3 100644 --- a/Docs/TagInfo/mapcomplete_postboxes.json +++ b/Docs/TagInfo/mapcomplete_postboxes.json @@ -1229,7 +1229,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Postbox and Post Office Map')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_shops.json b/Docs/TagInfo/mapcomplete_shops.json index e512b0cde8..75d7db2221 100644 --- a/Docs/TagInfo/mapcomplete_shops.json +++ b/Docs/TagInfo/mapcomplete_shops.json @@ -931,7 +931,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Shops')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Shops')" }, { "key": "payment:cash", @@ -1400,7 +1400,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Shops')" + "description": "Layer 'Pharmacies' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Shops')" }, { "key": "email", @@ -1481,7 +1481,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Shops')" + "description": "Layer 'Ice cream parlors' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Shops')" }, { "key": "email", diff --git a/Docs/TagInfo/mapcomplete_ski.json b/Docs/TagInfo/mapcomplete_ski.json index 5e639cca35..0bcd856e29 100644 --- a/Docs/TagInfo/mapcomplete_ski.json +++ b/Docs/TagInfo/mapcomplete_ski.json @@ -978,7 +978,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Ski pistes and aerialways')" + "description": "Layer 'Restaurants and fast food' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Ski pistes and aerialways')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_sports.json b/Docs/TagInfo/mapcomplete_sports.json index 7ba373471a..9f1ccfb402 100644 --- a/Docs/TagInfo/mapcomplete_sports.json +++ b/Docs/TagInfo/mapcomplete_sports.json @@ -239,7 +239,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Fitness Centres' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Sports')" + "description": "Layer 'Fitness Centres' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Sports')" }, { "key": "email", @@ -536,7 +536,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Sports centres' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Sports')" + "description": "Layer 'Sports centres' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Sports')" }, { "key": "website", @@ -1490,7 +1490,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Sports')" + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Sports')" }, { "key": "payment:cash", diff --git a/Docs/TagInfo/mapcomplete_vending_machine.json b/Docs/TagInfo/mapcomplete_vending_machine.json index 85ce5ae7ec..5d59e58913 100644 --- a/Docs/TagInfo/mapcomplete_vending_machine.json +++ b/Docs/TagInfo/mapcomplete_vending_machine.json @@ -431,7 +431,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Vending Machines' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Vending Machines')" + "description": "Layer 'Vending Machines' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Vending Machines')" }, { "key": "website", diff --git a/Docs/TagInfo/mapcomplete_waste.json b/Docs/TagInfo/mapcomplete_waste.json index eb9acecc6c..dbdf6d5325 100644 --- a/Docs/TagInfo/mapcomplete_waste.json +++ b/Docs/TagInfo/mapcomplete_waste.json @@ -339,7 +339,7 @@ }, { "key": "contact:phone", - "description": "Layer 'Recycling' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Waste') (This is only shown if recycling_type=centre)" + "description": "Layer 'Recycling' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Waste') (This is only shown if recycling_type=centre)" }, { "key": "opening_hours", diff --git a/Docs/Themes/atm.md b/Docs/Themes/atm.md index 447025d022..5ed5abba3f 100644 --- a/Docs/Themes/atm.md +++ b/Docs/Themes/atm.md @@ -44,6 +44,7 @@ Available languages: + [images](#images) + [has_atm](#has_atm) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [delete-button](#delete-button) + [lod](#lod) - [Filters](#filters) @@ -64,6 +65,7 @@ Available languages: + [stamps](#stamps) + [has_atm](#has_atm) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) - [Filters](#filters) @@ -114,6 +116,11 @@ The question is `Does this bank have an ATM?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### delete-button _This tagrendering has no question and is thus read-only_ @@ -273,6 +280,11 @@ The question is `Does this post office have an ATM?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/campersite.md b/Docs/Themes/campersite.md index 2e9498a372..fd64a03aa5 100644 --- a/Docs/Themes/campersite.md +++ b/Docs/Themes/campersite.md @@ -8,8 +8,8 @@ The theme introduction reads: This theme contains the following layers: - - [caravansites (defined in this theme)](#caravansites) - - [dumpstations (defined in this theme)](#dumpstations) + - [caravansites](../Layers/caravansites.md) + - [dumpstations](../Layers/dumpstations.md) Available languages: @@ -31,304 +31,8 @@ Available languages: - eu - pl -# Table of contents - - - [Campersites ( campersite )](#campersites-(-campersite-)) -1. [Layers defined in this theme configuration file](#layers-defined-in-this-theme-configuration-file) -2. [caravansites](#caravansites) - - [Basic tags for this layer](#basic-tags-for-this-layer) - - [Supported attributes](#supported-attributes) - + [images](#images) - + [caravansites-name](#caravansites-name) - + [caravansites-fee](#caravansites-fee) - + [caravansites-charge](#caravansites-charge) - + [caravansites-sanitary-dump](#caravansites-sanitary-dump) - + [caravansites-capacity](#caravansites-capacity) - + [caravansites-internet](#caravansites-internet) - + [caravansites-internet-fee](#caravansites-internet-fee) - + [caravansites-toilets](#caravansites-toilets) - + [caravansites-website](#caravansites-website) - + [caravansites-long-term](#caravansites-long-term) - + [caravansites-description](#caravansites-description) - + [questions](#questions) - + [reviews](#reviews) - + [lod](#lod) - + [operator](#operator) - + [power_supply](#power_supply) -3. [dumpstations](#dumpstations) - - [Basic tags for this layer](#basic-tags-for-this-layer) - - [Supported attributes](#supported-attributes) - + [images](#images) - + [dumpstations-fee](#dumpstations-fee) - + [dumpstations-charge](#dumpstations-charge) - + [dumpstations-waterpoint](#dumpstations-waterpoint) - + [dumpstations-grey-water](#dumpstations-grey-water) - + [dumpstations-chemical-waste](#dumpstations-chemical-waste) - + [dumpstations-access](#dumpstations-access) - + [dumpstations-network](#dumpstations-network) - + [operator](#operator) - + [power_supply](#power_supply) - + [leftover-questions](#leftover-questions) - + [lod](#lod) - # Layers defined in this theme configuration file These layers can not be reused in different themes. -# caravansites - -camper sites - - - This layer is shown at zoomlevel **7** and higher - -No themes use this layer - -## Basic tags for this layer - -Elements must match **all** of the following expressions: - -0. tourism=caravan_site -1. permanent_camping!~^(only)$ - -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22tourism%22%3D%22caravan_site%22%5D%5B%22permanent_camping%22!~%22%5E%28only%29%24%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%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 | ------|-----|----- | -| [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | | -| [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) | -| [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | | -| [sanitary_dump_station](https://wiki.openstreetmap.org/wiki/Key:sanitary_dump_station) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station%3Dno) | -| [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | | -| [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) | -| [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) | -| [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) | -| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | | -| [permanent_camping](https://wiki.openstreetmap.org/wiki/Key:permanent_camping) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:permanent_camping%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:permanent_camping%3Dno) [only](https://wiki.openstreetmap.org/wiki/Tag:permanent_camping%3Donly) | -| [description](https://wiki.openstreetmap.org/wiki/Key:description) | [text](../SpecialInputElements.md#text) | | -| [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | | -| [power_supply](https://wiki.openstreetmap.org/wiki/Key:power_supply) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dno) | - -### images -This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images -_This tagrendering has no question and is thus read-only_ -*{image_carousel()}{image_upload()}* - -### caravansites-name - -The question is `What is this place called?` -*This place is called {name}* is shown if `name` is set - -### caravansites-fee - -The question is `Does this place charge a fee?` - - - *You need to pay for use* is shown if with fee=yes - - *Can be used for free* is shown if with fee=no - -### caravansites-charge - -The question is `How much does this place charge?` -*This place charges {charge}* is shown if `charge` is set - -This tagrendering is only visible in the popup if the following condition is met: fee=yes - -### caravansites-sanitary-dump - -The question is `Does this place have a sanitary dump station?` - - - *This place has a sanitary dump station* is shown if with sanitary_dump_station=yes - - *This place does not have a sanitary dump station* is shown if with sanitary_dump_station=no - -### caravansites-capacity - -The question is `How many campers can stay here? (skip if there is no obvious number of spaces or allowed vehicles)` -*{capacity} campers can use this place at the same time* is shown if `capacity` is set - -### caravansites-internet - -The question is `Does this place provide internet access?` - - - *There is internet access* is shown if with internet_access=yes - - *There is internet access* is shown if with internet_access=wifi | internet_access=wlan. _This option cannot be chosen as answer_ - - *There is no internet access* is shown if with internet_access=no - -### caravansites-internet-fee - -The question is `Do you have to pay for the internet access?` - - - *You need to pay extra for internet access* is shown if with internet_access:fee=yes - - *You do not need to pay extra for internet access* is shown if with internet_access:fee=no - -This tagrendering is only visible in the popup if the following condition is met: internet_access=yes - -### caravansites-toilets - -The question is `Does this place have toilets?` - - - *This place has toilets* is shown if with toilets=yes - - *This place does not have toilets* is shown if with toilets=no - -### caravansites-website - -The question is `Does this place have a website?` -*Official website: {website}* is shown if `website` is set - -### caravansites-long-term - -The question is `Does this place offer spots for long term rental?` - - - *There are some spots for long term rental, but you can also stay on a daily basis* is shown if with permanent_camping=yes - - *There are no permanent guests here* is shown if with permanent_camping=no - - *It is only possible to stay here if you have a long term contract (this place disappears from this map if you choose this)* is shown if with permanent_camping=only - -### caravansites-description - -The question is `Would you like to add a general description of this place? (Do not repeat information previously asked or shown above. Please keep it objective - opinions go into the reviews)` -*More details about this place: {description}* is shown if `description` is set - -### questions -Show the questions block at this location -_This tagrendering has no question and is thus read-only_ -*{questions()}* - -### reviews -Shows the reviews module (including the possibility to leave a review) -_This tagrendering has no question and is thus read-only_ -*{create_review()}{list_reviews()}* - -### lod - -_This tagrendering has no question and is thus read-only_ -*{linked_data_from_website()}* - -This tagrendering has labels -`added_by_default` - -### operator - -The question is `Who operates this place?` -*This place is operated by {operator}* is shown if `operator` is set - -### power_supply - -The question is `Does this place have a power supply?` - - - *This place has a power supply* is shown if with power_supply=yes - - *This place does not have power supply* is shown if with power_supply=no - -# dumpstations - -Sanitary dump stations - - - This layer is shown at zoomlevel **7** and higher - -No themes use this layer - -## Basic tags for this layer - -Elements must match **all** of the following expressions: - -0. amenity=sanitary_dump_station -1. vehicle!~^(no)$ - -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22sanitary_dump_station%22%5D%5B%22vehicle%22!~%22%5E%28no%29%24%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%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 | ------|-----|----- | -| [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) | -| [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | | -| [water_point](https://wiki.openstreetmap.org/wiki/Key:water_point) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:water_point%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:water_point%3Dno) | -| [sanitary_dump_station:grey_water](https://wiki.openstreetmap.org/wiki/Key:sanitary_dump_station:grey_water) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station:grey_water%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station:grey_water%3Dno) | -| [sanitary_dump_station:chemical_toilet](https://wiki.openstreetmap.org/wiki/Key:sanitary_dump_station:chemical_toilet) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station:chemical_toilet%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:sanitary_dump_station:chemical_toilet%3Dno) | -| [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [network](https://wiki.openstreetmap.org/wiki/Tag:access%3Dnetwork) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) | -| [network](https://wiki.openstreetmap.org/wiki/Key:network) | [string](../SpecialInputElements.md#string) | | -| [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | | -| [power_supply](https://wiki.openstreetmap.org/wiki/Key:power_supply) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:power_supply%3Dno) | - -### images -This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images -_This tagrendering has no question and is thus read-only_ -*{image_carousel()}{image_upload()}* - -### dumpstations-fee - -The question is `Does this place charge a fee?` - - - *You need to pay for use* is shown if with fee=yes - - *Can be used for free* is shown if with fee=no - -### dumpstations-charge - -The question is `How much does this place charge?` -*This place charges {charge}* is shown if `charge` is set - -This tagrendering is only visible in the popup if the following condition is met: fee=yes - -### dumpstations-waterpoint - -The question is `Does this place have a water point?` - - - *This place has a water point* is shown if with water_point=yes - - *This place does not have a water point* is shown if with water_point=no - -### dumpstations-grey-water - -The question is `Can you dispose of grey water here?` - - - *You can dispose of grey water here* is shown if with sanitary_dump_station:grey_water=yes - - *You cannot dispose of gray water here* is shown if with sanitary_dump_station:grey_water=no - -### dumpstations-chemical-waste - -The question is `Can you dispose of chemical toilet waste here?` - - - *You can dispose of chemical toilet waste here* is shown if with sanitary_dump_station:chemical_toilet=yes - - *You cannot dispose of chemical toilet waste here* is shown if with sanitary_dump_station:chemical_toilet=no - -### dumpstations-access - -The question is `Who can use this dump station?` - - - *You need a network key/code to use this* is shown if with access=network - - *You need to be a customer of camping/campersite to use this place* is shown if with access=customers - - *Anyone can use this dump station* is shown if with access=public. _This option cannot be chosen as answer_ - - *Anyone can use this dump station* is shown if with access=yes - -### dumpstations-network - -The question is `What network is this place a part of? (skip if none)` -*This station is part of network {network}* is shown if `network` is set - -### operator - -The question is `Who operates this place?` -*This place is operated by {operator}* is shown if `operator` is set - -### power_supply - -The question is `Does this place have a power supply?` - - - *This place has a power supply* is shown if with power_supply=yes - - *This place does not have power supply* is shown if with power_supply=no - -### leftover-questions - -_This tagrendering has no question and is thus read-only_ -*{questions( ,)}* - -### lod - -_This tagrendering has no question and is thus read-only_ -*{linked_data_from_website()}* - -This tagrendering has labels -`added_by_default` This document is autogenerated from [assets/themes/campersite/campersite.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/campersite/campersite.json) diff --git a/Docs/Themes/circular_economy.md b/Docs/Themes/circular_economy.md index dbbf573f0b..fed726d17b 100644 --- a/Docs/Themes/circular_economy.md +++ b/Docs/Themes/circular_economy.md @@ -20,6 +20,7 @@ Available languages: - en - es + - de # Table of contents @@ -82,7 +83,7 @@ This layer is based on [shops](../Layers/shops.md) A shop - - This layer is shown at zoomlevel **10** and higher + - This layer is shown at zoomlevel **6** and higher No themes use this layer @@ -369,9 +370,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/climbing.md b/Docs/Themes/climbing.md index 97b87e6a20..e3931f108b 100644 --- a/Docs/Themes/climbing.md +++ b/Docs/Themes/climbing.md @@ -395,9 +395,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/cyclofix.md b/Docs/Themes/cyclofix.md index 487e813703..d255065fce 100644 --- a/Docs/Themes/cyclofix.md +++ b/Docs/Themes/cyclofix.md @@ -4,10 +4,11 @@ _This document details some technical information about this MapComplete theme, mostly about the attributes used in the theme. Various links point toward more information about the attributes, e.g. to the OpenStreetMap-wiki, to TagInfo or tools creating statistics_ The theme introduction reads: -> The goal of this map is to present cyclists with an easy-to-use solution to find the appropriate infrastructure for their needs.You can track your precise location (mobile only) and select layers that are relevant for you in the bottom left corner. You can also use this tool to add or edit pins (points of interest) to the map and provide more data by answering the questions.All changes you make will automatically be saved in the global database of OpenStreetMap and can be freely re-used by others.For more information about the cyclofix project, go to cyclofix.osm.be. +> A map for cyclists to find the appropriate infrastructure for their needs, such as bicycle pumps, drinking water, bicycle shops, repair stations or parkings. This theme contains the following layers: + - [bicycle_assisted_repair_workshop (defined in this theme)](#bicycle_assisted_repair_workshop) - [bike_cafe](../Layers/bike_cafe.md) - [bike_shop](../Layers/bike_shop.md) - [bike_repair_station](../Layers/bike_repair_station.md) @@ -47,7 +48,25 @@ Available languages: - [Cyclofix - a map for cyclists ( cyclofix )](#cyclofix---a-map-for-cyclists-(-cyclofix-)) 1. [Layers defined in this theme configuration file](#layers-defined-in-this-theme-configuration-file) -2. [bicycle_rental_non_docking](#bicycle_rental_non_docking) +2. [bicycle_assisted_repair_workshop](#bicycle_assisted_repair_workshop) + - [Basic tags for this layer](#basic-tags-for-this-layer) + - [Supported attributes](#supported-attributes) + + [images](#images) + + [preset_description](#preset_description) + + [name](#name) + + [opening_hours_by_appointment](#opening_hours_by_appointment) + + [Opening hours](#opening-hours) + + [phone](#phone) + + [email](#email) + + [website](#website) + + [mastodon](#mastodon) + + [facebook](#facebook) + + [item:repair](#itemrepair) + + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + + [delete-button](#delete-button) + + [lod](#lod) +3. [bicycle_rental_non_docking](#bicycle_rental_non_docking) - [Basic tags for this layer](#basic-tags-for-this-layer) - [Supported attributes](#supported-attributes) + [images](#images) @@ -71,7 +90,7 @@ Available languages: + [move-button](#move-button) + [delete-button](#delete-button) + [lod](#lod) -3. [charging_station_ebikes](#charging_station_ebikes) +4. [charging_station_ebikes](#charging_station_ebikes) - [Basic tags for this layer](#basic-tags-for-this-layer) - [Supported attributes](#supported-attributes) + [images](#images) @@ -187,7 +206,7 @@ Available languages: + [move-button](#move-button) + [delete-button](#delete-button) + [lod](#lod) -4. [vending_machine_bicycle](#vending_machine_bicycle) +5. [vending_machine_bicycle](#vending_machine_bicycle) - [Basic tags for this layer](#basic-tags-for-this-layer) - [Supported attributes](#supported-attributes) + [images](#images) @@ -216,6 +235,137 @@ Available languages: # Layers defined in this theme configuration file These layers can not be reused in different themes. +# bicycle_assisted_repair_workshop + +This layer is based on [assisted_repair](../Layers/assisted_repair.md) + +A self-assisted workshop is a location where people can come and repair their goods with help of volunteers and with the tools available at the given location. A repair café is a type of event organized regularly along the same principles. + + - This layer is shown at zoomlevel **11** and higher + +No themes use this layer + +## Basic tags for this layer + +Elements must match **all** of the following expressions: + +0. repair=assisted_self_service +1. bicycle:repair=yes | service:bicycle:repair=yes + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22repair%22%3D%22assisted_self_service%22%5D%5B%22bicycle%3Arepair%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22repair%22%3D%22assisted_self_service%22%5D%5B%22service%3Abicycle%3Arepair%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%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 | +-----|-----|----- | +| [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | | +| [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | ["by appointment"](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment") | +| [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | | +| [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | | +| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | | +| [contact:mastodon](https://wiki.openstreetmap.org/wiki/Key:contact:mastodon) | [fediverse](../SpecialInputElements.md#fediverse) | | +| [contact:facebook](https://wiki.openstreetmap.org/wiki/Key:contact:facebook) | [url](../SpecialInputElements.md#url) | | + +### images +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images +_This tagrendering has no question and is thus read-only_ +*{image_carousel()}{image_upload()}* + +### preset_description + +_This tagrendering has no question and is thus read-only_ +*{preset_description()}* + +### name + +The question is `What is the name of this repair workshop?` +*This workshop is called {name}* is shown if `name` is set + +### opening_hours_by_appointment + +The question is `What are the opening hours of {title()}?` +*

Opening hours

{opening_hours_table(opening_hours)}* is shown if `opening_hours` is set + + - *Only by appointment* is shown if with opening_hours="by appointment" + - *Only by appointment* is shown if with opening_hours~^("by appointment"|by appointment)$. _This option cannot be chosen as answer_ + - *Marked as closed for an unspecified time* is shown if with opening_hours=closed. _This option cannot be chosen as answer_ + +### phone + +The question is `What is the phone number of {title()}?` +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set + + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### email + +The question is `What is the email address of {title()}?` +*{email}* is shown if `email` is set + + - *{contact:email}* is shown if with contact:email~.+. _This option cannot be chosen as answer_ + - *{operator:email}* is shown if with operator:email~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### website + +The question is `What is the website of {title()}?` +*{website}* is shown if `website` is set + + - *{contact:website}* is shown if with contact:website~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### mastodon +Shows and asks for the mastodon handle +The question is `What is the Mastodon-handle of {title()}?` +*{fediverse_link(contact:mastodon)}* is shown if `contact:mastodon` is set + +### facebook +Shows and asks for the facebook handle +The question is `What is the facebook page of of {title()}?` +*{link(Facebook page,&LBRACEcontact:facebook&RBRACE,,,,)}
Facebook is known to harm mental health, manipulate public opinion and cause hate. Try to use healthier alternatives
* is shown if `contact:facebook` is set + +### item:repair + +The question is `What type of items are repaired here?` + + - *Mobile phones are repaired here* is shown if with service:mobile_phone:repair=yes. Unselecting this answer will add service:mobile_phone:repair=no + - *Computers are repaired here* is shown if with service:computer:repair=yes. Unselecting this answer will add service:computer:repair=no + - *Bicycles are repaired here* is shown if with service:bicycle:repair=yes. Unselecting this answer will add service:bicycle:repair=no + - *Electronic devices are repaired here* is shown if with service:electronics:repair=yes. Unselecting this answer will add service:electronics:repair=no + - *Furniture is repaired here* is shown if with service:furniture:repair=yes. Unselecting this answer will add service:furniture:repair=no + - *Clothes are repaired here* is shown if with service:clothes:repair=yes. Unselecting this answer will add service:clothes:repair=no + +### leftover-questions + +_This tagrendering has no question and is thus read-only_ +*{questions( ,)}* + +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + +### delete-button + +_This tagrendering has no question and is thus read-only_ +*{delete_button()}* + +### lod + +_This tagrendering has no question and is thus read-only_ +*{linked_data_from_website()}* + +This tagrendering has labels +`added_by_default` # bicycle_rental_non_docking This layer is based on [bicycle_rental](../Layers/bicycle_rental.md) @@ -296,9 +446,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -1867,9 +2017,9 @@ The question is `Is this vending machine indoors?` ### phone The question is `What is the phone number of the operator of this vending machine?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/fritures.md b/Docs/Themes/fritures.md index 96034e85ba..62b761a19d 100644 --- a/Docs/Themes/fritures.md +++ b/Docs/Themes/fritures.md @@ -187,9 +187,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/ghostsigns.md b/Docs/Themes/ghostsigns.md index 10543a609b..251634962b 100644 --- a/Docs/Themes/ghostsigns.md +++ b/Docs/Themes/ghostsigns.md @@ -17,6 +17,7 @@ Available languages: - en - de + - es # Table of contents @@ -104,7 +105,7 @@ Elements must match **all** of the following expressions: | attribute | type | values which are supported by this layer | -----|-----|----- | | [historic](https://wiki.openstreetmap.org/wiki/Key:historic) | Multiple choice | [advertising](https://wiki.openstreetmap.org/wiki/Tag:historic%3Dadvertising) [](https://wiki.openstreetmap.org/wiki/Tag:historic%3D) | -| [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [string](../SpecialInputElements.md#string) | | +| [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [text](../SpecialInputElements.md#text) | | | [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | | ### historic diff --git a/Docs/Themes/glutenfree.md b/Docs/Themes/glutenfree.md index be1dfb742a..d7964a160c 100644 --- a/Docs/Themes/glutenfree.md +++ b/Docs/Themes/glutenfree.md @@ -20,6 +20,7 @@ Available languages: - en - de - it + - es # Table of contents @@ -89,6 +90,7 @@ Available languages: + [payment-options](#payment-options) + [wheelchair-access](#wheelchair-access) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) 4. [shops_glutenfree](#shops_glutenfree) - [Basic tags for this layer](#basic-tags-for-this-layer) @@ -265,9 +267,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -704,9 +706,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -790,6 +792,11 @@ The question is `Is this place accessible with a wheelchair?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ @@ -1104,9 +1111,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/healthcare.md b/Docs/Themes/healthcare.md index 6a41f25c0a..54b1857fa1 100644 --- a/Docs/Themes/healthcare.md +++ b/Docs/Themes/healthcare.md @@ -383,9 +383,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/items_with_image.md b/Docs/Themes/items_with_image.md index d966c806e9..53e071424a 100644 --- a/Docs/Themes/items_with_image.md +++ b/Docs/Themes/items_with_image.md @@ -14,6 +14,7 @@ Available languages: - en - de + - es # Layers defined in this theme configuration file These layers can not be reused in different themes. diff --git a/Docs/Themes/kerbs_and_crossings.md b/Docs/Themes/kerbs_and_crossings.md index 3acf1a9641..7c6d657582 100644 --- a/Docs/Themes/kerbs_and_crossings.md +++ b/Docs/Themes/kerbs_and_crossings.md @@ -47,6 +47,7 @@ Available languages: + [crossing-right-turn-through-red](#crossing-right-turn-through-red) + [crossing-continue-through-red](#crossing-continue-through-red) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) - [Filters](#filters) @@ -212,6 +213,11 @@ This tagrendering is only visible in the popup if the following condition is met _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/lactosefree.md b/Docs/Themes/lactosefree.md index 7f3e88e504..2d44ebcca3 100644 --- a/Docs/Themes/lactosefree.md +++ b/Docs/Themes/lactosefree.md @@ -18,6 +18,8 @@ This theme contains the following layers: Available languages: - en + - de + - es # Table of contents @@ -87,6 +89,7 @@ Available languages: + [payment-options](#payment-options) + [wheelchair-access](#wheelchair-access) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) 4. [shops_lactosefree](#shops_lactosefree) - [Basic tags for this layer](#basic-tags-for-this-layer) @@ -263,9 +266,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -702,9 +705,9 @@ The question is `What are the opening hours of {title()}?` ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -788,6 +791,11 @@ The question is `Is this place accessible with a wheelchair?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ @@ -1102,9 +1110,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/mapcomplete-changes.md b/Docs/Themes/mapcomplete-changes.md index 14414047c4..ab0bae224c 100644 --- a/Docs/Themes/mapcomplete-changes.md +++ b/Docs/Themes/mapcomplete-changes.md @@ -14,6 +14,7 @@ This theme contains the following layers: Available languages: - en + - de # Table of contents diff --git a/Docs/Themes/onwheels.md b/Docs/Themes/onwheels.md index f182847d25..2185f6c7d0 100644 --- a/Docs/Themes/onwheels.md +++ b/Docs/Themes/onwheels.md @@ -54,6 +54,7 @@ Available languages: + [images](#images) + [_stolen_entrances](#_stolen_entrances) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) # Layers defined in this theme configuration file @@ -91,6 +92,11 @@ _This tagrendering has no question and is thus read-only_ _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/openlovemap.md b/Docs/Themes/openlovemap.md index d064b06347..c2e95fe39a 100644 --- a/Docs/Themes/openlovemap.md +++ b/Docs/Themes/openlovemap.md @@ -120,6 +120,7 @@ Available languages: + [Opening hours](#opening-hours) + [has_video_booth](#has_video_booth) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) - [Filters](#filters) @@ -416,9 +417,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -1005,9 +1006,9 @@ The question is `Is this vending machine indoors?` ### phone The question is `What is the phone number of the operator of this vending machine?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -1141,9 +1142,9 @@ _This tagrendering has no question and is thus read-only_ ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -1195,6 +1196,11 @@ The question is `Does {title()} have a private video booth?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/personal.md b/Docs/Themes/personal.md index c1b6db497c..a4b9caa4f1 100644 --- a/Docs/Themes/personal.md +++ b/Docs/Themes/personal.md @@ -32,6 +32,7 @@ This theme contains the following layers: - [binocular](../Layers/binocular.md) - [birdhide](../Layers/birdhide.md) - [cafe_pub](../Layers/cafe_pub.md) + - [caravansites](../Layers/caravansites.md) - [charging_station](../Layers/charging_station.md) - [climbing_area](../Layers/climbing_area.md) - [climbing_club](../Layers/climbing_club.md) @@ -48,6 +49,7 @@ This theme contains the following layers: - [doctors](../Layers/doctors.md) - [dogpark](../Layers/dogpark.md) - [drinking_water](../Layers/drinking_water.md) + - [dumpstations](../Layers/dumpstations.md) - [elevator](../Layers/elevator.md) - [elongated_coin](../Layers/elongated_coin.md) - [entrance](../Layers/entrance.md) diff --git a/Docs/Themes/pets.md b/Docs/Themes/pets.md index 61c4cf94f0..5fdb66472a 100644 --- a/Docs/Themes/pets.md +++ b/Docs/Themes/pets.md @@ -243,9 +243,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` @@ -913,9 +913,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/rainbow_crossings.md b/Docs/Themes/rainbow_crossings.md index c47b46cd8c..805f581a08 100644 --- a/Docs/Themes/rainbow_crossings.md +++ b/Docs/Themes/rainbow_crossings.md @@ -36,6 +36,7 @@ Available languages: + [images](#images) + [crossing-with-rainbow](#crossing-with-rainbow) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) # Layers defined in this theme configuration file @@ -77,6 +78,11 @@ The question is `Does this crossing has rainbow paintings?` _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/sports.md b/Docs/Themes/sports.md index 47405e2490..2857cb9d55 100644 --- a/Docs/Themes/sports.md +++ b/Docs/Themes/sports.md @@ -375,9 +375,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/stations.md b/Docs/Themes/stations.md index 1559c57f7e..0e359324c2 100644 --- a/Docs/Themes/stations.md +++ b/Docs/Themes/stations.md @@ -62,6 +62,7 @@ Available languages: + [repeated](#repeated) + [single_level](#single_level) + [leftover-questions](#leftover-questions) + + [move-button](#move-button) + [lod](#lod) # Layers defined in this theme configuration file @@ -155,6 +156,11 @@ This tagrendering has labels _This tagrendering has no question and is thus read-only_ *{questions( ,)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/toerisme_vlaanderen.md b/Docs/Themes/toerisme_vlaanderen.md index 4711c27d8b..3f9c117fca 100644 --- a/Docs/Themes/toerisme_vlaanderen.md +++ b/Docs/Themes/toerisme_vlaanderen.md @@ -1492,9 +1492,9 @@ This tagrendering has labels ### phone The question is `What is the phone number of {title()}?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/Themes/uk_addresses.md b/Docs/Themes/uk_addresses.md index 476b582440..cbcc1e35be 100644 --- a/Docs/Themes/uk_addresses.md +++ b/Docs/Themes/uk_addresses.md @@ -48,6 +48,7 @@ Available languages: + [uk_addresses_parentstreet](#uk_addresses_parentstreet) + [fixme](#fixme) + [address-sign-image](#address-sign-image) + + [move-button](#move-button) + [lod](#lod) # Layers defined in this theme configuration file @@ -290,6 +291,11 @@ The question is `Please explain what the address is so that someone else can loo _This tagrendering has no question and is thus read-only_ *{image_carousel(image:address)}
{image_upload(image:address, Too complex? Add a photo of the address)}* +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + ### lod _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Themes/vending_machine.md b/Docs/Themes/vending_machine.md index bf82236d3a..282a0f08ca 100644 --- a/Docs/Themes/vending_machine.md +++ b/Docs/Themes/vending_machine.md @@ -251,9 +251,9 @@ The question is `Is this vending machine indoors?` ### phone The question is `What is the phone number of the operator of this vending machine?` -*{phone}* is shown if `phone` is set +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set - - *{contact:phone}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ This tagrendering has labels `contact` diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md index 38cf89abf3..65e1e63da2 100644 --- a/Docs/URL_Parameters.md +++ b/Docs/URL_Parameters.md @@ -67,15 +67,11 @@ The URL-hash can contain multiple values: - The currently opened menu view -- The base64-encoded JSON-file specifying a custom theme (only when loading) - ### Possible hashes to open a menu The possible hashes are: -`menu:about`,`menu:settings`,`menu:favourites`,`menu:community`,`menu:privacy`,`menu:advanced` - -`theme-menu:intro`,`theme-menu:download`,`theme-menu:copyright`,`theme-menu:share` +`copyright`,`copyright_icons`,`community_index`,`hotkeys`,`privacy`,`filter`,`background`,`about_theme`,`download`,`favourites`,`usersettings`,`share`,`menu` ## language diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index b1b61962ff..62abfa16ee 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -14,7 +14,7 @@ |name= [https://mapcomplete.org/cyclofix cyclofix] |region= Worldwide |lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:gl|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:ca|en}}, {{#language:pl|en}} -|descr= A MapComplete theme: The goal of this map is to present cyclists with an easy-to-use solution to find the appropriate infrastructure for their needs +|descr= A MapComplete theme: A map for cyclists to find the appropriate infrastructure for their needs, such as bicycle pumps, drinking water, bicycle shops, repair stations or parkings |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png |genre= POI, editor, cyclofix @@ -211,7 +211,7 @@ {{service_item |name= [https://mapcomplete.org/circular_economy circular_economy] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:es|en}} +|lang= {{#language:en|en}}, {{#language:es|en}}, {{#language:de|en}} |descr= A MapComplete theme: Various items which help people to share, reuse or recycle |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png @@ -337,7 +337,7 @@ {{service_item |name= [https://mapcomplete.org/glutenfree glutenfree] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:it|en}} +|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:it|en}}, {{#language:es|en}} |descr= A MapComplete theme: A crowdsourced map with glutenfree items |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png @@ -411,7 +411,7 @@ The position of a signpost can be used by a hiker/biker/rider/s… {{service_item |name= [https://mapcomplete.org/lactosefree lactosefree] |region= Worldwide -|lang= {{#language:en|en}} +|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}} |descr= A MapComplete theme: A crowdsourced map with lactose free shops and restaurants |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 132a6710ec..1d5bccb6d7 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -5,13 +5,7 @@ "nl": "Oplaadpunten", "de": "Ladestationen" }, - "description": { - "en": "A charging station", - "nl": "Oplaadpunten", - "ca": "Una estació de càrrega", - "de": "Eine Ladestation", - "fr": "Une station de recharge" - }, + "minzoom": 10, "source": { "osmTags": { "and": [ @@ -26,7 +20,6 @@ ] } }, - "minzoom": 10, "title": { "render": { "en": "Charging station", @@ -72,109 +65,14 @@ } ] }, - "pointRendering": [ - { - "location": [ - "point", - "centroid" - ], - "marker": [ - { - "icon": "pin", - "color": "#fff" - }, - { - "icon": { - "render": "./assets/themes/charging_stations/plug.svg", - "mappings": [ - { - "if": "bicycle=yes", - "then": "./assets/themes/charging_stations/bicycle.svg" - }, - { - "if": { - "or": [ - "car=yes", - "motorcar=yes" - ] - }, - "then": "./assets/themes/charging_stations/car.svg" - } - ] - } - } - ], - "iconBadges": [ - { - "if": { - "or": [ - "disused:amenity=charging_station", - "operational_status=broken" - ] - }, - "then": "close:#c22;" - }, - { - "if": { - "or": [ - "proposed:amenity=charging_station", - "planned:amenity=charging_station" - ] - }, - "then": "./assets/layers/charging_station/under_construction.svg" - }, - { - "if": { - "and": [ - "bicycle=yes", - { - "or": [ - "motorcar=yes", - "car=yes" - ] - } - ] - }, - "then": "circle:#fff;./assets/themes/charging_stations/car.svg" - } - ], - "anchor": "bottom", - "iconSize": "50,50" - } - ], - "lineRendering": [ - { - "color": "black", - "width": 2, - "fillColor": "#80808080" - } - ], - "presets": [ - { - "tags": [ - "amenity=charging_station", - "motorcar=no", - "bicycle=yes" - ], - "title": { - "en": "charging station for electrical bikes", - "nl": "oplaadpunt voor elektrische fietsen", - "de": "Ladestation für Elektrofahrräder" - } - }, - { - "tags": [ - "amenity=charging_station", - "motorcar=yes", - "bicycle=no" - ], - "title": { - "en": "charging station for cars", - "nl": "oplaadstation voor elektrische auto's", - "de": "Ladestation für Autos" - } - } - ], + "description": { + "en": "A charging station", + "nl": "Oplaadpunten", + "ca": "Una estació de càrrega", + "de": "Eine Ladestation", + "fr": "Une station de recharge" + }, + "#": "no-question-hint-check", "tagRenderings": [ "images", { @@ -2880,6 +2778,109 @@ } } ], + "lineRendering": [ + { + "color": "black", + "width": 2, + "fillColor": "#80808080" + } + ], + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "pin", + "color": "#fff" + }, + { + "icon": { + "render": "./assets/themes/charging_stations/plug.svg", + "mappings": [ + { + "if": "bicycle=yes", + "then": "./assets/themes/charging_stations/bicycle.svg" + }, + { + "if": { + "or": [ + "car=yes", + "motorcar=yes" + ] + }, + "then": "./assets/themes/charging_stations/car.svg" + } + ] + } + } + ], + "iconBadges": [ + { + "if": { + "or": [ + "disused:amenity=charging_station", + "operational_status=broken" + ] + }, + "then": "close:#c22;" + }, + { + "if": { + "or": [ + "proposed:amenity=charging_station", + "planned:amenity=charging_station" + ] + }, + "then": "./assets/layers/charging_station/under_construction.svg" + }, + { + "if": { + "and": [ + "bicycle=yes", + { + "or": [ + "motorcar=yes", + "car=yes" + ] + } + ] + }, + "then": "circle:#fff;./assets/themes/charging_stations/car.svg" + } + ], + "anchor": "bottom", + "iconSize": "50,50" + } + ], + "presets": [ + { + "tags": [ + "amenity=charging_station", + "motorcar=no", + "bicycle=yes" + ], + "title": { + "en": "charging station for electrical bikes", + "nl": "oplaadpunt voor elektrische fietsen", + "de": "Ladestation für Elektrofahrräder" + } + }, + { + "tags": [ + "amenity=charging_station", + "motorcar=yes", + "bicycle=no" + ], + "title": { + "en": "charging station for cars", + "nl": "oplaadstation voor elektrische auto's", + "de": "Ladestation für Autos" + } + } + ], "filter": [ { "id": "vehicle-type", @@ -3127,19 +3128,6 @@ ] } ], - "deletion": { - "softDeletionTags": { - "and": [ - "amenity=", - "disused:amenity=charging_station" - ] - }, - "neededChangesets": 10 - }, - "allowMove": { - "enableRelocation": false, - "enableImproveAccuracy": true - }, "units": [ { "maxstay": { @@ -3334,5 +3322,17 @@ } } ], - "#": "no-question-hint-check" -} + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + }, + "deletion": { + "softDeletionTags": { + "and": [ + "amenity=", + "disused:amenity=charging_station" + ] + }, + "neededChangesets": 10 + } +} \ No newline at end of file diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index ac8e738f66..7873f6b663 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -1,16 +1,13 @@ { "id": "mapcomplete-changes", "title": { - "en": "Changes made with MapComplete", - "de": "Änderungen mit MapComplete vorgenommen" - }, - "description": { - "en": "This maps shows all the changes made with MapComplete", - "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen" + "en": "Changes made with MapComplete" }, "shortDescription": { - "en": "Shows changes made by MapComplete", - "de": "Änderungen von MapComplete anzeigen" + "en": "Shows changes made by MapComplete" + }, + "description": { + "en": "This maps shows all the changes made with MapComplete" }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, @@ -21,8 +18,7 @@ { "id": "mapcomplete-changes", "name": { - "en": "Changeset centers", - "de": "Zentrum der Änderungssätze" + "en": "Changeset centers" }, "minzoom": 0, "source": { @@ -32,48 +28,41 @@ }, "title": { "render": { - "en": "Changeset for {theme}", - "de": "Änderungssatz für {theme}" + "en": "Changeset for {theme}" } }, "description": { - "en": "Shows all MapComplete changes", - "de": "Zeigt alle MapComplete-Änderungen" + "en": "Shows all MapComplete changes" }, "tagRenderings": [ { "id": "show_changeset_id", "render": { - "en": "Changeset {id}", - "de": "Änderungssatz {id}" + "en": "Changeset {id}" } }, { "id": "contributor", "question": { - "en": "What contributor did make this change?", - "de": "Wer hat diese Änderung vorgenommen?" + "en": "What contributor did make this change?" }, "freeform": { "key": "user" }, "render": { - "en": "Change made by {user}", - "de": "Änderung von {user}" + "en": "Change made by {user}" } }, { "id": "theme-id", "question": { - "en": "What theme was used to make this change?", - "de": "Welches Thema wurde für die Änderung verwendet?" + "en": "What theme was used to make this change?" }, "freeform": { "key": "theme" }, "render": { - "en": "Change with theme {theme}", - "de": "Änderung mit Thema {theme}" + "en": "Change with theme {theme}" } }, { @@ -82,23 +71,19 @@ "key": "locale" }, "question": { - "en": "What locale (language) was this change made in?", - "de": "In welcher Benutzersprache wurde die Änderung vorgenommen?" + "en": "What locale (language) was this change made in?" }, "render": { - "en": "User locale is {locale}", - "de": "Benutzersprache ist {locale}" + "en": "User locale is {locale}" } }, { "id": "host", "render": { - "en": "Change with with {host}", - "de": "Änderung mit {host}" + "en": "Change with with {host}" }, "question": { - "en": "What host (website) was this change made with?", - "de": "Mit welchem Host (Website) wurde diese Änderung vorgenommen?" + "en": "What host (website) was this change made with?" }, "freeform": { "key": "host" @@ -119,12 +104,10 @@ { "id": "version", "question": { - "en": "What version of MapComplete was used to make this change?", - "de": "Welche Version von MapComplete wurde für diese Änderung verwendet?" + "en": "What version of MapComplete was used to make this change?" }, "render": { - "en": "Made with {editor}", - "de": "Erstellt mit {editor}" + "en": "Made with {editor}" }, "freeform": { "key": "editor" @@ -522,8 +505,7 @@ } ], "question": { - "en": "Themename contains {search}", - "de": "Themename enthält {search}" + "en": "Themename contains {search}" } } ] @@ -539,8 +521,7 @@ } ], "question": { - "en": "Themename does not contain {search}", - "de": "Themenname enthält nicht {search}" + "en": "Themename does not contain {search}" } } ] @@ -556,8 +537,7 @@ } ], "question": { - "en": "Made by contributor {search}", - "de": "Der Name enthält nicht {search}" + "en": "Made by contributor {search}" } } ] @@ -573,8 +553,7 @@ } ], "question": { - "en": "Not made by contributor {search}", - "de": "Nicht erstellt von Mitwirkendem {search}" + "en": "Not made by contributor {search}" } } ] @@ -591,8 +570,7 @@ } ], "question": { - "en": "Made before {search}", - "de": "Erstellt nach {search}" + "en": "Made before {search}" } } ] @@ -609,8 +587,7 @@ } ], "question": { - "en": "Made after {search}", - "de": "Erstellt nach {search}" + "en": "Made after {search}" } } ] @@ -626,8 +603,7 @@ } ], "question": { - "en": "User language (iso-code) {search}", - "de": "Benutzersprache (ISO-Code) {search}" + "en": "User language (iso-code) {search}" } } ] @@ -643,8 +619,7 @@ } ], "question": { - "en": "Made with host {search}", - "de": "Erstellt mit Host {search}" + "en": "Made with host {search}" } } ] @@ -655,8 +630,7 @@ { "osmTags": "add-image>0", "question": { - "en": "Changeset added at least one image", - "de": "Änderungssatz fügte mindestens ein Bild hinzu" + "en": "Changeset added at least one image" } } ] @@ -667,8 +641,7 @@ { "osmTags": "theme!=grb", "question": { - "en": "Exclude GRB theme", - "de": "GRB-Thema ausschließen" + "en": "Exclude GRB theme" } } ] @@ -679,8 +652,7 @@ { "osmTags": "theme!=etymology", "question": { - "en": "Exclude etymology theme", - "de": "Etymologie-Thema ausschließen" + "en": "Exclude etymology theme" } } ] @@ -695,8 +667,7 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here", - "de": "Weitere Statistiken findest du hier" + "en": "More statistics can be found here" } }, { @@ -730,4 +701,4 @@ } } ] -} +} \ No newline at end of file diff --git a/assets/themes/postal_codes/postal_codes.json b/assets/themes/postal_codes/postal_codes.json index 2cfbeda0ff..5d61e4b37f 100644 --- a/assets/themes/postal_codes/postal_codes.json +++ b/assets/themes/postal_codes/postal_codes.json @@ -166,7 +166,6 @@ } ], "allowMove": false - }, { "id": "town_hall", diff --git a/assets/themes/street_lighting/street_lighting.json b/assets/themes/street_lighting/street_lighting.json index 970246e677..b752665758 100644 --- a/assets/themes/street_lighting/street_lighting.json +++ b/assets/themes/street_lighting/street_lighting.json @@ -370,7 +370,6 @@ } ], "allowMove": false - } ] } diff --git a/assets/themes/uk_addresses/uk_addresses.json b/assets/themes/uk_addresses/uk_addresses.json index 52ea313136..85959a8e2a 100644 --- a/assets/themes/uk_addresses/uk_addresses.json +++ b/assets/themes/uk_addresses/uk_addresses.json @@ -686,7 +686,6 @@ "enableImproveAccuraccy": true, "enableRelocation": false } - }, "named_streets" ], diff --git a/langs/ca.json b/langs/ca.json index 4919654993..99d23e4cc5 100644 --- a/langs/ca.json +++ b/langs/ca.json @@ -688,4 +688,4 @@ "description": "Un identificador de Wikidata" } } -} +} \ No newline at end of file diff --git a/langs/cs.json b/langs/cs.json index a91a5d27dc..d38abdca46 100644 --- a/langs/cs.json +++ b/langs/cs.json @@ -810,4 +810,4 @@ "description": "A Wikidata identifikátor" } } -} +} \ No newline at end of file diff --git a/langs/da.json b/langs/da.json index 6f144dfc91..a5e17c221a 100644 --- a/langs/da.json +++ b/langs/da.json @@ -588,4 +588,4 @@ "description": "En Wikidata identifier" } } -} +} \ No newline at end of file diff --git a/langs/de.json b/langs/de.json index f717e34946..f0b76e258b 100644 --- a/langs/de.json +++ b/langs/de.json @@ -857,4 +857,4 @@ "startsWithQ": "Ein Wikidata-Identifikator beginnt mit Q und wird von einer Zahl gefolgt" } } -} +} \ No newline at end of file diff --git a/langs/en.json b/langs/en.json index 5d63dff61d..4b289fa431 100644 --- a/langs/en.json +++ b/langs/en.json @@ -414,8 +414,8 @@ "fsGeolocation": "Enable geolocation", "fsUserbadge": "Enable the login button and thus the possibility to make changes", "fsWelcomeMessage": "Show the welcome message popup and associated tabs", - "openInOtherApplications": "Open the current location with another map application", "intro": "Share this map by copying the link below and sending it to friends and family:", + "openInOtherApplications": "Open the current location with another map application", "openLayers": "Open the layers and filters menu", "options": "Sharing options", "stateIsIncluded": "The current state of the layers and filters is included in the shared link and iframe.", @@ -864,4 +864,4 @@ "startsWithQ": "A wikidata identifier starts with Q and is followed by a number" } } -} +} \ No newline at end of file diff --git a/langs/es.json b/langs/es.json index 04a5f4949d..91bd244315 100644 --- a/langs/es.json +++ b/langs/es.json @@ -555,4 +555,4 @@ "description": "Un identificador de Wikidata" } } -} +} \ No newline at end of file diff --git a/langs/fr.json b/langs/fr.json index c041a4d7e8..e3d6e3b193 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -551,4 +551,4 @@ "feedback": "Ceci n'est pas une adresse web valide" } } -} +} \ No newline at end of file diff --git a/langs/gl.json b/langs/gl.json index 45f11dbcb7..cdcb7bd7df 100644 --- a/langs/gl.json +++ b/langs/gl.json @@ -146,4 +146,4 @@ "title_singular": "Unha recensión", "write_a_comment": "Deixa unha recensión…" } -} +} \ No newline at end of file diff --git a/langs/hu.json b/langs/hu.json index e6a6a2cc74..94287046ce 100644 --- a/langs/hu.json +++ b/langs/hu.json @@ -312,4 +312,4 @@ "split": "Szétvágás", "splitTitle": "Válaszd ki a térképen, hogy az út hol legyen elvágva" } -} +} \ No newline at end of file diff --git a/langs/it.json b/langs/it.json index 4560f7eb0a..fecd93e449 100644 --- a/langs/it.json +++ b/langs/it.json @@ -531,4 +531,4 @@ "feedback": "Questo non è un numero di telefono valido" } } -} +} \ No newline at end of file diff --git a/langs/ja.json b/langs/ja.json index c3a8dad503..0823819fef 100644 --- a/langs/ja.json +++ b/langs/ja.json @@ -149,4 +149,4 @@ "tos": "レビューを作成する場合は、Mangrove.reviewsのTOSおよびプライバシーポリシーに同意します。", "write_a_comment": "レビューを残す…" } -} +} \ No newline at end of file diff --git a/langs/nb_NO.json b/langs/nb_NO.json index 4c85f65056..1b8b9c9143 100644 --- a/langs/nb_NO.json +++ b/langs/nb_NO.json @@ -488,4 +488,4 @@ "description": "En Wikidata-identifikator" } } -} +} \ No newline at end of file diff --git a/langs/nl.json b/langs/nl.json index 446cca0f25..d409d25029 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -716,4 +716,4 @@ "description": "Een Wikidata-code" } } -} +} \ No newline at end of file diff --git a/langs/pl.json b/langs/pl.json index 43f0c90333..eaabe52bfb 100644 --- a/langs/pl.json +++ b/langs/pl.json @@ -668,4 +668,4 @@ "description": "Identyfikator Wikidanych" } } -} +} \ No newline at end of file diff --git a/langs/pt.json b/langs/pt.json index 6572135ae4..01d2beba7b 100644 --- a/langs/pt.json +++ b/langs/pt.json @@ -830,4 +830,4 @@ "startsWithQ": "Um identificador wikidata começa por Q e é seguido de um número" } } -} +} \ No newline at end of file diff --git a/langs/pt_BR.json b/langs/pt_BR.json index 40e3e369bd..d847a272cc 100644 --- a/langs/pt_BR.json +++ b/langs/pt_BR.json @@ -170,4 +170,4 @@ "tos": "Se você criar um comentário, você concorda com o TOS e a política de privacidade de Mangrove.reviews ", "write_a_comment": "Deixe um comentário…" } -} +} \ No newline at end of file diff --git a/langs/ru.json b/langs/ru.json index 1772a6f687..5084c19593 100644 --- a/langs/ru.json +++ b/langs/ru.json @@ -202,4 +202,4 @@ "description": "Идентификатор Wikidata" } } -} +} \ No newline at end of file diff --git a/langs/zh_Hant.json b/langs/zh_Hant.json index c8a747652c..2027183fcc 100644 --- a/langs/zh_Hant.json +++ b/langs/zh_Hant.json @@ -848,4 +848,4 @@ "startsWithQ": "維基數據編號以 Q 開頭後面接數字" } } -} +} \ No newline at end of file diff --git a/scripts/generateDocs.ts b/scripts/generateDocs.ts index a34db92372..2daa8ff26a 100644 --- a/scripts/generateDocs.ts +++ b/scripts/generateDocs.ts @@ -55,15 +55,15 @@ class ToSlideshowJson { sections.push(currentSection) currentSection = [] } - line = line.replace("src=\"../../public/", "src=\"./") - line = line.replace("src=\"../../", "src=\"./") + line = line.replace('src="../../public/', 'src="./') + line = line.replace('src="../../', 'src="./') currentSection.push(line) } sections.push(currentSection) writeFileSync( this._target, JSON.stringify({ - sections: sections.map((s) => s.join("\n")).filter((s) => s.length > 0) + sections: sections.map((s) => s.join("\n")).filter((s) => s.length > 0), }) ) } @@ -82,7 +82,7 @@ class WikiPageGenerator { generate() { let wikiPage = - "{|class=\"wikitable sortable\"\n" + + '{|class="wikitable sortable"\n' + "! Name, link !! Genre !! Covered region !! Language !! Description !! Free materials !! Image\n" + "|-" @@ -140,7 +140,7 @@ export class GenerateDocs extends Script { } this.WriteMarkdownFile("./Docs/Tags_format.md", TagUtils.generateDocs(), [ - "src/Logic/Tags/TagUtils.ts" + "src/Logic/Tags/TagUtils.ts", ]) new ToSlideshowJson( @@ -166,7 +166,7 @@ export class GenerateDocs extends Script { }) this.WriteMarkdownFile("./Docs/SpecialRenderings.md", SpecialVisualizations.HelpMessage(), [ - "src/UI/SpecialVisualizations.ts" + "src/UI/SpecialVisualizations.ts", ]) this.WriteMarkdownFile( "./Docs/CalculatedTags.md", @@ -174,29 +174,31 @@ export class GenerateDocs extends Script { ["src/Logic/SimpleMetaTagger.ts", "src/Logic/ExtraFunctions.ts"] ) this.WriteMarkdownFile("./Docs/SpecialInputElements.md", Validators.HelpText(), [ - "src/UI/InputElement/Validators.ts" + "src/UI/InputElement/Validators.ts", ]) this.WriteMarkdownFile("./Docs/ChangesetMeta.md", Changes.getDocs(), [ "src/Logic/Osm/Changes.ts", - "src/Logic/Osm/ChangesetHandler.ts" + "src/Logic/Osm/ChangesetHandler.ts", ]) const eli = await AvailableRasterLayers.editorLayerIndex() - this.WriteMarkdownFile("./Docs/ELI-overview.md", + this.WriteMarkdownFile( + "./Docs/ELI-overview.md", [ "# Layers in the Editor Layer Index", "This table gives a summary of ids, names and other metainformation. [See the online, interactive map here](https://osmlab.github.io/editor-layer-index/) or [visit the repository](https://github.com/osmlab/editor-layer-index)", MarkdownUtils.table( ["id", "name", "category", "Best", "attribution"], - eli.map(f => [f.properties.id, f.properties.name, f.properties.category, f.properties.best ? "⭐" : "", - f.properties.attribution?.html ?? f.properties.attribution?.text + eli.map((f) => [ + f.properties.id, + f.properties.name, + f.properties.category, + f.properties.best ? "⭐" : "", + f.properties.attribution?.html ?? f.properties.attribution?.text, ]) - ) - - ].join("\n\n"), [ - "./public/assets/data/editor-layer-index.json" - - ] + ), + ].join("\n\n"), + ["./public/assets/data/editor-layer-index.json"] ) new WikiPageGenerator().generate() @@ -244,7 +246,7 @@ export class GenerateDocs extends Script { "This document is autogenerated from", autogenSource .map((s) => `[${s}](https://github.com/pietervdvn/MapComplete/blob/develop/${s})`) - .join(", ") + .join(", "), ].join(" ") writeFileSync(filename, warnAutomated + md + "\n\n" + generatedFrom + "\n") @@ -253,7 +255,7 @@ export class GenerateDocs extends Script { private generateHotkeyDocs() { new ThemeViewState(new LayoutConfig(bookcases), new Set()) this.WriteMarkdownFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), [ - "src/UI/Base/Hotkeys.ts" + "src/UI/Base/Hotkeys.ts", ]) } @@ -287,7 +289,7 @@ export class GenerateDocs extends Script { } this.WriteMarkdownFile("./Docs/builtin_units.md", ["# Units", ...els].join("\n\n"), [ - `assets/layers/unit/unit.json` + `assets/layers/unit/unit.json`, ]) } @@ -468,7 +470,7 @@ export class GenerateDocs extends Script { theme.title, "(", `[${theme.id}](https://mapcomplete.org/${theme.id})`, - ")" + ")", ].join(" "), "_This document details some technical information about this MapComplete theme, mostly about the attributes used in the theme. Various links point toward more information about the attributes, e.g. to the OpenStreetMap-wiki, to TagInfo or tools creating statistics_", @@ -488,7 +490,7 @@ export class GenerateDocs extends Script { MarkdownUtils.list(theme.language.filter((ln) => ln !== "_context")), "# Layers defined in this theme configuration file", "These layers can not be reused in different themes.", - ...layersToInline.map((l) => l.GenerateDocumentation(null)) + ...layersToInline.map((l) => l.GenerateDocumentation(null)), ].join("\n") this.WriteMarkdownFile( "./Docs/Themes/" + theme.id + ".md", @@ -568,10 +570,10 @@ export class GenerateDocs extends Script { Array.from(AllSharedLayers.sharedLayers.keys()).map( (id) => `[${id}](./Layers/${id}.md)` ) - ) + ), ].join("\n\n") this.WriteMarkdownFile("./Docs/BuiltinLayers.md", el, [ - "src/Customizations/AllKnownLayouts.ts" + "src/Customizations/AllKnownLayouts.ts", ]) } } diff --git a/scripts/generateSunnyUnlabeled.ts b/scripts/generateSunnyUnlabeled.ts index 7ce93f17ca..51ca4c1a67 100644 --- a/scripts/generateSunnyUnlabeled.ts +++ b/scripts/generateSunnyUnlabeled.ts @@ -7,17 +7,15 @@ export class GenerateSunnyUnlabeled extends Script { super("Generates 'sunny-unlabeled.json' based on sunny.json") } - generateUnlabeled() { const unlabeled = { "#": "AUTOMATICALLY GENERATED! Do not edit.", ...sunny } unlabeled.name = unlabeled.name + "-unlabeled" unlabeled.layers = sunny.layers.filter( - (l) => l.type !== "symbol" || !l.layout["text-field"], + (l) => l.type !== "symbol" || !l.layout["text-field"] ) writeFileSync("public/assets/sunny-unlabeled.json", JSON.stringify(unlabeled, null, " ")) } - async main(args: string[]): Promise { this.generateUnlabeled() } diff --git a/scripts/generateTranslations.ts b/scripts/generateTranslations.ts index c6ee72d841..8521188c93 100644 --- a/scripts/generateTranslations.ts +++ b/scripts/generateTranslations.ts @@ -52,10 +52,10 @@ class TranslationPart { if (typeof v != "string") { console.error( `Non-string object at ${context} in translation while trying to add the translation ` + - JSON.stringify(v) + - ` to '` + - translationsKey + - "'. The offending object which _should_ be a translation is: ", + JSON.stringify(v) + + ` to '` + + translationsKey + + "'. The offending object which _should_ be a translation is: ", v, "\n\nThe current object is (only showing en):", this.toJson(), @@ -94,9 +94,9 @@ class TranslationPart { if (noTranslate !== undefined) { console.log( "Ignoring some translations for " + - context + - ": " + - dontTranslateKeys.join(", ") + context + + ": " + + dontTranslateKeys.join(", ") ) } } @@ -150,7 +150,7 @@ class TranslationPart { this.contents.set(key, new TranslationPart()) } - (this.contents.get(key) as TranslationPart).recursiveAdd(v, context + "." + key) + ;(this.contents.get(key) as TranslationPart).recursiveAdd(v, context + "." + key) } } @@ -179,7 +179,7 @@ class TranslationPart { let value = this.contents.get(key) if (typeof value === "string") { - value = value.replace(/"/g, "\\\"").replace(/\n/g, "\\n") + value = value.replace(/"/g, '\\"').replace(/\n/g, "\\n") if (neededLanguage === undefined) { parts.push(`"${key}": "${value}"`) } else if (key === neededLanguage) { @@ -229,7 +229,7 @@ class TranslationPart { } else if (!isLeaf) { errors.push({ error: "Mixed node: non-leaf node has translation strings", - path: path + path: path, }) } @@ -280,7 +280,7 @@ class TranslationPart { value + "\n" + fixLink, - path: path + path: path, }) } return @@ -292,7 +292,7 @@ class TranslationPart { error: `The translation for ${key} does not have the required subpart ${part} (in ${usedByLanguage}). \tThe full translation is ${value} \t${fixLink}`, - path: path + path: path, }) } } @@ -329,7 +329,6 @@ class TranslationPart { } } - /** * Converts a translation object into something that can be added to the 'generated translations'. * @@ -373,9 +372,7 @@ function transformTranslation( )}.${key}\n\tThe translations in other languages are ${JSON.stringify(value)}` } const subParts: string[] = value["en"].match(/{[^}]*}/g) - let expr = `new Translation(${JSON.stringify(value)}, "core:${path.join( - "." - )}.${key}")` + let expr = `new Translation(${JSON.stringify(value)}, "core:${path.join(".")}.${key}")` if (subParts !== null) { // convert '{to_substitute}' into 'to_substitute' const types = Utils.Dedup(subParts.map((tp) => tp.substring(1, tp.length - 1))) @@ -393,7 +390,6 @@ function transformTranslation( } if (shortNotation) { values.push(`${spaces} ${key}: ${expr}`) - } else { values.push(`${spaces}get ${key}() { return ${expr} }`) } @@ -423,26 +419,29 @@ function stringifySorted(o: object, space: string = undefined, depth = 0): strin const keys = Object.keys(o) let obj = "{" - obj += keys.sort().map(key => { - const v = o[key] - let r = "" - if (space !== undefined) { - r += "\n" - for (let i = 0; i <= depth; i++) { - r += space + obj += keys + .sort() + .map((key) => { + const v = o[key] + let r = "" + if (space !== undefined) { + r += "\n" + for (let i = 0; i <= depth; i++) { + r += space + } } - } - r += JSON.stringify("" + key) + ": " - if (typeof v === "object") { - r += stringifySorted(v, space, depth + 1) - } else if (Array.isArray(v)) { - r += "[" + v.map(v_ => stringifySorted(v_, space, depth + 1)).join(",") + "]" - } else { - r += JSON.stringify(v) - } - return r - }).join(",") + r += JSON.stringify("" + key) + ": " + if (typeof v === "object") { + r += stringifySorted(v, space, depth + 1) + } else if (Array.isArray(v)) { + r += "[" + v.map((v_) => stringifySorted(v_, space, depth + 1)).join(",") + "]" + } else { + r += JSON.stringify(v) + } + return r + }) + .join(",") if (space !== undefined) { obj += "\n" for (let i = 0; i < depth; i++) { @@ -477,7 +476,6 @@ function formatFile(path) { writeFileSync(path, contents) } - /** * Reads 'lang/*.json', writes them into to 'assets/generated/translations.json'. * This is only for the core translations @@ -662,7 +660,9 @@ function removeNonEnglishTranslations(object: any) { leaf["en"] = en }, (possibleLeaf) => - possibleLeaf !== null && typeof possibleLeaf === "object" && GenerateTranslations.isTranslation(possibleLeaf) + possibleLeaf !== null && + typeof possibleLeaf === "object" && + GenerateTranslations.isTranslation(possibleLeaf) ) } @@ -738,7 +738,6 @@ class GenerateTranslations extends Script { } } - /** * Generates the big compiledTranslations file based on 'translations.json' */ @@ -749,7 +748,12 @@ class GenerateTranslations extends Script { const translations = JSON.parse( fs.readFileSync("./src/assets/generated/translations.json", "utf-8") ) - const transformed = transformTranslation(translations, undefined, englishOnly ? ["en"] : undefined, englishOnly) + const transformed = transformTranslation( + translations, + undefined, + englishOnly ? ["en"] : undefined, + englishOnly + ) let module = `import {Translation, TypedTranslation} from "../../UI/i18n/Translation"\n\nexport default class CompiledTranslations {\n\n` module += " public static t = " + transformed diff --git a/scripts/handleErrors.ts b/scripts/handleErrors.ts index afde25d7bb..8247e11755 100644 --- a/scripts/handleErrors.ts +++ b/scripts/handleErrors.ts @@ -31,12 +31,18 @@ class HandleErrors extends Script { private readonly ignoreUsers = new Set([]) - private async handleError(parsed: ErrorMessage, changesObj: Changes, downloader: OsmObjectDownloader, createdChangesets: Set, refusedFiles: Set) { + private async handleError( + parsed: ErrorMessage, + changesObj: Changes, + downloader: OsmObjectDownloader, + createdChangesets: Set, + refusedFiles: Set + ) { console.log( parsed.message.username, parsed.message.layout, parsed.message.message, - parsed.date, + parsed.date ) const e = parsed.message @@ -48,12 +54,11 @@ class HandleErrors extends Script { }>( neededIds.map(async (id) => { try { - const osmObj = await downloader.DownloadObjectAsync(id) - return ({ + return { id, osmObj, - }) + } } catch (e) { console.error("COULD NOT DOWNLOAD OBJECT", id) return { @@ -61,7 +66,7 @@ class HandleErrors extends Script { osmObj: "deleted", } } - }), + }) ) const objects = osmObjects @@ -77,8 +82,7 @@ class HandleErrors extends Script { } = changesObj.CreateChangesetObjects(toUpload, objects, true) const changeset = Changes.buildChangesetXML("", changes) - const path = - "error_changeset_" + parsed.index + "_" + e.layout + "_" + e.username + ".osc" + const path = "error_changeset_" + parsed.index + "_" + e.layout + "_" + e.username + ".osc" if ( changeset === `` @@ -130,7 +134,7 @@ ${changeset}` osmConnection, }, false, - (err) => console.error(err), + (err) => console.error(err) ) const all: ErrorMessage[] = [] @@ -152,7 +156,7 @@ ${changeset}` console.log( "\t https://osm.org/" + pendingChange.type + "/" + pendingChange.id, pendingChange.meta.changeType, - pendingChange.doDelete ? "DELETE" : "", + pendingChange.doDelete ? "DELETE" : "" ) } all.push(parsed) @@ -163,10 +167,20 @@ ${changeset}` for (const parsed of all) { try { - await this.handleError(parsed, changesObj, downloader, createdChangesets, refusedFiles) + await this.handleError( + parsed, + changesObj, + downloader, + createdChangesets, + refusedFiles + ) } catch (e) { console.error("ERROR: could not handle ", parsed, " due to", e) - writeFileSync("ERRORS."+parsed.index, "ERROR: due to " + e + ": could not handle\n" + JSON.stringify(parsed), "utf8") + writeFileSync( + "ERRORS." + parsed.index, + "ERROR: due to " + e + ": could not handle\n" + JSON.stringify(parsed), + "utf8" + ) } } } diff --git a/src/Logic/Actors/PreferredRasterLayerSelector.ts b/src/Logic/Actors/PreferredRasterLayerSelector.ts index 25af44345b..98d71211bc 100644 --- a/src/Logic/Actors/PreferredRasterLayerSelector.ts +++ b/src/Logic/Actors/PreferredRasterLayerSelector.ts @@ -64,9 +64,9 @@ export class PreferredRasterLayerSelector { */ private async updateLayer() { // What is the ID of the layer we have to (try to) load? - const targetLayerId = ( - (this._queryParameter.data ?? this._preferredBackgroundLayer.data)?.toLowerCase() - )?.toLowerCase() + const targetLayerId = (this._queryParameter.data ?? this._preferredBackgroundLayer.data) + ?.toLowerCase() + ?.toLowerCase() if (targetLayerId === undefined || targetLayerId === "default") { return } @@ -78,7 +78,7 @@ export class PreferredRasterLayerSelector { return } await AvailableRasterLayers.editorLayerIndex() - const isCategory = (eliCategory).indexOf( targetLayerId) >= 0 + const isCategory = eliCategory.indexOf(targetLayerId) >= 0 const available = this._availableLayers.store.data const foundLayer = isCategory ? available.find((l) => l.properties.category === targetLayerId) diff --git a/src/Logic/FeatureSource/Sources/OverpassFeatureSource.ts b/src/Logic/FeatureSource/Sources/OverpassFeatureSource.ts index 29b441068f..7872d67bc3 100644 --- a/src/Logic/FeatureSource/Sources/OverpassFeatureSource.ts +++ b/src/Logic/FeatureSource/Sources/OverpassFeatureSource.ts @@ -50,17 +50,20 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource { options?: { padToTiles?: Store isActive?: Store - }, + } ) { this.state = state this._isActive = options?.isActive ?? new ImmutableStore(true) this.padToZoomLevel = options?.padToTiles const self = this - this._layersToDownload = state.zoom.map(zoom => this.layersToDownload(zoom)) + this._layersToDownload = state.zoom.map((zoom) => this.layersToDownload(zoom)) - state.bounds.mapD((_) => { - self.updateAsyncIfNeeded() - }, [this._layersToDownload]) + state.bounds.mapD( + (_) => { + self.updateAsyncIfNeeded() + }, + [this._layersToDownload] + ) } private layersToDownload(zoom: number): LayerConfig[] { @@ -82,7 +85,7 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource { // This is a special layer. Should not have been here console.warn( "OverpassFeatureSource received a layer for which the source is null:", - layer.id, + layer.id ) continue } @@ -116,7 +119,7 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource { throw "Panic: overpassFeatureSource didn't receive any overpassUrls" } // Note: the bounds are updated between attempts, in case that the user zoomed around - let bounds : BBox + let bounds: BBox do { try { bounds = this.state.bounds.data @@ -165,10 +168,16 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource { const end = new Date() const timeNeeded = (end.getTime() - start.getTime()) / 1000 - console.log("Overpass returned", data.features.length, "features in", timeNeeded, "seconds") + console.log( + "Overpass returned", + data.features.length, + "features in", + timeNeeded, + "seconds" + ) self.features.setData(data.features) this._lastQueryBBox = bounds - this._lastRequestedLayers= layersToDownload + this._lastRequestedLayers = layersToDownload } catch (e) { console.error("Got the overpass response, but could not process it: ", e, e.stack) } finally { diff --git a/src/Logic/Osm/Changes.ts b/src/Logic/Osm/Changes.ts index f7ece74bfc..03b971b832 100644 --- a/src/Logic/Osm/Changes.ts +++ b/src/Logic/Osm/Changes.ts @@ -53,7 +53,7 @@ export class Changes { featureSwitches?: FeatureSwitchState }, leftRightSensitive: boolean = false, - reportError?: (string: string | Error, extramessage?: string) => void, + reportError?: (string: string | Error, extramessage?: string) => void ) { this._leftRightSensitive = leftRightSensitive // We keep track of all changes just as well @@ -68,7 +68,7 @@ export class Changes { state.osmConnection, state.featurePropertiesStore, this, - (e, extramessage: string) => this._reportError(e, extramessage), + (e, extramessage: string) => this._reportError(e, extramessage) ) this.historicalUserLocations = state.historicalUserLocations @@ -82,7 +82,7 @@ export class Changes { modifiedObjects: OsmObject[] newObjects: OsmObject[] deletedObjects: OsmObject[] - }, + } ): string { const changedElements = allChanges.modifiedObjects ?? [] const newElements = allChanges.newObjects ?? [] @@ -172,7 +172,7 @@ export class Changes { docs: "The identifier of the used background layer, this will probably be an identifier from the [editor layer index](https://github.com/osmlab/editor-layer-index)", }, ], - "default", + "default" ), ...addSource(ChangeTagAction.metatags, "ChangeTag"), ...addSource(ChangeLocationAction.metatags, "ChangeLocation"), @@ -201,7 +201,7 @@ export class Changes { : "", ].join("\n"), source, - ]), + ]) ), ].join("\n\n") } @@ -217,7 +217,11 @@ export class Changes { // See #2082. We check for previous rewritings, as a remapping might be from a previous session do { this._nextId-- - } while (this._changesetHandler._remappings.has("node/" + this._nextId) || this._changesetHandler._remappings.has("way/" + this._nextId) || this._changesetHandler._remappings.has("relation/" + this._nextId)) + } while ( + this._changesetHandler._remappings.has("node/" + this._nextId) || + this._changesetHandler._remappings.has("way/" + this._nextId) || + this._changesetHandler._remappings.has("relation/" + this._nextId) + ) return this._nextId } @@ -254,7 +258,7 @@ export class Changes { const changeDescriptions = await action.Perform(this) const remapped = ChangeDescriptionTools.rewriteAllIds( changeDescriptions, - this._changesetHandler._remappings, + this._changesetHandler._remappings ) remapped[0].meta.distanceToObject = this.calculateDistanceToChanges(action, remapped) @@ -319,7 +323,7 @@ export class Changes { } if (change.changes === undefined) { // This object is a change to a newly created object. However, we have not seen the creation changedescription yet! - if(ignoreNoCreate){ + if (ignoreNoCreate) { continue } throw "Not a creation of the object: " + JSON.stringify(change) @@ -462,7 +466,7 @@ export class Changes { result.modifiedObjects.length, "modified;", result.deletedObjects.length, - "deleted", + "deleted" ) } return result @@ -470,7 +474,7 @@ export class Changes { private calculateDistanceToChanges( change: OsmChangeAction, - changeDescriptions: ChangeDescription[], + changeDescriptions: ChangeDescription[] ) { const locations = this.historicalUserLocations?.features?.data if (locations === undefined) { @@ -490,7 +494,7 @@ export class Changes { .filter((feat) => feat.geometry.type === "Point") .filter((feat) => { const visitTime = new Date( - ((feat.properties)).date, + ((feat.properties)).date ) // In seconds const diff = (now.getTime() - visitTime.getTime()) / 1000 @@ -537,9 +541,9 @@ export class Changes { ...recentLocationPoints.map((gpsPoint) => { const otherCoor = GeoOperations.centerpointCoordinates(gpsPoint) return GeoOperations.distanceBetween(coor, otherCoor) - }), - ), - ), + }) + ) + ) ) } @@ -575,7 +579,7 @@ export class Changes { public fragmentChanges( pending: ChangeDescription[], - objects: OsmObject[], + objects: OsmObject[] ): { refused: ChangeDescription[] toUpload: ChangeDescription[] @@ -585,7 +589,7 @@ export class Changes { // All ids which have an 'update' const createdIds = new Set( - pending.filter((cd) => cd.changes !== undefined).map((cd) => cd.id), + pending.filter((cd) => cd.changes !== undefined).map((cd) => cd.id) ) pending.forEach((c) => { if (c.id < 0) { @@ -594,7 +598,7 @@ export class Changes { } else { this._reportError( `Got an orphaned change. The 'creation'-change description for ${c.type}/${c.id} got lost. Permanently dropping this change:` + - JSON.stringify(c), + JSON.stringify(c) ) } return @@ -605,10 +609,10 @@ export class Changes { } else { console.log( "Refusing change about " + - c.type + - "/" + - c.id + - " as not in the objects. No internet?", + c.type + + "/" + + c.id + + " as not in the objects. No internet?" ) refused.push(c) } @@ -623,16 +627,18 @@ export class Changes { */ private async flushSelectChanges( pending: ChangeDescription[], - openChangeset: UIEventSource, + openChangeset: UIEventSource ): Promise { const neededIds = Changes.GetNeededIds(pending) /* Download the latest version of the OSM-objects - * We _do not_ pass in the Changes object itself - we want the data from OSM directly in order to apply the changes - */ + * We _do not_ pass in the Changes object itself - we want the data from OSM directly in order to apply the changes + */ const downloader = new OsmObjectDownloader(this.backend, undefined) - const osmObjects = Utils.NoNull(await Promise.all<{ id: string; osmObj: OsmObject | "deleted" }>( - neededIds.map((id) => this.getOsmObject(id, downloader)), - )) + const osmObjects = Utils.NoNull( + await Promise.all<{ id: string; osmObj: OsmObject | "deleted" }>( + neededIds.map((id) => this.getOsmObject(id, downloader)) + ) + ) // Drop changes to deleted items for (const { osmObj, id } of osmObjects) { @@ -665,7 +671,7 @@ export class Changes { (csId, remappings) => { if (remappings.size > 0) { toUpload = toUpload.map((ch) => - ChangeDescriptionTools.rewriteIds(ch, remappings), + ChangeDescriptionTools.rewriteIds(ch, remappings) ) } @@ -678,7 +684,7 @@ export class Changes { return Changes.buildChangesetXML("" + csId, changes) }, metatags, - openChangeset, + openChangeset ) console.log("Upload successful! Refused changes are", refused) @@ -695,15 +701,15 @@ export class Changes { pending .filter( (descr) => - descr.meta.changeType !== undefined && descr.meta.changeType !== null, + descr.meta.changeType !== undefined && descr.meta.changeType !== null ) - .map((descr) => descr.meta.changeType), + .map((descr) => descr.meta.changeType) ), ([key, count]) => ({ key: key, value: count, aggregate: true, - }), + }) ) const motivations = pending .filter((descr) => descr.meta.specialMotivation !== undefined) @@ -742,7 +748,7 @@ export class Changes { value: count, aggregate: true, } - }), + }) ) // This method is only called with changedescriptions for this theme @@ -788,14 +794,14 @@ export class Changes { try { const openChangeset = UIEventSource.asInt( this.state.osmConnection.GetPreference( - "current-open-changeset-" + theme, - ), + "current-open-changeset-" + theme + ) ) console.log( "Using current-open-changeset-" + - theme + - " from the preferences, got " + - openChangeset.data, + theme + + " from the preferences, got " + + openChangeset.data ) const refused = await self.flushSelectChanges(pendingChanges, openChangeset) @@ -810,7 +816,7 @@ export class Changes { this.errors.ping() return pendingChanges } - }), + }) ) // We keep all the refused changes to try them again @@ -818,7 +824,7 @@ export class Changes { } catch (e) { console.error( "Could not handle changes - probably an old, pending changeset in localstorage with an invalid format; erasing those", - e, + e ) this.errors.data.push(e) this.errors.ping() diff --git a/src/Logic/Osm/ChangesetHandler.ts b/src/Logic/Osm/ChangesetHandler.ts index 90e87e1ef6..3701468175 100644 --- a/src/Logic/Osm/ChangesetHandler.ts +++ b/src/Logic/Osm/ChangesetHandler.ts @@ -21,8 +21,11 @@ export type ChangesetMetadata = { uid: number user: string changes_count: number - tags: Record, - minlat: number, minlon: number, maxlat: number, maxlon: number + tags: Record + minlat: number + minlon: number + maxlat: number + maxlon: number comments_count: number } @@ -49,7 +52,7 @@ export class ChangesetHandler { | { addAlias: (id0: string, id1: string) => void } | undefined, changes: Changes, - reportError: (e: string | Error, extramessage: string) => void, + reportError: (e: string | Error, extramessage: string) => void ) { this.osmConnection = osmConnection this._reportError = reportError @@ -107,27 +110,27 @@ export class ChangesetHandler { return hasChange } - private async UploadWithNew(generateChangeXML: (csid: number, remappings: Map) => string, openChangeset: UIEventSource, extraMetaTags: ChangesetTag[]) { + private async UploadWithNew( + generateChangeXML: (csid: number, remappings: Map) => string, + openChangeset: UIEventSource, + extraMetaTags: ChangesetTag[] + ) { const csId = await this.OpenChangeset(extraMetaTags) openChangeset.setData(csId) const changeset = generateChangeXML(csId, this._remappings) console.log( "Opened a new changeset (openChangeset.data is undefined):", changeset, - extraMetaTags, + extraMetaTags ) const changes = await this.UploadChange(csId, changeset) - const hasSpecialMotivationChanges = ChangesetHandler.rewriteMetaTags( - extraMetaTags, - changes, - ) + const hasSpecialMotivationChanges = ChangesetHandler.rewriteMetaTags(extraMetaTags, changes) if (hasSpecialMotivationChanges) { // At this point, 'extraMetaTags' will have changed - we need to set the tags again await this.UpdateTags(csId, extraMetaTags) } } - /** * The full logic to upload a change to one or more elements. * @@ -141,7 +144,7 @@ export class ChangesetHandler { public async UploadChangeset( generateChangeXML: (csid: number, remappings: Map) => string, extraMetaTags: ChangesetTag[], - openChangeset: UIEventSource, + openChangeset: UIEventSource ): Promise { if ( !extraMetaTags.some((tag) => tag.key === "comment") || @@ -174,30 +177,30 @@ export class ChangesetHandler { // We can hopefully reuse the changeset try { - const rewritings = await this.UploadChange( csId, - generateChangeXML(csId, this._remappings), + generateChangeXML(csId, this._remappings) ) const rewrittenTags = this.RewriteTagsOf( extraMetaTags, rewritings, - oldChangesetMeta, + oldChangesetMeta ) await this.UpdateTags(csId, rewrittenTags) return // We are done! } catch (e) { this._reportError(e, "While reusing a changeset " + openChangeset.data) } - } } catch (e) { - this._reportError(e, "While getting metadata from a changeset " + openChangeset.data) + this._reportError( + e, + "While getting metadata from a changeset " + openChangeset.data + ) } } - // We have to open a new changeset try { return await this.UploadWithNew(generateChangeXML, openChangeset, extraMetaTags) @@ -212,7 +215,7 @@ export class ChangesetHandler { console.warn( "Could not open/upload changeset due to ", e, - "trying again with a another fresh changeset ", + "trying again with a another fresh changeset " ) openChangeset.setData(undefined) @@ -238,7 +241,7 @@ export class ChangesetHandler { uid: number // User ID changes_count: number tags: any - }, + } ): ChangesetTag[] { // Note: extraMetaTags is where all the tags are collected into @@ -375,7 +378,7 @@ export class ChangesetHandler { tag.key !== undefined && tag.value !== undefined && tag.key !== "" && - tag.value !== "", + tag.value !== "" ) const metadata = tags.map((kv) => ``) const content = [``, metadata, ``].join("") @@ -415,7 +418,7 @@ export class ChangesetHandler { const csId = await this.osmConnection.put( "changeset/create", [``, metadata, ``].join(""), - { "Content-Type": "text/xml" }, + { "Content-Type": "text/xml" } ) return Number(csId) } @@ -425,12 +428,12 @@ export class ChangesetHandler { */ private async UploadChange( changesetId: number, - changesetXML: string, + changesetXML: string ): Promise> { const response = await this.osmConnection.post( "changeset/" + changesetId + "/upload", changesetXML, - { "Content-Type": "text/xml" }, + { "Content-Type": "text/xml" } ) const changes = this.parseUploadChangesetResponse(response) console.log("Uploaded changeset ", changesetId) diff --git a/src/Logic/State/FeatureSwitchState.ts b/src/Logic/State/FeatureSwitchState.ts index 2b4ccf8c89..ad3d0458cd 100644 --- a/src/Logic/State/FeatureSwitchState.ts +++ b/src/Logic/State/FeatureSwitchState.ts @@ -81,7 +81,7 @@ export default class FeatureSwitchState extends OsmConnectionFeatureSwitches { const legacyRewrite: Record = { "fs-userbadge": "fs-enable-login", - "fs-layers": ["fs-filter", "fs-background"] + "fs-layers": ["fs-filter", "fs-background"], } for (const key in legacyRewrite) { @@ -251,17 +251,20 @@ export default class FeatureSwitchState extends OsmConnectionFeatureSwitches { this.backgroundLayerId = QueryParameters.GetQueryParameter( "background", layoutToUse?.defaultBackgroundId, - ["When set, load this raster layer (or a layer of this category) as background layer instead of using the default background. This is as if the user opened the background selection menu and selected the layer with the given id or category.", + [ + "When set, load this raster layer (or a layer of this category) as background layer instead of using the default background. This is as if the user opened the background selection menu and selected the layer with the given id or category.", "Most raster layers are based on the [editor layer index](https://github.com/osmlab/editor-layer-index)", "#### Selecting a category", "If one of the following values is used, this parameter will be interpreted as a _category_ instead of the id of a specific layer. The best layer of this category will be used. Supported categories are those from the editor layer index and are:", - eliCategory.map(c => "- " + c).join("\n"), + eliCategory.map((c) => "- " + c).join("\n"), "#### Selecting a specific layer", "One can use the [ID of an ELI-layer](./ELI-overview.md) or use one of the global, builtin layers:", - MarkdownUtils.list(AvailableRasterLayers.globalLayers.map(global => - global.properties.id+(global.properties.best ? " ⭐" : "") - )) + MarkdownUtils.list( + AvailableRasterLayers.globalLayers.map( + (global) => global.properties.id + (global.properties.best ? " ⭐" : "") + ) + ), ].join("\n\n") ) } diff --git a/src/Logic/State/UserRelatedState.ts b/src/Logic/State/UserRelatedState.ts index 8857bf60d8..bae3fa7d4b 100644 --- a/src/Logic/State/UserRelatedState.ts +++ b/src/Logic/State/UserRelatedState.ts @@ -92,7 +92,7 @@ export default class UserRelatedState { this.showAllQuestionsAtOnce = UIEventSource.asBoolean( this.osmConnection.GetPreference("show-all-questions", "false", { documentation: - "Either 'true' or 'false'. If set, all questions will be shown all at once" + "Either 'true' or 'false'. If set, all questions will be shown all at once", }) ) this.language = this.osmConnection.GetPreference("language") @@ -112,7 +112,7 @@ export default class UserRelatedState { undefined, { documentation: - "The ID of a layer or layer category that MapComplete uses by default" + "The ID of a layer or layer category that MapComplete uses by default", } ) @@ -120,12 +120,12 @@ export default class UserRelatedState { "preferences-add-new-mode", "button_click_right", { - documentation: "How adding a new feature is done" + documentation: "How adding a new feature is done", } ) this.imageLicense = this.osmConnection.GetPreference("pictures-license", "CC0", { - documentation: "The license under which new images are uploaded" + documentation: "The license under which new images are uploaded", }) this.installedUserThemes = this.InitInstalledUserThemes() this.translationMode = this.initTranslationMode() @@ -144,7 +144,6 @@ export default class UserRelatedState { this.language.syncWith(Locale.language) } - private initTranslationMode(): UIEventSource<"false" | "true" | "mobile" | undefined | string> { const translationMode: UIEventSource = this.osmConnection.GetPreference("translation-mode", "false") @@ -164,7 +163,6 @@ export default class UserRelatedState { } }) return translationMode - } private static initUserSettingsState(): LayerConfig { @@ -177,13 +175,13 @@ export default class UserRelatedState { public GetUnofficialTheme(id: string): | { - id: string - icon: string - title: any - shortDescription: any - definition?: any - isOfficial: boolean - } + id: string + icon: string + title: any + shortDescription: any + definition?: any + isOfficial: boolean + } | undefined { console.log("GETTING UNOFFICIAL THEME") const pref = this.osmConnection.GetLongPreference("unofficial-theme-" + id) @@ -208,8 +206,8 @@ export default class UserRelatedState { } catch (e) { console.warn( "Removing theme " + - id + - " as it could not be parsed from the preferences; the content is:", + id + + " as it could not be parsed from the preferences; the content is:", str ) pref.setData(null) @@ -239,7 +237,7 @@ export default class UserRelatedState { icon: layout.icon, title: layout.title.translations, shortDescription: layout.shortDescription.translations, - definition: layout["definition"] + definition: layout["definition"], }) ) } @@ -279,13 +277,13 @@ export default class UserRelatedState { id: "home", "user:home": "yes", _lon: homeLonLat[0], - _lat: homeLonLat[1] + _lat: homeLonLat[1], }, geometry: { type: "Point", - coordinates: homeLonLat - } - } + coordinates: homeLonLat, + }, + }, ] }) return new StaticFeatureSource(feature) @@ -306,7 +304,7 @@ export default class UserRelatedState { _applicationOpened: new Date().toISOString(), _supports_sharing: typeof window === "undefined" ? "no" : window.navigator.share ? "yes" : "no", - _iframe: Utils.isIframe ? "yes" : "no" + _iframe: Utils.isIframe ? "yes" : "no", }) for (const key in Constants.userJourney) { @@ -359,18 +357,18 @@ export default class UserRelatedState { const zenLinks: { link: string; id: string }[] = Utils.NoNull([ hasMissingTheme ? { - id: "theme:" + layout.id, - link: LinkToWeblate.hrefToWeblateZen( - language, - "themes", - layout.id - ) - } + id: "theme:" + layout.id, + link: LinkToWeblate.hrefToWeblateZen( + language, + "themes", + layout.id + ), + } : undefined, ...missingLayers.map((id) => ({ id: "layer:" + id, - link: LinkToWeblate.hrefToWeblateZen(language, "layers", id) - })) + link: LinkToWeblate.hrefToWeblateZen(language, "layers", id), + })), ]) const untranslated_count = untranslated.length amendedPrefs.data["_translation_total"] = "" + total diff --git a/src/Logic/State/UserSettingsMetaTagging.ts b/src/Logic/State/UserSettingsMetaTagging.ts index 33a5ae85b5..6e568c5c32 100644 --- a/src/Logic/State/UserSettingsMetaTagging.ts +++ b/src/Logic/State/UserSettingsMetaTagging.ts @@ -1,14 +1,42 @@ import { Utils } from "../../Utils" /** This code is autogenerated - do not edit. Edit ./assets/layers/usersettings/usersettings.json instead */ export class ThemeMetaTagging { - public static readonly themeName = "usersettings" + public static readonly themeName = "usersettings" - public metaTaggging_for_usersettings(feat: {properties: Record}) { - Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_md', () => feat.properties._description.match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/)?.at(1) ) - Utils.AddLazyProperty(feat.properties, '_d', () => feat.properties._description?.replace(/</g,'<')?.replace(/>/g,'>') ?? '' ) - Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_a', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.href.match(/mastodon|en.osm.town/) !== null)[0]?.href }) (feat) ) - Utils.AddLazyProperty(feat.properties, '_mastodon_link', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.getAttribute("rel")?.indexOf('me') >= 0)[0]?.href})(feat) ) - Utils.AddLazyProperty(feat.properties, '_mastodon_candidate', () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a ) - feat.properties['__current_backgroun'] = 'initial_value' - } -} \ No newline at end of file + public metaTaggging_for_usersettings(feat: { properties: Record }) { + Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_md", () => + feat.properties._description + .match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/) + ?.at(1) + ) + Utils.AddLazyProperty( + feat.properties, + "_d", + () => feat.properties._description?.replace(/</g, "<")?.replace(/>/g, ">") ?? "" + ) + Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_a", () => + ((feat) => { + const e = document.createElement("div") + e.innerHTML = feat.properties._d + return Array.from(e.getElementsByTagName("a")).filter( + (a) => a.href.match(/mastodon|en.osm.town/) !== null + )[0]?.href + })(feat) + ) + Utils.AddLazyProperty(feat.properties, "_mastodon_link", () => + ((feat) => { + const e = document.createElement("div") + e.innerHTML = feat.properties._d + return Array.from(e.getElementsByTagName("a")).filter( + (a) => a.getAttribute("rel")?.indexOf("me") >= 0 + )[0]?.href + })(feat) + ) + Utils.AddLazyProperty( + feat.properties, + "_mastodon_candidate", + () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a + ) + feat.properties["__current_backgroun"] = "initial_value" + } +} diff --git a/src/Logic/Tags/And.ts b/src/Logic/Tags/And.ts index 950091ac0c..fa14354993 100644 --- a/src/Logic/Tags/And.ts +++ b/src/Logic/Tags/And.ts @@ -21,15 +21,17 @@ export class And extends TagsFilter { } public static construct(and: ReadonlyArray): TagsFilter - public static construct(and: ReadonlyArray<(FlatTag | (Or & OptimizedTag))>): TagsFilterClosed & OptimizedTag - public static construct(and: ReadonlyArray< TagsFilter>): TagsFilter { + public static construct( + and: ReadonlyArray + ): TagsFilterClosed & OptimizedTag + public static construct(and: ReadonlyArray): TagsFilter { if (and.length === 1) { return and[0] } return new And(and) } - private static combine(filter: string, choices: ReadonlyArray< string>): string[] { + private static combine(filter: string, choices: ReadonlyArray): string[] { const values = [] for (const or of choices) { values.push(filter + or) @@ -447,7 +449,7 @@ export class And extends TagsFilter { if (containedOrs.length === 1) { newAnds.push(containedOrs[0]) } else if (containedOrs.length > 1) { - let commonValues: TagsFilter[] = [...(containedOrs[0].or)] + let commonValues: TagsFilter[] = [...containedOrs[0].or] for (let i = 1; i < containedOrs.length && commonValues.length > 0; i++) { const containedOr = containedOrs[i] commonValues = commonValues.filter((cv) => diff --git a/src/Logic/Tags/Or.ts b/src/Logic/Tags/Or.ts index 8ddebc2095..1d967b8cdf 100644 --- a/src/Logic/Tags/Or.ts +++ b/src/Logic/Tags/Or.ts @@ -264,7 +264,7 @@ export class Or extends TagsFilter { if (containedAnds.length === 1) { newOrs.push(containedAnds[0]) } else if (containedAnds.length > 1) { - let commonValues: TagsFilter[] = [...(containedAnds[0].and)] + let commonValues: TagsFilter[] = [...containedAnds[0].and] for (let i = 1; i < containedAnds.length && commonValues.length > 0; i++) { const containedAnd = containedAnds[i] commonValues = commonValues.filter((cv) => diff --git a/src/Logic/Tags/TagUtils.ts b/src/Logic/Tags/TagUtils.ts index 97f5b6999c..bcd73cc584 100644 --- a/src/Logic/Tags/TagUtils.ts +++ b/src/Logic/Tags/TagUtils.ts @@ -685,7 +685,10 @@ export class TagUtils { * TagUtils.containsEquivalents([new Tag("key","value")], [ new Tag("other_key","value")]) // => false * TagUtils.containsEquivalents([new Tag("key","value")], [ new Tag("key","other_value")]) // => false */ - public static containsEquivalents(guards: ReadonlyArray, listToFilter: ReadonlyArray): boolean { + public static containsEquivalents( + guards: ReadonlyArray, + listToFilter: ReadonlyArray + ): boolean { return listToFilter.some((tf) => guards.some((guard) => guard.shadows(tf))) } diff --git a/src/Logic/Web/ThemeViewStateHashActor.ts b/src/Logic/Web/ThemeViewStateHashActor.ts index acded8c92b..6142c03940 100644 --- a/src/Logic/Web/ThemeViewStateHashActor.ts +++ b/src/Logic/Web/ThemeViewStateHashActor.ts @@ -16,7 +16,7 @@ export default class ThemeViewStateHashActor { "", "The possible hashes are:", "", - MenuState.pageNames.map((tab) => "`" + tab + "`").join(",") + MenuState.pageNames.map((tab) => "`" + tab + "`").join(","), ] /** @@ -41,14 +41,13 @@ export default class ThemeViewStateHashActor { }) } - // At last, register callbacks on the state to update the hash when they change. // Note: these should use 'addCallback', not 'addCallbackAndRun' state.selectedElement.addCallback(() => this.setHash()) // Register a hash change listener to correctly handle the back button Hash.hash.addCallback((hash) => { - if(this.isUpdatingHash){ + if (this.isUpdatingHash) { return } if (!hash) { @@ -91,12 +90,7 @@ export default class ThemeViewStateHashActor { if (found.properties.id.startsWith("last_click")) { return true } - console.log( - "Setting selected element based on hash", - hash, - "; found", - found - ) + console.log("Setting selected element based on hash", hash, "; found", found) selectedElement.setData(found) return true } diff --git a/src/Models/MenuState.ts b/src/Models/MenuState.ts index fc3fac4018..6d3e5f8689 100644 --- a/src/Models/MenuState.ts +++ b/src/Models/MenuState.ts @@ -14,18 +14,26 @@ export type PageType = (typeof MenuState.pageNames)[number] * Some convenience methods are provided for this as well */ export class MenuState { - - public static readonly pageNames = [ - "copyright", "copyright_icons", "community_index", "hotkeys", - "privacy", "filter", "background", "about_theme", "download", "favourites", - "usersettings", "share", "menu", + "copyright", + "copyright_icons", + "community_index", + "hotkeys", + "privacy", + "filter", + "background", + "about_theme", + "download", + "favourites", + "usersettings", + "share", + "menu", ] as const public readonly pageStates: Record> public readonly highlightedLayerInFilters: UIEventSource = new UIEventSource( - undefined, + undefined ) public highlightedUserSetting: UIEventSource = new UIEventSource(undefined) @@ -39,10 +47,10 @@ export class MenuState { this.pageStates = >>states for (const pageName of MenuState.pageNames) { - if(pageName === "menu"){ + if (pageName === "menu") { continue } - this.pageStates[pageName].addCallback(enabled => { + this.pageStates[pageName].addCallback((enabled) => { if (enabled) { this.pageStates.menu.set(false) } @@ -50,7 +58,8 @@ export class MenuState { } const visitedBefore = LocalStorageSource.GetParsed( - themeid + "thememenuisopened", false, + themeid + "thememenuisopened", + false ) if (!visitedBefore.data && shouldShowWelcomeMessage) { this.pageStates.about_theme.set(true) @@ -85,8 +94,8 @@ export class MenuState { Utils.sortedByLevenshteinDistance( highlightTagRendering, UserRelatedState.availableUserSettingsIds, - (x) => x, - ), + (x) => x + ) ) } this.highlightedUserSetting.setData(highlightTagRendering) @@ -116,5 +125,4 @@ export class MenuState { return true } } - } diff --git a/src/Models/RasterLayerProperties.ts b/src/Models/RasterLayerProperties.ts index f924a8fa87..8b1fffdeaf 100644 --- a/src/Models/RasterLayerProperties.ts +++ b/src/Models/RasterLayerProperties.ts @@ -1,11 +1,13 @@ -export const eliCategory = ["photo" - , "map" - , "historicmap" - , "osmbasedmap" - , "historicphoto" - , "qa" - , "elevation" - , "other"] as const +export const eliCategory = [ + "photo", + "map", + "historicmap", + "osmbasedmap", + "historicphoto", + "qa", + "elevation", + "other", +] as const export type EliCategory = (typeof eliCategory)[number] /** diff --git a/src/Models/RasterLayers.ts b/src/Models/RasterLayers.ts index 75bf6a9c36..aac8daa9cb 100644 --- a/src/Models/RasterLayers.ts +++ b/src/Models/RasterLayers.ts @@ -38,7 +38,7 @@ export class AvailableRasterLayers { { type: "Feature", properties, - geometry: BBox.global.asGeometry() + geometry: BBox.global.asGeometry(), } ) public static bing = bingJson @@ -48,18 +48,18 @@ export class AvailableRasterLayers { url: "https://tile.openstreetmap.org/{z}/{x}/{y}.png", attribution: { text: "OpenStreetMap", - url: "https://openStreetMap.org/copyright" + url: "https://openStreetMap.org/copyright", }, best: true, max_zoom: 19, min_zoom: 0, - category: "osmbasedmap" + category: "osmbasedmap", } public static readonly osmCarto: RasterLayerPolygon = { type: "Feature", properties: AvailableRasterLayers.osmCartoProperties, - geometry: BBox.global.asGeometry() + geometry: BBox.global.asGeometry(), } /** @@ -197,7 +197,7 @@ export interface EditorLayerIndexProperties extends RasterLayerProperties { /** * A URL template for imagery tiles */ - readonly url: string + readonly url: string readonly min_zoom?: number readonly max_zoom?: number /** diff --git a/src/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts b/src/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts index feb5578ada..f36b21f562 100644 --- a/src/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts +++ b/src/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts @@ -203,7 +203,7 @@ export default class CreateNoteImportLayer extends Conversion { } } - if(json.allowMove === undefined && json.source["geoJson"] === undefined){ + if (json.allowMove === undefined && json.source["geoJson"] === undefined) { if (!Constants.priviliged_layers.find((x) => x == json.id)) { - context.err( - "Layer " + - json.id + - " does not have an explicit 'allowMove'" - ) + context.err("Layer " + json.id + " does not have an explicit 'allowMove'") } } diff --git a/src/Models/ThemeViewState.ts b/src/Models/ThemeViewState.ts index 4c81f2931f..df2624450b 100644 --- a/src/Models/ThemeViewState.ts +++ b/src/Models/ThemeViewState.ts @@ -5,7 +5,7 @@ import { Store, UIEventSource } from "../Logic/UIEventSource" import { FeatureSource, IndexedFeatureSource, - WritableFeatureSource + WritableFeatureSource, } from "../Logic/FeatureSource/FeatureSource" import { OsmConnection } from "../Logic/Osm/OsmConnection" import { ExportableMap, MapProperties } from "./MapProperties" @@ -51,7 +51,7 @@ import SaveFeatureSourceToLocalStorage from "../Logic/FeatureSource/Actors/SaveF import BBoxFeatureSource from "../Logic/FeatureSource/Sources/TouchesBboxFeatureSource" import ThemeViewStateHashActor from "../Logic/Web/ThemeViewStateHashActor" import NoElementsInViewDetector, { - FeatureViewState + FeatureViewState, } from "../Logic/Actors/NoElementsInViewDetector" import FilteredLayer from "./FilteredLayer" import { PreferredRasterLayerSelector } from "../Logic/Actors/PreferredRasterLayerSelector" @@ -64,7 +64,7 @@ import { GeolocationControlState } from "../UI/BigComponents/GeolocationControl" import Zoomcontrol from "../UI/Zoomcontrol" import { SummaryTileSource, - SummaryTileSourceRewriter + SummaryTileSourceRewriter, } from "../Logic/FeatureSource/TiledFeatureSource/SummaryTileSource" import summaryLayer from "../assets/generated/layers/summary.json" import last_click_layerconfig from "../assets/generated/layers/last_click.json" @@ -178,7 +178,7 @@ export default class ThemeViewState implements SpecialVisualizationState { "oauth_token", undefined, "Used to complete the login" - ) + ), }) this.userRelatedState = new UserRelatedState( this.osmConnection, @@ -257,8 +257,8 @@ export default class ThemeViewState implements SpecialVisualizationState { bbox.asGeoJson({ zoom: this.mapProperties.zoom.data, ...this.mapProperties.location.data, - id: "current_view_" + currentViewIndex - }) + id: "current_view_" + currentViewIndex, + }), ] }) ) @@ -275,7 +275,7 @@ export default class ThemeViewState implements SpecialVisualizationState { featurePropertiesStore: this.featureProperties, osmConnection: this.osmConnection, historicalUserLocations: this.geolocation.historicalUserLocations, - featureSwitches: this.featureSwitches + featureSwitches: this.featureSwitches, }, layout?.isLeftRightSensitive() ?? false, (e, extraMsg) => this.reportError(e, extraMsg) @@ -303,7 +303,7 @@ export default class ThemeViewState implements SpecialVisualizationState { "leftover features, such as", features[0].properties ) - } + }, } ) this.perLayer = perLayer.perLayer @@ -359,7 +359,7 @@ export default class ThemeViewState implements SpecialVisualizationState { { currentZoom: this.mapProperties.zoom, layerState: this.layerState, - bounds: this.visualFeedbackViewportBounds + bounds: this.visualFeedbackViewportBounds, } ) this.hasDataInView = new NoElementsInViewDetector(this).hasFeatureInView @@ -453,7 +453,7 @@ export default class ThemeViewState implements SpecialVisualizationState { doShowLayer, metaTags: this.userRelatedState.preferencesAsTags, selectedElement: this.selectedElement, - fetchStore: (id) => this.featureProperties.getStore(id) + fetchStore: (id) => this.featureProperties.getStore(id), }) }) return filteringFeatureSource @@ -480,7 +480,7 @@ export default class ThemeViewState implements SpecialVisualizationState { doShowLayer: flayerGps.isDisplayed, layer: flayerGps.layerDef, metaTags: this.userRelatedState.preferencesAsTags, - selectedElement: this.selectedElement + selectedElement: this.selectedElement, }) } @@ -554,8 +554,8 @@ export default class ThemeViewState implements SpecialVisualizationState { this.previewedImage.setData(undefined) return } - if(this.guistate.closeAll()){ - return + if (this.guistate.closeAll()) { + return } this.selectedElement.setData(undefined) Zoomcontrol.resetzoom() @@ -569,17 +569,14 @@ export default class ThemeViewState implements SpecialVisualizationState { Hotkeys.RegisterHotkey( { nomod: " ", - onUp: true + onUp: true, }, docs.selectItem, () => { if (this.selectedElement.data !== undefined) { return false } - if ( - this.guistate.isSomethingOpen() || - this.previewedImage.data !== undefined - ) { + if (this.guistate.isSomethingOpen() || this.previewedImage.data !== undefined) { return } this.selectClosestAtCenter(0) @@ -598,7 +595,7 @@ export default class ThemeViewState implements SpecialVisualizationState { Hotkeys.RegisterHotkey( { nomod: "" + i, - onUp: true + onUp: true, }, doc, () => this.selectClosestAtCenter(i - 1) @@ -611,7 +608,7 @@ export default class ThemeViewState implements SpecialVisualizationState { } Hotkeys.RegisterHotkey( { - nomod: "b" + nomod: "b", }, docs.openLayersPanel, () => { @@ -622,7 +619,7 @@ export default class ThemeViewState implements SpecialVisualizationState { ) Hotkeys.RegisterHotkey( { - nomod: "s" + nomod: "s", }, Translations.t.hotkeyDocumentation.openFilterPanel, () => { @@ -700,12 +697,12 @@ export default class ThemeViewState implements SpecialVisualizationState { Hotkeys.RegisterHotkey( { - shift: "T" + shift: "T", }, Translations.t.hotkeyDocumentation.translationMode, () => { const tm = this.userRelatedState.translationMode - if(tm.data === "false"){ + if (tm.data === "false") { tm.setData("true") } else { tm.setData("false") @@ -737,7 +734,7 @@ export default class ThemeViewState implements SpecialVisualizationState { this.mapProperties.zoom.map((z) => Math.max(Math.floor(z), 0)), this.mapProperties, { - isActive: this.mapProperties.zoom.map((z) => z < maxzoom) + isActive: this.mapProperties.zoom.map((z) => z < maxzoom), } ) @@ -769,7 +766,7 @@ export default class ThemeViewState implements SpecialVisualizationState { current_view: this.currentView, favourite: this.favourites, summary: this.featureSummary, - last_click: this.lastClickObject + last_click: this.lastClickObject, } this.closestFeatures.registerSource(specialLayers.favourite, "favourite") @@ -824,7 +821,7 @@ export default class ThemeViewState implements SpecialVisualizationState { doShowLayer: flayer.isDisplayed, layer: flayer.layerDef, metaTags: this.userRelatedState.preferencesAsTags, - selectedElement: this.selectedElement + selectedElement: this.selectedElement, }) }) const summaryLayerConfig = new LayerConfig(summaryLayer, "summaryLayer") @@ -832,7 +829,7 @@ export default class ThemeViewState implements SpecialVisualizationState { features: specialLayers.summary, layer: summaryLayerConfig, // doShowLayer: this.mapProperties.zoom.map((z) => z < maxzoom), - selectedElement: this.selectedElement + selectedElement: this.selectedElement, }) const lastClickLayerConfig = new LayerConfig( @@ -843,14 +840,14 @@ export default class ThemeViewState implements SpecialVisualizationState { lastClickLayerConfig.isShown === undefined ? specialLayers.last_click : specialLayers.last_click.features.mapD((fs) => - fs.filter((f) => { - const matches = lastClickLayerConfig.isShown.matchesProperties( - f.properties - ) - console.debug("LastClick ", f, "matches", matches) - return matches - }) - ) + fs.filter((f) => { + const matches = lastClickLayerConfig.isShown.matchesProperties( + f.properties + ) + console.debug("LastClick ", f, "matches", matches) + return matches + }) + ) new ShowDataLayer(this.map, { features: new StaticFeatureSource(lastClickFiltered), layer: lastClickLayerConfig, @@ -861,9 +858,9 @@ export default class ThemeViewState implements SpecialVisualizationState { } this.map.data.flyTo({ zoom: Constants.minZoomLevelToAddNewPoint, - center: GeoOperations.centerpointCoordinates(feature) + center: GeoOperations.centerpointCoordinates(feature), }) - } + }, }) } @@ -928,7 +925,13 @@ export default class ThemeViewState implements SpecialVisualizationState { } catch (e) { // pass } - message = "XMLHttpRequest with status code " + req.status + ", " + req.statusText + ", received: " + body + message = + "XMLHttpRequest with status code " + + req.status + + ", " + + req.statusText + + ", received: " + + body } if (extramessage) { @@ -950,8 +953,8 @@ export default class ThemeViewState implements SpecialVisualizationState { userid: this.osmConnection.userDetails.data?.uid, pendingChanges: this.changes.pendingChanges.data, previousChanges: this.changes.allChanges.data, - changeRewrites: Utils.MapToObj(this.changes._changesetHandler._remappings) - }) + changeRewrites: Utils.MapToObj(this.changes._changesetHandler._remappings), + }), }) } catch (e) { console.error("Could not upload an error report") diff --git a/src/UI/AllThemesGui.svelte b/src/UI/AllThemesGui.svelte index 3d94571bc7..9e90f18588 100644 --- a/src/UI/AllThemesGui.svelte +++ b/src/UI/AllThemesGui.svelte @@ -102,7 +102,11 @@ - MoreScreen.applySearch(themeSearchText.data)}/> + MoreScreen.applySearch(themeSearchText.data)} + /> diff --git a/src/UI/Base/DrawerLeft.svelte b/src/UI/Base/DrawerLeft.svelte index d12ba07ba8..33fe2c0380 100644 --- a/src/UI/Base/DrawerLeft.svelte +++ b/src/UI/Base/DrawerLeft.svelte @@ -3,28 +3,27 @@ import { sineIn } from "svelte/easing" import { UIEventSource } from "../../Logic/UIEventSource.js" - export let shown: UIEventSource; + export let shown: UIEventSource let transitionParams = { x: -320, duration: 200, - easing: sineIn - }; + easing: sineIn, + } let hidden = !shown.data $: { shown.setData(!hidden) } - shown.addCallback(sh => { + shown.addCallback((sh) => { hidden = !sh }) - - - - CONTENTS - + + CONTENTS - diff --git a/src/UI/Base/FloatOver.svelte b/src/UI/Base/FloatOver.svelte index ad68faaf85..7d5d9e1221 100644 --- a/src/UI/Base/FloatOver.svelte +++ b/src/UI/Base/FloatOver.svelte @@ -30,7 +30,7 @@ }} >
{}} >
@@ -39,20 +39,16 @@
- - dispatch("close")} - /> + dispatch("close")} />
-
diff --git a/src/UI/Base/Link.svelte b/src/UI/Base/Link.svelte index 6456c53612..180ac2a14c 100644 --- a/src/UI/Base/Link.svelte +++ b/src/UI/Base/Link.svelte @@ -4,7 +4,6 @@ export let text: string export let href: string - export let classnames: string = undefined export let download: string = undefined export let ariaLabel: string = undefined @@ -13,7 +12,7 @@ - + diff --git a/src/UI/Base/MapControlButton.svelte b/src/UI/Base/MapControlButton.svelte index 7fd1434541..43fac4cc1f 100644 --- a/src/UI/Base/MapControlButton.svelte +++ b/src/UI/Base/MapControlButton.svelte @@ -14,7 +14,6 @@ export let arialabel: Translation = undefined export let arialabelDynamic: Store = new ImmutableStore(arialabel) let arialabelString = arialabelDynamic.bind((tr) => tr?.current) - {/if} diff --git a/src/UI/Base/Searchbar.svelte b/src/UI/Base/Searchbar.svelte index 4cbb351024..f88578ba6e 100644 --- a/src/UI/Base/Searchbar.svelte +++ b/src/UI/Base/Searchbar.svelte @@ -9,35 +9,30 @@ export let value: UIEventSource let _value = value.data ?? "" - value.addCallbackD(v => { + value.addCallbackD((v) => { _value = v }) $: value.set(_value) const dispatch = createEventDispatcher<{ search }>() - export let placeholder: Translation = Translations.t.general.search.search + export let placeholder: Translation = Translations.t.general.search.search - -
dispatch("search")} -> + dispatch("search")}>
diff --git a/src/UI/Base/TitledPanel.svelte b/src/UI/Base/TitledPanel.svelte index 6e68e500ea..346bd44d87 100644 --- a/src/UI/Base/TitledPanel.svelte +++ b/src/UI/Base/TitledPanel.svelte @@ -7,6 +7,5 @@ - - + diff --git a/src/UI/BigComponents/CopyrightAllIcons.svelte b/src/UI/BigComponents/CopyrightAllIcons.svelte index f1423db48f..78dd6c1290 100644 --- a/src/UI/BigComponents/CopyrightAllIcons.svelte +++ b/src/UI/BigComponents/CopyrightAllIcons.svelte @@ -14,7 +14,6 @@ const license: SmallLicense = licenses[key] allLicenses[license.path] = license } - {#each iconAttributions as iconAttribution} diff --git a/src/UI/BigComponents/CopyrightPanel.svelte b/src/UI/BigComponents/CopyrightPanel.svelte index 3fec0de6b3..67410dba7e 100644 --- a/src/UI/BigComponents/CopyrightPanel.svelte +++ b/src/UI/BigComponents/CopyrightPanel.svelte @@ -20,7 +20,6 @@ const t = Translations.t.general.attribution const layoutToUse = state.layout - let maintainer: Translation = undefined if (layoutToUse.credits !== undefined && layoutToUse.credits !== "") { maintainer = t.themeBy.Subs({ author: layoutToUse.credits }) @@ -48,8 +47,6 @@ return Translations.t.general.attribution.attributionBackgroundLayer.Subs(props) }) - - function calculateDataContributions(contributions: Map): Translation { if (contributions === undefined) { return undefined @@ -147,7 +144,6 @@ -
MapComplete {Constants.vNumber}
diff --git a/src/UI/BigComponents/Geosearch.svelte b/src/UI/BigComponents/Geosearch.svelte index 55b9fbe31c..5bb90f52a7 100644 --- a/src/UI/BigComponents/Geosearch.svelte +++ b/src/UI/BigComponents/Geosearch.svelte @@ -107,14 +107,14 @@
-
+ {#if isRunning} {Translations.t.general.search.searching} {:else} { feedback = undefined @@ -132,5 +132,5 @@ {/if} {/if}
-
diff --git a/src/UI/BigComponents/HotkeyTable.svelte b/src/UI/BigComponents/HotkeyTable.svelte index e31fa98e3d..31830be618 100644 --- a/src/UI/BigComponents/HotkeyTable.svelte +++ b/src/UI/BigComponents/HotkeyTable.svelte @@ -15,31 +15,31 @@ } - - + +
+ + + + + + + {#each byKey as [key, doc, alsoTriggeredBy]} - - - - + + + - {#each byKey as [key, doc, alsoTriggeredBy]} - - - - - - {/each} -
+
+
-
-
+ {#if alsoTriggeredBy} +
+
{key}
+
{alsoTriggeredBy}
+
+ {:else} +
{key}
+ {/if} +
+
- {#if alsoTriggeredBy} -
-
{key}
-
{alsoTriggeredBy}
-
- {:else} -
{key}
- {/if} -
-
+ {/each} + diff --git a/src/UI/BigComponents/MenuDrawer.svelte b/src/UI/BigComponents/MenuDrawer.svelte index a65c7f69e4..b8f3ea44e5 100644 --- a/src/UI/BigComponents/MenuDrawer.svelte +++ b/src/UI/BigComponents/MenuDrawer.svelte @@ -1,5 +1,4 @@ -
+

- +

- {pg.menu.set(false)}} /> + { + pg.menu.set(false) + }} + />
{#if $showHome} -
+ {#if Utils.isIframe} @@ -81,23 +84,21 @@ {/if} -
- state.selectedElement.setData(undefined)}/> + state.selectedElement.setData(undefined)} />
-
diff --git a/src/UI/BigComponents/ShareScreen.svelte b/src/UI/BigComponents/ShareScreen.svelte index e848b4150e..10f26cc1ac 100644 --- a/src/UI/BigComponents/ShareScreen.svelte +++ b/src/UI/BigComponents/ShareScreen.svelte @@ -118,8 +118,7 @@ ) -