forked from MapComplete/MapComplete
		
	Improve statistics page
This commit is contained in:
		
							parent
							
								
									d04132d42c
								
							
						
					
					
						commit
						6200b420b3
					
				
					 6 changed files with 161 additions and 198 deletions
				
			
		|  | @ -1,33 +1,13 @@ | ||||||
| { | { | ||||||
|   "id": "mapcomplete-changes", |   "id": "mapcomplete-changes", | ||||||
|   "title": { |   "title": { | ||||||
|     "en": "Changes made with MapComplete", |     "en": "Changes made with MapComplete" | ||||||
|     "ca": "Canvis fets amb MapComplete", |  | ||||||
|     "cs": "Změny provedené pomocí MapComplete", |  | ||||||
|     "de": "Mit MapComplete erstellte Änderungen", |  | ||||||
|     "es": "Cambios realizados con MapComplete", |  | ||||||
|     "fr": "Changements faits avec MapComplete", |  | ||||||
|     "nl": "Wijzigingen gemaakt met MapComplete", |  | ||||||
|     "pl": "Zmiany wprowadzone za pomocą MapComplete" |  | ||||||
|   }, |   }, | ||||||
|   "shortDescription": { |   "shortDescription": { | ||||||
|     "en": "Show changes made with MapComplete", |     "en": "Shows changes made by MapComplete" | ||||||
|     "ca": "Mostra els canvis fets amb MapComplete", |  | ||||||
|     "cs": "Zobrazení změn provedených pomocí nástroje MapComplete", |  | ||||||
|     "de": "Mit MapComplete erstellte Änderungen anzeigen", |  | ||||||
|     "es": "Mostrar cambios realizados con MapComplete", |  | ||||||
|     "nl": "Toon wijzigingen gemaakt met MapComplete", |  | ||||||
|     "pl": "Pokaż zmiany wprowadzone za pomocą MapComplete" |  | ||||||
|   }, |   }, | ||||||
|   "description": { |   "description": { | ||||||
|     "en": "This maps shows all the changes made with MapComplete", |     "en": "This maps shows all the changes made with MapComplete" | ||||||
|     "ca": "Aquest mapa mostra tots els canvis fets amb MapComplete", |  | ||||||
|     "cs": "Tato mapa zobrazuje všechny změny provedené pomocí MapComplete", |  | ||||||
|     "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", |  | ||||||
|     "es": "Este mapa muestra todos los cambios realizados con MapComplete", |  | ||||||
|     "fr": "Cette carte montre tous les changements faits avec MapComplete", |  | ||||||
|     "nl": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden", |  | ||||||
|     "pl": "Ta mapa pokazuje wszystkie zmiany wprowadzone za pomocą MapComplete" |  | ||||||
|   }, |   }, | ||||||
|   "icon": "./assets/svg/logo.svg", |   "icon": "./assets/svg/logo.svg", | ||||||
|   "hideFromOverview": true, |   "hideFromOverview": true, | ||||||
|  | @ -40,13 +20,7 @@ | ||||||
|     { |     { | ||||||
|       "id": "mapcomplete-changes", |       "id": "mapcomplete-changes", | ||||||
|       "name": { |       "name": { | ||||||
|         "en": "Changeset centers", |         "en": "Changeset centers" | ||||||
|         "ca": "Centre del conjunt de canvis", |  | ||||||
|         "cs": "Centrum změn", |  | ||||||
|         "de": "Zentrum der Änderungssätze", |  | ||||||
|         "es": "Centro del conjunto de cambios", |  | ||||||
|         "nl": "Centerpunt van changeset", |  | ||||||
|         "pl": "Centra zmian" |  | ||||||
|       }, |       }, | ||||||
|       "minzoom": 0, |       "minzoom": 0, | ||||||
|       "source": { |       "source": { | ||||||
|  | @ -57,85 +31,41 @@ | ||||||
|       }, |       }, | ||||||
|       "title": { |       "title": { | ||||||
|         "render": { |         "render": { | ||||||
|           "en": "Changeset for {theme}", |           "en": "Changeset for {theme}" | ||||||
|           "ca": "Conjunt de canvis per a {theme}", |  | ||||||
|           "cs": "Změna pro {theme}", |  | ||||||
|           "de": "Änderungssatz für {theme}", |  | ||||||
|           "es": "Conjunto de cambios para {theme}", |  | ||||||
|           "fr": "Groupe de modifications pour {theme}", |  | ||||||
|           "pl": "Zestaw zmian dla {theme}" |  | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       "description": { |       "description": { | ||||||
|         "en": "Show all MapComplete changes", |         "en": "Shows all MapComplete changes" | ||||||
|         "ca": "Mostra tots els canvis de MapComplete", |  | ||||||
|         "cs": "Zobrazit všechny změny MapComplete", |  | ||||||
|         "de": "Alle MapComplete-Änderungen anzeigen", |  | ||||||
|         "es": "Mostrar todos los cambios de MapComplete", |  | ||||||
|         "nl": "Toon alle MapComplete wijzigingen", |  | ||||||
|         "pl": "Wyświetl wszystkie zmiany MapComplete" |  | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         { |         { | ||||||
|           "id": "show_changeset_id", |           "id": "show_changeset_id", | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |             "en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" | ||||||
|             "ca": "Conjunt de canvi <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "cs": "Změny <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "de": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "es": "Conjunto de cambios <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "fr": "Groupe de modifications <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", |  | ||||||
|             "pl": "Zestaw zmian <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "contributor", |           "id": "contributor", | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "Which contributor made this change?", |             "en": "What contributor did make this change?" | ||||||
|             "ca": "Quin col·laborador va fer aquest canvi?", |  | ||||||
|             "cs": "Který přispěvatel tuto změnu provedl?", |  | ||||||
|             "de": "Wer hat diese Änderung vorgenommen?", |  | ||||||
|             "es": "¿Qué contribuidor hizo este cambio?", |  | ||||||
|             "fr": "Quel contributeur a fait cette modification ?", |  | ||||||
|             "nl": "Welke bijdrager maakte deze wijziging?", |  | ||||||
|             "pl": "Który współautor dokonał tej zmiany?" |  | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "user" |             "key": "user" | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |             "en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" | ||||||
|             "ca": "Canvi fet per <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |  | ||||||
|             "cs": "Změna provedená <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |  | ||||||
|             "de": "Änderung von <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |  | ||||||
|             "es": "Cambio realizado por <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |  | ||||||
|             "fr": "Modification faite par <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |  | ||||||
|             "nl": "Wijziging gemaakt door  <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", |  | ||||||
|             "pl": "Zmiana dokonana przez <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "theme-id", |           "id": "theme-id", | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What theme was used to make this change?", |             "en": "What theme was used to make this change?" | ||||||
|             "ca": "Quin tema es va utilitzar per fer aquest canvi?", |  | ||||||
|             "cs": "Jaké téma bylo použito k provedení této změny?", |  | ||||||
|             "de": "Welches Thema wurde für diese Änderung verwendet?", |  | ||||||
|             "es": "¿Qué tema se utilizó para realizar este cambio?", |  | ||||||
|             "fr": "Quel thème a été utilisé pour faire cette modification ?", |  | ||||||
|             "pl": "Jakiego tematu użyto do wprowadzenia tej zmiany?" |  | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "theme" |             "key": "theme" | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |             "en": "Change with theme <a href='https://mapcomplete.org/{theme}'>{theme}</a>" | ||||||
|             "ca": "Canvi amb el tema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "cs": "Změna s motivem <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "de": "Geändert mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "es": "Cambio con tema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "fr": "Modifié avec le thème <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", |  | ||||||
|             "pl": "Zmiana za pomocą motywu <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>" |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|  | @ -144,45 +74,19 @@ | ||||||
|             "key": "locale" |             "key": "locale" | ||||||
|           }, |           }, | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What locale (language) was this change made in?", |             "en": "What locale (language) was this change made in?" | ||||||
|             "ca": "Amb quina configuració regional (idioma) s'ha fet aquest canvi?", |  | ||||||
|             "cs": "V jakém národním prostředí (jazyce) byla tato změna provedena?", |  | ||||||
|             "de": "In welcher Benutzersprache wurde diese Änderung vorgenommen?", |  | ||||||
|             "es": "¿En qué configuración regional (idioma) se realizó este cambio?", |  | ||||||
|             "fr": "En quelle langue est-ce que ce changement a été fait ?", |  | ||||||
|             "nl": "In welke locale (taal) werd deze wijziging gemaakt?", |  | ||||||
|             "pl": "W jakim języku wprowadzono tę zmianę?" |  | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "User locale is {locale}", |             "en": "User locale is {locale}" | ||||||
|             "ca": "La configuració regional de l'usuari és {locale}", |  | ||||||
|             "cs": "Uživatelské prostředí je {locale}", |  | ||||||
|             "de": "Benutzersprache {locale}", |  | ||||||
|             "es": "La configuración regional del usuario es {locale}", |  | ||||||
|             "nl": "De gebruikerstaal is {locale}", |  | ||||||
|             "pl": "Ustawienia regionalne użytkownika to {locale}" |  | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "host", |           "id": "host", | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change made with <a href='{host}'>{host}</a>", |             "en": "Change with with <a href='{host}'>{host}</a>" | ||||||
|             "ca": "Canviat fet amb <a href='{host}'>{host}</a>", |  | ||||||
|             "cs": "Změna provedená pomocí <a href='{host}'>{host}</a>", |  | ||||||
|             "de": "Geändert über <a href='{host}'>{host}</a>", |  | ||||||
|             "es": "Cambio realizado con <a href='{host}'>{host}</a>", |  | ||||||
|             "fr": "Modification faite avec <a href='{host}'>{host}</a>", |  | ||||||
|             "nl": "Wijziging gemaakt met <a href='{host}'>{host}</a>", |  | ||||||
|             "pl": "Zmiana dokonana w <a href='{host}'>{host}</a>" |  | ||||||
|           }, |           }, | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What host (website) was this change made with?", |             "en": "What host (website) was this change made with?" | ||||||
|             "ca": "Amb quin amfitrió (lloc web) es va fer aquest canvi?", |  | ||||||
|             "cs": "U jakého hostitele (webové stránky) byla tato změna provedena?", |  | ||||||
|             "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?", |  | ||||||
|             "es": "¿Con qué host (página web) se realizó este cambio?", |  | ||||||
|             "nl": "Met welke host (website) werd deze wijziging gemaakt?", |  | ||||||
|             "pl": "Na jakim hoście (stronie internetowej) dokonano tej zmiany?" |  | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "host" |             "key": "host" | ||||||
|  | @ -203,22 +107,10 @@ | ||||||
|         { |         { | ||||||
|           "id": "version", |           "id": "version", | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What version of MapComplete was used to make this change?", |             "en": "What version of MapComplete was used to make this change?" | ||||||
|             "ca": "Quina versió de MapComplete es va utilitzar per fer aquest canvi?", |  | ||||||
|             "cs": "Jaká verze aplikace MapComplete byla použita k provedení této změny?", |  | ||||||
|             "de": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?", |  | ||||||
|             "es": "¿Qué versión de MapComplete se usó para realizar este cambio?", |  | ||||||
|             "fr": "Quelle version de MapComplete a été utilisée pour faire cette modification ?", |  | ||||||
|             "pl": "Która wersja MapComplete została wykorzystana, aby zrobić tę zmianę?" |  | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Made with {editor}", |             "en": "Made with {editor}" | ||||||
|             "ca": "Fet amb {editor}", |  | ||||||
|             "cs": "Vyrobeno pomocí {editor}", |  | ||||||
|             "de": "Erstellt mit {editor}", |  | ||||||
|             "es": "Realizado con {editor}", |  | ||||||
|             "fr": "Fait avec {editor}", |  | ||||||
|             "pl": "Zrobione za pomocą {editor}" |  | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "editor" |             "key": "editor" | ||||||
|  | @ -392,6 +284,10 @@ | ||||||
|                     "if": "theme=kerbs_and_crossings", |                     "if": "theme=kerbs_and_crossings", | ||||||
|                     "then": "./assets/layers/kerbs/KerbIcon.svg" |                     "then": "./assets/layers/kerbs/KerbIcon.svg" | ||||||
|                   }, |                   }, | ||||||
|  |                   { | ||||||
|  |                     "if": "theme=mapcomplete-changes", | ||||||
|  |                     "then": "./assets/svg/logo.svg" | ||||||
|  |                   }, | ||||||
|                   { |                   { | ||||||
|                     "if": "theme=maproulette", |                     "if": "theme=maproulette", | ||||||
|                     "then": "./assets/layers/maproulette/logomark.svg" |                     "then": "./assets/layers/maproulette/logomark.svg" | ||||||
|  | @ -564,13 +460,45 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Theme name contains {search}", |                 "en": "Themename contains {search}" | ||||||
|                 "ca": "El nom del tema conté {search}", |               } | ||||||
|                 "cs": "Název motivu obsahuje {search}", |             } | ||||||
|                 "de": "Themenname enthält {search}", |           ] | ||||||
|                 "es": "El nombre del tema contiene {search}", |         }, | ||||||
|                 "nl": "Themenaam bevat {search}", |         { | ||||||
|                 "pl": "Nazwa tematu zawiera {search}" |           "id": "theme-not-search", | ||||||
|  |           "options": [ | ||||||
|  |             { | ||||||
|  |               "osmTags": "theme!~i~.*{search}.*", | ||||||
|  |               "fields": [ | ||||||
|  |                 { | ||||||
|  |                   "name": "search" | ||||||
|  |                 } | ||||||
|  |               ], | ||||||
|  |               "question": { | ||||||
|  |                 "en": "Themename does <b>not</b> contain {search}" | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "id": "exclude_grb", | ||||||
|  |           "options": [ | ||||||
|  |             { | ||||||
|  |               "osmTags": "theme!=grb", | ||||||
|  |               "question": { | ||||||
|  |                 "en": "Exclude GRB theme" | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "id": "exclude_etymology", | ||||||
|  |           "options": [ | ||||||
|  |             { | ||||||
|  |               "osmTags": "theme!=etymology", | ||||||
|  |               "question": { | ||||||
|  |                 "en": "Exclude etymology theme" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -586,13 +514,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made by contributor {search}", |                 "en": "Made by contributor {search}" | ||||||
|                 "ca": "Fet pel col·laborador {search}", |  | ||||||
|                 "cs": "Vytvořil přispěvatel {search}", |  | ||||||
|                 "de": "Erstellt von {search}", |  | ||||||
|                 "es": "Hecho por el colaborador {search}", |  | ||||||
|                 "nl": "Gemaakt door bijdrager {search}", |  | ||||||
|                 "pl": "Wykonane przez współautora {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -608,13 +530,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "<b>Not</b> made by contributor {search}", |                 "en": "<b>Not</b> made by contributor {search}" | ||||||
|                 "ca": "<b>No</b> fet pel col·laborador {search}", |  | ||||||
|                 "cs": "<b>Není</b> vytvořeno přispěvatelem {search}", |  | ||||||
|                 "de": "<b>Nicht</b> erstellt von {search}", |  | ||||||
|                 "es": "<b>No</b> hecho por el colaborador {search}", |  | ||||||
|                 "nl": "<b>Niet</b> gemaakt door bijdrager {search}", |  | ||||||
|                 "pl": "<b>Nie</b> wykonane przez współautora {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -631,13 +547,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made before {search}", |                 "en": "Made before {search}" | ||||||
|                 "ca": "Fet abans de {search}", |  | ||||||
|                 "cs": "Vytvořeno před {search}", |  | ||||||
|                 "de": "Erstellt vor {search}", |  | ||||||
|                 "es": "Hecho antes de {search}", |  | ||||||
|                 "nl": "Gemaakt voor {search}", |  | ||||||
|                 "pl": "Stworzone przed {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -654,13 +564,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made after {search}", |                 "en": "Made after {search}" | ||||||
|                 "ca": "Fet després de {search}", |  | ||||||
|                 "cs": "Vytvořeno po {search}", |  | ||||||
|                 "de": "Erstellt nach {search}", |  | ||||||
|                 "es": "Hecho después de {search}", |  | ||||||
|                 "nl": "Gemaakt na {search}", |  | ||||||
|                 "pl": "Stworzone po {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -676,14 +580,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "User language (iso-code) {search}", |                 "en": "User language (iso-code) {search}" | ||||||
|                 "ca": "Idioma de l'usuari (codi iso) {search}", |  | ||||||
|                 "cs": "Jazyk uživatele (iso-kód) {search}", |  | ||||||
|                 "de": "Benutzersprache (ISO-Code) {search}", |  | ||||||
|                 "es": "Use idioma (ISO-code) {search}", |  | ||||||
|                 "fr": "Langage utilisateur (code-ISO) {search}", |  | ||||||
|                 "nl": "De taal van de bijdrager is {search}", |  | ||||||
|                 "pl": "Język użytkownika (kod iso) {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -699,13 +596,7 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made with host {search}", |                 "en": "Made with host {search}" | ||||||
|                 "ca": "Fet amb l'amfitrió {search}", |  | ||||||
|                 "cs": "Vytvořeno pomocí hostitele {search}", |  | ||||||
|                 "de": "Erstellt mit Host {search}", |  | ||||||
|                 "es": "Hecho con el host {search}", |  | ||||||
|                 "nl": "Gemaakt met host {search}", |  | ||||||
|                 "pl": "Wykonane z hostem {search}" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -716,14 +607,7 @@ | ||||||
|             { |             { | ||||||
|               "osmTags": "add-image>0", |               "osmTags": "add-image>0", | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Changeset added at least one image", |                 "en": "Changeset added at least one image" | ||||||
|                 "ca": "El conjunt de canvis ha afegit almenys una imatge", |  | ||||||
|                 "cs": "Sada změn přidala alespoň jeden obrázek", |  | ||||||
|                 "de": "Im Änderungssatz wurde mindestens ein Bild hinzugefügt", |  | ||||||
|                 "es": "El conjunto de cambios ha añadido al menos una imagen", |  | ||||||
|                 "fr": "Le groupe de modifications a ajouté au moins une image", |  | ||||||
|                 "nl": "Changeset bevat minstens één afbeelding", |  | ||||||
|                 "pl": "Zestaw zmian dodał co najmniej jedno zdjęcie" |  | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -738,13 +622,7 @@ | ||||||
|           { |           { | ||||||
|             "id": "link_to_more", |             "id": "link_to_more", | ||||||
|             "render": { |             "render": { | ||||||
|               "en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>", |               "en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>" | ||||||
|               "ca": "Es pot trobar més estadística <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>aquí</a>", |  | ||||||
|               "cs": "Další statistiky najdete <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>", |  | ||||||
|               "de": "Mehr Statistiken gibt es <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>", |  | ||||||
|               "es": "Puede encontrar más estadísticas <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>aquí</a>", |  | ||||||
|               "fr": "D'autres statistiques sont disponibles <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>ici</a>", |  | ||||||
|               "pl": "Więcej statystyk można znaleźć <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>tutaj</a>" |  | ||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|  | @ -778,4 +656,4 @@ | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | @ -151,6 +151,44 @@ | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|         }, |         }, | ||||||
|  |         { | ||||||
|  |           "id": "theme-not-search", | ||||||
|  |           "options": [ | ||||||
|  |             { | ||||||
|  |               "osmTags": "theme!~i~.*{search}.*", | ||||||
|  |               "fields": [ | ||||||
|  |                 { | ||||||
|  |                   "name": "search" | ||||||
|  |                 } | ||||||
|  |               ], | ||||||
|  |               "question": { | ||||||
|  |                 "en": "Themename does <b>not</b> contain {search}" | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "id": "exclude_grb", | ||||||
|  |           "options": [ | ||||||
|  |             { | ||||||
|  |               "osmTags": "theme!=grb", | ||||||
|  |               "question": { | ||||||
|  |                 "en": "Exclude GRB theme" | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "id": "exclude_etymology", | ||||||
|  |           "options": [ | ||||||
|  |             { | ||||||
|  |               "osmTags": "theme!=etymology", | ||||||
|  |               "question": { | ||||||
|  |                 "en": "Exclude etymology theme" | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|         { |         { | ||||||
|           "id": "created_by", |           "id": "created_by", | ||||||
|           "options": [ |           "options": [ | ||||||
|  |  | ||||||
|  | @ -392,8 +392,10 @@ class LayerOverviewUtils extends Script { | ||||||
|         const mcChangesPath = "./assets/themes/mapcomplete-changes/mapcomplete-changes.json" |         const mcChangesPath = "./assets/themes/mapcomplete-changes/mapcomplete-changes.json" | ||||||
|         if ( |         if ( | ||||||
|             (recompiledThemes.length > 0 && |             (recompiledThemes.length > 0 && | ||||||
|                 !(recompiledThemes.length === 1 && recompiledThemes[0] === "mapcomplete-changes") && |                 !( | ||||||
|                 args.indexOf("--generate-change-map") >= 0) || |                     recompiledThemes.length === 1 && recompiledThemes[0] === "mapcomplete-changes" | ||||||
|  |                 )) || | ||||||
|  |             args.indexOf("--generate-change-map") >= 0 || | ||||||
|             !existsSync(mcChangesPath) |             !existsSync(mcChangesPath) | ||||||
|         ) { |         ) { | ||||||
|             // mapcomplete-changes shows an icon for each corresponding mapcomplete-theme
 |             // mapcomplete-changes shows an icon for each corresponding mapcomplete-theme
 | ||||||
|  |  | ||||||
|  | @ -18,6 +18,8 @@ export class StackedRenderingChart extends ChartJs { | ||||||
|         options?: { |         options?: { | ||||||
|             period: "day" | "month" |             period: "day" | "month" | ||||||
|             groupToOtherCutoff?: 3 | number |             groupToOtherCutoff?: 3 | number | ||||||
|  |             // If given, take the sum of these fields to get the feature weight
 | ||||||
|  |             sumFields?: string[] | ||||||
|         } |         } | ||||||
|     ) { |     ) { | ||||||
|         const { labels, data } = TagRenderingChart.extractDataAndLabels(tr, features, { |         const { labels, data } = TagRenderingChart.extractDataAndLabels(tr, features, { | ||||||
|  | @ -78,7 +80,30 @@ export class StackedRenderingChart extends ChartJs { | ||||||
|             const countsPerDay: number[] = [] |             const countsPerDay: number[] = [] | ||||||
|             for (let i = 0; i < trimmedDays.length; i++) { |             for (let i = 0; i < trimmedDays.length; i++) { | ||||||
|                 const day = trimmedDays[i] |                 const day = trimmedDays[i] | ||||||
|                 countsPerDay[i] = perDay[day]?.length ?? 0 | 
 | ||||||
|  |                 const featuresForDay = perDay[day] | ||||||
|  |                 if (!featuresForDay) { | ||||||
|  |                     continue | ||||||
|  |                 } | ||||||
|  |                 if (options.sumFields !== undefined) { | ||||||
|  |                     let sum = 0 | ||||||
|  |                     for (const featuresForDayElement of featuresForDay) { | ||||||
|  |                         const props = featuresForDayElement.properties | ||||||
|  |                         for (const key of options.sumFields) { | ||||||
|  |                             if (!props[key]) { | ||||||
|  |                                 continue | ||||||
|  |                             } | ||||||
|  |                             const v = Number(props[key]) | ||||||
|  |                             if (isNaN(v)) { | ||||||
|  |                                 continue | ||||||
|  |                             } | ||||||
|  |                             sum += v | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                     countsPerDay[i] = sum | ||||||
|  |                 } else { | ||||||
|  |                     countsPerDay[i] = featuresForDay?.length ?? 0 | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|             let backgroundColor = |             let backgroundColor = | ||||||
|                 TagRenderingChart.borderColors[i % TagRenderingChart.borderColors.length] |                 TagRenderingChart.borderColors[i % TagRenderingChart.borderColors.length] | ||||||
|  |  | ||||||
|  | @ -13,8 +13,8 @@ | ||||||
|   let tags = state.featureProperties.getStore(properties.id) ?? new ImmutableStore(properties); |   let tags = state.featureProperties.getStore(properties.id) ?? new ImmutableStore(properties); | ||||||
| 
 | 
 | ||||||
|   const favLayer = state.layerState.filteredLayers.get("favourite"); |   const favLayer = state.layerState.filteredLayers.get("favourite"); | ||||||
|   const favConfig = favLayer.layerDef; |   const favConfig = favLayer?.layerDef; | ||||||
|   const titleConfig = favConfig.title; |   const titleConfig = favConfig?.title; | ||||||
| 
 | 
 | ||||||
|   function center() { |   function center() { | ||||||
|     const [lon, lat] = GeoOperations.centerpointCoordinates(feature); |     const [lon, lat] = GeoOperations.centerpointCoordinates(feature); | ||||||
|  | @ -50,6 +50,7 @@ | ||||||
| 
 | 
 | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
|  | {#if favLayer !== undefined} | ||||||
| <div class="px-1 my-1 border-2 border-dashed border-gray-300 rounded grid grid-cols-2 items-center no-weblate"> | <div class="px-1 my-1 border-2 border-dashed border-gray-300 rounded grid grid-cols-2 items-center no-weblate"> | ||||||
|   <button class="cursor-pointer ml-1 m-0 link justify-self-start" on:click={() => select()}> |   <button class="cursor-pointer ml-1 m-0 link justify-self-start" on:click={() => select()}> | ||||||
|     <TagRenderingAnswer config={titleConfig} extraClasses="underline" layer={favConfig} selectedElement={feature} |     <TagRenderingAnswer config={titleConfig} extraClasses="underline" layer={favConfig} selectedElement={feature} | ||||||
|  | @ -81,3 +82,4 @@ | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
|  | {/if} | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ import { VariableUiElement } from "./Base/VariableUIElement" | ||||||
| import Loading from "./Base/Loading" | import Loading from "./Base/Loading" | ||||||
| import { Utils } from "../Utils" | import { Utils } from "../Utils" | ||||||
| import Combine from "./Base/Combine" | import Combine from "./Base/Combine" | ||||||
| import { StackedRenderingChart } from "./BigComponents/TagRenderingChart" | import TagRenderingChart, { StackedRenderingChart } from "./BigComponents/TagRenderingChart" | ||||||
| import BaseUIElement from "./BaseUIElement" | import BaseUIElement from "./BaseUIElement" | ||||||
| import Title from "./Base/Title" | import Title from "./Base/Title" | ||||||
| import { FixedUiElement } from "./Base/FixedUiElement" | import { FixedUiElement } from "./Base/FixedUiElement" | ||||||
|  | @ -150,11 +150,29 @@ class StatsticsForOverviewFile extends Combine { | ||||||
|                                     new Combine([ |                                     new Combine([ | ||||||
|                                         new Title(tr.question ?? tr.id).SetClass("p-2"), |                                         new Title(tr.question ?? tr.id).SetClass("p-2"), | ||||||
|                                         total > 1 ? total + " unique value" : undefined, |                                         total > 1 ? total + " unique value" : undefined, | ||||||
|  |                                         new Title("By number of changesets", 4).SetClass("p-2"), | ||||||
|                                         new StackedRenderingChart(tr, <any>overview._meta, { |                                         new StackedRenderingChart(tr, <any>overview._meta, { | ||||||
|                                             period: diffInDays <= 367 ? "day" : "month", |                                             period: diffInDays <= 367 ? "day" : "month", | ||||||
|                                             groupToOtherCutoff: |                                             groupToOtherCutoff: | ||||||
|                                                 total > 50 ? 25 : total > 10 ? 3 : 0, |                                                 total > 50 ? 25 : total > 10 ? 3 : 0, | ||||||
|                                         }).SetStyle("width: 100%; height: 600px"), |                                         }).SetStyle("width: 75%; height: 600px"), | ||||||
|  |                                         new TagRenderingChart(<any>overview._meta, tr, { | ||||||
|  |                                             groupToOtherCutoff: | ||||||
|  |                                                 total > 50 ? 25 : total > 10 ? 3 : 0, | ||||||
|  |                                             chartType: "doughnut", | ||||||
|  |                                             chartclasses: "w-8 h-8", | ||||||
|  |                                             sort: true, | ||||||
|  |                                         }).SetStyle("width: 25rem"), | ||||||
|  |                                         new Title("By number of modifications", 4).SetClass("p-2"), | ||||||
|  |                                         new StackedRenderingChart( | ||||||
|  |                                             tr, | ||||||
|  |                                             <any>Utils.Clone(overview._meta), | ||||||
|  |                                             { | ||||||
|  |                                                 period: diffInDays <= 367 ? "day" : "month", | ||||||
|  |                                                 groupToOtherCutoff: total > 50 ? 10 : 0, | ||||||
|  |                                                 sumFields: valuesToSum, | ||||||
|  |                                             } | ||||||
|  |                                         ).SetStyle("width: 100%; height: 600px"), | ||||||
|                                     ]).SetClass("block border-2 border-subtle p-2 m-2 rounded-xl") |                                     ]).SetClass("block border-2 border-subtle p-2 m-2 rounded-xl") | ||||||
|                                 ) |                                 ) | ||||||
|                             } catch (e) { |                             } catch (e) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue