From a28b610bbf4cf8981b969ab483e8bfd1bc6431a0 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 5 Dec 2022 23:14:07 +0100 Subject: [PATCH] Split doctors-layer into 'doctors', 'physiotherapist' and 'dentist' layers --- Models/ThemeConfig/TagRenderingConfig.ts | 5 +- assets/layers/dentist/dentist.json | 71 ++++++++++++++++++ .../layers/{doctors => dentist}/dentist.svg | 0 assets/layers/dentist/license_info.json | 12 +++ assets/layers/doctors/doctors.json | 68 ++++------------- assets/layers/doctors/license_info.json | 10 --- assets/layers/physiotherapist/doctors.svg | 20 +++++ .../layers/physiotherapist/license_info.json | 12 +++ .../physiotherapist/physiotherapist.json | 73 +++++++++++++++++++ assets/tagRenderings/questions.json | 22 +++++- assets/themes/healthcare/healthcare.json | 6 +- .../mapcomplete-changes.json | 72 ++++++------------ 12 files changed, 251 insertions(+), 120 deletions(-) create mode 100644 assets/layers/dentist/dentist.json rename assets/layers/{doctors => dentist}/dentist.svg (100%) create mode 100644 assets/layers/dentist/license_info.json create mode 100644 assets/layers/physiotherapist/doctors.svg create mode 100644 assets/layers/physiotherapist/license_info.json create mode 100644 assets/layers/physiotherapist/physiotherapist.json diff --git a/Models/ThemeConfig/TagRenderingConfig.ts b/Models/ThemeConfig/TagRenderingConfig.ts index 38dba39c3..4abc9367c 100644 --- a/Models/ThemeConfig/TagRenderingConfig.ts +++ b/Models/ThemeConfig/TagRenderingConfig.ts @@ -684,9 +684,8 @@ export default class TagRenderingConfig { let condition: BaseUIElement = undefined if (this.condition !== undefined && !this.condition?.matchesProperties({})) { condition = new Combine([ - "Only visible if ", - new FixedUiElement(this.condition.asHumanString(false, false, {})).SetClass("code"), - " is shown", + "This tagrendering is only visible in the popup if the following condition is met:", + new FixedUiElement(this.condition.asHumanString(false, false, {})).SetClass("code") ]) } diff --git a/assets/layers/dentist/dentist.json b/assets/layers/dentist/dentist.json new file mode 100644 index 000000000..6c89b6de7 --- /dev/null +++ b/assets/layers/dentist/dentist.json @@ -0,0 +1,71 @@ +{ + "id": "dentist", + "name": { + "en": "Dentist", + "nl": "Tandarts" + }, + "description": { + "en": "This layer shows dentist offices" + }, + "source": { + "osmTags": "amenity=dentist" + }, + "title": { + "render": { + "en": "Dentist Office {name}", + "de": "Arztpraxis {name}", + "nl": "Dokterspraktijk {name}", + "fr": "Cabinet medical {name}" + } + }, + "minzoom": 13, + "tagRenderings": [ + "images", + "opening_hours", + "phone", + "email", + "website", + { + "question": { + "en": "What is the name of this dentist?" + }, + "render": { + "en": "This dentist is called {name}" + }, + "freeform": { + "key": "name" + }, + "id": "name" + } + ], + "presets": [ + { + "title": { + "en": "a dentists office", + "de": "eine Zahnarztpraxis", + "nl": "een tandartspraktijk", + "fr": "un cabinet de dentistes" + }, + "tags": [ + "amenity=dentist" + ] + } + ], + "filter": [ + "open_now" + ], + "mapRendering": [ + { + "icon": { + "render": "circle:white;./assets/layers/dentist/dentist.svg" + }, + "iconSize": "40,40,center", + "location": [ + "point", + "centroid" + ] + } + ], + "deletion": true, + "allowMove": true +} diff --git a/assets/layers/doctors/dentist.svg b/assets/layers/dentist/dentist.svg similarity index 100% rename from assets/layers/doctors/dentist.svg rename to assets/layers/dentist/dentist.svg diff --git a/assets/layers/dentist/license_info.json b/assets/layers/dentist/license_info.json new file mode 100644 index 000000000..a7a30a41b --- /dev/null +++ b/assets/layers/dentist/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "dentist.svg", + "license": "CC0", + "authors": [ + "OSM Carto" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Dentist-14.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/doctors/doctors.json b/assets/layers/doctors/doctors.json index afd2c36d6..34b1b78b9 100644 --- a/assets/layers/doctors/doctors.json +++ b/assets/layers/doctors/doctors.json @@ -8,19 +8,11 @@ "pa_PK": "ڈاکٹر" }, "description": { - "en": "This layer shows doctor offices, dentists and other healthcare facilities", - "de": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen", - "nl": "Deze laag toont dokterspraktijken, tandartsen en andere gezondheidszorgfaciliteiten", - "fr": "Ce calque montre les cabinets médicaux, les dentistes et autres établissements de santé" + "en": "This layer shows doctor offices" }, "source": { - "osmTags": { - "or": [ - "amenity=doctors", - "amenity=dentist", - "healthcare=physiotherapist" - ] - } + "osmTags": "amenity=doctors" + }, "title": { "render": { @@ -28,29 +20,12 @@ "de": "Arztpraxis {name}", "nl": "Dokterspraktijk {name}", "fr": "Cabinet medical {name}" - }, - "mappings": [ - { - "if": "amenity=doctors", - "then": "Doctors Office {name}" - }, - { - "if": "amenity=dentist", - "then": "Dentists office {name}" - }, - { - "if": "healthcare=physiotherapist", - "then": "Physiotherapists office {name}" - } - ] + } }, "minzoom": 13, "tagRenderings": [ + "images", - "opening_hours", - "phone", - "email", - "website", { "question": { "en": "What is the name of this doctors place?", @@ -69,8 +44,11 @@ }, "id": "name" }, + "opening_hours_by_appointment", + "phone", + "email", + "website", { - "condition": "amenity=doctors", "id": "specialty", "render": { "en": "This doctor is specialized in {healthcare:speciality}", @@ -87,6 +65,7 @@ "freeform": { "key": "healthcare:speciality" }, + "multiAnswer": true, "mappings": [ { "if": "healthcare:speciality=general", @@ -138,28 +117,6 @@ "tags": [ "amenity=doctors" ] - }, - { - "title": { - "en": "a dentists office", - "de": "eine Zahnarztpraxis", - "nl": "een tandartspraktijk", - "fr": "un cabinet de dentistes" - }, - "tags": [ - "amenity=dentist" - ] - }, - { - "title": { - "en": "a physiotherapists office", - "de": "Praxis eines Physiotherapeuten", - "nl": "een fysiotherapeutenpraktijk", - "fr": "un cabinet de kinésithérapeutes" - }, - "tags": [ - "healthcare=physiotherapist" - ] } ], "filter": [ @@ -177,5 +134,6 @@ ] } ], - "deletion": true -} \ No newline at end of file + "deletion": true, + "allowMove": true +} diff --git a/assets/layers/doctors/license_info.json b/assets/layers/doctors/license_info.json index cc0457d85..90889fdc6 100644 --- a/assets/layers/doctors/license_info.json +++ b/assets/layers/doctors/license_info.json @@ -1,14 +1,4 @@ [ - { - "path": "dentist.svg", - "license": "CC0", - "authors": [ - "OSM Carto" - ], - "sources": [ - "https://wiki.openstreetmap.org/wiki/File:Dentist-14.svg" - ] - }, { "path": "doctors.svg", "license": "cc0", diff --git a/assets/layers/physiotherapist/doctors.svg b/assets/layers/physiotherapist/doctors.svg new file mode 100644 index 000000000..94516a688 --- /dev/null +++ b/assets/layers/physiotherapist/doctors.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/assets/layers/physiotherapist/license_info.json b/assets/layers/physiotherapist/license_info.json new file mode 100644 index 000000000..90889fdc6 --- /dev/null +++ b/assets/layers/physiotherapist/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "doctors.svg", + "license": "cc0", + "authors": [ + "osmcarto" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Doctors-14.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/physiotherapist/physiotherapist.json b/assets/layers/physiotherapist/physiotherapist.json new file mode 100644 index 000000000..0f878b985 --- /dev/null +++ b/assets/layers/physiotherapist/physiotherapist.json @@ -0,0 +1,73 @@ +{ + "id": "physiotherapist", + "name": { + "en": "Physiotherapist", + "nl": "Kinesist" + }, + "description": { + "en": "This layer shows physiotherapists", + "nl": "Deze laag toont kinesisten" + }, + "source": { + "osmTags": "healthcare=physiotherapist" + }, + "title": { + "render": { + "en": "Physiotherapist {name}", + "nl": "Kinesist {name}" + } + }, + "minzoom": 13, + "tagRenderings": [ + "images", + { + "question": { + "en": "What is the name of this physiotherapists office?", + "nl": "Wat is de naam van deze kinesistenpraktijk?" + }, + "render": { + "en": "This physiotherapists office is called {name}", + "nl": "Deze kinesistenpraktijk heet {name}" + }, + "freeform": { + "key": "name" + }, + "id": "name" + }, + "opening_hours_by_appointment", + "phone", + "email", + "website" + + ], + "presets": [ + { + "title": { + "en": "a physiotherapists office", + "de": "Praxis eines Physiotherapeuten", + "nl": "een fysiotherapeutenpraktijk", + "fr": "un cabinet de kinésithérapeutes" + }, + "tags": [ + "healthcare=physiotherapist" + ] + } + ], + "filter": [ + "open_now" + ], + "mapRendering": [ + { + "icon": { + "render": "circle:white;./assets/layers/physiotherapist/doctors.svg" + }, + "iconSize": "40,40,center", + "location": [ + "point", + "centroid" + ] + } + ], + "deletion": true, + "allowMove": true +} diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json index 4be1d7c88..95a79226d 100644 --- a/assets/tagRenderings/questions.json +++ b/assets/tagRenderings/questions.json @@ -681,6 +681,26 @@ ] } }, + "opening_hours_by_appointment": { + "builtin": "opening_hours", + "override": { + "mappings": [ + { + "if": "opening_hours=\"by appointment\"", + "then": { + "en": "Only by appointment" + } + }, + { + "if": "opening_hours~i~\"by appointment\"|by appointment", + "then": { + "en": "Only by appointment" + }, + "hideInAnswer": true + } + ] + } + }, "service:electricity": { "#": "service:socket describes if a pub, restaurant or café offers electricity to their customers.", "question": { @@ -1471,4 +1491,4 @@ "es": "El nombre de red es {internet_access:ssid}" } } -} \ No newline at end of file +} diff --git a/assets/themes/healthcare/healthcare.json b/assets/themes/healthcare/healthcare.json index 208e816f1..93d5e84ad 100644 --- a/assets/themes/healthcare/healthcare.json +++ b/assets/themes/healthcare/healthcare.json @@ -15,7 +15,7 @@ "de": "Auf dieser Karte werden verschiedene Gesundheitseinrichtungen angezeigt", "fr": "Cette carte affiche différents éléments liés à la santé", "da": "På dette kort er forskellige sundhedsrelaterede emner vist", - "nl": "Op deze kaart vind je dokters en apothekers" + "nl": "Op deze kaart vind je dokters, apothekers, kinesisten, ziekenhuizen en andere gezondheidsgerelateerde diensten" }, "icon": "./assets/layers/doctors/doctors.svg", "startLat": 50.8465573, @@ -25,7 +25,9 @@ "widenFactor": 2, "layers": [ "doctors", + "physiotherapist", + "dentist", "hospital", "pharmacy" ] -} \ 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 fe37ee177..d0726a92e 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": "Mit MapComplete vorgenommene Änderungen" + "en": "Changes made with MapComplete" }, "shortDescription": { - "en": "Shows changes made by MapComplete", - "de": "Zeigt Änderungen an, die von MapComplete vorgenommen wurden" + "en": "Shows changes made by MapComplete" }, "description": { - "en": "This maps shows all the changes made with MapComplete", - "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen" + "en": "This maps shows all the changes made with MapComplete" }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, @@ -23,10 +20,7 @@ { "id": "mapcomplete-changes", "name": { - "en": "Changeset centers", - "ca": "Centres del conjunt de canvis", - "de": "Zentrum der Änderungssätze", - "pa_PK": "تبدیلیاں دے کیندر" + "en": "Changeset centers" }, "minzoom": 0, "source": { @@ -37,48 +31,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": "Welcher Mitwirkende hat diese Änderung vorgenommen?" + "en": "What contributor did make this change?" }, "freeform": { "key": "user" }, "render": { - "en": "Change made by {user}", - "de": "Änderung vorgenommen 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 diese Änderung verwendet?" + "en": "What theme was used to make this change?" }, "freeform": { "key": "theme" }, "render": { - "en": "Change with theme {theme}", - "de": "Geändert mit Thema {theme}" + "en": "Change with theme {theme}" } }, { @@ -87,23 +74,19 @@ "key": "locale" }, "question": { - "en": "What locale (language) was this change made in?", - "de": "In welchem Gebietsschema (Sprache) wurde diese Änderung vorgenommen?" + "en": "What locale (language) was this change made in?" }, "render": { - "en": "User locale is {locale}", - "de": "Benutzergebietsschema ist {locale}" + "en": "User locale is {locale}" } }, { "id": "host", "render": { - "en": "Change with with {host}", - "de": "Geändert über {host}" + "en": "Change with with {host}" }, "question": { - "en": "What host (website) was this change made with?", - "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?" + "en": "What host (website) was this change made with?" }, "freeform": { "key": "host" @@ -436,9 +419,7 @@ } ], "question": { - "en": "Themename contains {search}", - "ca": "El nom de la petició conté {search}", - "de": "Themename enthält {search}" + "en": "Themename contains {search}" } } ] @@ -454,8 +435,7 @@ } ], "question": { - "en": "Made by contributor {search}", - "de": "Erstellt vom Mitwirkenden {search}" + "en": "Made by contributor {search}" } } ] @@ -471,8 +451,7 @@ } ], "question": { - "en": "Not made by contributor {search}", - "de": "Nicht von Mitwirkendem {search}" + "en": "Not made by contributor {search}" } } ] @@ -489,8 +468,7 @@ } ], "question": { - "en": "Made before {search}", - "de": "Erstellt vor {search}" + "en": "Made before {search}" } } ] @@ -507,8 +485,7 @@ } ], "question": { - "en": "Made after {search}", - "de": "Erstellt nach {search}" + "en": "Made after {search}" } } ] @@ -524,8 +501,7 @@ } ], "question": { - "en": "User language (iso-code) {search}", - "de": "Benutzersprache (ISO-Code) {search}" + "en": "User language (iso-code) {search}" } } ] @@ -541,8 +517,7 @@ } ], "question": { - "en": "Made with host {search}", - "de": "Erstellt mit host {search}" + "en": "Made with host {search}" } } ] @@ -557,8 +532,7 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here", - "de": "Weitere Statistiken finden Sie unter hier" + "en": "More statistics can be found here" } }, {