From 83da90ece5b4e58962535e103624e32cdcc150e5 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Mon, 26 Sep 2022 01:29:52 +0200 Subject: [PATCH] =?UTF-8?q?=D0=BE=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.svelte | 108 ++++++++++++++++++--------------------- src/pages/Dev.svelte | 49 ++++++++++-------- src/pages/Files.svelte | 9 ---- src/widgets/Chart.svelte | 15 +++--- 4 files changed, 86 insertions(+), 95 deletions(-) delete mode 100644 src/pages/Files.svelte diff --git a/src/App.svelte b/src/App.svelte index 2a45415..8fcddbb 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -21,14 +21,12 @@ import ListPage from "./pages/List.svelte"; import SystemPage from "./pages/System.svelte"; import DevPage from "./pages/Dev.svelte"; - import FilesPage from "./pages/Files.svelte"; //import UtilitiesPage from "./pages/Utilities.svelte"; //import LogPage from "./pages/Log.svelte"; //import AboutPage from "./pages/About.svelte"; import CloudIcon from "./svg/Cloud.svelte"; - import BookIcon from "./svg/Book.svelte"; //****************************************************constants section*********************************************************/ //******************************************************************************************************************************/ @@ -88,8 +86,8 @@ let itemsJson = []; let scenarioJson = {}; - let chartJsonFlag = false; - let layoutJsonFlag = false; + let chartJsonFlag = {}; + let layoutJsonFlag = {}; //=============================================== let layoutJson = []; @@ -119,6 +117,8 @@ let newDevice = {}; let coreMessages = []; + let parcedEvent = 0; + //***********************************************************blob**************************************************************/ var MyBlobBuilder = function () { this.parts = []; @@ -149,7 +149,7 @@ var layoutJsonBlobArray = []; class blobToJson { - constructor(st, end, logMsg, cb) { + constructor(st, end, logMsg) { this.st = st; this.end = end; this.logMsg = logMsg; @@ -158,7 +158,6 @@ this.blob = new MyBlobBuilder(); this.out; this.ws = 0; - this.cb = cb; } handle(data) { @@ -182,11 +181,10 @@ reader.onload = () => { let result = reader.result; if (IsJsonParse(result)) { - this.out = JSON.parse(result); - if (debug) console.log("✔", this.logMsg + " blob parced"); this.parced = true; - //onParced(); - this.cb; + this.out = JSON.parse(result); + if (debug) console.log("✔ B", this.logMsg + " blob parced"); + onParced(); } }; this.blob.clear(); @@ -216,10 +214,10 @@ //} } - let configJsonPacket = new blobToJson("/st/config.json", "/end/config.json", "config.json", onParced()); - let itemsJsonPacket = new blobToJson("/st/items.json", "/end/items.json", "items.json", onParced()); - let widgetsJsonPacket = new blobToJson("/st/widgets.json", "/end/widgets.json", "widgets.json", onParced()); - let scenarioJsonPacket = new blobToJson("/st/scenario.json", "/end/scenario.json", "scenario.json", onParced()); + let configJsonPacket = new blobToJson("/st/config.json", "/end/config.json", "config.json"); + let itemsJsonPacket = new blobToJson("/st/items.json", "/end/items.json", "items.json"); + let widgetsJsonPacket = new blobToJson("/st/widgets.json", "/end/widgets.json", "widgets.json"); + let scenarioJsonPacket = new blobToJson("/st/scenario.json", "/end/scenario.json", "scenario.json"); router.subscribe(handleNavigation); @@ -355,7 +353,7 @@ let data = event.data; if (ws === selectedWs) { //сборщик deviceList сообщений - if (data.includes('devicelist":"')) { + if (data.includes('devicelist_":"')) { if (IsJsonParse(data)) { incDeviceList = JSON.parse(data); incDeviceList = incDeviceList; @@ -368,41 +366,41 @@ firstDevListRequest = false; deviceList = deviceList; parcedFlags.deviceListJson = true; - if (debug) console.log("✔", "deviceList parced"); + if (debug) console.log("✔ S", "deviceList parced"); onParced(); whenDeviceListWasUpdated(); connectToAllDevices(); } } //сборщик ssidJson сообщений - if (data.includes('ssid":"')) { + if (data.includes('ssids_":"')) { if (IsJsonParse(data)) { ssidJson = JSON.parse(data); ssidJson = ssidJson; - if (debug) console.log("✔", "ssidJson parced"); + if (debug) console.log("✔ S", "ssidJson parced"); parcedFlags.ssidJson = true; onParced(); } } //сборщик errorsJson сообщений - if (data.includes('errors":"')) { + if (data.includes('errors_":"')) { if (IsJsonParse(data)) { errorsJson = JSON.parse(data); errorsJson = errorsJson; parcedFlags.errorsJson = true; - if (debug) console.log("✔", "errorsJson parced"); + if (debug) console.log("✔ S", "errorsJson parced"); onParced(); } } //сборщик settingsJson сообщений - if (data.includes('settings":"')) { + if (data.includes('settings_":"')) { if (IsJsonParse(data)) { settingsJson = JSON.parse(data); settingsJson = settingsJson; //sortingLayout(); parcedFlags.settingsJson = true; - if (debug) console.log("✔", "settingsJson parced"); + if (debug) console.log("✔ S", "settingsJson parced"); onParced(); } } @@ -420,7 +418,7 @@ } //прием от всех устройств //сборщик paramsJson сообщений - if (data.includes('"params":"')) { + if (data.includes('"params_":"')) { if (IsJsonParse(data)) { //как добавить в объект json новый объект paramsJson = { @@ -435,10 +433,10 @@ } //сборщик layoutJson пакетов if (data === "/st/layout.json") { - layoutJsonFlag = true; + layoutJsonFlag[ws] = true; } if (data === "/end/layout.json") { - layoutJsonFlag = false; + layoutJsonFlag[ws] = false; console.log("[1]", ws, "blob package received"); //как только прилетел весь блоб мы начнем его читать ридером и заодно запросим json-ы всех параметров combineLayoutsInOne(ws); @@ -448,12 +446,12 @@ if (data.includes("/st/chart.json|")) { //let topic = deleteBeforeDelimiter(data, "|"); //console.log("[i] chart", topic); - chartJsonFlag = true; + chartJsonFlag[ws] = true; } if (data.includes("/end/chart.json|")) { let topic = deleteBeforeDelimiter(data, "|"); console.log("[i] chart", topic); - chartJsonFlag = false; + chartJsonFlag[ws] = false; var bb = chartJsonBlob.getBlob(); let chartJsonReader = new FileReader(); chartJsonReader.readAsText(bb); @@ -480,7 +478,7 @@ //if (debug) console.log("[i] status (arr)", ws); } else { updateWidget(statusJson); - if (debug) console.log("[i] status (dgt)", ws, JSON.stringify(statusJson)); + //if (debug) console.log("[i] status (dgt)", ws, JSON.stringify(statusJson)); } } } @@ -495,10 +493,10 @@ if (scenarioJsonPacket) scenarioJsonPacket.append(event.data); } //принимаем данные от всех устройств - if (chartJsonFlag) chartJsonBlob.append(event.data); + if (chartJsonFlag[ws]) chartJsonBlob.append(event.data); if (!layoutJsonBlobArray[ws]) layoutJsonBlobArray[ws] = new MyBlobBuilder(); - if (layoutJsonFlag) layoutJsonBlobArray[ws].append(event.data); + if (layoutJsonFlag[ws]) layoutJsonBlobArray[ws].append(event.data); } }); socket[ws].addEventListener("close", (event) => { @@ -520,28 +518,29 @@ if (debug) console.log("✔", "dashboard data received"); pageReady.dash = true; } - if (currentPageName === "/config|") { - if (configJsonPacket.isParced && itemsJsonPacket.isParced && widgetsJsonPacket.isParced && scenarioJsonPacket.isParced) { - clearParcedFlags(); - configJson = configJsonPacket.getData; - itemsJson = itemsJsonPacket.getData; - widgetsJson = widgetsJsonPacket.getData; - scenarioJson = scenarioJsonPacket.getData; - if (debug) console.log("✔✔", "config data parced"); - pageReady.config = true; - } + if (currentPageName === "/config|" && itemsJsonPacket.isParced && widgetsJsonPacket.isParced && configJsonPacket.isParced && scenarioJsonPacket.isParced && parcedFlags.settingsJson) { + clearParcedFlags(); + + itemsJson = itemsJsonPacket.getData; + widgetsJson = widgetsJsonPacket.getData; + configJson = configJsonPacket.getData; + scenarioJson = scenarioJsonPacket.getData; + + pageReady.config = true; + + if (debug) console.log("✔✔", "config page parced"); } if (currentPageName === "/connection|") { if (parcedFlags.ssidJson && parcedFlags.settingsJson && parcedFlags.errorsJson) { clearParcedFlags(); - if (debug) console.log("✔✔", "connection data parced"); + if (debug) console.log("✔✔", "connection page parced"); pageReady.connection = true; } } if (currentPageName === "/list|") { if (parcedFlags.deviceListJson) { clearParcedFlags(); - if (debug) console.log("✔✔", "list data parced"); + if (debug) console.log("✔✔", "list page parced"); pageReady.list = true; } } @@ -549,18 +548,16 @@ if (parcedFlags.errorsJson && parcedFlags.settingsJson) { clearParcedFlags(); getVersionsList(); - if (debug) console.log("✔✔", "system data parced"); + if (debug) console.log("✔✔", "system page parced"); pageReady.system = true; } } - if (currentPageName === "/dev|") { - if (parcedFlags.errorsJson && parcedFlags.settingsJson && configJsonPacket.isParced && itemsJsonPacket.isParced && parcedFlags.paramsJson) { - clearParcedFlags(); - configJson = configJsonPacket.getData; - itemsJson = itemsJsonPacket.getData; - if (debug) console.log("✔✔", "dev data parced"); - pageReady.dev = true; - } + if (currentPageName === "/dev|" && parcedFlags.errorsJson && parcedFlags.settingsJson && configJsonPacket.isParced && itemsJsonPacket.isParced) { + clearParcedFlags(); + configJson = configJsonPacket.getData; + itemsJson = itemsJsonPacket.getData; + if (debug) console.log("✔✔", "dev page parced"); + pageReady.dev = true; } } @@ -820,6 +817,9 @@ function clearParcedFlags() { //chartJsonParced = false; + //chartJsonFlag = {}; + //layoutJsonFlag = {}; + for (const [key, value] of Object.entries(parcedFlags)) { parcedFlags[key] = false; } @@ -1237,9 +1237,6 @@
  • {"Разработчик"}
  • -
  • - {"Файлы"} -
  • {/if} @@ -1269,9 +1266,6 @@ - - - {/if} {/if} diff --git a/src/pages/Dev.svelte b/src/pages/Dev.svelte index 2e3feb8..bb6a1ee 100644 --- a/src/pages/Dev.svelte +++ b/src/pages/Dev.svelte @@ -1,5 +1,6 @@ -
    - - - - - - - - - - - - - - - - - - -
    +{#if show} +
    + + + + + + + + + + + + + + + + + + +
    +{:else} + +{/if} diff --git a/src/pages/Files.svelte b/src/pages/Files.svelte deleted file mode 100644 index 7c08b44..0000000 --- a/src/pages/Files.svelte +++ /dev/null @@ -1,9 +0,0 @@ - - -
    - -

    123

    -
    -
    diff --git a/src/widgets/Chart.svelte b/src/widgets/Chart.svelte index c832f85..5d778bc 100644 --- a/src/widgets/Chart.svelte +++ b/src/widgets/Chart.svelte @@ -42,6 +42,13 @@ prevStatus = widget.status; for (let i = 0; i < widget.status.length; i++) { + //if (i === 0 && widget.status[i].x === 0 && widget.status[i].y1 === 0) { + // clearCart(); + // widget.status = []; + // console.log("[i]", "clear cart data"); + // return; + //} + if (i === 0) { labels[i] = getDDMM(widget.status[i].x); } else { @@ -50,14 +57,6 @@ values[i] = [widget.status[i].y1]; } - //console.log("[i]", JSON.stringify(widget.status)); - - if (widget.maxCount == 0 || widget.maxCount == "0") { - clearCart(); - //console.log("[i]", "clear cart data"); - return; - } - datachart = { labels: labels, datasets: [