@matter-server/dashboard 0.3.3 → 0.3.5-alpha.0-20260203-66f5d74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -0
- package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/node-binding-dialog.js +44 -17
- package/dist/esm/components/dialogs/binding/node-binding-dialog.js.map +1 -1
- package/dist/esm/entrypoint/main.js +1 -1
- package/dist/esm/entrypoint/main.js.map +1 -1
- package/dist/esm/pages/components/node-details.js +1 -1
- package/dist/esm/pages/components/node-details.js.map +1 -1
- package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-cluster-view.js +9 -4
- package/dist/esm/pages/matter-cluster-view.js.map +1 -1
- package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-endpoint-view.js +8 -2
- package/dist/esm/pages/matter-endpoint-view.js.map +1 -1
- package/dist/esm/pages/matter-network-view.d.ts +5 -0
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-network-view.js +96 -13
- package/dist/esm/pages/matter-network-view.js.map +1 -1
- package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-node-view.js +17 -3
- package/dist/esm/pages/matter-node-view.js.map +1 -1
- package/dist/esm/pages/network/base-network-graph.d.ts +34 -0
- package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/base-network-graph.js +116 -25
- package/dist/esm/pages/network/base-network-graph.js.map +1 -1
- package/dist/esm/pages/network/device-icons.js +1 -1
- package/dist/esm/pages/network/network-details.d.ts +31 -1
- package/dist/esm/pages/network/network-details.d.ts.map +1 -1
- package/dist/esm/pages/network/network-details.js +233 -15
- package/dist/esm/pages/network/network-details.js.map +1 -1
- package/dist/esm/pages/network/network-types.d.ts +6 -0
- package/dist/esm/pages/network/network-types.d.ts.map +1 -1
- package/dist/esm/pages/network/network-utils.d.ts +26 -0
- package/dist/esm/pages/network/network-utils.d.ts.map +1 -1
- package/dist/esm/pages/network/network-utils.js +71 -3
- package/dist/esm/pages/network/network-utils.js.map +1 -1
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/thread-graph.js +5 -2
- package/dist/esm/pages/network/thread-graph.js.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.d.ts +55 -0
- package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -0
- package/dist/esm/pages/network/update-connections-dialog.js +284 -0
- package/dist/esm/pages/network/update-connections-dialog.js.map +6 -0
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/wifi-graph.js +5 -3
- package/dist/esm/pages/network/wifi-graph.js.map +1 -1
- package/dist/esm/util/format_hex.d.ts +18 -0
- package/dist/esm/util/format_hex.d.ts.map +1 -1
- package/dist/esm/util/format_hex.js +21 -1
- package/dist/esm/util/format_hex.js.map +1 -1
- package/dist/esm/util/matter-status.d.ts +49 -0
- package/dist/esm/util/matter-status.d.ts.map +1 -0
- package/dist/esm/util/matter-status.js +110 -0
- package/dist/esm/util/matter-status.js.map +6 -0
- package/dist/web/js/{commission-node-dialog-B1_khzZb.js → commission-node-dialog-DBugVQOl.js} +5 -5
- package/dist/web/js/{commission-node-existing-RpdajrwF.js → commission-node-existing-ts2MN2bQ.js} +2 -2
- package/dist/web/js/{commission-node-thread-5f2itkTG.js → commission-node-thread-CixfNuM3.js} +2 -2
- package/dist/web/js/{commission-node-wifi-DZ_pWqsa.js → commission-node-wifi-CWC30EYn.js} +2 -2
- package/dist/web/js/{dialog-box-DEUxM4B1.js → dialog-box-SeMuFiWx.js} +2 -2
- package/dist/web/js/{fire_event-BczBMT8E.js → fire_event-B63oGTcK.js} +1 -1
- package/dist/web/js/{log-level-dialog-Cr3PfX1X.js → log-level-dialog-J0gFiLLM.js} +2 -2
- package/dist/web/js/main.js +2 -2
- package/dist/web/js/{matter-dashboard-app-BuCe_Jxf.js → matter-dashboard-app-D7YWrgXj.js} +2041 -246
- package/dist/web/js/{node-binding-dialog-DMiHNDLA.js → node-binding-dialog-DSBwIJcQ.js} +147 -19
- package/dist/web/js/prevent_default-D-ohDGsN.js +8 -0
- package/package.json +4 -4
- package/src/components/dialogs/binding/node-binding-dialog.ts +45 -21
- package/src/entrypoint/main.ts +2 -0
- package/src/pages/components/node-details.ts +1 -1
- package/src/pages/matter-cluster-view.ts +11 -4
- package/src/pages/matter-endpoint-view.ts +10 -3
- package/src/pages/matter-network-view.ts +102 -13
- package/src/pages/matter-node-view.ts +19 -4
- package/src/pages/network/base-network-graph.ts +147 -33
- package/src/pages/network/device-icons.ts +1 -1
- package/src/pages/network/network-details.ts +281 -16
- package/src/pages/network/network-types.ts +6 -0
- package/src/pages/network/network-utils.ts +109 -0
- package/src/pages/network/thread-graph.ts +7 -1
- package/src/pages/network/update-connections-dialog.ts +327 -0
- package/src/pages/network/wifi-graph.ts +4 -3
- package/src/util/format_hex.ts +39 -0
- package/src/util/matter-status.ts +165 -0
- package/dist/web/js/prevent_default-D4FX_PIh.js +0 -774
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/pages/matter-network-view.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matter-node-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-node-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"matter-node-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-node-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAgB,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,2BAA2B,CAAC;AAEnC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,2BAA2B,CAAC;AAInC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,cAAc,CAAC;KACtC;CACJ;AASD,cACM,cAAe,SAAQ,UAAU;IAC5B,MAAM,EAAG,YAAY,CAAC;IAGtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAEhB,MAAM;IA8Ef,OAAO,CAAC,OAAO;IAIf,OAAgB,MAAM,0BAyFpB;CACL"}
|
|
@@ -17,11 +17,13 @@ import "@material/web/divider/divider";
|
|
|
17
17
|
import "@material/web/iconbutton/icon-button";
|
|
18
18
|
import "@material/web/list/list";
|
|
19
19
|
import "@material/web/list/list-item";
|
|
20
|
+
import { isTestNodeId } from "@matter-server/ws-client";
|
|
20
21
|
import { mdiChevronRight, mdiGraphOutline } from "@mdi/js";
|
|
21
|
-
import {
|
|
22
|
+
import { css, html, LitElement } from "lit";
|
|
22
23
|
import { customElement, property } from "lit/decorators.js";
|
|
23
24
|
import { guard } from "lit/directives/guard.js";
|
|
24
25
|
import "../components/ha-svg-icon";
|
|
26
|
+
import { formatNodeAddress, getEffectiveFabricIndex } from "../util/format_hex.js";
|
|
25
27
|
import "./components/header";
|
|
26
28
|
import "./components/node-details";
|
|
27
29
|
import { getEndpointDeviceTypes } from "./matter-endpoint-view.js";
|
|
@@ -43,9 +45,14 @@ let MatterNodeView = class extends LitElement {
|
|
|
43
45
|
const showGraphButton = networkType === "thread" || networkType === "wifi" || networkType === "ethernet";
|
|
44
46
|
const graphViewType = networkType === "ethernet" ? "wifi" : networkType;
|
|
45
47
|
const graphUrl = showGraphButton ? `#${graphViewType}/${this.node.node_id}` : null;
|
|
48
|
+
const fabricIndex = getEffectiveFabricIndex(
|
|
49
|
+
this.client.serverInfo.fabric_index,
|
|
50
|
+
isTestNodeId(this.node.node_id)
|
|
51
|
+
);
|
|
52
|
+
const nodeHex = formatNodeAddress(fabricIndex, this.node.node_id);
|
|
46
53
|
return html`
|
|
47
54
|
<dashboard-header
|
|
48
|
-
.title=${
|
|
55
|
+
.title=${`Node ${this.node.node_id} ${nodeHex}`}
|
|
49
56
|
.client=${this.client}
|
|
50
57
|
backButton="#"
|
|
51
58
|
></dashboard-header>
|
|
@@ -53,7 +60,7 @@ let MatterNodeView = class extends LitElement {
|
|
|
53
60
|
<!-- node details section -->
|
|
54
61
|
<div class="container">
|
|
55
62
|
<div class="node-title-bar">
|
|
56
|
-
<h2>Node ${this.node.node_id}</h2>
|
|
63
|
+
<h2>Node ${this.node.node_id} <span class="node-id-hex">${nodeHex}</span></h2>
|
|
57
64
|
${showGraphButton ? html`
|
|
58
65
|
<a href=${graphUrl} class="show-in-graph-button" title="Show in ${graphViewType} graph">
|
|
59
66
|
<ha-svg-icon .path=${mdiGraphOutline}></ha-svg-icon>
|
|
@@ -141,6 +148,13 @@ MatterNodeView.styles = css`
|
|
|
141
148
|
color: var(--md-sys-color-on-background, #333);
|
|
142
149
|
}
|
|
143
150
|
|
|
151
|
+
.node-id-hex {
|
|
152
|
+
font-size: 0.75em;
|
|
153
|
+
font-weight: 400;
|
|
154
|
+
color: var(--md-sys-color-on-surface-variant, #666);
|
|
155
|
+
font-family: monospace;
|
|
156
|
+
}
|
|
157
|
+
|
|
144
158
|
.show-in-graph-button {
|
|
145
159
|
display: inline-flex;
|
|
146
160
|
align-items: center;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/pages/matter-node-view.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -14,6 +14,7 @@ import type { NetworkGraphEdge, NetworkGraphNode } from "./network-types.js";
|
|
|
14
14
|
export declare abstract class BaseNetworkGraph extends LitElement {
|
|
15
15
|
nodes: Record<string, MatterNode>;
|
|
16
16
|
protected _selectedNodeId: number | string | null;
|
|
17
|
+
protected _physicsEnabled: boolean;
|
|
17
18
|
protected _network?: Network;
|
|
18
19
|
protected _nodesDataSet?: DataSet<NetworkGraphNode>;
|
|
19
20
|
protected _edgesDataSet?: DataSet<NetworkGraphEdge>;
|
|
@@ -21,6 +22,11 @@ export declare abstract class BaseNetworkGraph extends LitElement {
|
|
|
21
22
|
protected _resizeObserver?: ResizeObserver;
|
|
22
23
|
protected _themeUnsubscribe?: () => void;
|
|
23
24
|
protected _updateDebounceTimer?: ReturnType<typeof setTimeout>;
|
|
25
|
+
protected _autoFreezeTimer?: ReturnType<typeof setTimeout>;
|
|
26
|
+
/** Whether auto-freeze has already been applied (to avoid re-freezing after user unfreezes) */
|
|
27
|
+
private _autoFreezeApplied;
|
|
28
|
+
/** Whether initial fit has been done (to preserve user's zoom/pan after first load) */
|
|
29
|
+
private _initialFitDone;
|
|
24
30
|
/** Store original edge colors for restoration after highlighting */
|
|
25
31
|
private _originalEdgeColors;
|
|
26
32
|
protected _getFontColor(): string;
|
|
@@ -48,6 +54,34 @@ export declare abstract class BaseNetworkGraph extends LitElement {
|
|
|
48
54
|
* Fits all nodes into view.
|
|
49
55
|
*/
|
|
50
56
|
fit(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Zooms in by 20%.
|
|
59
|
+
*/
|
|
60
|
+
zoomIn(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Zooms out by 20%.
|
|
63
|
+
*/
|
|
64
|
+
zoomOut(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Returns whether physics simulation is currently enabled.
|
|
67
|
+
*/
|
|
68
|
+
get physicsEnabled(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Enables or disables physics simulation (node movement/settling).
|
|
71
|
+
* When disabled, nodes freeze in place; when enabled, they resume settling.
|
|
72
|
+
* @param enabled Whether to enable physics
|
|
73
|
+
* @param isManual If true, cancels any pending auto-freeze (user manually toggled)
|
|
74
|
+
*/
|
|
75
|
+
setPhysicsEnabled(enabled: boolean, isManual?: boolean): void;
|
|
76
|
+
/**
|
|
77
|
+
* Starts the auto-freeze timer. Physics will be disabled after 5 seconds
|
|
78
|
+
* unless the user manually toggles physics or the timer is cancelled.
|
|
79
|
+
*/
|
|
80
|
+
private _startAutoFreezeTimer;
|
|
81
|
+
/**
|
|
82
|
+
* Cancels any pending auto-freeze timer.
|
|
83
|
+
*/
|
|
84
|
+
private _cancelAutoFreezeTimer;
|
|
51
85
|
/**
|
|
52
86
|
* Selects a node by ID and focuses on it.
|
|
53
87
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-network-graph.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/base-network-graph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAO,MAAM,KAAK,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE7E;;;GAGG;AACH,8BAAsB,gBAAiB,SAAQ,UAAU;IAE9C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IAG9C,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;
|
|
1
|
+
{"version":3,"file":"base-network-graph.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/base-network-graph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAO,MAAM,KAAK,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE7E;;;GAGG;AACH,8BAAsB,gBAAiB,SAAQ,UAAU;IAE9C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IAG9C,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;IAGzD,SAAS,CAAC,eAAe,UAAQ;IAEjC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpD,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpD,SAAS,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACtC,SAAS,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC;IAC3C,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC,SAAS,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC/D,SAAS,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC3D,+FAA+F;IAC/F,OAAO,CAAC,kBAAkB,CAAS;IACnC,uFAAuF;IACvF,OAAO,CAAC,eAAe,CAAS;IAEhC,oEAAoE;IACpE,OAAO,CAAC,mBAAmB,CAAgE;IAE3F,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC,SAAS,CAAC,mBAAmB,IAAI,MAAM;IAIvC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,GAAG;IAoB1B,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAc/D;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmB3B,wDAAwD;IACxD,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAS9B,YAAY,IAAI,IAAI;IAkDpB,oBAAoB,IAAI,IAAI;IAiBrC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAqFpC;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,GAAG,IAAI,IAAI;IASlB;;OAEG;IACI,MAAM,IAAI,IAAI;IAYrB;;OAEG;IACI,OAAO,IAAI,IAAI;IAYtB;;OAEG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,UAAO,GAAG,IAAI;IAajE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBhD,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IAUrE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuE9D;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IA8BlC;;OAEG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAI1C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;IAEvC,OAAgB,MAAM,0BAuCpB;CACL"}
|
|
@@ -22,6 +22,11 @@ class BaseNetworkGraph extends LitElement {
|
|
|
22
22
|
super(...arguments);
|
|
23
23
|
this.nodes = {};
|
|
24
24
|
this._selectedNodeId = null;
|
|
25
|
+
this._physicsEnabled = true;
|
|
26
|
+
/** Whether auto-freeze has already been applied (to avoid re-freezing after user unfreezes) */
|
|
27
|
+
this._autoFreezeApplied = false;
|
|
28
|
+
/** Whether initial fit has been done (to preserve user's zoom/pan after first load) */
|
|
29
|
+
this._initialFitDone = false;
|
|
25
30
|
/** Store original edge colors for restoration after highlighting */
|
|
26
31
|
this._originalEdgeColors = /* @__PURE__ */ new Map();
|
|
27
32
|
}
|
|
@@ -110,15 +115,23 @@ class BaseNetworkGraph extends LitElement {
|
|
|
110
115
|
this._resizeObserver.observe(this._container);
|
|
111
116
|
}
|
|
112
117
|
this._themeUnsubscribe = ThemeService.subscribe(() => {
|
|
113
|
-
if (this._network) {
|
|
118
|
+
if (this._network && this._nodesDataSet) {
|
|
119
|
+
const fontColor = this._getFontColor();
|
|
114
120
|
this._network.setOptions({
|
|
115
121
|
nodes: {
|
|
116
122
|
font: {
|
|
117
|
-
color:
|
|
123
|
+
color: fontColor
|
|
118
124
|
}
|
|
119
125
|
}
|
|
120
126
|
});
|
|
121
127
|
this._updateGraph();
|
|
128
|
+
const allNodes = this._nodesDataSet.get();
|
|
129
|
+
const nodeUpdates = allNodes.map((node) => ({
|
|
130
|
+
id: node.id,
|
|
131
|
+
font: { color: fontColor }
|
|
132
|
+
}));
|
|
133
|
+
this._nodesDataSet.update(nodeUpdates);
|
|
134
|
+
this._network.redraw();
|
|
122
135
|
}
|
|
123
136
|
});
|
|
124
137
|
}
|
|
@@ -126,6 +139,7 @@ class BaseNetworkGraph extends LitElement {
|
|
|
126
139
|
super.disconnectedCallback();
|
|
127
140
|
this._resizeObserver?.disconnect();
|
|
128
141
|
this._themeUnsubscribe?.();
|
|
142
|
+
this._cancelAutoFreezeTimer();
|
|
129
143
|
if (this._updateDebounceTimer) {
|
|
130
144
|
clearTimeout(this._updateDebounceTimer);
|
|
131
145
|
}
|
|
@@ -195,20 +209,16 @@ class BaseNetworkGraph extends LitElement {
|
|
|
195
209
|
this._dispatchNodeSelected(null);
|
|
196
210
|
});
|
|
197
211
|
this._network.on("stabilizationIterationsDone", () => {
|
|
198
|
-
this.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
duration: 300,
|
|
209
|
-
easingFunction: "easeInOutQuad"
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
+
if (!this._initialFitDone) {
|
|
213
|
+
this._network?.fit({
|
|
214
|
+
animation: {
|
|
215
|
+
duration: 500,
|
|
216
|
+
easingFunction: "easeInOutQuad"
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
this._initialFitDone = true;
|
|
220
|
+
this._startAutoFreezeTimer();
|
|
221
|
+
}
|
|
212
222
|
});
|
|
213
223
|
this._updateGraph();
|
|
214
224
|
}
|
|
@@ -229,6 +239,88 @@ class BaseNetworkGraph extends LitElement {
|
|
|
229
239
|
}
|
|
230
240
|
});
|
|
231
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Zooms in by 20%.
|
|
244
|
+
*/
|
|
245
|
+
zoomIn() {
|
|
246
|
+
if (!this._network) return;
|
|
247
|
+
const scale = this._network.getScale();
|
|
248
|
+
this._network.moveTo({
|
|
249
|
+
scale: scale * 1.2,
|
|
250
|
+
animation: {
|
|
251
|
+
duration: 200,
|
|
252
|
+
easingFunction: "easeInOutQuad"
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Zooms out by 20%.
|
|
258
|
+
*/
|
|
259
|
+
zoomOut() {
|
|
260
|
+
if (!this._network) return;
|
|
261
|
+
const scale = this._network.getScale();
|
|
262
|
+
this._network.moveTo({
|
|
263
|
+
scale: scale / 1.2,
|
|
264
|
+
animation: {
|
|
265
|
+
duration: 200,
|
|
266
|
+
easingFunction: "easeInOutQuad"
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Returns whether physics simulation is currently enabled.
|
|
272
|
+
*/
|
|
273
|
+
get physicsEnabled() {
|
|
274
|
+
return this._physicsEnabled;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Enables or disables physics simulation (node movement/settling).
|
|
278
|
+
* When disabled, nodes freeze in place; when enabled, they resume settling.
|
|
279
|
+
* @param enabled Whether to enable physics
|
|
280
|
+
* @param isManual If true, cancels any pending auto-freeze (user manually toggled)
|
|
281
|
+
*/
|
|
282
|
+
setPhysicsEnabled(enabled, isManual = true) {
|
|
283
|
+
if (isManual) {
|
|
284
|
+
this._cancelAutoFreezeTimer();
|
|
285
|
+
this._autoFreezeApplied = true;
|
|
286
|
+
}
|
|
287
|
+
this._physicsEnabled = enabled;
|
|
288
|
+
this._network?.setOptions({
|
|
289
|
+
physics: { enabled }
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Starts the auto-freeze timer. Physics will be disabled after 5 seconds
|
|
294
|
+
* unless the user manually toggles physics or the timer is cancelled.
|
|
295
|
+
*/
|
|
296
|
+
_startAutoFreezeTimer() {
|
|
297
|
+
if (this._autoFreezeApplied) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
this._cancelAutoFreezeTimer();
|
|
301
|
+
this._autoFreezeTimer = setTimeout(() => {
|
|
302
|
+
if (!this._autoFreezeApplied && this._physicsEnabled) {
|
|
303
|
+
this.setPhysicsEnabled(false, false);
|
|
304
|
+
this._autoFreezeApplied = true;
|
|
305
|
+
this.dispatchEvent(
|
|
306
|
+
new CustomEvent("physics-changed", {
|
|
307
|
+
detail: { enabled: false },
|
|
308
|
+
bubbles: true,
|
|
309
|
+
composed: true
|
|
310
|
+
})
|
|
311
|
+
);
|
|
312
|
+
}
|
|
313
|
+
}, 5e3);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Cancels any pending auto-freeze timer.
|
|
317
|
+
*/
|
|
318
|
+
_cancelAutoFreezeTimer() {
|
|
319
|
+
if (this._autoFreezeTimer) {
|
|
320
|
+
clearTimeout(this._autoFreezeTimer);
|
|
321
|
+
this._autoFreezeTimer = void 0;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
232
324
|
/**
|
|
233
325
|
* Selects a node by ID and focuses on it.
|
|
234
326
|
*/
|
|
@@ -265,10 +357,9 @@ class BaseNetworkGraph extends LitElement {
|
|
|
265
357
|
const edgeId = String(edge.id);
|
|
266
358
|
if (!this._originalEdgeColors.has(edgeId)) {
|
|
267
359
|
const colorObj = edge.color;
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
});
|
|
360
|
+
const color = colorObj?.color ?? "#999999";
|
|
361
|
+
const highlight = colorObj?.highlight ?? color;
|
|
362
|
+
this._originalEdgeColors.set(edgeId, { color, highlight });
|
|
272
363
|
}
|
|
273
364
|
}
|
|
274
365
|
const connectedEdges = this._edgesDataSet.get({
|
|
@@ -286,14 +377,11 @@ class BaseNetworkGraph extends LitElement {
|
|
|
286
377
|
const edgeUpdates = allEdges.map((edge) => {
|
|
287
378
|
const isConnected = edge.from === nodeId || edge.to === nodeId;
|
|
288
379
|
const originalColor = this._originalEdgeColors.get(String(edge.id));
|
|
380
|
+
const connectedColor = originalColor ?? { color: "#999999", highlight: "#999999" };
|
|
289
381
|
return {
|
|
290
382
|
id: edge.id,
|
|
291
383
|
width: isConnected ? 3 : 1,
|
|
292
|
-
|
|
293
|
-
color: isConnected ? { color: originalColor?.color, highlight: originalColor?.highlight } : {
|
|
294
|
-
color: dimmedColor,
|
|
295
|
-
highlight: dimmedColor
|
|
296
|
-
}
|
|
384
|
+
color: isConnected ? { color: connectedColor.color, highlight: connectedColor.highlight } : { color: dimmedColor, highlight: dimmedColor }
|
|
297
385
|
};
|
|
298
386
|
});
|
|
299
387
|
this._edgesDataSet.update(edgeUpdates);
|
|
@@ -397,6 +485,9 @@ __decorateClass([
|
|
|
397
485
|
__decorateClass([
|
|
398
486
|
state()
|
|
399
487
|
], BaseNetworkGraph.prototype, "_selectedNodeId", 2);
|
|
488
|
+
__decorateClass([
|
|
489
|
+
state()
|
|
490
|
+
], BaseNetworkGraph.prototype, "_physicsEnabled", 2);
|
|
400
491
|
export {
|
|
401
492
|
BaseNetworkGraph
|
|
402
493
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/network/base-network-graph.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY,WAAW;AAChC,SAAS,UAAU,aAAa;AAEhC,SAAS,SAAS,eAAe;AACjC,SAAS,oBAAoB;AAOtB,MAAe,yBAAyB,WAAW;AAAA,EAAnD;AAAA;AAEH,SAAO,QAAoC,CAAC;AAG5C,SAAU,kBAA0C;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -182,7 +182,7 @@ function createUnknownDeviceIconDataUrl(isRouter = false, isSelected = false) {
|
|
|
182
182
|
return createIconDataUrl(iconPath, color);
|
|
183
183
|
}
|
|
184
184
|
function createWiFiRouterIconDataUrl(isSelected = false) {
|
|
185
|
-
const color = isSelected ? "#1976d2" : "#
|
|
185
|
+
const color = isSelected ? "#1976d2" : "#ff9800";
|
|
186
186
|
return createIconDataUrl(mdiWifi, color);
|
|
187
187
|
}
|
|
188
188
|
export {
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import "@material/web/divider/divider";
|
|
7
|
-
import type
|
|
7
|
+
import { type MatterNode } from "@matter-server/ws-client";
|
|
8
8
|
import { LitElement, TemplateResult } from "lit";
|
|
9
9
|
import "../../components/ha-svg-icon";
|
|
10
|
+
import "./update-connections-dialog.js";
|
|
10
11
|
declare global {
|
|
11
12
|
interface HTMLElementTagNameMap {
|
|
12
13
|
"network-details": NetworkDetails;
|
|
@@ -25,6 +26,8 @@ export declare class NetworkDetails extends LitElement {
|
|
|
25
26
|
bssid: string;
|
|
26
27
|
connectedNodes: string[];
|
|
27
28
|
}>;
|
|
29
|
+
private client;
|
|
30
|
+
private _showUpdateDialog;
|
|
28
31
|
private _handleClose;
|
|
29
32
|
private _handleSelectNode;
|
|
30
33
|
/** Handle keyboard interaction for clickable elements (Enter/Space activates) */
|
|
@@ -32,6 +35,11 @@ export declare class NetworkDetails extends LitElement {
|
|
|
32
35
|
private _formatExtAddress;
|
|
33
36
|
private _getSignalIcon;
|
|
34
37
|
private _getSignalIconFromColor;
|
|
38
|
+
/**
|
|
39
|
+
* Format a node ID as hex for Matter log format display.
|
|
40
|
+
* Returns format like "@1:7b" for node ID 123.
|
|
41
|
+
*/
|
|
42
|
+
private _formatNodeIdHex;
|
|
35
43
|
private _renderWiFiInfo;
|
|
36
44
|
private _renderThreadInfo;
|
|
37
45
|
private _renderNodeInfo;
|
|
@@ -40,6 +48,28 @@ export declare class NetworkDetails extends LitElement {
|
|
|
40
48
|
*/
|
|
41
49
|
private _findNeighborEntry;
|
|
42
50
|
private _renderUnknownDeviceInfo;
|
|
51
|
+
/**
|
|
52
|
+
* Determine if update connections button should be shown.
|
|
53
|
+
*/
|
|
54
|
+
private _canUpdateConnections;
|
|
55
|
+
/**
|
|
56
|
+
* Get the type of the currently selected node for dialog variant.
|
|
57
|
+
*/
|
|
58
|
+
private _getSelectedNodeType;
|
|
59
|
+
/**
|
|
60
|
+
* Get online neighbors for a Thread node.
|
|
61
|
+
*/
|
|
62
|
+
private _getOnlineNeighbors;
|
|
63
|
+
/**
|
|
64
|
+
* Get online nodes that see an unknown device.
|
|
65
|
+
*/
|
|
66
|
+
private _getOnlineSeenByNodes;
|
|
67
|
+
/**
|
|
68
|
+
* Get the name of the selected node for display in dialog.
|
|
69
|
+
*/
|
|
70
|
+
private _getSelectedNodeName;
|
|
71
|
+
private _handleUpdateConnections;
|
|
72
|
+
private _handleDialogClose;
|
|
43
73
|
private _renderWiFiAccessPointInfo;
|
|
44
74
|
render(): TemplateResult<1>;
|
|
45
75
|
static styles: import("lit").CSSResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-details.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-details.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"network-details.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/network-details.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,cAAc,EAAsB,MAAM,KAAK,CAAC;AAGrE,OAAO,8BAA8B,CAAC;AAqBtC,OAAO,gCAAgC,CAAC;AAExC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,cAAc,CAAC;KACrC;CACJ;AAED,qBACa,cAAe,SAAQ,UAAU;IAEnC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;IAG9C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IAGvC,cAAc,EAAE,GAAG,CACtB,MAAM,EACN;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAC1F,CAAa;IAGP,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAa;IAG9F,OAAO,CAAC,MAAM,CAAgB;IAG9B,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IAUzB,iFAAiF;IACjF,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,uBAAuB;IAM/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAwDvB,OAAO,CAAC,iBAAiB;IA4GzB,OAAO,CAAC,eAAe;IAqDvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,wBAAwB;IA4FhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,0BAA0B;IAgEzB,MAAM;IAkIf,OAAgB,MAAM,0BAwQpB;CACL"}
|