From f243dc8d7527cde3d5b5a4f6e659cf7604f5ae2a Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Thu, 21 Oct 2021 14:12:12 +0200 Subject: :sparkles: Make all variable-types changeable from both home and editor --- src_frontend/ComponentLib/Toggle.svelte | 50 +++++++++++++++++ src_frontend/Components/Editor/Controls.svelte | 28 ++++++++-- .../MainControls/ControlComponents.svelte | 6 ++- .../Components/MainControls/ControlOthers.svelte | 62 +++++++++++++++++----- 4 files changed, 129 insertions(+), 17 deletions(-) create mode 100644 src_frontend/ComponentLib/Toggle.svelte (limited to 'src_frontend') diff --git a/src_frontend/ComponentLib/Toggle.svelte b/src_frontend/ComponentLib/Toggle.svelte new file mode 100644 index 0000000..bd24273 --- /dev/null +++ b/src_frontend/ComponentLib/Toggle.svelte @@ -0,0 +1,50 @@ + + + + + \ No newline at end of file diff --git a/src_frontend/Components/Editor/Controls.svelte b/src_frontend/Components/Editor/Controls.svelte index 302aa7a..4b5c8b6 100644 --- a/src_frontend/Components/Editor/Controls.svelte +++ b/src_frontend/Components/Editor/Controls.svelte @@ -13,12 +13,17 @@ } function setPower() { openSocket.emit("power:set", power_on); } function setVar(ev) { - openSocket.emit("var:set", ev.target.id, ev.target.value); + if (ev.target.type == "checkbox") { + openSocket.emit("var:set", ev.target.id, ev.target.checked); + } else { + openSocket.emit("var:set", ev.target.id, ev.target.value); + } } openSocket.on("power", (power) => power_on = power); openSocket.on("brightness", (value) => brightnessValue = value); openSocket.on("vars", (vars) => variables = vars); + openSocket.on("vars", (vars) => console.log(vars)); openSocket.on("var", (name, value) => { name = name.replace("variable/", ""); if (value.value == null) { @@ -27,6 +32,7 @@ variables[name] = value; } variables = variables; + console.log(variables); }); onMount(() => { @@ -75,9 +81,25 @@ {#each Object.entries(variables) as [name, value]} -
- +
+ + {#if value.type == "INT"} +
+ + {value.value} +
+ {:else if value.type == "FLOAT"} +
+ + {value.value} +
+ {:else if value.type == "BOOL"} + + {:else if value.type == "TRIGGER"} + + {:else} + {/if}
{/each}
\ No newline at end of file diff --git a/src_frontend/Components/MainControls/ControlComponents.svelte b/src_frontend/Components/MainControls/ControlComponents.svelte index 71c522a..f12ccbb 100644 --- a/src_frontend/Components/MainControls/ControlComponents.svelte +++ b/src_frontend/Components/MainControls/ControlComponents.svelte @@ -59,7 +59,7 @@ if (value.value == null) { delete variables[name]; } else { - variables[name] = value.value; + variables[name] = value; } variables = variables; } @@ -143,5 +143,7 @@ {#if Object.keys(colorVariables).length > 0} {/if} - + {#if Object.keys(variables).length > 0} + + {/if} \ No newline at end of file diff --git a/src_frontend/Components/MainControls/ControlOthers.svelte b/src_frontend/Components/MainControls/ControlOthers.svelte index 390daf9..4261c64 100644 --- a/src_frontend/Components/MainControls/ControlOthers.svelte +++ b/src_frontend/Components/MainControls/ControlOthers.svelte @@ -1,13 +1,16 @@
- {#each variables as variable} - - {#if variable.type == "range"} - + {#each Object.entries(variables) as [name, value]} +
+ {#if !["TRIGGER"].includes(value.type)} + + {/if} + + {#if value.type == "INT"} +
+ + {value.value} +
+ {:else if value.type == "FLOAT"} +
+ + {value.value} +
+ {:else if value.type == "BOOL"} + + {:else if value.type == "TRIGGER"} + {:else} - + {/if} +
{/each}
\ No newline at end of file -- cgit v1.2.3