mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 15:02:21 +03:00
4.1.2
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
<meta name='viewport' content='width=device-width,initial-scale=1'>
|
<meta name='viewport' content='width=device-width,initial-scale=1'>
|
||||||
|
|
||||||
<title>IoT Manager 4.1.1</title>
|
<title>IoT Manager 4.1.2</title>
|
||||||
|
|
||||||
<link rel='icon' type='image/png' href='/favicon.ico'>
|
<link rel='icon' type='image/png' href='/favicon.ico'>
|
||||||
<link rel='stylesheet' href='/build/bundle.css'>
|
<link rel='stylesheet' href='/build/bundle.css'>
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
|
|
||||||
//****************************************************variable section**********************************************************/
|
//****************************************************variable section**********************************************************/
|
||||||
//******************************************************************************************************************************/
|
//******************************************************************************************************************************/
|
||||||
//let myip = document.location.hostname;
|
let myip = document.location.hostname;
|
||||||
let myip = "192.168.88.224";
|
//let myip = "192.168.88.224";
|
||||||
|
|
||||||
//Flags
|
//Flags
|
||||||
let firstDevListRequest = true;
|
let firstDevListRequest = true;
|
||||||
@@ -442,18 +442,17 @@
|
|||||||
if (data === "/st/layout.json") {
|
if (data === "/st/layout.json") {
|
||||||
}
|
}
|
||||||
if (data === "/end/layout.json") {
|
if (data === "/end/layout.json") {
|
||||||
dashReady = true;
|
|
||||||
createLayoutUnderLoading(ws);
|
createLayoutUnderLoading(ws);
|
||||||
}
|
}
|
||||||
//сборщик paramsJson сообщений======================================
|
//сборщик paramsJson сообщений======================================
|
||||||
if (data.includes('"params":"')) {
|
if (data.includes('"params":"')) {
|
||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
|
//как добавить в объект json новый объект
|
||||||
paramsJson = {
|
paramsJson = {
|
||||||
...paramsJson,
|
...paramsJson,
|
||||||
...JSON.parse(data),
|
...JSON.parse(data),
|
||||||
};
|
};
|
||||||
paramsJson = paramsJson;
|
paramsJson = paramsJson;
|
||||||
if (paramsJsonParced) console.log("✔", "paramsJson parced", paramsJson);
|
|
||||||
onParced();
|
onParced();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -462,9 +461,7 @@
|
|||||||
if (IsJsonParse(data)) {
|
if (IsJsonParse(data)) {
|
||||||
let statusJson = JSON.parse(data);
|
let statusJson = JSON.parse(data);
|
||||||
udateStatusOfWidget(statusJson);
|
udateStatusOfWidget(statusJson);
|
||||||
sortingLayout();
|
|
||||||
if (debug) console.log("[i]", statusJson);
|
if (debug) console.log("[i]", statusJson);
|
||||||
statusJsonParced = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -520,10 +517,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//var t0 = performance.now();
|
|
||||||
//var t1 = performance.now();
|
|
||||||
//console.log("layout time: " + (t1 - t0) + " mls");
|
|
||||||
|
|
||||||
function udateStatusOfAllWidgets() {
|
function udateStatusOfAllWidgets() {
|
||||||
for (const [key, value] of Object.entries(paramsJson)) {
|
for (const [key, value] of Object.entries(paramsJson)) {
|
||||||
for (let i = 0; i < layoutJson.length; i++) {
|
for (let i = 0; i < layoutJson.length; i++) {
|
||||||
@@ -549,10 +542,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function onParced() {
|
async function onParced() {
|
||||||
if (currentPageName === "/|" && paramsJsonParced) {
|
if (currentPageName === "/|") {
|
||||||
clearParcedFlags();
|
clearParcedFlags();
|
||||||
if (debug) console.log("✔✔", "dashboard data parced");
|
if (debug) console.log("✔", "dashboard packet received");
|
||||||
//createFinalLayout();
|
dashReady = true;
|
||||||
}
|
}
|
||||||
if (currentPageName === "/config|" && itemsJsonParced && widgetsJsonParced && configJsonParced && settingsJsonParced && scenarioTxtParced) {
|
if (currentPageName === "/config|" && itemsJsonParced && widgetsJsonParced && configJsonParced && settingsJsonParced && scenarioTxtParced) {
|
||||||
clearParcedFlags();
|
clearParcedFlags();
|
||||||
@@ -736,6 +729,17 @@
|
|||||||
|
|
||||||
//***********************************************************dashboard***************************************************************/
|
//***********************************************************dashboard***************************************************************/
|
||||||
function sortingLayout() {
|
function sortingLayout() {
|
||||||
|
//сортируем весь layout по алфавиту
|
||||||
|
layoutJson.sort(function (a, b) {
|
||||||
|
if (a.descr < b.descr) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (a.descr > b.descr) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
//формируем json всех карточек
|
||||||
pages = [];
|
pages = [];
|
||||||
const newPage = Array.from(new Set(Array.from(layoutJson, ({ page }) => page)));
|
const newPage = Array.from(new Set(Array.from(layoutJson, ({ page }) => page)));
|
||||||
newPage.forEach(function (item, i, arr) {
|
newPage.forEach(function (item, i, arr) {
|
||||||
@@ -748,6 +752,7 @@
|
|||||||
),
|
),
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
//сортируем карточки по алфавиту
|
||||||
pages.sort(function (a, b) {
|
pages.sort(function (a, b) {
|
||||||
if (a.page < b.page) {
|
if (a.page < b.page) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grd-1col1">
|
<div class="grd-1col1">
|
||||||
<Card title="Сценарии">
|
<Card title="Сценарии">
|
||||||
<textarea bind:value={scenarioTxt} class="ipt-big h-80 w-full" />
|
<textarea bind:value={scenarioTxt} class="ipt-big h-40 w-full" />
|
||||||
<div class="grd-2col1">
|
<div class="grd-2col1">
|
||||||
<button class="btn-lg" on:click={() => saveConfig()}>{"Сохранить"}</button>
|
<button class="btn-lg" on:click={() => saveConfig()}>{"Сохранить"}</button>
|
||||||
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить"}</button>
|
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить"}</button>
|
||||||
|
|||||||
@@ -18,9 +18,9 @@
|
|||||||
{#if layoutJson === []}
|
{#if layoutJson === []}
|
||||||
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
|
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
|
||||||
{/if}
|
{/if}
|
||||||
{#each pages as pagesName, i}
|
{#each pages as pagesName, p}
|
||||||
<Card title={pagesName.page}>
|
<Card title={pagesName.page}>
|
||||||
{#each layoutJson as widget, i}
|
{#each layoutJson as widget, l}
|
||||||
{#if widget.page === pagesName.page}
|
{#if widget.page === pagesName.page}
|
||||||
{#if widget.widget === "input"}
|
{#if widget.widget === "input"}
|
||||||
<Input bind:value={widget.status} widget={widget} wsPush={(ws, topic, status) => wsPush(ws, topic, status)} />
|
<Input bind:value={widget.status} widget={widget} wsPush={(ws, topic, status) => wsPush(ws, topic, status)} />
|
||||||
|
|||||||
7
src/training/different.svelte
Normal file
7
src/training/different.svelte
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<script>
|
||||||
|
// вывести время чего либо в консоль
|
||||||
|
var t0 = performance.now();
|
||||||
|
var t1 = performance.now();
|
||||||
|
console.log("layout time: " + (t1 - t0) + " mls");
|
||||||
|
//
|
||||||
|
</script>
|
||||||
Reference in New Issue
Block a user