отправка 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); topic = topic.substring(topic.lastIndexOf("/") + 1, topic.length);
if (key === topic) { if (key === topic) {
console.log("[i]", "value " + topic + " updated"); 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; 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() { async function onParced() {
if (currentPageName === "/|") { if (currentPageName === "/|") {
clearParcedFlags(); clearParcedFlags();
@@ -688,11 +703,9 @@
function wsPush(ws, topic, status) { function wsPush(ws, topic, status) {
let msg = topic + " " + status; let msg = topic + " " + status;
if (debug) console.log("[i]", "ws: ", ws, msg); if (debug) console.log("[i]", "ws: ", ws, msg);
//if (ws) { layoutJson = layoutJson;
wsSendMsg(ws, "/control| " + status); // "/tst|" let key = topic.substring(topic.lastIndexOf("/") + 1, topic.length);
//} else { wsSendMsg(ws, "/control|" + key + "/" + status);
// console.log("[i]", "ws undefined");
//}
} }
function wsTestMsgTask() { function wsTestMsgTask() {

View File

@@ -1,12 +1,10 @@
<script> <script>
import App from "../App.svelte"; import App from "../App.svelte";
export let widget; export let widget;
export let value; export let value;
value = value; value = value;
export let wsPush = (ws, topic, status) => {}; export let wsPush = (ws, topic, status) => {};
//let st = Boolean(widget.status);
</script> </script>
<div class="crd-itm-psn"> <div class="crd-itm-psn">
@@ -17,15 +15,10 @@
<div class="flex justify-end w-1/3"> <div class="flex justify-end w-1/3">
<label for={widget.topic} class="items-center cursor-pointer"> <label for={widget.topic} class="items-center cursor-pointer">
<div class="relative"> <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="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 class="dot {widget['send'] == true ? 'bg-red-400' : 'bg-white'} absolute left-1 top-1 w-4 h-4 rounded-full transition" />
</div> </div>
{#if widget.status}
<p>yes</p>
{:else}
<p>no</p>
{/if}
</label> </label>
</div> </div>
</div> </div>