From ffd427c52a4f30f6705241c614e035122a2bae2d Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <67171972+IoTManagerProject@users.noreply.github.com> Date: Mon, 7 Feb 2022 16:36:43 +0100 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/.prettierrc | 12 +++ src/App.svelte | 203 ++++++++++++++++++++++-------------- src/pages/About.svelte | 2 +- src/pages/Config.svelte | 36 ++++--- src/pages/Connection.svelte | 24 ++--- src/pages/Dashboard.svelte | 2 +- src/pages/List.svelte | 44 +++++--- src/svg/Cloud.svelte | 7 ++ src/svg/Cross.svelte | 6 ++ src/svg/Open.svelte | 5 + src/widgets/Input.svelte | 8 +- 11 files changed, 219 insertions(+), 130 deletions(-) create mode 100644 src/svg/Cloud.svelte create mode 100644 src/svg/Cross.svelte create mode 100644 src/svg/Open.svelte diff --git a/src/.prettierrc b/src/.prettierrc index 95fe477..6d99d39 100644 --- a/src/.prettierrc +++ b/src/.prettierrc @@ -7,6 +7,12 @@ "printWidth": 1000, "sxBracketSameLine": true, "overrides": [ + { + "files": "App.svelte", + "options": { + "printWidth": 1000 + } + }, { "files": "Input.svelte", "options": { @@ -18,6 +24,12 @@ "options": { "printWidth": 600 } + }, + { + "files": "Cross.svelte", + "options": { + "printWidth": 50 + } } ] } \ No newline at end of file diff --git a/src/App.svelte b/src/App.svelte index 528028e..355cd9a 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -6,7 +6,7 @@ router.mode.hash(); import Alarm from "./components/Alarm.svelte"; - import Progress from "./components/Progress.svelte"; + //import Progress from "./components/Progress.svelte"; import Modal from "./components/Modal.svelte"; import DashboardPage from "./pages/Dashboard.svelte"; @@ -17,6 +17,8 @@ import ListPage from "./pages/List.svelte"; import AboutPage from "./pages/About.svelte"; + import CloudIcon from "./svg/Cloud.svelte"; + //****************************************************constants section*********************************************************/ //******************************************************************************************************************************/ let debug = true; @@ -76,20 +78,16 @@ deviceList = [ { - name: "Устройство 1", + name: "Устройство", id: "123456789", ip: "192.168.88.235", //ip: myip, status: false, }, - { - name: "Устройство 2", - id: "123456789", - ip: "192.168.88.236", - status: false, - }, ]; + let deviceListParced = false; + //***********************************************************blob**************************************************************/ var MyBlobBuilder = function () { this.parts = []; @@ -102,7 +100,9 @@ MyBlobBuilder.prototype.getBlob = function () { if (!this.blob) { - this.blob = new Blob(this.parts, { type: "binary" }); + this.blob = new Blob(this.parts, { + type: "binary", + }); } return this.blob; }; @@ -223,14 +223,14 @@ let data = event.data; //if (debug) console.log("[i]", getIP(ws), "msg received", data); // //сборщик statusJson сообщений====================================== - if (data.includes("status")) { - if (IsJsonParse(data)) { - let statusJson = JSON.parse(data); - udatelayoutJson(statusJson); - wigetsUpdate(); - if (debug) console.log("[i]", "status json parced: ", statusJson); - } - } + //if (data.includes("status")) { + // if (IsJsonParse(data)) { + // let statusJson = JSON.parse(data); + // udatelayoutJson(statusJson); + // wigetsUpdate(); + // if (debug) console.log("[i]", "status json parced: ", statusJson); + // } + //} //сборщик ssidJson сообщений====================================== if (data.includes("ssid")) { if (IsJsonParse(data)) { @@ -241,6 +241,17 @@ if (debug) console.log("[i]", "ssid json parced"); } } + //сборщик deviceList сообщений====================================== + if (data.includes("devicelist")) { + if (IsJsonParse(data)) { + deviceList = JSON.parse(data); + delete deviceList.devicelist; + deviceList = deviceList; + deviceListParced = true; + //connectToAllDevices(); + if (debug) console.log("[i]", "devicelist json parced", deviceList); + } + } //сборщик configJson пакетов======================================== if (data === "/st/config.json") { //if (debug) console.log("[i]", "configJson start!"); @@ -258,7 +269,7 @@ configJson = JSON.parse(configJsonResult); configJson = configJson; configJsonParced = true; - if (debug) console.log("[i]", "configJson parced!"); + if (debug) console.log("[ii]", "configJson parced!"); } }; } @@ -279,7 +290,7 @@ widgetsJson = JSON.parse(widgetsJsonResult); widgetsJson = widgetsJson; widgetsJsonParced = true; - if (debug) console.log("[i]", "widgetsJson parced!"); + if (debug) console.log("[ii]", "widgetsJson parced!"); } }; } @@ -300,7 +311,7 @@ itemsJson = JSON.parse(itemsJsonResult); itemsJson = itemsJson; itemsJsonParced = true; - if (debug) console.log("[i]", "itemsJson parced!"); + if (debug) console.log("[ii]", "itemsJson parced!"); } }; } @@ -322,7 +333,7 @@ layoutJson = layoutJson; wigetsUpdate(); layoutJsonParced = true; - if (debug) console.log("[i]", "layoutJson parced!"); + if (debug) console.log("[ii]", "layoutJson parced!"); } }; } @@ -344,7 +355,7 @@ settingsJson = settingsJson; wigetsUpdate(); settingsJsonParced = true; - if (debug) console.log("[i]", "settingsJson parced!"); + if (debug) console.log("[ii]", "settingsJson parced!"); } }; } @@ -443,8 +454,6 @@ settingsJsonParced = false; ssidJsonParced = false; - //ssidJson = {}; - if (debug) console.log("[i]", "all app data cleared"); } @@ -484,7 +493,14 @@ pages = []; const newPage = Array.from(new Set(Array.from(layoutJson, ({ page }) => page))); newPage.forEach(function (item, i, arr) { - pages = [...pages, JSON.parse(JSON.stringify({ page: item }))]; + pages = [ + ...pages, + JSON.parse( + JSON.stringify({ + page: item, + }) + ), + ]; }); pages.sort(function (a, b) { if (a.page < b.page) { @@ -507,7 +523,13 @@ coreMessages = coreMessages.slice(0); } const time = new Date().getTime(); - coreMessages = [...coreMessages, { time, msg }]; + coreMessages = [ + ...coreMessages, + { + time, + msg, + }, + ]; coreMessages.sort(function (a, b) { if (a.time > b.time) { return -1; @@ -520,6 +542,33 @@ }; //***********************************************************dev list******************************************************************/ + function createDefaultDevice() { + let find = false; + let device; + if (debug) console.log("[i]", "original dev ip (js): ", myip); + if (debug) console.log("[i]", "original dev ip (esp): ", settingsJson.ip); + for (let i = 0; i < deviceList.length; i++) { + device = deviceList[i]; + if (debug) console.log("[i]", "start checking dev no: ", i, device.ip); + if (device.ip === settingsJson.ip) { + if (debug) console.log("[i]", "found ", device.ip); + device.name = settingsJson.name; + device.id = settingsJson.id; + find = true; + break; + } + } + if (!find) { + if (debug) console.log("[i]", "not found, add to the end"); + deviceList.push({ + ip: settingsJson.ip, + name: settingsJson.name, + id: settingsJson.id, + }); + } + deviceList = deviceList; + } + function devicesDropdownChange() { socketConnected = selectedDeviceData.status; wsSelected = selectedDeviceData.ws; @@ -532,6 +581,7 @@ } function devListSave() { + //createDefaultDevice(); if (!showInput) { if (newDevice.name !== undefined && newDevice.ip !== undefined && newDevice.id !== undefined) { newDevice.status = false; @@ -606,7 +656,13 @@ if (debug) console.log("[i]", "request for edit file"); var xmlHttp = new XMLHttpRequest(); var formData = new FormData(); - formData.append("data", new Blob([data], { type: "text/json" }), "/" + filename); + formData.append( + "data", + new Blob([data], { + type: "text/json", + }), + "/" + filename + ); xmlHttp.open("POST", "http://" + url + "/edit"); xmlHttp.onload = function () { //во время загрузки @@ -667,17 +723,6 @@ //************************************************elements and presets dropdown************************************************************/ - function deleteLineFromDevlist(num) { - for (let i = 0; i < deviceList.length; i++) { - if (num === i) { - deviceList.splice(i, 1); - deviceList = deviceList; - if (debug) console.log("[i]", "item " + num + " deleted from dev list"); - break; - } - } - } - function ssidDropdownClick() { wsSendMsg(wsSelected, "/scan"); } @@ -697,9 +742,9 @@
-
-
- devicesDropdownChange()}> {#each deviceList as device}
-
- +
+
@@ -754,7 +799,7 @@ wsPush(ws, topic, status)} /> - saveConfig()} deleteLineFromConfig={(i) => deleteLineFromConfig(i)} /> + saveConfig()} /> ssidDropdownClick()} saveSettings={() => saveSettings()} /> @@ -770,13 +815,15 @@ {/if} - deleteLineFromDevlist(num)} devListSave={() => devListSave()} newDevice={newDevice} /> + devListSave()} newDevice={newDevice} /> -
Developed by Dmitry Borisenko
+
+
Developed by Dmitry Borisenko
+