From be9cbe2a85dcbe5f076194196fa765c297104b79 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <67171972+IoTManagerProject@users.noreply.github.com> Date: Mon, 31 Jan 2022 01:45:42 +0100 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8E=20=D0=B3=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=80=D0=B8=D1=80=D1=83=D1=8E=D1=89=D0=B8=D1=8E=20layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.svelte | 256 +++++++++++++++++++++++++++---------------------- 1 file changed, 142 insertions(+), 114 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index 717b78a..705dbca 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -37,115 +37,115 @@ let wigets = []; let pages = []; - wigets = [ - { - widget: "input", - type: "date", - status: "2021-10-17", - page: "Inputs", - order: "4", - descr: "Switch on boiler date", - topic: "/prefix/00000-00004/date1", - ws: 0, - }, - { - widget: "input", - type: "time", - status: "12:00", - page: "Inputs", - order: "1", - descr: "Switch on boiler time", - topic: "/prefix/00000-00001/time", - ws: 0, - }, - { - widget: "input", - type: "number", - status: "30.5", - after: "°С", - page: "Inputs", - order: "2", - descr: "Boiler temperature", - topic: "/prefix/00000-00002/temp", - ws: 0, - }, - { - widget: "input", - type: "text", - status: "Hello", - page: "Inputs", - order: "3", - descr: "Message to be send", - topic: "/prefix/00000-00003/text", - ws: 0, - }, - { - widget: "toggle", - status: 0, - page: "Toggles", - order: "3", - descr: "Light in my room", - topic: "/prefix/00000-00003/btn1", - ws: 0, - }, - { - widget: "toggle", - status: 0, - page: "Toggles", - order: "3", - descr: "Light in my room", - topic: "/prefix/00000-00003/btn2", - ws: 0, - }, - { - widget: "toggle", - status: 0, - page: "Toggles", - order: "3", - descr: "Light in my room", - topic: "/prefix/00000-00003/btn3", - ws: 0, - }, - { - widget: "anydata", - status: 30.5, - after: "°С", - page: "Any data", - order: "3", - descr: "Temperature", - topic: "/prefix/00000-00003/tmp10", - ws: 0, - }, - { - widget: "anydata", - status: 1032, - after: "mm", - page: "Any data", - order: "3", - descr: "Pressure", - topic: "/prefix/00000-00003/tmp10", - ws: 0, - }, - { - widget: "anydata", - status: 50, - after: "%", - page: "Any data", - order: "3", - descr: "Level", - topic: "/prefix/00000-00003/tmp10", - ws: 0, - }, - { - widget: "anydata", - status: "opened", - page: "Any data", - order: "3", - descr: "Status", - topic: "/prefix/00000-00003/tmp10", - ws: 0, - }, - ]; + //wigets = [ + // { + // widget: "input", + // type: "date", + // status: "2021-10-17", + // page: "Inputs", + // order: "4", + // descr: "Switch on boiler date", + // topic: "/prefix/00000-00004/date1", + // ws: 0, + // }, + // { + // widget: "input", + // type: "time", + // status: "12:00", + // page: "Inputs", + // order: "1", + // descr: "Switch on boiler time", + // topic: "/prefix/00000-00001/time", + // ws: 0, + // }, + // { + // widget: "input", + // type: "number", + // status: "30.5", + // after: "°С", + // page: "Inputs", + // order: "2", + // descr: "Boiler temperature", + // topic: "/prefix/00000-00002/temp", + // ws: 0, + // }, + // { + // widget: "input", + // type: "text", + // status: "Hello", + // page: "Inputs", + // order: "3", + // descr: "Message to be send", + // topic: "/prefix/00000-00003/text", + // ws: 0, + // }, + // { + // widget: "toggle", + // status: 0, + // page: "Toggles", + // order: "3", + // descr: "Light in my room", + // topic: "/prefix/00000-00003/btn1", + // ws: 0, + // }, + // { + // widget: "toggle", + // status: 0, + // page: "Toggles", + // order: "3", + // descr: "Light in my room", + // topic: "/prefix/00000-00003/btn2", + // ws: 0, + // }, + // { + // widget: "toggle", + // status: 0, + // page: "Toggles", + // order: "3", + // descr: "Light in my room", + // topic: "/prefix/00000-00003/btn3", + // ws: 0, + // }, + // { + // widget: "anydata", + // status: 30.5, + // after: "°С", + // page: "Any data", + // order: "3", + // descr: "Temperature", + // topic: "/prefix/00000-00003/tmp10", + // ws: 0, + // }, + // { + // widget: "anydata", + // status: 1032, + // after: "mm", + // page: "Any data", + // order: "3", + // descr: "Pressure", + // topic: "/prefix/00000-00003/tmp10", + // ws: 0, + // }, + // { + // widget: "anydata", + // status: 50, + // after: "%", + // page: "Any data", + // order: "3", + // descr: "Level", + // topic: "/prefix/00000-00003/tmp10", + // ws: 0, + // }, + // { + // widget: "anydata", + // status: "opened", + // page: "Any data", + // order: "3", + // descr: "Status", + // topic: "/prefix/00000-00003/tmp10", + // ws: 0, + // }, + //]; let datachart = { labels: ["Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat"], @@ -177,8 +177,8 @@ { name: "Устройство 1", id: "987654321", - ip: myip, - //ip: "192.168.88.235", + //ip: myip, + ip: "192.168.88.235", status: false, }, ]; @@ -369,12 +369,40 @@ } } - function sendConfigJson() { + function saveConfig() { + generateLayout(); wsSendMsg(wsSelected, "/gifnoc" + JSON.stringify(configJson)); clearData(); sendCurrentPageName(); } + function generateLayout() { + let layout = []; + for (let i = 0; i < configJson.length; i++) { + let config = configJson[i]; + let setWidget = config.widget; + let error = true; + for (let w = 0; w < widgetsJson.length; w++) { + if (setWidget === widgetsJson[w].name) { + let widget = widgetsJson[w]; + widget.page = config.page; + widget.descr = config.descr; + widget.id = config.id; + layout.push(widget); + error = false; + break; + } else { + error = true; + } + } + if (error) console.log("[e]", "error, widget not found: " + setWidget); + } + if (debug) console.log("[i]", JSON.stringify(layout)); + wigets = layout; + wigets = wigets; + wigetsUpdate(); + } + function clearData() { configJson = []; configJsonBlob.clear(); @@ -434,7 +462,7 @@ } function wigetsUpdate() { - wigets = JSON.parse(document.getElementById("text1").value); + //wigets = JSON.parse(document.getElementById("text1").value); findNewPage(); } @@ -730,7 +758,7 @@ {/each} - +