mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-31 04:19:29 +03:00
исправляем баги dashboard
This commit is contained in:
@@ -45,7 +45,7 @@
|
|||||||
//****************************************************variable section**********************************************************/
|
//****************************************************variable section**********************************************************/
|
||||||
//******************************************************************************************************************************/
|
//******************************************************************************************************************************/
|
||||||
let myip = document.location.hostname;
|
let myip = document.location.hostname;
|
||||||
if (devMode) myip = "192.168.88.251";
|
if (devMode) myip = "192.168.88.237";
|
||||||
|
|
||||||
//Flags
|
//Flags
|
||||||
let firstDevListRequest = true;
|
let firstDevListRequest = true;
|
||||||
@@ -200,14 +200,14 @@
|
|||||||
|
|
||||||
function ack(ws, st) {
|
function ack(ws, st) {
|
||||||
if (!st) {
|
if (!st) {
|
||||||
startMillis[ws] = Date.now(); //+new Date();
|
startMillis[ws] = Date.now();
|
||||||
ackTimeoutsArr[ws] = setTimeout(function () {
|
ackTimeoutsArr[ws] = setTimeout(function () {
|
||||||
markDeviceStatus(ws, false);
|
markDeviceStatus(ws, false);
|
||||||
}, waitingAckTimeout);
|
}, waitingAckTimeout);
|
||||||
} else {
|
} else {
|
||||||
if (ackTimeoutsArr[ws]) clearTimeout(ackTimeoutsArr[ws]);
|
if (ackTimeoutsArr[ws]) clearTimeout(ackTimeoutsArr[ws]);
|
||||||
if (startMillis[ws]) {
|
if (startMillis[ws]) {
|
||||||
ping[ws] = Date.now() - startMillis[ws]; //+new Date();
|
ping[ws] = Date.now() - startMillis[ws];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < deviceList.length; i++) {
|
for (let i = 0; i < deviceList.length; i++) {
|
||||||
@@ -225,28 +225,21 @@
|
|||||||
if (device.ws === ws) {
|
if (device.ws === ws) {
|
||||||
device.status = status;
|
device.status = status;
|
||||||
device.ping = 0;
|
device.ping = 0;
|
||||||
if (debug) {
|
|
||||||
if (device.status) {
|
if (device.status) {
|
||||||
console.log("[i]", device.ip, ws, "status online");
|
console.log("[i]", device.ip, ws, "status online");
|
||||||
} else {
|
} else {
|
||||||
//socket[ws].close();
|
|
||||||
console.log("[i]", device.ip, ws, "status offline");
|
console.log("[i]", device.ip, ws, "status offline");
|
||||||
}
|
deleteWidget(ws);
|
||||||
|
sortingLayout(ws);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
whenDeviceListWasUpdated();
|
||||||
deviceList = deviceList;
|
deviceList = deviceList;
|
||||||
//getSelectedDeviceData(selectedWs);
|
|
||||||
//socketConnected = selectedDeviceData.status;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function remooveWidgets(ws) {
|
function deleteWidget(ws) {
|
||||||
for (let i = 0; i < layoutJson.length; i++) {
|
layoutJson = layoutJson.filter((item) => item.ws !== ws);
|
||||||
if (ws === layoutJson[i].ws) {
|
|
||||||
delete layoutJson[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
layoutJson = layoutJson;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDeviceStatus(ws) {
|
function getDeviceStatus(ws) {
|
||||||
@@ -304,6 +297,7 @@
|
|||||||
if (typeof event.data === "string") {
|
if (typeof event.data === "string") {
|
||||||
let data = event.data;
|
let data = event.data;
|
||||||
if (data === "/tstr|") {
|
if (data === "/tstr|") {
|
||||||
|
//прилетело подтверждение значит устройство онлайн
|
||||||
ack(ws, true);
|
ack(ws, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1311,7 +1305,7 @@
|
|||||||
<main class="flex-1 overflow-y-auto p-0 {opened === true && !preventMove ? 'ml-36' : 'ml-0'}">
|
<main class="flex-1 overflow-y-auto p-0 {opened === true && !preventMove ? 'ml-36' : 'ml-0'}">
|
||||||
<ul class="menu__main">
|
<ul class="menu__main">
|
||||||
<div class="bg-cover pt-0 px-4">
|
<div class="bg-cover pt-0 px-4">
|
||||||
{#if !socketConnected}
|
{#if !socketConnected && currentPageName != "/|"}
|
||||||
<Alarm title="Нет соединения" />
|
<Alarm title="Нет соединения" />
|
||||||
{:else}
|
{:else}
|
||||||
<Route path="/">
|
<Route path="/">
|
||||||
|
|||||||
@@ -16,10 +16,12 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if show}
|
{#if show}
|
||||||
<div class="grd-3col1">
|
<div class="grd-1col1">
|
||||||
{#if layoutJson === []}
|
{#if layoutJson.length === 0}
|
||||||
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
|
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
|
||||||
{/if}
|
{/if}
|
||||||
|
</div>
|
||||||
|
<div class="grd-3col1">
|
||||||
{#each pages as pagesName, p}
|
{#each pages as pagesName, p}
|
||||||
<Card title={pagesName.page}>
|
<Card title={pagesName.page}>
|
||||||
{#each layoutJson as widget, l}
|
{#each layoutJson as widget, l}
|
||||||
|
|||||||
@@ -310,6 +310,17 @@
|
|||||||
<button class="btn-lg h-7" on:click={() => cleanLogs()}>{"Очистить"}</button>
|
<button class="btn-lg h-7" on:click={() => cleanLogs()}>{"Очистить"}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--WORKING GROUP-->
|
||||||
|
<div class="flex mb-2 h-6 items-center">
|
||||||
|
<div class="w-2/3">
|
||||||
|
<p class="pr-4 text-gray-500 font-bold text-sm truncate">Группа устройств</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex justify-center w-1/3">
|
||||||
|
<input bind:value={settingsJson.wg} on:change={() => (reboot = true)} class="ipt-rnd h-7 text-center focus:border-indigo-500" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--LOG-->
|
<!--LOG-->
|
||||||
<div class="flex mb-2 h-6 items-center">
|
<div class="flex mb-2 h-6 items-center">
|
||||||
<div class="w-2/3">
|
<div class="w-2/3">
|
||||||
@@ -326,7 +337,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--I2C-->
|
<!--i2c-->
|
||||||
|
<div class="flex mb-2 h-6 items-center">
|
||||||
|
<div class="w-2/3">
|
||||||
|
<p class="pr-4 text-gray-500 font-bold text-sm truncate">Расширение i2c</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex justify-center w-1/3">
|
||||||
|
<label for="i2c" class="items-center cursor-pointer">
|
||||||
|
<div class="relative">
|
||||||
|
<input bind:checked={settingsJson.i2c} on:change={() => (reboot = true)} id="i2c" type="checkbox" class="sr-only" />
|
||||||
|
<div class="block {settingsJson.i2c ? 'bg-blue-600' : 'bg-gray-600'} w-10 h-6 rounded-full shadow-lg" />
|
||||||
|
<div class="dot bg-gray-100 absolute left-1 top-1 w-4 h-4 rounded-full transition shadow-lg" />
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="flex mb-2 h-6 items-center">
|
<div class="flex mb-2 h-6 items-center">
|
||||||
<div class="w-2/3">
|
<div class="w-2/3">
|
||||||
<p class="pr-4 text-gray-500 font-bold text-sm truncate">i2c SCL gpio</p>
|
<p class="pr-4 text-gray-500 font-bold text-sm truncate">i2c SCL gpio</p>
|
||||||
@@ -351,16 +378,8 @@
|
|||||||
<input bind:value={settingsJson.i2cFreq} on:change={() => (reboot = true)} class="ipt-rnd h-7 text-center focus:border-indigo-500" type="number" />
|
<input bind:value={settingsJson.i2cFreq} on:change={() => (reboot = true)} class="ipt-rnd h-7 text-center focus:border-indigo-500" type="number" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--WORKING GROUP-->
|
|
||||||
<div class="flex mb-2 h-6 items-center">
|
|
||||||
<div class="w-2/3">
|
|
||||||
<p class="pr-4 text-gray-500 font-bold text-sm truncate">Группа устройств</p>
|
|
||||||
</div>
|
|
||||||
<div class="flex justify-center w-1/3">
|
|
||||||
<input bind:value={settingsJson.wg} on:change={() => (reboot = true)} class="ipt-rnd h-7 text-center focus:border-indigo-500" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<!--control-->
|
||||||
<!--<div class="grd-2col1">-->
|
<!--<div class="grd-2col1">-->
|
||||||
{#if paramsBeenChanged}
|
{#if paramsBeenChanged}
|
||||||
<button class="btn-lg animate-pulse" on:click={() => (saveSett(), (paramsBeenChanged = false))}>{"Сохранить"}</button>
|
<button class="btn-lg animate-pulse" on:click={() => (saveSett(), (paramsBeenChanged = false))}>{"Сохранить"}</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user