From d85e46af95a753a29e320eba66ac3957486839c8 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Fri, 23 Oct 2020 19:36:56 +0200 Subject: [PATCH 1/7] Don't start in the middle of the ocean --- assets/themes/benches/benches.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json index 69356bb..ca9e27b 100644 --- a/assets/themes/benches/benches.json +++ b/assets/themes/benches/benches.json @@ -21,7 +21,7 @@ "version": "2020-10-23", "startLat": 0, "startLon": 0, - "startZoom": 12, + "startZoom": 1, "widenFactor": 0.05, "socialImage": "", "layers": [ From c39dbe1c00a9096af22de18be24044f20addd985 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Fri, 23 Oct 2020 19:38:46 +0200 Subject: [PATCH 2/7] Add mappings for material --- assets/themes/benches/benches.json | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json index ca9e27b..e517258 100644 --- a/assets/themes/benches/benches.json +++ b/assets/themes/benches/benches.json @@ -108,6 +108,62 @@ "key": "material", "addExtraTags": [] }, + "mappings": [ + { + "if": { + "and": ["material=wood"] + }, + "then": { + "en": "Material: wood", + "de": "Material: Holz" + } + }, + { + "if": { + "and": ["material=metal"] + }, + "then": { + "en": "Material: metal", + "de": "Material: Metall" + } + }, + { + "if": { + "and": ["material=stone"] + }, + "then": { + "en": "Material: stone", + "de": "Material: Stein" + } + }, + { + "if": { + "and": ["material=concrete"] + }, + "then": { + "en": "Material: concrete", + "de": "Material: Beton" + } + }, + { + "if": { + "and": ["material=plastic"] + }, + "then": { + "en": "Material: plastic", + "de": "Material: Kunststoff" + } + }, + { + "if": { + "and": ["material=steel"] + }, + "then": { + "en": "Material: steel", + "de": "Material: Stahl" + } + } + ], "question": { "en": "What is the bench (seating) made from?", "de": "Aus welchem Material besteht die Sitzbank (Sitzfläche)?" From b43a7edbcd117c6b9ad58e4473c988a4ccea1020 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Fri, 23 Oct 2020 19:39:14 +0200 Subject: [PATCH 3/7] Add mappings for colour (and use Brithish English) --- assets/themes/benches/benches.json | 80 ++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 3 deletions(-) diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json index e517258..0c913c7 100644 --- a/assets/themes/benches/benches.json +++ b/assets/themes/benches/benches.json @@ -171,16 +171,90 @@ }, { "render": { - "en": "Color: {colour}", + "en": "Colour: {colour}", "de": "Farbe: {colour}" }, "question": { - "en": "Which color does this bench have?", + "en": "Which colour does this bench have?", "de": "Welche Farbe hat diese Sitzbank?" }, "freeform": { "key": "colour" - } + }, + "mappings": [ + { + "if": { + "and": ["colour=brown"] + }, + "then": { + "en": "Colour: brown", + "de": "Farbe: braun" + } + }, + { + "if": { + "and": ["colour=green"] + }, + "then": { + "en": "Colour: green", + "de": "Farbe: grün" + } + }, + { + "if": { + "and": ["colour=gray"] + }, + "then": { + "en": "Colour: gray", + "de": "Farbe: grau" + } + }, + { + "if": { + "and": ["colour=white"] + }, + "then": { + "en": "Colour: white", + "de": "Farbe: weiß" + } + }, + { + "if": { + "and": ["colour=red"] + }, + "then": { + "en": "Colour: red", + "de": "Farbe: rot" + } + }, + { + "if": { + "and": ["colour=black"] + }, + "then": { + "en": "Colour: black", + "de": "Farbe: schwarz" + } + }, + { + "if": { + "and": ["colour=blue"] + }, + "then": { + "en": "Colour: blue", + "de": "Farbe: blau" + } + }, + { + "if": { + "and": ["colour=yellow"] + }, + "then": { + "en": "Colour: yellow", + "de": "Farbe: gelb" + } + } + ] } ], "hideUnderlayingFeaturesMinPercentage": 0, From c180f98d94ec91d7e0327f01c567405ea7b0ed62 Mon Sep 17 00:00:00 2001 From: yopaseopor Date: Sat, 24 Oct 2020 16:35:19 +0200 Subject: [PATCH 4/7] Update CA,ES --- UI/i18n/Translations.ts | 96 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/UI/i18n/Translations.ts b/UI/i18n/Translations.ts index 32376fc..2542da4 100644 --- a/UI/i18n/Translations.ts +++ b/UI/i18n/Translations.ts @@ -123,16 +123,22 @@ export default class Translations { dontDelete: new T({ "nl":"Terug", "en":"Cancel", + "ca":"Cancel·lar", + "es":"Cancelar", "de": "Abbrechen" }), doDelete: new T({ "nl":"Verwijder afbeelding", "en":"Remove image", + "ca":"Esborrar imatge", + "es":"Borrar imagen", "de": "Bild entfernen" }), isDeleted: new T({ "nl":"Verwijderd", "en":"Deleted", + "ca":"Esborrada", + "es":"Borrada", "de": "Gelöscht" }) }, @@ -382,12 +388,16 @@ export default class Translations { }), openLayerControl: new T({ "en": "Open the layer control box", + "ca": "Obrir el control de capes", + "es": "Abrir el control de capas", "nl": "Open de laag-instellingen", "de": "Das Ebenen-Kontrollkästchen öffnen" }) , layerNotEnabled: new T({ "en": "The layer {layer} is not enabled. Enable this layer to add a point", + "ca": "La capa {layer} no està habilitada. Fes-ho per poder afegir un punt a aquesta capa", + "es": "La capa {layer} no está habilitada. Hazlo para poder añadir un punto en esta capa", "nl": "De laag {layer} is gedeactiveerd. Activeer deze om een punt toe te voegn", "de": "Die Ebene {layer} ist nicht aktiviert. Aktivieren Sie diese Ebene, um einen Punkt hinzuzufügen" }) @@ -573,48 +583,64 @@ export default class Translations { }), copiedToClipboard: new T({ en: "Link copied to clipboard", + ca: "Enllaç copiat al portapapers", + es: "Enlace copiado en el portapapeles", gl: "Ligazón copiada ó portapapeis", nl: "Link gekopieerd naar klembord", de: "Link in die Zwischenablage kopiert" }), thanksForSharing: new T({ en: "Thanks for sharing!", + ca: "Gràcies per compartir", + es: "Gracias por compartir", gl: "Grazas por compartir!", nl: "Bedankt om te delen!", de: "Danke für das Teilen!" }), editThisTheme: new T({ en: "Edit this theme", + ca: "Editar aquest repte", + es: "Editar este reto", gl: "Editar este tema", nl: "Pas dit thema aan", de: "Dieses Thema bearbeiten" }), editThemeDescription: new T({ en: "Add or change questions to this map theme", + ca: "Afegir o canviar preguntes d'aquest repte", + es: "Añadir o cambiar preguntas de este reto", gl: "Engadir ou mudar preguntas a este tema do mapa", nl: "Pas vragen aan of voeg vragen toe aan dit kaartthema", de: "Fragen zu diesem Kartenthema hinzufügen oder ändern" }), fsUserbadge: new T({ en: "Enable the login-button", + ca: "Activar el botó d'entrada", + es: "Activar el botón de entrada", gl: "Activar botón de inicio de sesión", nl: "Activeer de login-knop", de:" Anmelde-Knopf aktivieren" }), fsSearch: new T({ en: "Enable the search bar", + ca: "Activar la barra de cerca", + es: "Activar la barra de búsqueda", gl: "Activar a barra de procura", nl: "Activeer de zoekbalk", de: " Suchleiste aktivieren" }), fsWelcomeMessage: new T({ en: "Show the welcome message popup and associated tabs", + ca: "Mostra el missatge emergent de benvinguda i pestanyes associades", + es: "Muestra el mensaje emergente de bienvenida y pestañas asociadas", gl: "Amosar a xanela emerxente da mensaxe de benvida e as lapelas asociadas", nl: "Toon het welkomstbericht en de bijhorende tabbladen", de: "Popup der Begrüßungsnachricht und zugehörige Registerkarten anzeigen" }), fsLayers: new T({ en: "Enable thelayer control", + ca: "Activar el control de capes", + es: "Activar el control de capas", gl: "Activar o control de capas", nl: "Toon de knop voor laagbediening", de: "Aktivieren der Layersteuerung" @@ -623,33 +649,45 @@ export default class Translations { fsLayerControlToggle: new T({ en: "Start with the layer control expanded", gl: "Comenza co control de capas expandido", + ca: "Iniciar el control de capes avançat", + es: "Iniciar el control de capas avanzado", nl: "Toon de laagbediening meteen volledig", de: "Mit der erweiterten Ebenenkontrolle beginnen" }), fsAddNew: new T({ en: "Enable the 'add new POI' button", + ca: "Activar el botó d'afegir nou PDI'", + es: "Activar el botón de añadir nuevo PDI'", nl: "Activeer het toevoegen van nieuwe POI", gl: "Activar o botón de 'engadir novo PDI'", de: "Schaltfläche 'neuen POI hinzufügen' aktivieren", }), fsGeolocation: new T({ en: "Enable the 'geolocate-me' button (mobile only)", + ca: "Activar el botó de 'geolocalitza'm' (només mòbil)", + es: "Activar el botón de 'geolocalízame' (només mòbil)", gl: "Activar o botón de 'xeolocalizarme' (só móbil)", nl: "Toon het knopje voor geolocalisatie (enkel op mobiel)", de: "Die Schaltfläche 'Mich geolokalisieren' aktivieren (nur für Mobil)", }), fsIncludeCurrentBackgroundMap: new T({ en: "Include the current background choice {name}", + ca: "Incloure l'opció de fons actual {name}", + es: "Incluir la opción de fondo actual {name}", nl: "Gebruik de huidige achtergrond {name}", de: "Die aktuelle Hintergrundwahl einschließen {name}", }), fsIncludeCurrentLayers: new T({ en: "Include the current layer choices", + ca: "Incloure les opcions de capa actual", + es: "Incluir las opciones de capa actual", nl: "Toon enkel de huidig getoonde lagen", de: "Die aktuelle Ebenenauswahl einbeziehen" }), fsIncludeCurrentLocation: new T({ en: "Include current location", + es: "Incluir localización actual", + ca: "Incloure localització actual", nl: "Start op de huidige locatie", de: "Aktuelle Position einbeziehen" }) @@ -800,11 +838,15 @@ export default class Translations { }), backgroundMap: new T({ "en": "Background map", + "ca": "Mapa de fons", + "es": "Mapa de fondo", "nl": "Achtergrondkaart", "de": "Hintergrundkarte" }), zoomInToSeeThisLayer: new T({ "en": "Zoom in to see this layer", + "ca": "Amplia per veure aquesta capa", + "es": "Amplía para ver esta capa", "nl": "Vergroot de kaart om deze laag te zien", "de": "Vergrößern, um diese Ebene zu sehen" }), @@ -812,72 +854,100 @@ export default class Translations { abbreviations:{ monday: new T({ "en": "Mon", + "ca": "Dil", + "es": "Lun", "nl": "Maan", "fr": "Lun", }), tuesday: new T({ "en": "Tue", + "ca": "Dim", + "es": "Mar", "nl": "Din", "fr": "Mar", }), wednesday: new T({ "en": "Wed", + "ca": "Dic", + "es": "Mie", "nl": "Woe", "fr": "Mercr", }), thursday: new T({ "en": "Thu", + "ca": "Dij", + "es": "Jue", "nl": "Don", "fr": "Jeudi", }), friday: new T({ "en": "Fri", + "ca": "Div", + "es": "Vie", "nl": "Vrij", "fr": "Vendr", }), saturday: new T({ "en": "Sat", + "ca": "Dis", + "es": "Sab", "nl": "Zat", "fr": "Sam", }), sunday: new T({ "en": "Sun", + "ca": "Diu", + "es": "Dom", "nl": "Zon", "fr": "Dim", }) }, monday: new T({ "en": "Monday", + "ca": "Dilluns", + "es": "Lunes", "nl": "Maandag", "fr": "Lundi", }), tuesday: new T({ - "en": "Tuesdday", + "en": "Tuesday", + "ca": "Dimarts", + "es": "Martes", "nl": "Dinsdag", "fr": "Mardi", }), wednesday: new T({ "en": "Wednesday", + "ca": "Dimecres", + "es": "Miércoles", "nl": "Woensdag", "fr": "Mercredi", }), thursday: new T({ "en": "Thursday", + "ca": "Dijous", + "es": "Jueves", "nl": "Donderdag", "fr": "Jeudi", }), friday: new T({ "en": "Friday", + "ca": "Divendres", + "es": "Viernes", "nl": "Vrijdag", "fr": "Vendredi", }), saturday: new T({ "en": "Saturday", + "ca": "Dissabte", + "es": "Sábado", "nl": "Zaterdag", "fr": "Samedi", }), sunday: new T({ "en": "Sunday", + "ca": "Diumenge", + "es": "Domingo", "nl": "Zondag", "fr": "Dimance", }) @@ -885,36 +955,54 @@ export default class Translations { opening_hours: { open_during_ph: new T({ "nl": "Op een feestdag is deze zaak", + "ca": "Durant festes aquest servei és", + "es": "Durante fiestas este servicio está", "en":"During a public holiday, this amenity is" }), opensAt: new T({ "en": "from", + "ca": "des de", + "es": "desde", "nl": "vanaf" }), openTill: new T({ "en": "till", + "ca": "fins", + "es": " hasta", "nl": "tot" }), not_all_rules_parsed: new T({ - "en": "The openin hours of this shop are complicated. The following rules are ignored in the input element:" + "en": "The opening hours of this shop are complicated. The following rules are ignored in the input element:", + "ca": "L'horari d'aquesta botiga és complicat. Les normes següents seran ignorades en l'entrada:", + "es": "El horario de esta tienda es complejo. Las normas siguientes serán ignoradas en la entrada:" }), closed_until: new T({ "en": "Closed until {date}", + "ca": "Tancat fins {date}", + "es": "Cerrado hasta {date}", "nl": "Gesloten - open op {date}" }), closed_permanently: new T({ "en": "Closed - no opening day known", + "ca": "Tancat - sense dia d'obertura conegut", + "es": "Cerrado - sin día de apertura conocido", "nl": "Gesloten" }), ph_not_known: new T({ "en": " ", + "ca": " ", + "es": " ", "nl": " " }), ph_closed: new T({ "en": "closed", + "ca": "tancat", + "es": "cerrado", "nl": "gesloten" }), ph_open: new T({ "en": "opened", + "ca": "tancat", + "es": "abierto", "nl": "open" }) @@ -953,8 +1041,8 @@ export default class Translations { }), reload: new T({ en: "Reload the data", - es: "Recarga los datos", - ca: "Recarrega les dades", + es: "Recargar datos", + ca: "Recarregar dades", gl: "Recargar os datos", de: "Daten neu laden" }) From 76848d79af445e7ac007e02d04fef1f36dc7d985 Mon Sep 17 00:00:00 2001 From: yopaseopor Date: Sat, 24 Oct 2020 22:23:48 +0200 Subject: [PATCH 5/7] Update AED to CA,ES Updated translations for AED quest to Catalan and Spanish --- assets/themes/aed/aed.json | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/assets/themes/aed/aed.json b/assets/themes/aed/aed.json index c35e016..1250c23 100644 --- a/assets/themes/aed/aed.json +++ b/assets/themes/aed/aed.json @@ -2,6 +2,8 @@ "id": "aed", "title": { "en": "Open AED Map", + "ca": "Mapa obert de desfibril·ladors (DEA)", + "es": "Mapa abierto de desfibriladores (DEA)", "fr": "Carte AED", "nl": "Open AED-kaart", "de": "AED-Karte öffnen" @@ -10,12 +12,16 @@ "icon": "./assets/themes/aed/aed.svg", "description": { "en": "On this map, one can find and mark nearby defibrillators", + "ca": "En aquest mapa , qualsevol pot trobar i marcar els desfibril·ladors externs automàtics més propers", + "en": "En este mapa , cualquiera puede encontrar y marcar los desfibriladores externos automáticos más cercanos", "fr": "Sur cette carte, vous pouvez trouver et améliorer les informations sur les défibrillateurs", "nl": "Op deze kaart kan je informatie over AEDs vinden en verbeteren", "de": "Auf dieser Karte kann man nahe gelegene Defibrillatoren finden und markieren" }, "language": [ "en", + "ca", + "es", "fr", "nl", "de" @@ -29,6 +35,8 @@ "id": "Defibrillator", "name": { "en": "Defibrillators", + "ca": "Desfibril·ladors", + "es": "Desfibriladores", "fr": "Défibrillateurs", "nl": "Defibrillatoren", "de": "Defibrillatoren" @@ -38,6 +46,8 @@ "title": { "render": { "en": "Defibrillator", + "ca": "Desfibril·lador", + "es": "Desfibrilador", "fr": "Défibrillateur", "nl": "Defibrillator", "de": "Defibrillator" @@ -49,6 +59,8 @@ { "title": { "en": "Defibrillator", + "ca": "Desfibril·lador", + "es": "Desfibrilador", "fr": "Défibrillateur", "nl": "Defibrillator", "de": "Defibrillator" @@ -63,6 +75,8 @@ { "question": { "en": "Is this defibrillator located indoors?", + "ca": "Està el desfibril·lador a l'interior?", + "en": "¿Esté el desfibrilador en interior?", "fr": "Ce défibrillateur est-il disposé en intérieur ?", "nl": "Hangt deze defibrillator binnen of buiten?", "de": "Befindet sich dieser Defibrillator im Gebäude?" @@ -72,6 +86,8 @@ "if": "indoor=yes", "then": { "en": "This defibrillator is located indoors", + "ca": "Aquest desfibril·lador està a l'interior", + "es": "Este desfibrilador está en interior", "fr": "Ce défibrillateur est en intérieur (dans un batiment)", "nl": "Deze defibrillator bevindt zich in een gebouw", "de": "Dieser Defibrillator befindet sich im Gebäude" @@ -81,6 +97,8 @@ "if": "indoor=no", "then": { "en": "This defibrillator is located outdoors", + "ca": "Aquest desfibril·lador està a l'exterior", + "es": "Este desfibrilador está en exterior", "fr": "Ce défibrillateur est situé en extérieur", "nl": "Deze defibrillator hangt buiten", "de": "Dieser Defibrillator befindet sich im Freien" @@ -91,12 +109,16 @@ { "question": { "en": "Is this defibrillator freely accessible?", + "ca": "Està el desfibril·lador accessible lliurement?", + "es": "¿Está el desfibrilador accesible libremente?", "fr": "Ce défibrillateur est-il librement accessible?", "nl": "Is deze defibrillator vrij toegankelijk?", "de": "Ist dieser Defibrillator frei zugänglich?" }, "render": { "en": "Access is {access}", + "ca": "L'accés és {access}", + "es": "El acceso es {access}", "fr": "{access} accessible", "nl": "Toegankelijkheid is {access}", "de": "Zugang ist {access}" @@ -113,6 +135,8 @@ "if": "access=yes", "then": { "en": "Publicly accessible", + "ca": "Accés lliure", + "es": "Acceso libre", "fr": "Librement accessible", "nl": "Publiek toegankelijk", "de": "Öffentlich zugänglich" @@ -122,6 +146,8 @@ "if": "access=public", "then": { "en": "Publicly accessible", + "ca": "Publicament accessible", + "es": "Publicament accesible", "fr": "Librement accessible", "nl": "Publiek toegankelijk", "de": "Öffentlich zugänglich" @@ -132,6 +158,8 @@ "if": "access=customers", "then": { "en": "Only accessible to customers", + "ca": "Només accessible a clients", + "es": "Sólo accesible a clientes", "fr": "Réservé aux clients du lieu", "nl": "Enkel toegankeleijk voor klanten", "de": "Nur für Kunden zugänglich" @@ -141,6 +169,8 @@ "if": "access=private", "then": { "en": "Not accessible to the general public (e.g. only accesible to staff, the owners, ...)", + "ca": "No accessible al públic en general (ex. només accesible a treballadors, propietaris, ...)", + "es": "No accesible al público en general (ex. sólo accesible a trabajadores, propietarios, ...)", "fr": "Non accessible au public (par exemple réservé au personnel, au propriétaire, ...)", "nl": "Niet toegankelijk voor het publiek (bv. enkel voor personneel, de eigenaar, ...)", "de": "Nicht für die Öffentlichkeit zugänglich (z.B. nur für das Personal, die Eigentümer, ...)" @@ -151,6 +181,8 @@ { "question": { "en": "On which floor is this defibrillator located?", + "ca": "A quina planta està el desfibril·lador localitzat?", + "es": "¿En qué planta se encuentra el defibrilador localizado?", "fr": "À quel étage est situé ce défibrillateur?", "nl": "Op welke verdieping bevindt deze defibrillator zich?", "de": "In welchem Stockwerk befindet sich dieser Defibrillator?" @@ -167,6 +199,8 @@ }, "render": { "en": "This defibrallator is on floor {level}", + "ca": "Aquest desfibril·lador és a la planta {level}", + "es": "El desfibrilador se encuentra en la planta {level}", "fr": "Ce défibrillateur est à l'étage {level}", "nl": "De defibrillator bevindt zicht op verdieping {level}", "de": "Dieser Defibrallator befindet sich im {level}. Stockwerk" @@ -176,6 +210,8 @@ "render": "{defibrillator:location}", "question": { "en": "Please give some explanation on where the defibrillator can be found", + "ca": "Dóna detalls d'on es pot trobar el desfibril·lador", + "es": "Da detalles de dónde se puede encontrar el desfibrilador", "fr": "Veuillez indiquez plus précisément où se situe le défibrillateur", "nl": "Gelieve meer informatie te geven over de exacte locatie van de defibrillator", "de": "Bitte geben Sie einige Erläuterungen dazu, wo der Defibrillator zu finden ist" From e6009af9042bd762406efa436d23aad22128efdd Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 25 Oct 2020 17:26:15 +0100 Subject: [PATCH 6/7] Update wikiIndex to new format --- Logic/PersonalLayout.ts | 2 +- assets/themes/cyclestreets/cyclestreets.json | 2 +- createLayouts.ts | 48 ++++++++------------ 3 files changed, 21 insertions(+), 31 deletions(-) diff --git a/Logic/PersonalLayout.ts b/Logic/PersonalLayout.ts index ed871d7..70d057f 100644 --- a/Logic/PersonalLayout.ts +++ b/Logic/PersonalLayout.ts @@ -16,7 +16,7 @@ export class PersonalLayout extends Layout { 0, Translations.t.favourite.description, ); - + this.maintainer = "MapComplete" this.description = "The personal theme allows to select one or more layers from all the layouts, creating a truly personal editor" this.icon = "./assets/add.svg" } diff --git a/assets/themes/cyclestreets/cyclestreets.json b/assets/themes/cyclestreets/cyclestreets.json index 813c979..dc8b2e6 100644 --- a/assets/themes/cyclestreets/cyclestreets.json +++ b/assets/themes/cyclestreets/cyclestreets.json @@ -17,7 +17,7 @@ "startLat": 51.2095, "startZoom": 14, "startLon": 3.2228, - "maintainer": "MapComlete", + "maintainer": "MapComplete", "widenfactor": 0.05, "roamingRenderings": [ { diff --git a/createLayouts.ts b/createLayouts.ts index 4bd7f59..1b0ae63 100644 --- a/createLayouts.ts +++ b/createLayouts.ts @@ -81,34 +81,19 @@ function generateWikiEntry(layout: Layout){ if(layout.hideFromOverview){ return ""; } - let image = "MapComplete_Screenshot.png"; - if(layout.socialImage){ - // image = layout.socialImage; + const languages = layout.supportedLanguages.map(ln => `{{#language:${ln}|en}}`).join(", ") + let auth = "Yes"; + if(layout.maintainer !== "" && layout.maintainer !== "MapComplete"){ + auth=`Yes, by ${layout.maintainer};` } - - - if(!image.startsWith("http")){ - // image = "https://pietervdvn.github.io/MapComplete/"+image - } - - return `{{Software -|name = ${layout.id} -|author = ${layout.maintainer ?? "MapComplete builtin"} -|web = https://pietervdvn.github.io/MapComplete/${layout.id}.html -|repo = https://github.com/pietervdvn/MapComplete -|platform = web -|code = Typescript;HTML;CSS -|languages = ${layout.supportedLanguages.join(";")} -|genre = display;editor -|screenshot = ${image} -|description = A MapComplete theme: ${Translations.W(layout.description)?.InnerRender() ?? ""} -|map = yes -|findLocation = yes -|findNearbyPOI = yes -|addPOI = yes -|editPOI = yes -|editTags = yes -| + return `{{service_item +|name= [https://pietervdvn.github.io/MapComplete/${layout.id}.html ${layout.id}] +|region= Worldwide +|lang= ${languages} +|descr= A MapComplete theme: ${Translations.W(layout.description).InnerRender()} +|material= {{yes|[https://github.com/pietervdvn/MapComplete ${auth}]}} +|image= MapComplete_Screenshot.png +|genre= POI, editor, ${layout.id} }}` } @@ -240,7 +225,9 @@ function createLandingPage(layout: Layout) { const blacklist = ["", "test", ".", "..", "manifest", "index", "land", "preferences", "account", "openstreetmap"] const all = AllKnownLayouts.allSets; -let wikiPage = ""; +let wikiPage = "{|class=\"wikitable sortable\"\n" + + "! Name, link !! Genre !! Covered region !! Language !! Description !! Free materials !! Image\n" + + "|-"; for (const layoutName in all) { if (blacklist.indexOf(layoutName.toLowerCase()) >= 0) { @@ -262,8 +249,11 @@ for (const layoutName in all) { const landing = createLandingPage(layout); writeFile(enc(layout.id) + ".html", landing, err) - wikiPage += "\n\n"+generateWikiEntry(layout); + wikiPage += "\n"+generateWikiEntry(layout); } + +wikiPage += "|}" + writeFile("./assets/generated/wikiIndex", wikiPage, (err) => { if (err !== null) { console.log("Could not save wikiindex", err); From 0ceeaf82b20c8517d5013446a52103c2aca534af Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 25 Oct 2020 20:50:29 +0100 Subject: [PATCH 7/7] Remove priority --- UI/Popup/TagRendering.ts | 14 +++++++++----- test.ts | 23 ++++++++++++++++++++--- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/UI/Popup/TagRendering.ts b/UI/Popup/TagRendering.ts index 5b1361b..8159576 100644 --- a/UI/Popup/TagRendering.ts +++ b/UI/Popup/TagRendering.ts @@ -23,7 +23,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement { private readonly _question: string | Translation; - private readonly _mapping: { k: TagsFilter, txt: string | Translation, priority?: number }[]; + private readonly _mapping: { k: TagsFilter, txt: string | Translation }[]; private readonly currentTags: UIEventSource; @@ -68,12 +68,17 @@ export class TagRendering extends UIElement implements TagDependantUIElement { }, tagsPreprocessor?: ((tags: any) => any), multiAnswer?: boolean, - mappings?: { k: TagsFilter, txt: string | Translation, priority?: number, substitute?: boolean, hideInAnswer?: boolean }[] + mappings?: { k: TagsFilter, txt: string | Translation, substitute?: boolean, hideInAnswer?: boolean }[] }) { super(tags); if (tags === undefined) { throw "No tags given for a tagrendering..." } + if (options.question !== undefined) { + if ((options.mappings?.length ?? 0) === 0 && options.freeform.key === undefined) { + throw "Error: question without mappings or key" + } + } this.ListenTo(Locale.language); this.ListenTo(this._editMode); this.ListenTo(this._questionSkipped); @@ -83,7 +88,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement { this.currentTags = tags.map(tags => { - if (options.tagsPreprocessor === undefined) { + if (options.tagsPreprocessor === undefined) { return tags; } // we clone the tags... @@ -111,7 +116,6 @@ export class TagRendering extends UIElement implements TagDependantUIElement { let choiceSubbed = { k: choice.k?.substituteValues(this.currentTags.data), txt: choice.txt, - priority: choice.priority } @@ -202,7 +206,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement { extraTags?: TagsFilter, }, multiAnswer?: boolean, - mappings?: { k: TagsFilter, txt: string | Translation, priority?: number, substitute?: boolean, hideInAnswer?: boolean }[] + mappings?: { k: TagsFilter, txt: string | Translation, substitute?: boolean, hideInAnswer?: boolean }[] }): InputElement { diff --git a/test.ts b/test.ts index b84c509..3b16ca3 100644 --- a/test.ts +++ b/test.ts @@ -1,15 +1,32 @@ //* - import OpeningHoursPickerTable from "./UI/Input/OpeningHours/OpeningHoursPickerTable"; import {UIElement} from "./UI/UIElement"; import {UIEventSource} from "./Logic/UIEventSource"; import {OpeningHour} from "./Logic/OpeningHours"; +import {TagRendering} from "./UI/Popup/TagRendering"; +import {Tag} from "./Logic/Tags"; -new OpeningHoursPickerTable(new UIEventSource([]), new UIEventSource([])) - .AttachTo("maindiv") +const tr = new TagRendering( + new UIEventSource({ + id: "node/-1", + amenity: "bench" + }), + { + question: "Does this bench have a backrest?", + mappings: [{ + k: new Tag("backrest", "yes"), + txt: "Has backrest" + }, + { + k: new Tag("backrest", "no"), + txt: "Has no backrest" + }] + } +) +tr.AttachTo("maindiv") /*/