forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			667 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			667 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
<script lang="ts">
 | 
						|
  import { UIEventSource } from "../../Logic/UIEventSource"
 | 
						|
  import { onDestroy } from "svelte"
 | 
						|
 | 
						|
  /**
 | 
						|
   * 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
 | 
						|
  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
 | 
						|
    })
 | 
						|
  )
 | 
						|
</script>
 | 
						|
 | 
						|
{#if _c}
 | 
						|
  <slot />
 | 
						|
{:else}
 | 
						|
  <slot name="else" />
 | 
						|
{/if}
 |