| 
									
										
										
										
											2024-02-21 17:33:29 +01:00
										 |  |  | <script lang="ts"> | 
					
						
							|  |  |  |   import Loading from "../Base/Loading.svelte" | 
					
						
							|  |  |  |   import { Stores, UIEventSource } from "../../Logic/UIEventSource" | 
					
						
							|  |  |  |   import { Map as MlMap } from "maplibre-gl" | 
					
						
							|  |  |  |   import { onDestroy } from "svelte" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   let isLoading = false | 
					
						
							|  |  |  |   export let map: UIEventSource<MlMap> | 
					
						
							| 
									
										
										
										
											2024-03-12 03:40:55 +01:00
										 |  |  |   export let rasterLayer: UIEventSource<any> = undefined | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   let didChange = undefined | 
					
						
							|  |  |  |   onDestroy(rasterLayer?.addCallback(() => { | 
					
						
							|  |  |  |     didChange = true | 
					
						
							|  |  |  |   }) ??( () => {})) | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2024-02-21 17:33:29 +01:00
										 |  |  |   onDestroy(Stores.Chronic(250).addCallback( | 
					
						
							|  |  |  |     () => { | 
					
						
							| 
									
										
										
										
											2024-03-13 01:58:52 +01:00
										 |  |  |       const mapIsLoading = !map.data?.isStyleLoaded() | 
					
						
							|  |  |  |       isLoading = mapIsLoading && didChange | 
					
						
							|  |  |  |       if(didChange && !mapIsLoading){ | 
					
						
							| 
									
										
										
										
											2024-03-12 03:40:55 +01:00
										 |  |  |         didChange = false | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2024-02-21 17:33:29 +01:00
										 |  |  |     }, | 
					
						
							|  |  |  |   )) | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {#if isLoading} | 
					
						
							| 
									
										
										
										
											2024-03-12 03:40:55 +01:00
										 |  |  |   <Loading cls="h-6 w-6" /> | 
					
						
							|  |  |  | {:else} | 
					
						
							|  |  |  |   <slot /> | 
					
						
							| 
									
										
										
										
											2024-02-21 17:33:29 +01:00
										 |  |  | {/if} |