| 
									
										
										
										
											2023-05-30 02:52:22 +02:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   /** | 
					
						
							|  |  |  |    * Can be used for both WayImportFlow and ConflateImportFlow | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   import WayImportFlowState from "./WayImportFlowState" | 
					
						
							|  |  |  |   import ImportFlow from "./ImportFlow.svelte" | 
					
						
							| 
									
										
										
										
											2023-06-14 23:58:57 +02:00
										 |  |  |   import {UIEventSource} from "../../../Logic/UIEventSource" | 
					
						
							|  |  |  |   import {Map as MlMap} from "maplibre-gl" | 
					
						
							|  |  |  |   import {MapLibreAdaptor} from "../../Map/MapLibreAdaptor" | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   import MaplibreMap from "../../Map/MaplibreMap.svelte" | 
					
						
							|  |  |  |   import ShowDataLayer from "../../Map/ShowDataLayer" | 
					
						
							|  |  |  |   import StaticFeatureSource from "../../../Logic/FeatureSource/Sources/StaticFeatureSource" | 
					
						
							| 
									
										
										
										
											2023-06-14 23:58:57 +02:00
										 |  |  |   import {ImportFlowUtils} from "./ImportFlow" | 
					
						
							|  |  |  |   import {GeoOperations} from "../../../Logic/GeoOperations" | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   import ConflateImportFlowState from "./ConflateImportFlowState" | 
					
						
							| 
									
										
										
										
											2023-06-14 23:58:57 +02:00
										 |  |  |   import OpenBackgroundSelectorButton from "../../BigComponents/OpenBackgroundSelectorButton.svelte"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   export let importFlow: WayImportFlowState | ConflateImportFlowState | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   const state = importFlow.state | 
					
						
							|  |  |  |   const map = new UIEventSource<MlMap>(undefined) | 
					
						
							|  |  |  |   const [lon, lat] = GeoOperations.centerpointCoordinates(importFlow.originalFeature) | 
					
						
							|  |  |  |   const mla = new MapLibreAdaptor(map, { | 
					
						
							|  |  |  |     allowMoving: UIEventSource.feedFrom(state.featureSwitchIsTesting), | 
					
						
							|  |  |  |     allowZooming: UIEventSource.feedFrom(state.featureSwitchIsTesting), | 
					
						
							|  |  |  |     rasterLayer: state.mapProperties.rasterLayer, | 
					
						
							|  |  |  |     location: new UIEventSource<{ lon: number; lat: number }>({ lon, lat }), | 
					
						
							|  |  |  |     zoom: new UIEventSource<number>(18), | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Show all relevant data - including (eventually) the way of which the geometry will be replaced | 
					
						
							|  |  |  |   ShowDataLayer.showMultipleLayers( | 
					
						
							|  |  |  |     map, | 
					
						
							|  |  |  |     new StaticFeatureSource([importFlow.originalFeature]), | 
					
						
							|  |  |  |     state.layout.layers, | 
					
						
							|  |  |  |     { zoomToFeatures: false } | 
					
						
							|  |  |  |   ) | 
					
						
							| 
									
										
										
										
											2023-05-30 02:52:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   importFlow.GetPreview().then((features) => { | 
					
						
							|  |  |  |     new ShowDataLayer(map, { | 
					
						
							|  |  |  |       zoomToFeatures: false, | 
					
						
							|  |  |  |       features, | 
					
						
							|  |  |  |       layer: ImportFlowUtils.conflationLayer, | 
					
						
							| 
									
										
										
										
											2023-05-30 02:52:22 +02:00
										 |  |  |     }) | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   }) | 
					
						
							| 
									
										
										
										
											2023-05-30 02:52:22 +02:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <ImportFlow {importFlow} on:confirm={() => importFlow.onConfirm()}> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   <div slot="map" class="relative"> | 
					
						
							|  |  |  |     <div class="h-32"> | 
					
						
							|  |  |  |       <MaplibreMap {map} /> | 
					
						
							| 
									
										
										
										
											2023-05-30 02:52:22 +02:00
										 |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2023-06-14 23:58:57 +02:00
										 |  |  |     <div class="absolute bottom-0"> | 
					
						
							|  |  |  |       <OpenBackgroundSelectorButton/> | 
					
						
							|  |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2023-05-30 02:52:22 +02:00
										 |  |  | </ImportFlow> |