отправка 0 1

This commit is contained in:
Dmitry Borisenko
2022-08-15 01:30:59 +02:00
parent 08facab09f
commit 754f9d95f9
2 changed files with 21 additions and 15 deletions

View File

@@ -511,7 +511,12 @@
topic = topic.substring(topic.lastIndexOf("/") + 1, topic.length);
if (key === topic) {
console.log("[i]", "value " + topic + " updated");
devLayout[i].status = value;
if (devLayout[i].widget == "toggle") {
if (value == "1") devLayout[i].status = 1;
if (value == "0") devLayout[i].status = 0;
} else {
devLayout[i].status = value;
}
break;
}
}
@@ -542,6 +547,16 @@
}
}
function udateSingleStatusOfWidget(newStatus, widgetTopic) {
for (let i = 0; i < layoutJson.length; i++) {
let topic = layoutJson[i].topic;
if (topic === widgetTopic) {
layoutJson[i].status = newStatus;
break;
}
}
}
async function onParced() {
if (currentPageName === "/|") {
clearParcedFlags();
@@ -688,11 +703,9 @@
function wsPush(ws, topic, status) {
let msg = topic + " " + status;
if (debug) console.log("[i]", "ws: ", ws, msg);
//if (ws) {
wsSendMsg(ws, "/control| " + status); // "/tst|"
//} else {
// console.log("[i]", "ws undefined");
//}
layoutJson = layoutJson;
let key = topic.substring(topic.lastIndexOf("/") + 1, topic.length);
wsSendMsg(ws, "/control|" + key + "/" + status);
}
function wsTestMsgTask() {

View File

@@ -1,12 +1,10 @@
<script>
import App from "../App.svelte";
export let widget;
export let value;
value = value;
export let wsPush = (ws, topic, status) => {};
//let st = Boolean(widget.status);
</script>
<div class="crd-itm-psn">
@@ -17,15 +15,10 @@
<div class="flex justify-end w-1/3">
<label for={widget.topic} class="items-center cursor-pointer">
<div class="relative">
<input on:change={() => ((widget["send"] = true), wsPush(widget.ws, widget.topic, widget.status))} bind:checked={widget.status} id={widget.topic} type="checkbox" class="sr-only" />
<input bind:checked={widget.status} on:change={() => wsPush(widget.ws, widget.topic, widget.status ? 1 : 0)} id={widget.topic} type="checkbox" class="sr-only" />
<div class="block bg-gray-600 w-10 h-6 rounded-full" />
<div class="dot {widget['send'] == true ? 'bg-red-400' : 'bg-white'} absolute left-1 top-1 w-4 h-4 rounded-full transition" />
</div>
{#if widget.status}
<p>yes</p>
{:else}
<p>no</p>
{/if}
</label>
</div>
</div>