forked from MapComplete/MapComplete
		
	Merge branch 'master' into develop
This commit is contained in:
		
						commit
						80c24bddca
					
				
					 14 changed files with 97 additions and 60 deletions
				
			
		| 
						 | 
					@ -211,7 +211,7 @@ export class BBox {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private check() {   
 | 
					    private check() {   
 | 
				
			||||||
        if (isNaN(this.maxLon) || isNaN(this.maxLat) || isNaN(this.minLon) || isNaN(this.minLat)) {
 | 
					        if (isNaN(this.maxLon) || isNaN(this.maxLat) || isNaN(this.minLon) || isNaN(this.minLat)) {
 | 
				
			||||||
            console.log(this);
 | 
					            console.trace("BBox with NaN detected:", this);
 | 
				
			||||||
            throw  "BBOX has NAN";
 | 
					            throw  "BBOX has NAN";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@ import {Utils} from "../Utils";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class Constants {
 | 
					export default class Constants {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static vNumber = "0.16.1";
 | 
					    public static vNumber = "0.16.2";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static ImgurApiKey = '7070e7167f0a25a'
 | 
					    public static ImgurApiKey = '7070e7167f0a25a'
 | 
				
			||||||
    public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
 | 
					    public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,7 @@ import {AutoAction} from "./AutoApplyButton";
 | 
				
			||||||
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig";
 | 
					import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig";
 | 
				
			||||||
import {Changes} from "../../Logic/Osm/Changes";
 | 
					import {Changes} from "../../Logic/Osm/Changes";
 | 
				
			||||||
import {ElementStorage} from "../../Logic/ElementStorage";
 | 
					import {ElementStorage} from "../../Logic/ElementStorage";
 | 
				
			||||||
 | 
					import Hash from "../../Logic/Web/Hash";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * A helper class for the various import-flows.
 | 
					 * A helper class for the various import-flows.
 | 
				
			||||||
| 
						 | 
					@ -268,8 +269,8 @@ ${Utils.special_visualizations_importRequirementDocs}
 | 
				
			||||||
                originalFeatureTags.data["_imported"] = "yes"
 | 
					                originalFeatureTags.data["_imported"] = "yes"
 | 
				
			||||||
                originalFeatureTags.ping() // will set isImported as per its definition
 | 
					                originalFeatureTags.ping() // will set isImported as per its definition
 | 
				
			||||||
                state.changes.applyAction(action)
 | 
					                state.changes.applyAction(action)
 | 
				
			||||||
                state.selectedElement.setData(state.allElements.ContainingFeatures.get(action.newElementId ?? action.mainObjectId))
 | 
					                const newId = action.newElementId ?? action.mainObjectId
 | 
				
			||||||
 | 
					                state.selectedElement.setData(state.allElements.ContainingFeatures.get(newId))
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -503,14 +504,23 @@ export class ImportWayButton extends AbstractImportButton implements AutoAction
 | 
				
			||||||
                mergeConfigs,
 | 
					                mergeConfigs,
 | 
				
			||||||
                "import"
 | 
					                "import"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        } else {
 | 
					        } else if(feature.geometry.type === "Polygon"){
 | 
				
			||||||
 | 
					            const outer = coors[0]
 | 
				
			||||||
 | 
					            return new CreateWayWithPointReuseAction(
 | 
				
			||||||
 | 
					                args.newTags.data,
 | 
				
			||||||
 | 
					                outer,
 | 
				
			||||||
 | 
					                state,
 | 
				
			||||||
 | 
					                mergeConfigs
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        }else if(feature.geometry.type === "LineString"){
 | 
				
			||||||
            return new CreateWayWithPointReuseAction(
 | 
					            return new CreateWayWithPointReuseAction(
 | 
				
			||||||
                args.newTags.data,
 | 
					                args.newTags.data,
 | 
				
			||||||
                coors,
 | 
					                coors,
 | 
				
			||||||
                state,
 | 
					                state,
 | 
				
			||||||
                mergeConfigs
 | 
					                mergeConfigs
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					        }else{
 | 
				
			||||||
 | 
					            throw "Unsupported type"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -572,6 +582,8 @@ export class ImportPointButton extends AbstractImportButton {
 | 
				
			||||||
            state.selectedElement.setData(state.allElements.ContainingFeatures.get(
 | 
					            state.selectedElement.setData(state.allElements.ContainingFeatures.get(
 | 
				
			||||||
                newElementAction.newElementId
 | 
					                newElementAction.newElementId
 | 
				
			||||||
            ))
 | 
					            ))
 | 
				
			||||||
 | 
					            Hash.hash.setData(newElementAction.newElementId)
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
            if (note_id !== undefined) {
 | 
					            if (note_id !== undefined) {
 | 
				
			||||||
                state.osmConnection.closeNote(note_id, "imported")
 | 
					                state.osmConnection.closeNote(note_id, "imported")
 | 
				
			||||||
                originalFeatureTags.data["closed_at"] = new Date().toISOString()
 | 
					                originalFeatureTags.data["closed_at"] = new Date().toISOString()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1284,7 +1284,7 @@
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "There are <b class='text-xl'>{socket:tesla_destination}</b> plugs of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> available here",
 | 
					        "en": "There are <b class='text-xl'>{socket:tesla_destination}</b> plugs of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> available here",
 | 
				
			||||||
        "nl": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
					        "nl": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "socket:tesla_destination",
 | 
					        "key": "socket:tesla_destination",
 | 
				
			||||||
| 
						 | 
					@ -2933,11 +2933,11 @@
 | 
				
			||||||
      "group": "technical",
 | 
					      "group": "technical",
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
 | 
					        "en": "What voltage do the plugs with <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
 | 
				
			||||||
        "nl": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
					        "nl": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination).</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs {socket:tesla_destination:voltage} volt",
 | 
					        "en": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs {socket:tesla_destination:voltage} volt",
 | 
				
			||||||
        "nl": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van {socket:tesla_destination:voltage} volt"
 | 
					        "nl": "<div style='display: inline-block'><b><b>Tesla supercharger (destination).</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van {socket:tesla_destination:voltage} volt"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "socket:tesla_destination:voltage",
 | 
					        "key": "socket:tesla_destination:voltage",
 | 
				
			||||||
| 
						 | 
					@ -3025,11 +3025,11 @@
 | 
				
			||||||
      "group": "technical",
 | 
					      "group": "technical",
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
 | 
					        "en": "What power output does a single plug of type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
 | 
				
			||||||
        "nl": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?"
 | 
					        "nl": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:output}",
 | 
					        "en": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:output}",
 | 
				
			||||||
        "nl": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal {socket:tesla_destination:output}"
 | 
					        "nl": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal {socket:tesla_destination:output}"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "socket:tesla_destination:output",
 | 
					        "key": "socket:tesla_destination:output",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,8 @@
 | 
				
			||||||
  "minzoom": 14,
 | 
					  "minzoom": 14,
 | 
				
			||||||
  "title": {
 | 
					  "title": {
 | 
				
			||||||
    "render": {
 | 
					    "render": {
 | 
				
			||||||
      "en": "Entrance"
 | 
					      "en": "Entrance",
 | 
				
			||||||
 | 
					      "nl": "Ingang"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "tagRenderings": [
 | 
					  "tagRenderings": [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -139,14 +139,16 @@
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "id": "etymology_multi_apply",
 | 
					      "id": "etymology_multi_apply",
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Auto-applying data on all segments with the same name, true)}"
 | 
					        "en": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Auto-applying data on all segments with the same name, true)}",
 | 
				
			||||||
 | 
					        "nl": "{multi_apply(_same_name_ids, name:etymology:wikidata,name:etymology, Wijzigingen worden automatisch gedaan op alle segmenten met dezelfde naam, true)}"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "id": "wikipedia",
 | 
					      "id": "wikipedia",
 | 
				
			||||||
      "#": "Note that this is a _read_only_ option, to prevent people entering a 'wikidata'-link instead of 'name:etymology:wikidata'",
 | 
					      "#": "Note that this is a _read_only_ option, to prevent people entering a 'wikidata'-link instead of 'name:etymology:wikidata'",
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "A Wikipedia article about this <b>street</b> exists:<br/>{wikipedia():max-height:25rem}"
 | 
					        "en": "A Wikipedia article about this <b>street</b> exists:<br/>{wikipedia():max-height:25rem}",
 | 
				
			||||||
 | 
					        "nl": "Een Wikipedia artikel over deze <b>straat</b> bestaat:<br/>{wikipedia():max-height:25rem}"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "condition": "wikidata~*"
 | 
					      "condition": "wikidata~*"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,8 @@
 | 
				
			||||||
    "ru": "Карта огнетушителей.",
 | 
					    "ru": "Карта огнетушителей.",
 | 
				
			||||||
    "fr": "Couche des extincteurs.",
 | 
					    "fr": "Couche des extincteurs.",
 | 
				
			||||||
    "de": "Karte mit Feuerlöschern.",
 | 
					    "de": "Karte mit Feuerlöschern.",
 | 
				
			||||||
    "it": "Cartina degli estintori."
 | 
					    "it": "Cartina degli estintori.",
 | 
				
			||||||
 | 
					    "nl": "Kaart van brandblussers."
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "minzoom": 14,
 | 
					  "minzoom": 14,
 | 
				
			||||||
  "source": {
 | 
					  "source": {
 | 
				
			||||||
| 
						 | 
					@ -25,18 +26,20 @@
 | 
				
			||||||
      "nb_NO": "Brannslokkere",
 | 
					      "nb_NO": "Brannslokkere",
 | 
				
			||||||
      "fr": "Exctincteurs",
 | 
					      "fr": "Exctincteurs",
 | 
				
			||||||
      "de": "Feuerlöscher",
 | 
					      "de": "Feuerlöscher",
 | 
				
			||||||
      "it": "Estintori"
 | 
					      "it": "Estintori",
 | 
				
			||||||
 | 
					      "nl": "Brandblussers"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description": {
 | 
					  "description": {
 | 
				
			||||||
    "en": "Map layer to show fire hydrants.",
 | 
					    "en": "Map layer to show fire extinguishers.",
 | 
				
			||||||
    "ja": "消火栓を表示するマップレイヤ。",
 | 
					    "ja": "消火栓を表示するマップレイヤ。",
 | 
				
			||||||
    "zh_Hant": "顯示消防栓的地圖圖層。",
 | 
					    "zh_Hant": "顯示消防栓的地圖圖層。",
 | 
				
			||||||
    "nb_NO": "Kartlag for å vise brannslokkere.",
 | 
					    "nb_NO": "Kartlag for å vise brannslokkere.",
 | 
				
			||||||
    "ru": "Слой карты, отображающий огнетушители.",
 | 
					    "ru": "Слой карты, отображающий огнетушители.",
 | 
				
			||||||
    "fr": "Couche des lances à incendie.",
 | 
					    "fr": "Couche des lances à incendie.",
 | 
				
			||||||
    "de": "Kartenebene zur Anzeige von Hydranten.",
 | 
					    "de": "Kartenebene zur Anzeige von Hydranten.",
 | 
				
			||||||
    "it": "Livello della mappa che mostra gli idranti antincendio."
 | 
					    "it": "Livello della mappa che mostra gli idranti antincendio.",
 | 
				
			||||||
 | 
					    "nl": "Kaartlaag met brandblussers."
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "tagRenderings": [
 | 
					  "tagRenderings": [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -48,7 +51,8 @@
 | 
				
			||||||
        "fr": "Emplacement : {location}",
 | 
					        "fr": "Emplacement : {location}",
 | 
				
			||||||
        "de": "Standort: {location}",
 | 
					        "de": "Standort: {location}",
 | 
				
			||||||
        "eo": "Loko: {location}",
 | 
					        "eo": "Loko: {location}",
 | 
				
			||||||
        "it": "Posizione: {location}"
 | 
					        "it": "Posizione: {location}",
 | 
				
			||||||
 | 
					        "nl": "Locatie: {location}"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "Where is it positioned?",
 | 
					        "en": "Where is it positioned?",
 | 
				
			||||||
| 
						 | 
					@ -108,7 +112,8 @@
 | 
				
			||||||
        "ru": "Огнетушитель",
 | 
					        "ru": "Огнетушитель",
 | 
				
			||||||
        "fr": "Extincteur",
 | 
					        "fr": "Extincteur",
 | 
				
			||||||
        "de": "Feuerlöscher",
 | 
					        "de": "Feuerlöscher",
 | 
				
			||||||
        "it": "Estintore"
 | 
					        "it": "Estintore",
 | 
				
			||||||
 | 
					        "nl": "Brandblusser"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "description": {
 | 
					      "description": {
 | 
				
			||||||
        "en": "A fire extinguisher is a small, portable device used to stop a fire",
 | 
					        "en": "A fire extinguisher is a small, portable device used to stop a fire",
 | 
				
			||||||
| 
						 | 
					@ -116,7 +121,8 @@
 | 
				
			||||||
        "ru": "Огнетушитель - небольшое переносное устройство для тушения огня",
 | 
					        "ru": "Огнетушитель - небольшое переносное устройство для тушения огня",
 | 
				
			||||||
        "fr": "Un extincteur est un appareil portatif servant à éteindre un feu",
 | 
					        "fr": "Un extincteur est un appareil portatif servant à éteindre un feu",
 | 
				
			||||||
        "de": "Ein Feuerlöscher ist ein kleines, tragbares Gerät, das dazu dient, ein Feuer zu löschen",
 | 
					        "de": "Ein Feuerlöscher ist ein kleines, tragbares Gerät, das dazu dient, ein Feuer zu löschen",
 | 
				
			||||||
        "it": "Un estintore è un dispositivo portatile di piccole dimensioni usato per spegnere un incendio"
 | 
					        "it": "Un estintore è un dispositivo portatile di piccole dimensioni usato per spegnere un incendio",
 | 
				
			||||||
 | 
					        "nl": "Een brandblusser is een klein, draagbaar apparaat om een brand te blussen"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,8 @@
 | 
				
			||||||
    "ru": "Карта пожарных гидрантов",
 | 
					    "ru": "Карта пожарных гидрантов",
 | 
				
			||||||
    "fr": "Carte des bornes incendie",
 | 
					    "fr": "Carte des bornes incendie",
 | 
				
			||||||
    "de": "Karte der Hydranten",
 | 
					    "de": "Karte der Hydranten",
 | 
				
			||||||
    "it": "Mappa degli idranti"
 | 
					    "it": "Mappa degli idranti",
 | 
				
			||||||
 | 
					    "nl": "Kaart van brandkranen"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "minzoom": 14,
 | 
					  "minzoom": 14,
 | 
				
			||||||
  "source": {
 | 
					  "source": {
 | 
				
			||||||
| 
						 | 
					@ -37,7 +38,8 @@
 | 
				
			||||||
    "ru": "Слой карты, отображающий пожарные гидранты.",
 | 
					    "ru": "Слой карты, отображающий пожарные гидранты.",
 | 
				
			||||||
    "fr": "Couche des bornes incendie.",
 | 
					    "fr": "Couche des bornes incendie.",
 | 
				
			||||||
    "de": "Kartenebene zur Anzeige von Hydranten.",
 | 
					    "de": "Kartenebene zur Anzeige von Hydranten.",
 | 
				
			||||||
    "it": "Livello della mappa che mostra gli idranti antincendio."
 | 
					    "it": "Livello della mappa che mostra gli idranti antincendio.",
 | 
				
			||||||
 | 
					    "nl": "Kaartlaag met brandkranen."
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "tagRenderings": [
 | 
					  "tagRenderings": [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -504,9 +504,9 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "then": {
 | 
					            "then": {
 | 
				
			||||||
              "nl": "Dit gebied wordt beheerd door Natuurpunt",
 | 
					              "nl": "Dit gebied wordt beheerd door Natuurpunt"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "icon": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
 | 
					            "icon": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            "if": {
 | 
					            "if": {
 | 
				
			||||||
| 
						 | 
					@ -515,9 +515,9 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "then": {
 | 
					            "then": {
 | 
				
			||||||
              "nl": "Dit gebied wordt beheerd door {operator}",
 | 
					              "nl": "Dit gebied wordt beheerd door {operator}"
 | 
				
			||||||
              "icon": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
 | 
					 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            "icon": "./assets/themes/buurtnatuur/Natuurpunt.jpg",
 | 
				
			||||||
            "hideInAnswer": true
 | 
					            "hideInAnswer": true
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
| 
						 | 
					@ -527,9 +527,9 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "then": {
 | 
					            "then": {
 | 
				
			||||||
              "nl": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos",
 | 
					              "nl": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "icon": "./assets/themes/buurtnatuur/ANB.jpg"
 | 
					            "icon": "./assets/themes/buurtnatuur/ANB.jpg"
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            "if": {
 | 
					            "if": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3059,7 +3059,7 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "extinguisher": {
 | 
					    "extinguisher": {
 | 
				
			||||||
        "description": "Map layer to show fire hydrants.",
 | 
					        "description": "Map layer to show fire extinguishers.",
 | 
				
			||||||
        "name": "Map of fire extinguishers.",
 | 
					        "name": "Map of fire extinguishers.",
 | 
				
			||||||
        "presets": {
 | 
					        "presets": {
 | 
				
			||||||
            "0": {
 | 
					            "0": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1823,7 +1823,7 @@
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "plugs-12": {
 | 
					            "plugs-12": {
 | 
				
			||||||
                "question": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft dit oplaadpunt?",
 | 
					                "question": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft dit oplaadpunt?",
 | 
				
			||||||
                "render": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
					                "render": "Hier zijn <b class='text-xl'>{socket:tesla_destination}</b> stekkers van het type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "plugs-13": {
 | 
					            "plugs-13": {
 | 
				
			||||||
                "question": "Hoeveel stekkers van type  <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> heeft dit oplaadpunt?",
 | 
					                "question": "Hoeveel stekkers van type  <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> heeft dit oplaadpunt?",
 | 
				
			||||||
| 
						 | 
					@ -1923,8 +1923,8 @@
 | 
				
			||||||
                        "then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) levert een vermogen van maximaal 22 kw A"
 | 
					                        "then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) levert een vermogen van maximaal 22 kw A"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
 | 
					                "question": "Welk vermogen levert een enkele stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
 | 
				
			||||||
                "render": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal {socket:tesla_destination:output}"
 | 
					                "render": "<div style='display: inline-block'><b><b>Tesla supercharger (destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> levert een vermogen van maximaal {socket:tesla_destination:output}"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "power-output-13": {
 | 
					            "power-output-13": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					@ -2106,8 +2106,8 @@
 | 
				
			||||||
                        "then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) heeft een spanning van 400 volt"
 | 
					                        "then": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo) heeft een spanning van 400 volt"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>",
 | 
					                "question": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Tesla supercharger (destination).</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
 | 
				
			||||||
                "render": "<div style='display: inline-block'><b><b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van {socket:tesla_destination:voltage} volt"
 | 
					                "render": "<div style='display: inline-block'><b><b>Tesla supercharger (destination).</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> heeft een spanning van {socket:tesla_destination:voltage} volt"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "voltage-13": {
 | 
					            "voltage-13": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					@ -3037,12 +3037,18 @@
 | 
				
			||||||
            "width": {
 | 
					            "width": {
 | 
				
			||||||
                "question": "Wat is de breedte van deze deur/toegang?"
 | 
					                "question": "Wat is de breedte van deze deur/toegang?"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Ingang"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "etymology": {
 | 
					    "etymology": {
 | 
				
			||||||
        "description": "Alle lagen met een gelinkt etymology",
 | 
					        "description": "Alle lagen met een gelinkt etymology",
 | 
				
			||||||
        "name": "Heeft etymology info",
 | 
					        "name": "Heeft etymology info",
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "etymology_multi_apply": {
 | 
				
			||||||
 | 
					                "render": "{multi_apply(_same_name_ids, name:etymology:wikidata,name:etymology, Wijzigingen worden automatisch gedaan op alle segmenten met dezelfde naam, true)}"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "simple etymology": {
 | 
					            "simple etymology": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
| 
						 | 
					@ -3055,6 +3061,9 @@
 | 
				
			||||||
            "street-name-sign-image": {
 | 
					            "street-name-sign-image": {
 | 
				
			||||||
                "render": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Voeg afbeelding van straatnaambordje toe)}"
 | 
					                "render": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Voeg afbeelding van straatnaambordje toe)}"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            "wikipedia": {
 | 
				
			||||||
 | 
					                "render": "Een Wikipedia artikel over deze <b>straat</b> bestaat:<br/>{wikipedia():max-height:25rem}"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "wikipedia-etymology": {
 | 
					            "wikipedia-etymology": {
 | 
				
			||||||
                "question": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?",
 | 
					                "question": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?",
 | 
				
			||||||
                "render": "<h3>Wikipedia artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
 | 
					                "render": "<h3>Wikipedia artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
 | 
				
			||||||
| 
						 | 
					@ -3064,6 +3073,24 @@
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "extinguisher": {
 | 
				
			||||||
 | 
					        "description": "Kaartlaag met brandblussers.",
 | 
				
			||||||
 | 
					        "name": "Kaart van brandblussers.",
 | 
				
			||||||
 | 
					        "presets": {
 | 
				
			||||||
 | 
					            "0": {
 | 
				
			||||||
 | 
					                "description": "Een brandblusser is een klein, draagbaar apparaat om een brand te blussen",
 | 
				
			||||||
 | 
					                "title": "Brandblusser"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "extinguisher-location": {
 | 
				
			||||||
 | 
					                "render": "Locatie: {location}"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Brandblussers"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "food": {
 | 
					    "food": {
 | 
				
			||||||
        "filter": {
 | 
					        "filter": {
 | 
				
			||||||
            "0": {
 | 
					            "0": {
 | 
				
			||||||
| 
						 | 
					@ -3372,6 +3399,10 @@
 | 
				
			||||||
            "render": "Speelweide in een park"
 | 
					            "render": "Speelweide in een park"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "hydrant": {
 | 
				
			||||||
 | 
					        "description": "Kaartlaag met brandkranen.",
 | 
				
			||||||
 | 
					        "name": "Kaart van brandkranen"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "information_board": {
 | 
					    "information_board": {
 | 
				
			||||||
        "description": "Deze laag toont informatieborden in de publieke ruimte die uitleg geven over een bezienswaardigheid (bv. uitleg over het landschap, een ruine, een kaart van de omgeving, ...)",
 | 
					        "description": "Deze laag toont informatieborden in de publieke ruimte die uitleg geven over een bezienswaardigheid (bv. uitleg over het landschap, een ruine, een kaart van de omgeving, ...)",
 | 
				
			||||||
        "name": "Informatieborden",
 | 
					        "name": "Informatieborden",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -294,6 +294,9 @@
 | 
				
			||||||
        "uploadingPicture": "Bezig met een foto te uploaden…",
 | 
					        "uploadingPicture": "Bezig met een foto te uploaden…",
 | 
				
			||||||
        "willBePublished": "Jouw foto wordt gepubliceerd "
 | 
					        "willBePublished": "Jouw foto wordt gepubliceerd "
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "importHelper": {
 | 
				
			||||||
 | 
					        "allAttributesSame": "Alle kaart-objecten om te importeren hebben deze tag"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "importLayer": {
 | 
					    "importLayer": {
 | 
				
			||||||
        "alreadyMapped": "Er staat hier reeds een {title} op de kaart; dit punt is een duplicaat. Verwijder deze van de kaart",
 | 
					        "alreadyMapped": "Er staat hier reeds een {title} op de kaart; dit punt is een duplicaat. Verwijder deze van de kaart",
 | 
				
			||||||
        "description": "Deze laag toont kaart-nota's die wijzen op een {title}",
 | 
					        "description": "Deze laag toont kaart-nota's die wijzen op een {title}",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,21 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    "buurtnatuur": {
 | 
					 | 
				
			||||||
        "overrideAll": {
 | 
					 | 
				
			||||||
            "tagRenderings+": {
 | 
					 | 
				
			||||||
                "1": {
 | 
					 | 
				
			||||||
                    "mappings": {
 | 
					 | 
				
			||||||
                        "1": {
 | 
					 | 
				
			||||||
                            "then": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        "2": {
 | 
					 | 
				
			||||||
                            "then": "./assets/themes/buurtnatuur/Natuurpunt.jpg"
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        "3": {
 | 
					 | 
				
			||||||
                            "then": "./assets/themes/buurtnatuur/ANB.jpg"
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ mkdir dist/assets 2> /dev/null
 | 
				
			||||||
# This script ends every line with '&&' to chain everything. A failure will thus stop the build
 | 
					# This script ends every line with '&&' to chain everything. A failure will thus stop the build
 | 
				
			||||||
npm run generate:editor-layer-index 
 | 
					npm run generate:editor-layer-index 
 | 
				
			||||||
npm run generate &&
 | 
					npm run generate &&
 | 
				
			||||||
 | 
					npm run generate:layeroverview && # generate:layeroverview has to be run twice: the personal theme won't pick up all the layers otherwise
 | 
				
			||||||
npm run test &&
 | 
					npm run test &&
 | 
				
			||||||
npm run generate:layouts 
 | 
					npm run generate:layouts 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue