forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			528 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			528 B
		
	
	
	
		
			Svelte
		
	
	
	
	
	
<script lang="ts">
 | 
						|
  import BaseUIElement from "../BaseUIElement.js";
 | 
						|
  import { onDestroy, onMount } from "svelte";
 | 
						|
 | 
						|
  export let construct: BaseUIElement | (() => BaseUIElement);
 | 
						|
  let elem: HTMLElement;
 | 
						|
  let html: HTMLElement;
 | 
						|
  onMount(() => {
 | 
						|
    const uiElem = typeof construct === "function"
 | 
						|
      ? construct() : construct;
 | 
						|
    html =uiElem?.ConstructElement();
 | 
						|
    if (html !== undefined) {
 | 
						|
      elem.replaceWith(html);
 | 
						|
    }
 | 
						|
  });
 | 
						|
 | 
						|
  onDestroy(() => {
 | 
						|
    html?.remove();
 | 
						|
  });
 | 
						|
 | 
						|
</script>
 | 
						|
 | 
						|
<span bind:this={elem} />
 |