2023-02-02 17:57:07 +01:00
|
|
|
<script lang="ts">
|
2023-03-28 05:13:48 +02:00
|
|
|
import BaseUIElement from "../BaseUIElement.js";
|
|
|
|
import { onDestroy, onMount } from "svelte";
|
2023-02-02 17:57:07 +01:00
|
|
|
|
2023-03-28 05:13:48 +02:00
|
|
|
export let construct: BaseUIElement | (() => BaseUIElement);
|
|
|
|
let elem: HTMLElement;
|
|
|
|
let html: HTMLElement;
|
2023-02-02 17:57:07 +01:00
|
|
|
onMount(() => {
|
2023-03-28 05:13:48 +02:00
|
|
|
const uiElem = typeof construct === "function"
|
|
|
|
? construct() : construct;
|
|
|
|
html =uiElem?.ConstructElement();
|
|
|
|
if (html !== undefined) {
|
|
|
|
elem.replaceWith(html);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
onDestroy(() => {
|
|
|
|
html?.remove();
|
|
|
|
});
|
2023-02-03 14:59:08 +01:00
|
|
|
|
2023-02-02 17:57:07 +01:00
|
|
|
</script>
|
2023-02-03 14:59:08 +01:00
|
|
|
|
|
|
|
<span bind:this={elem} />
|