forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			34 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Svelte
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Svelte
		
	
	
	
	
	
| 
								 | 
							
								<script lang="ts">
							 | 
						||
| 
								 | 
							
								    import {Store} from "../../Logic/UIEventSource";
							 | 
						||
| 
								 | 
							
								    import {PencilIcon} from "@babeard/svelte-heroicons/solid";
							 | 
						||
| 
								 | 
							
								    import Translations from "../i18n/Translations";
							 | 
						||
| 
								 | 
							
								    import Tr from "../Base/Tr.svelte";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    export let mapProperties: { location: Store<{ lon: number; lat: number }>; zoom: Store<number> }
							 | 
						||
| 
								 | 
							
								    let location = mapProperties.location
							 | 
						||
| 
								 | 
							
								    let zoom = mapProperties.zoom
							 | 
						||
| 
								 | 
							
								    export let objectId: undefined | string = undefined
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    let elementSelect = ""
							 | 
						||
| 
								 | 
							
								    if (objectId !== undefined) {
							 | 
						||
| 
								 | 
							
								        const parts = objectId?.split("/")
							 | 
						||
| 
								 | 
							
								        const tp = parts[0]
							 | 
						||
| 
								 | 
							
								        if (
							 | 
						||
| 
								 | 
							
								            parts.length === 2 &&
							 | 
						||
| 
								 | 
							
								            !isNaN(Number(parts[1])) &&
							 | 
						||
| 
								 | 
							
								            (tp === "node" || tp === "way" || tp === "relation")
							 | 
						||
| 
								 | 
							
								        ) {
							 | 
						||
| 
								 | 
							
								            elementSelect = "&" + tp + "=" + parts[1]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    const idLink = `https://www.openstreetmap.org/edit?editor=id${elementSelect}#map=${
							 | 
						||
| 
								 | 
							
								        $zoom ?? 0
							 | 
						||
| 
								 | 
							
								    }/${$location?.lat ?? 0}/${$location?.lon ?? 0}`
							 | 
						||
| 
								 | 
							
								</script>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<a class="flex button items-center" target="_blank" href={idLink}>
							 | 
						||
| 
								 | 
							
								    <PencilIcon class="w-12 h-12 p-2 pr-4"/>
							 | 
						||
| 
								 | 
							
								    <Tr t={ Translations.t.general.attribution.editId}/>
							 | 
						||
| 
								 | 
							
								</a>
							 |