aboutsummaryrefslogtreecommitdiff
path: root/src_frontend/Components/Editor/Output.svelte
diff options
context:
space:
mode:
authorjakob.stendahl <jakob.stendahl@infomedia.dk>2022-12-04 13:33:45 +0100
committerJakob Stendahl <jakob.stendahl@outlook.com>2022-12-04 13:34:22 +0100
commitc3b4742eeceee9250f8059972dd150f38e2eb021 (patch)
treeedde9ea65b554ff345788a916f238aed4a772b35 /src_frontend/Components/Editor/Output.svelte
parentc5dc2dfb92e4a6584d1e727bc39b8c9578f85b57 (diff)
downloadLuxcena-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.svelte13
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>