forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			No EOL
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			No EOL
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {TagMappingOptions} from "../UI/TagMapping";
 | 
						|
import {Img} from "../UI/Img";
 | 
						|
 | 
						|
 | 
						|
export class CommonTagMappings {
 | 
						|
 | 
						|
 | 
						|
    public static access = new TagMappingOptions({
 | 
						|
        key: "access",
 | 
						|
        mapping: {
 | 
						|
            yes: "Vrij toegankelijk (op de paden)",
 | 
						|
            no: "Niet toegankelijk",
 | 
						|
            private: "Niet toegankelijk, want privegebied",
 | 
						|
            permissive: "Toegankelijk, maar het is privegebied",
 | 
						|
            guided: "Enkel met gids of op activiteit"
 | 
						|
        }
 | 
						|
    });
 | 
						|
 | 
						|
    public static operator = new TagMappingOptions({
 | 
						|
        key: "operator",
 | 
						|
        template: "Beheer door {operator}",
 | 
						|
        mapping: {
 | 
						|
            private: 'Beheer door een privepersoon of organisatie'
 | 
						|
        }
 | 
						|
 | 
						|
    });
 | 
						|
    public static osmLink = new TagMappingOptions({
 | 
						|
        key: "id",
 | 
						|
        mapping: {
 | 
						|
            "node/-1": ""
 | 
						|
        },
 | 
						|
        template: "<span class='osmlink'><a href='https://osm.org/{id}' target='_blank'>" +
 | 
						|
            Img.osmAbstractLogo +
 | 
						|
            "</a></span>"
 | 
						|
    });
 | 
						|
 | 
						|
    public static wikipediaLink = new TagMappingOptions({
 | 
						|
        key: "wikipedia",
 | 
						|
        missing: "",
 | 
						|
        freeform: (value: string) => {
 | 
						|
            let link = "";
 | 
						|
            // @ts-ignore
 | 
						|
            if (value.startsWith("https")) {
 | 
						|
                link = value;
 | 
						|
            } else {
 | 
						|
 | 
						|
                const splitted = value.split(":");
 | 
						|
                const language = splitted[0];
 | 
						|
                splitted.shift();
 | 
						|
                const page = splitted.join(":");
 | 
						|
                link = 'https://' + language + '.wikipedia.org/wiki/' + page;
 | 
						|
 | 
						|
            }
 | 
						|
            return "<span class='wikipedialink'>" +
 | 
						|
                "<a href='" + link + "' target='_blank'>" +
 | 
						|
                "<img width='64px' src='./assets/wikipedia.svg' alt='wikipedia'" +
 | 
						|
                "</a></span>";
 | 
						|
        }
 | 
						|
    });
 | 
						|
} |