| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | <script lang="ts"> | 
					
						
							|  |  |  |   import { UIEventSource } from "../../Logic/UIEventSource"; | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |   import { onDestroy } from "svelte"; | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * For some stupid reason, it is very hard to let {#if} work together with UIEventSources, so we wrap then here | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   export let condition: UIEventSource<boolean>; | 
					
						
							|  |  |  |   let _c = condition.data; | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |   onDestroy(condition.addCallback(c => { | 
					
						
							|  |  |  |     /* Do _not_ abbreviate this as `.addCallback(c => _c = c)`. This is the same as writing `.addCallback(c => {return _c = c})`,  | 
					
						
							|  |  |  |     which will _unregister_ the callback if `c = true`! */ | 
					
						
							|  |  |  |     _c = c; | 
					
						
							|  |  |  |     return false | 
					
						
							|  |  |  |   })) | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {#if _c} | 
					
						
							|  |  |  |   <slot></slot> | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |   {:else} | 
					
						
							|  |  |  |   <slot name="else"></slot> | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | {/if} |