mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-30 03:49:17 +03:00
...
This commit is contained in:
3
eventEmitter.js
Normal file
3
eventEmitter.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { EventEmitter } from "events";
|
||||||
|
|
||||||
|
export const eventEmitter = new EventEmitter();
|
||||||
9
package-lock.json
generated
9
package-lock.json
generated
@@ -8,6 +8,7 @@
|
|||||||
"name": "iotm-web",
|
"name": "iotm-web",
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"events": "^3.3.0",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
"sirv-cli": "^2.0.2",
|
"sirv-cli": "^2.0.2",
|
||||||
"svelte-frappe-charts": "^1.10.0"
|
"svelte-frappe-charts": "^1.10.0"
|
||||||
@@ -628,6 +629,14 @@
|
|||||||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
|
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/events": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||||
|
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.8.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fast-glob": {
|
"node_modules/fast-glob": {
|
||||||
"version": "3.2.12",
|
"version": "3.2.12",
|
||||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
||||||
|
|||||||
@@ -26,8 +26,9 @@
|
|||||||
"tinro": "^0.6.12"
|
"tinro": "^0.6.12"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"events": "^3.3.0",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
"sirv-cli": "^2.0.2",
|
"sirv-cli": "^2.0.2",
|
||||||
"svelte-frappe-charts": "^1.10.0"
|
"svelte-frappe-charts": "^1.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
import CloudIcon from "./svg/Cloud.svelte";
|
import CloudIcon from "./svg/Cloud.svelte";
|
||||||
import WebSocketManager from "./WebSocketManager";
|
import WebSocketManager from "./WebSocketManager";
|
||||||
|
|
||||||
|
import { eventEmitter } from "../eventEmitter";
|
||||||
|
|
||||||
router.mode.hash();
|
router.mode.hash();
|
||||||
|
|
||||||
let opened = true;
|
let opened = true;
|
||||||
@@ -39,7 +41,6 @@
|
|||||||
const wsManager = new WebSocketManager(deviceList, debug);
|
const wsManager = new WebSocketManager(deviceList, debug);
|
||||||
|
|
||||||
let layoutJson = wsManager.layoutJson;
|
let layoutJson = wsManager.layoutJson;
|
||||||
$: layoutJson = wsManager.layoutJson;
|
|
||||||
|
|
||||||
router.subscribe(handleNavigation);
|
router.subscribe(handleNavigation);
|
||||||
|
|
||||||
@@ -71,6 +72,18 @@
|
|||||||
wsManager.selectedDeviceDataRefresh();
|
wsManager.selectedDeviceDataRefresh();
|
||||||
wsManager.connectToAllDevices();
|
wsManager.connectToAllDevices();
|
||||||
wsManager.wsTestMsgTask();
|
wsManager.wsTestMsgTask();
|
||||||
|
|
||||||
|
const updateLayoutJson = (newLayoutJson) => {
|
||||||
|
layoutJson = newLayoutJson;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Add event listener when component is mounted
|
||||||
|
eventEmitter.on("layoutJsonUpdated", updateLayoutJson);
|
||||||
|
|
||||||
|
// Remove event listener when component is destroyed
|
||||||
|
return () => {
|
||||||
|
eventEmitter.off("layoutJsonUpdated", updateLayoutJson);
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
const getUser = async () => {
|
const getUser = async () => {
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { eventEmitter } from "../eventEmitter";
|
||||||
|
|
||||||
class WebSocketManager {
|
class WebSocketManager {
|
||||||
constructor(deviceList, debug = true) {
|
constructor(deviceList, debug = true) {
|
||||||
this.deviceList = deviceList;
|
this.deviceList = deviceList;
|
||||||
@@ -349,6 +351,9 @@ class WebSocketManager {
|
|||||||
this.pages = Array.from(new Set(this.layoutJson.map(({ page }) => page)))
|
this.pages = Array.from(new Set(this.layoutJson.map(({ page }) => page)))
|
||||||
.map((page) => ({ page }))
|
.map((page) => ({ page }))
|
||||||
.sort((a, b) => a.page.localeCompare(b.page));
|
.sort((a, b) => a.page.localeCompare(b.page));
|
||||||
|
|
||||||
|
eventEmitter.emit("layoutJsonUpdated", this.layoutJson);
|
||||||
|
|
||||||
console.log("[3]", ws, "layout sort, requested params...");
|
console.log("[3]", ws, "layout sort, requested params...");
|
||||||
this.wsSendMsg(ws, "/params|");
|
this.wsSendMsg(ws, "/params|");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user