исправляем баги dashboard

This commit is contained in:
Dmitry Borisenko
2022-11-21 00:38:58 +01:00
parent d4b98e514c
commit a2530c24e2
3 changed files with 47 additions and 32 deletions

View File

@@ -45,7 +45,7 @@
//****************************************************variable section**********************************************************/
//******************************************************************************************************************************/
let myip = document.location.hostname;
if (devMode) myip = "192.168.88.251";
if (devMode) myip = "192.168.88.237";
//Flags
let firstDevListRequest = true;
@@ -200,14 +200,14 @@
function ack(ws, st) {
if (!st) {
startMillis[ws] = Date.now(); //+new Date();
startMillis[ws] = Date.now();
ackTimeoutsArr[ws] = setTimeout(function () {
markDeviceStatus(ws, false);
}, waitingAckTimeout);
} else {
if (ackTimeoutsArr[ws]) clearTimeout(ackTimeoutsArr[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++) {
@@ -225,28 +225,21 @@
if (device.ws === ws) {
device.status = status;
device.ping = 0;
if (debug) {
if (device.status) {
console.log("[i]", device.ip, ws, "status online");
} else {
//socket[ws].close();
console.log("[i]", device.ip, ws, "status offline");
}
if (device.status) {
console.log("[i]", device.ip, ws, "status online");
} else {
console.log("[i]", device.ip, ws, "status offline");
deleteWidget(ws);
sortingLayout(ws);
}
}
});
whenDeviceListWasUpdated();
deviceList = deviceList;
//getSelectedDeviceData(selectedWs);
//socketConnected = selectedDeviceData.status;
}
function remooveWidgets(ws) {
for (let i = 0; i < layoutJson.length; i++) {
if (ws === layoutJson[i].ws) {
delete layoutJson[i];
}
}
layoutJson = layoutJson;
function deleteWidget(ws) {
layoutJson = layoutJson.filter((item) => item.ws !== ws);
}
function getDeviceStatus(ws) {
@@ -304,6 +297,7 @@
if (typeof event.data === "string") {
let data = event.data;
if (data === "/tstr|") {
//прилетело подтверждение значит устройство онлайн
ack(ws, true);
}
}
@@ -1311,7 +1305,7 @@
<main class="flex-1 overflow-y-auto p-0 {opened === true && !preventMove ? 'ml-36' : 'ml-0'}">
<ul class="menu__main">
<div class="bg-cover pt-0 px-4">
{#if !socketConnected}
{#if !socketConnected && currentPageName != "/|"}
<Alarm title="Нет соединения" />
{:else}
<Route path="/">

View File

@@ -16,10 +16,12 @@
</script>
{#if show}
<div class="grd-3col1">
{#if layoutJson === []}
<div class="grd-1col1">
{#if layoutJson.length === 0}
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
{/if}
</div>
<div class="grd-3col1">
{#each pages as pagesName, p}
<Card title={pagesName.page}>
{#each layoutJson as widget, l}

View File

@@ -310,6 +310,17 @@
<button class="btn-lg h-7" on:click={() => cleanLogs()}>{"Очистить"}</button>
</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-->
<div class="flex mb-2 h-6 items-center">
<div class="w-2/3">
@@ -326,7 +337,23 @@
</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="w-2/3">
<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" />
</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">-->
{#if paramsBeenChanged}
<button class="btn-lg animate-pulse" on:click={() => (saveSett(), (paramsBeenChanged = false))}>{"Сохранить"}</button>