forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			158 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			158 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import T from "./TestHelper";
							 | 
						||
| 
								 | 
							
								import LegacyJsonConvert from "../Models/ThemeConfig/LegacyJsonConvert";
							 | 
						||
| 
								 | 
							
								import LayoutConfig from "../Models/ThemeConfig/LayoutConfig";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default class LegacyThemeLoaderSpec extends T {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private static readonly walking_node_theme = {
							 | 
						||
| 
								 | 
							
								        "id": "walkingnodenetworks",
							 | 
						||
| 
								 | 
							
								        "title": {
							 | 
						||
| 
								 | 
							
								            "en": "Walking node networks"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        "maintainer": "L'imaginaire",
							 | 
						||
| 
								 | 
							
								        "icon": "https://upload.wikimedia.org/wikipedia/commons/3/30/Man_walking_icon_1410105361.svg",
							 | 
						||
| 
								 | 
							
								        "description": {
							 | 
						||
| 
								 | 
							
								            "en": "This map shows walking node networks"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        "language": [
							 | 
						||
| 
								 | 
							
								            "en"
							 | 
						||
| 
								 | 
							
								        ],
							 | 
						||
| 
								 | 
							
								        "version": "2021-10-02",
							 | 
						||
| 
								 | 
							
								        "startLat": 51.1599,
							 | 
						||
| 
								 | 
							
								        "startLon": 3.34750,
							 | 
						||
| 
								 | 
							
								        "startZoom": 12,
							 | 
						||
| 
								 | 
							
								        "clustering": {
							 | 
						||
| 
								 | 
							
								            "maxZoom": 12
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        "layers": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                "id": "node2node",
							 | 
						||
| 
								 | 
							
								                "name": {
							 | 
						||
| 
								 | 
							
								                    "en": "node to node links"
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "source": {
							 | 
						||
| 
								 | 
							
								                    "osmTags": {
							 | 
						||
| 
								 | 
							
								                        "and": [
							 | 
						||
| 
								 | 
							
								                            "network=rwn",
							 | 
						||
| 
								 | 
							
								                            "network:type=node_network"
							 | 
						||
| 
								 | 
							
								                        ]
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "minzoom": 12,
							 | 
						||
| 
								 | 
							
								                "title": {
							 | 
						||
| 
								 | 
							
								                    "render": {
							 | 
						||
| 
								 | 
							
								                        "en": "node to node link"
							 | 
						||
| 
								 | 
							
								                    },
							 | 
						||
| 
								 | 
							
								                    "mappings": [
							 | 
						||
| 
								 | 
							
								                        {
							 | 
						||
| 
								 | 
							
								                            "if": "ref~*",
							 | 
						||
| 
								 | 
							
								                            "then": {
							 | 
						||
| 
								 | 
							
								                                "en": "node to node link <strong>{ref}</strong>"
							 | 
						||
| 
								 | 
							
								                            }
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    ]
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "width": {
							 | 
						||
| 
								 | 
							
								                    "render": "4"
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "color": {
							 | 
						||
| 
								 | 
							
								                    "render": "#8b1e20"
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "tagRenderings": [
							 | 
						||
| 
								 | 
							
								                    {
							 | 
						||
| 
								 | 
							
								                        "question": {
							 | 
						||
| 
								 | 
							
								                            "en": "When was this node to node link last surveyed?"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "render": {
							 | 
						||
| 
								 | 
							
								                            "en": "This node to node link was last surveyed on {survey:date}"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "freeform": {
							 | 
						||
| 
								 | 
							
								                            "key": "survey:date",
							 | 
						||
| 
								 | 
							
								                            "type": "date"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "mappings": [
							 | 
						||
| 
								 | 
							
								                            {
							 | 
						||
| 
								 | 
							
								                                "if": "survey:date:={_now:date}",
							 | 
						||
| 
								 | 
							
								                                "then": "Surveyed today!"
							 | 
						||
| 
								 | 
							
								                            }
							 | 
						||
| 
								 | 
							
								                        ]
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                ]
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                "id": "node",
							 | 
						||
| 
								 | 
							
								                "name": {
							 | 
						||
| 
								 | 
							
								                    "en": "nodes"
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "source": {
							 | 
						||
| 
								 | 
							
								                    "osmTags": "rwn_ref~*"
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "minzoom": 12,
							 | 
						||
| 
								 | 
							
								                "title": {
							 | 
						||
| 
								 | 
							
								                    "render": {
							 | 
						||
| 
								 | 
							
								                        "en": "walking node <strong>{rwn_ref}</strong>"
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "label": {
							 | 
						||
| 
								 | 
							
								                    "mappings": [
							 | 
						||
| 
								 | 
							
								                        {
							 | 
						||
| 
								 | 
							
								                            "if": "rwn_ref~*",
							 | 
						||
| 
								 | 
							
								                            "then": "<div style='position: absolute; top: 10px; right: 10px; color: white; background-color: #8b1e20; width: 20px; height: 20px; border-radius: 100%'>{rwn_ref}</div>"
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    ]
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                "tagRenderings": [
							 | 
						||
| 
								 | 
							
								                    {
							 | 
						||
| 
								 | 
							
								                        "question": {
							 | 
						||
| 
								 | 
							
								                            "en": "When was this walking node last surveyed?"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "render": {
							 | 
						||
| 
								 | 
							
								                            "en": "This walking node was last surveyed on {survey:date}"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "freeform": {
							 | 
						||
| 
								 | 
							
								                            "key": "survey:date",
							 | 
						||
| 
								 | 
							
								                            "type": "date"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "mappings": [
							 | 
						||
| 
								 | 
							
								                            {
							 | 
						||
| 
								 | 
							
								                                "if": "survey:date:={_now:date}",
							 | 
						||
| 
								 | 
							
								                                "then": "Surveyed today!"
							 | 
						||
| 
								 | 
							
								                            }
							 | 
						||
| 
								 | 
							
								                        ]
							 | 
						||
| 
								 | 
							
								                    },
							 | 
						||
| 
								 | 
							
								                    {
							 | 
						||
| 
								 | 
							
								                        "question": {
							 | 
						||
| 
								 | 
							
								                            "en": "How many other walking nodes does this node link to?"
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "render": {
							 | 
						||
| 
								 | 
							
								                            "en": "This node links to {expected_rwn_route_relations} other walking nodes."
							 | 
						||
| 
								 | 
							
								                        },
							 | 
						||
| 
								 | 
							
								                        "freeform": {
							 | 
						||
| 
								 | 
							
								                            "key": "expected_rwn_route_relations",
							 | 
						||
| 
								 | 
							
								                            "type": "int"
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    },
							 | 
						||
| 
								 | 
							
								                    "images"
							 | 
						||
| 
								 | 
							
								                ]
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        ]
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    constructor() {
							 | 
						||
| 
								 | 
							
								        super("LegacyThemeLoader",
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            [
							 | 
						||
| 
								 | 
							
								                ["Walking_node_theme", () => {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    const config = LegacyThemeLoaderSpec.walking_node_theme
							 | 
						||
| 
								 | 
							
								                    LegacyJsonConvert.fixThemeConfig(config)
							 | 
						||
| 
								 | 
							
								                    // @ts-ignore
							 | 
						||
| 
								 | 
							
								                    const theme = new LayoutConfig(config)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                }]
							 | 
						||
| 
								 | 
							
								            ]
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |