2020-06-24 00:35:19 +02:00
import { LayerDefinition } from "../LayerDefinition" ;
2020-08-30 01:13:18 +02:00
import { Or , Tag } from "../../Logic/Tags" ;
2020-07-05 18:59:47 +02:00
import { NameInline } from "../Questions/NameInline" ;
2020-07-31 17:38:03 +02:00
import { TagRenderingOptions } from "../TagRenderingOptions" ;
2020-06-24 00:35:19 +02:00
export class NatureReserves extends LayerDefinition {
2020-07-31 17:38:03 +02:00
2020-07-18 20:40:51 +02:00
constructor ( moreQuests : boolean = false ) {
2020-07-31 04:58:58 +02:00
super ( "natureReserve" ) ;
2020-07-24 14:46:25 +02:00
this . name = "Natuurgebied" ;
this . icon = "" ;
2020-06-27 03:06:51 +02:00
this . overpassFilter =
2020-07-18 20:40:51 +02:00
new Or ( [ new Tag ( "leisure" , "nature_reserve" ) , new Tag ( "boundary" , "protected_area" ) ] ) ;
2020-06-28 23:33:48 +02:00
this . maxAllowedOverlapPercentage = 10 ;
2020-06-24 00:35:19 +02:00
2020-07-29 18:35:46 +02:00
this . presets = [ {
title : "Natuurreservaat" ,
description : "Voeg een ontbrekend, erkend natuurreservaat toe, bv. een gebied dat beheerd wordt door het ANB of natuurpunt" ,
tags : [ new Tag ( "leisure" , "nature_reserve" ) ,
new Tag ( "fixme" , "Toegevoegd met MapComplete, geometry nog uit te tekenen" ) ]
}
] ;
2020-06-24 00:35:19 +02:00
this . minzoom = 13 ;
2020-09-09 18:42:13 +02:00
this . title = new NameInline ( "Natuurreservaat" ) ;
2020-09-17 13:13:02 +02:00
this . style = function ( ) {
return {
color : "#00bb00" ,
icon : undefined
} ;
} ;
2020-06-24 00:35:19 +02:00
this . elementsToShow = [
] ;
2020-07-18 20:40:51 +02:00
const extraRenderings = [
new TagRenderingOptions ( {
question : "Mogen honden in dit natuurgebied?" ,
mappings : [
{ k : new Tag ( "dog" , "leashed" ) , txt : "Honden moeten aan de leiband" } ,
{ k : new Tag ( "dog" , "no" ) , txt : "Honden zijn niet toegestaan" } ,
{ k : new Tag ( "dog" , "yes" ) , txt : "Honden zijn welkom" } ,
]
} ) . OnlyShowIf ( new Tag ( "access" , "yes" ) ) ,
new TagRenderingOptions ( {
question : "Op welke website kunnen we meer informatie vinden over dit natuurgebied?" ,
freeform : {
key : "website" ,
renderTemplate : "<a href='{website}' target='_blank'>Meer informatie</a>" ,
template : "$$$"
}
} ) ,
new TagRenderingOptions ( {
question : "Wie is de conservator van dit gebied?<br>" +
"<span class='question-subtext'>Geef de naam van de conservator énkel als die duidelijk online staat gepubliceerd.</span>" ,
freeform : {
renderTemplate : "De conservator van dit gebied is {curator}" ,
template : "$$$" ,
key : "curator"
}
} ) ,
new TagRenderingOptions (
{
question : "Wat is het email-adres van de beheerder?<br>" +
"<span class='question-subtext'>Geef bij voorkeur het emailadres van de Natuurpunt-afdeling; geef enkel een email-adres van de conservator als dit duidelijk is gepubliceerd</span>" ,
freeform : {
2020-07-19 00:13:45 +02:00
renderTemplate : "Bij problemen of vragen, de conservator kan bereikt worden via " +
2020-07-18 20:40:51 +02:00
"<a href='mailto:{email}'>{email}</a>" ,
2020-07-26 02:01:34 +02:00
template : "$email$" ,
2020-07-18 20:40:51 +02:00
key : "email"
}
} ) ,
new TagRenderingOptions (
{
question : "Wat is het telefoonnummer van de beheerder?<br>" +
"<span class='question-subtext'>Geef bij voorkeur het telefoonnummer van de Natuurpunt-afdeling; geef enkel een email-adres van de conservator als dit duidelijk is gepubliceerd</span>" ,
freeform : {
renderTemplate : "Bij problemen of vragen, de {conservator} kan bereikt worden via " +
"<a href='tel:{phone}'>{phone}</a>" ,
2020-07-26 02:01:34 +02:00
template : "$phone$" ,
2020-07-18 20:40:51 +02:00
key : "phone"
}
} ) ,
] ;
if ( moreQuests ) {
this . elementsToShow =
this . elementsToShow . concat ( extraRenderings ) ;
}
2020-06-24 00:35:19 +02:00
}
}