From 662b4f855973cca280244c45e7e68b5e3416a695 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Mon, 13 Dec 2021 02:36:26 +0100 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D0=BD=D1=83=D1=8E=20=D1=81=D0=B2?= =?UTF-8?q?=D1=8F=D0=B7=D1=8C=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=B3=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.svelte | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index ad6d233..08058fa 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -3,6 +3,8 @@ import { Route, router, active } from "tinro"; router.mode.hash(); // enables hash navigation method //router.mode.memory(); // enables in-memory navigation method + let wsSelected = undefined; + router.subscribe(handleNavigation); //import Chart from "svelte-frappe-charts"; //import components @@ -134,20 +136,20 @@ let deviceList = []; let flag = true; - //deviceList = [ - // { - // name: "Устройство 1", - // id: "987654321", - // ip: "192.168.88.230", - // status: false, - // }, - // { - // name: "Устройство 2", - // id: "987654321", - // ip: "192.168.88.231", - // status: false, - // }, - //]; + deviceList = [ + { + name: "Устройство 1", + id: "987654321", + ip: "192.168.88.230", + status: false, + }, + { + name: "Устройство 2", + id: "987654321", + ip: "192.168.88.231", + status: false, + }, + ]; let newDevice = {}; @@ -249,7 +251,7 @@ }); socket[ws].addEventListener("message", function (event) { let data = event.data.toString(); - //if (debug) console.log("[i]", "new data:", event.data); + if (debug) console.log("[i]", "new data:", event.data); if (data.includes("/core/")) { data = data.replace("/core/", ""); addCoreMsg(data); @@ -275,7 +277,7 @@ } function wsTestMsgTask() { - setTimeout(wsTestMsgTask, 20000); + setTimeout(wsTestMsgTask, 60000); if (debug) console.log("[i]", "----timer tick----"); if (!flag) { deviceList.forEach((device) => { @@ -283,7 +285,7 @@ wsConnect(device.ws); wsEventAdd(device.ws); } else { - //wsSendMsg(device.ws, ""); + wsSendMsg(device.ws, "tst"); } }); } @@ -353,6 +355,7 @@ function dropdownChange() { socketConnected = selectedDeviceData.status; + wsSelected = selectedDeviceData.ws; if (debug) console.log("[i]", "user selected device:", selectedDeviceData.name); if (selectedDeviceData.ip === myip) { if (debug) console.log("[i]", "user selected original device", selectedDeviceData.name); @@ -376,6 +379,16 @@ } } + function handleNavigation() { + let page = $router.path.toString(); + console.log("[i]", "user on page:", page); + if (page === "/config") { + if (wsSelected !== undefined) { + wsSendMsg(wsSelected, "config"); + } + } + } + onMount(async () => { console.log("[i]", "mounted"); connectToAllDevices();