diff options
author | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2022-12-04 13:33:45 +0100 |
---|---|---|
committer | Jakob Stendahl <jakob.stendahl@outlook.com> | 2022-12-04 13:34:22 +0100 |
commit | c3b4742eeceee9250f8059972dd150f38e2eb021 (patch) | |
tree | edde9ea65b554ff345788a916f238aed4a772b35 /src_frontend/Components/Editor/Output.svelte | |
parent | c5dc2dfb92e4a6584d1e727bc39b8c9578f85b57 (diff) | |
download | Luxcena-Neo-c3b4742eeceee9250f8059972dd150f38e2eb021.tar.gz Luxcena-Neo-c3b4742eeceee9250f8059972dd150f38e2eb021.zip |
Fix simulation stuttering (still resource intensive) and some oter QOL upgrades
Diffstat (limited to 'src_frontend/Components/Editor/Output.svelte')
-rw-r--r-- | src_frontend/Components/Editor/Output.svelte | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src_frontend/Components/Editor/Output.svelte b/src_frontend/Components/Editor/Output.svelte index 52b7216..59072f9 100644 --- a/src_frontend/Components/Editor/Output.svelte +++ b/src_frontend/Components/Editor/Output.svelte @@ -1,10 +1,12 @@ <script> + import { onMount, onDestroy } from "svelte"; import { authorizedSocket, authorizedSocketNeeded } from "../../stores/socketStore"; authorizedSocketNeeded.set(true); let scrollBox; let htmlCode = ""; let buffer = ""; + let flushBufferInterval; function addData(data, classname) { // let styles = "white-space:pre-wrap;margin:0;"; @@ -28,12 +30,21 @@ htmlCode += buffer; buffer = ""; }; - setInterval(flushBuffer, 400); authorizedSocket.on("editor:proc:start", () => htmlCode = ""); authorizedSocket.on("editor:proc:exit", (code) => addData(`\nMode exited with ${code}\n\n`, "exit")); authorizedSocket.on("editor:proc:stdout", (stdout) => addData(stdout, "stdout")); authorizedSocket.on("editor:proc:stderr", (stderr) => addData(stderr, "stderr")); + + onMount(() => { + htmlCode = ""; + buffer = ""; + flushBuffer = setInterval(flushBuffer, 400); + }); + + onDestroy(() => { + clearInterval(flushBufferInterval); + }); </script> <style> |