@matter-server/dashboard 0.6.3-alpha.0-20260429-7b8104b → 0.6.4
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/dist/esm/pages/matter-network-view.d.ts +3 -0
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-network-view.js +23 -0
- package/dist/esm/pages/matter-network-view.js.map +1 -1
- package/dist/esm/pages/network/border-router-store.d.ts +20 -0
- package/dist/esm/pages/network/border-router-store.d.ts.map +1 -0
- package/dist/esm/pages/network/border-router-store.js +29 -0
- package/dist/esm/pages/network/border-router-store.js.map +6 -0
- package/dist/esm/pages/network/network-details.d.ts +36 -8
- package/dist/esm/pages/network/network-details.d.ts.map +1 -1
- package/dist/esm/pages/network/network-details.js +389 -59
- package/dist/esm/pages/network/network-details.js.map +1 -1
- package/dist/esm/pages/network/network-types.d.ts +38 -0
- package/dist/esm/pages/network/network-types.d.ts.map +1 -1
- package/dist/esm/pages/network/network-types.js.map +1 -1
- package/dist/esm/pages/network/network-utils.d.ts +46 -8
- package/dist/esm/pages/network/network-utils.d.ts.map +1 -1
- package/dist/esm/pages/network/network-utils.js +120 -17
- package/dist/esm/pages/network/network-utils.js.map +1 -1
- package/dist/esm/pages/network/thread-graph.d.ts +7 -10
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/thread-graph.js +59 -29
- package/dist/esm/pages/network/thread-graph.js.map +1 -1
- package/dist/esm/util/device-icons.d.ts +6 -0
- package/dist/esm/util/device-icons.d.ts.map +1 -1
- package/dist/esm/util/device-icons.js +6 -0
- package/dist/esm/util/device-icons.js.map +1 -1
- package/dist/web/js/{attribute-write-dialog-Bq4WRAPd.js → attribute-write-dialog-ZDg80-DQ.js} +1 -1
- package/dist/web/js/{command-invoke-dialog-BIpV8LqS.js → command-invoke-dialog-u97i1oHa.js} +1 -1
- package/dist/web/js/{commission-node-dialog-Dge7vt1X.js → commission-node-dialog-BlxGa1jH.js} +4 -4
- package/dist/web/js/{commission-node-existing-BbQVV2ag.js → commission-node-existing-Dbu2XOL8.js} +2 -2
- package/dist/web/js/{commission-node-thread-DvHzxYrT.js → commission-node-thread-DYc9mqmG.js} +2 -2
- package/dist/web/js/{commission-node-wifi-sZt9CzyL.js → commission-node-wifi-C1agL9B2.js} +2 -2
- package/dist/web/js/{dialog-box-CQXluAt6.js → dialog-box-CGIt5reB.js} +1 -1
- package/dist/web/js/{fire_event-CjgNg3ka.js → fire_event-B6A87_wN.js} +1 -1
- package/dist/web/js/main.js +1 -1
- package/dist/web/js/{matter-dashboard-app-DH_5WkVB.js → matter-dashboard-app-mEIOY8EU.js} +618 -111
- package/dist/web/js/{node-binding-dialog-Dzz35dyd.js → node-binding-dialog-CQINPu9T.js} +1 -1
- package/dist/web/js/{settings-dialog-B-CQ09b1.js → settings-dialog-O59ya3fT.js} +1 -1
- package/package.json +4 -4
- package/src/pages/matter-network-view.ts +27 -0
- package/src/pages/network/border-router-store.ts +38 -0
- package/src/pages/network/network-details.ts +490 -80
- package/src/pages/network/network-types.ts +41 -0
- package/src/pages/network/network-utils.ts +186 -30
- package/src/pages/network/thread-graph.ts +74 -43
- package/src/util/device-icons.ts +13 -0
|
@@ -31,6 +31,7 @@ declare class MatterNetworkView extends LitElement {
|
|
|
31
31
|
private _physicsEnabled;
|
|
32
32
|
private _threadAddressSearch;
|
|
33
33
|
private _threadAddressSearchStatus;
|
|
34
|
+
private _borderRouterStore;
|
|
34
35
|
private _showHideMenu;
|
|
35
36
|
private _hideOfflineNodes;
|
|
36
37
|
private _hideWeakSignalEdges;
|
|
@@ -41,6 +42,8 @@ declare class MatterNetworkView extends LitElement {
|
|
|
41
42
|
private _threadGraph?;
|
|
42
43
|
private _wifiGraph?;
|
|
43
44
|
willUpdate(changedProperties: Map<string, unknown>): void;
|
|
45
|
+
private _refreshBorderRouters;
|
|
46
|
+
private _handleConnectionsUpdated;
|
|
44
47
|
updated(changedProperties: Map<string, unknown>): void;
|
|
45
48
|
connectedCallback(): void;
|
|
46
49
|
disconnectedCallback(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matter-network-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-network-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,2BAA2B,CAAC;AAEnC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"matter-network-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-network-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,2BAA2B,CAAC;AAEnC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,wBAAwB,CAAC;AAChC,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAEhC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ;AAWD,cACM,iBAAkB,SAAQ,UAAU;IAC/B,MAAM,EAAG,YAAY,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IAGvC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAY;IAEjD,gFAAgF;IAEzE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGhC,OAAO,CAAC,eAAe,CAAgC;IAGvD,OAAO,CAAC,eAAe,CAAQ;IAG/B,OAAO,CAAC,oBAAoB,CAAM;IAGlC,OAAO,CAAC,0BAA0B,CAA0C;IAG5E,OAAO,CAAC,kBAAkB,CAA2B;IAGrD,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,iBAAiB,CAAS;IAGlC,OAAO,CAAC,oBAAoB,CAAS;IAGrC,OAAO,CAAC,sBAAsB,CAAS;IAGvC,OAAO,CAAC,sBAAsB,CAAS;IAEvC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAG1D,OAAO,CAAC,YAAY,CAAC,CAAc;IAGnC,OAAO,CAAC,UAAU,CAAC,CAAY;IAEtB,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMjE;YAEa,qBAAqB;IASnC,OAAO,CAAC,yBAAyB;IAOxB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9D;IAEQ,iBAAiB,IAAI,IAAI,CAIjC;IAEQ,oBAAoB,IAAI,IAAI,CAOpC;IAED;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAKpC;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAIlC;IAEF,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,gCAAgC;IAYxC,OAAO,CAAC,6BAA6B;IAmBrC,OAAO,CAAC,iBAAiB;IA4FzB,OAAO,CAAC,eAAe;IAiCd,MAAM,yCAyCd;IAED,OAAgB,MAAM,4BAsRpB;CACL"}
|
|
@@ -20,6 +20,7 @@ import "../components/ha-svg-icon";
|
|
|
20
20
|
import { reducedMotionStyles } from "../util/shared-styles.js";
|
|
21
21
|
import "./components/footer";
|
|
22
22
|
import "./components/header";
|
|
23
|
+
import { BorderRouterStore } from "./network/border-router-store.js";
|
|
23
24
|
import "./network/device-panel";
|
|
24
25
|
import "./network/network-details";
|
|
25
26
|
import "./network/thread-graph";
|
|
@@ -40,6 +41,7 @@ let MatterNetworkView = class extends LitElement {
|
|
|
40
41
|
this._physicsEnabled = true;
|
|
41
42
|
this._threadAddressSearch = "";
|
|
42
43
|
this._threadAddressSearchStatus = "idle";
|
|
44
|
+
this._borderRouterStore = new BorderRouterStore();
|
|
43
45
|
this._showHideMenu = false;
|
|
44
46
|
this._hideOfflineNodes = false;
|
|
45
47
|
this._hideWeakSignalEdges = false;
|
|
@@ -64,8 +66,23 @@ let MatterNetworkView = class extends LitElement {
|
|
|
64
66
|
this._initialSelectionApplied = false;
|
|
65
67
|
}
|
|
66
68
|
}
|
|
69
|
+
async _refreshBorderRouters() {
|
|
70
|
+
try {
|
|
71
|
+
await this._borderRouterStore.refresh(this.client);
|
|
72
|
+
this.requestUpdate();
|
|
73
|
+
} catch (err) {
|
|
74
|
+
console.warn("Failed to refresh border router store:", err);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_handleConnectionsUpdated() {
|
|
78
|
+
if (this.networkType !== "thread") return;
|
|
79
|
+
void this._refreshBorderRouters();
|
|
80
|
+
}
|
|
67
81
|
updated(changedProperties) {
|
|
68
82
|
super.updated(changedProperties);
|
|
83
|
+
if (changedProperties.has("networkType") && this.networkType === "thread") {
|
|
84
|
+
void this._refreshBorderRouters();
|
|
85
|
+
}
|
|
69
86
|
if (!this._initialSelectionApplied && this.initialSelectedNodeId !== null) {
|
|
70
87
|
this._initialSelectionApplied = true;
|
|
71
88
|
this._selectNodeWhenReady(this.initialSelectedNodeId);
|
|
@@ -259,6 +276,7 @@ let MatterNetworkView = class extends LitElement {
|
|
|
259
276
|
</div>`}
|
|
260
277
|
<thread-graph
|
|
261
278
|
.nodes=${this.nodes}
|
|
279
|
+
.borderRouters=${this._borderRouterStore.entries}
|
|
262
280
|
.hideOfflineNodes=${this._hideOfflineNodes}
|
|
263
281
|
.hideWeakSignalEdges=${this._hideWeakSignalEdges}
|
|
264
282
|
.hideMediumSignalEdges=${this._hideMediumSignalEdges}
|
|
@@ -325,6 +343,7 @@ let MatterNetworkView = class extends LitElement {
|
|
|
325
343
|
.selectedNodeId=${this._selectedNodeId}
|
|
326
344
|
.nodes=${this.nodes}
|
|
327
345
|
.unknownDevices=${unknownDevices}
|
|
346
|
+
.borderRouters=${this._borderRouterStore.entries}
|
|
328
347
|
.wifiAccessPoints=${wifiAccessPoints}
|
|
329
348
|
.threadEdgePairs=${threadEdgePairs}
|
|
330
349
|
.hideOfflineNodes=${this._hideOfflineNodes}
|
|
@@ -333,6 +352,7 @@ let MatterNetworkView = class extends LitElement {
|
|
|
333
352
|
.hideStrongSignalEdges=${this._hideStrongSignalEdges}
|
|
334
353
|
@close=${this._handleDetailsClose}
|
|
335
354
|
@select-node=${this._handleSelectNode}
|
|
355
|
+
@connections-updated=${this._handleConnectionsUpdated}
|
|
336
356
|
></network-details>
|
|
337
357
|
</aside>
|
|
338
358
|
</div>
|
|
@@ -650,6 +670,9 @@ __decorateClass([
|
|
|
650
670
|
__decorateClass([
|
|
651
671
|
state()
|
|
652
672
|
], MatterNetworkView.prototype, "_threadAddressSearchStatus", 2);
|
|
673
|
+
__decorateClass([
|
|
674
|
+
state()
|
|
675
|
+
], MatterNetworkView.prototype, "_borderRouterStore", 2);
|
|
653
676
|
__decorateClass([
|
|
654
677
|
state()
|
|
655
678
|
], MatterNetworkView.prototype, "_showHideMenu", 2);
|
|
@@ -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,WAAW,gBAAgB,iBAAiB,gBAAgB,UAAU,eAAe;AAC9F,SAAS,KAAK,MAAM,kBAAkB;AACtC,SAAS,eAAe,UAAU,OAAO,aAAa;AACtD,OAAO;AACP,SAAS,2BAA2B;AACpC,OAAO;AACP,OAAO;AAEP,OAAO;AACP,OAAO;AACP,OAAO;AAEP,OAAO;AAWP,MAAM,eAAiE;AAAA,EACnE,EAAE,KAAK,qBAAqB,OAAO,gBAAgB;AAAA,EACnD,EAAE,KAAK,wBAAwB,OAAO,oBAAoB;AAAA,EAC1D,EAAE,KAAK,0BAA0B,OAAO,sBAAsB;AAAA,EAC9D,EAAE,KAAK,0BAA0B,OAAO,sBAAsB;AAClE;AAGA,IAAM,oBAAN,cAAgC,WAAW;AAAA,EAA3C;AAAA;AAII,SAAO,QAAoC,CAAC;AAM5C,SAAO,cAAiC;AAIxC,SAAO,wBAAuC;AAS9C,SAAQ,kBAA0C;AAGlD,SAAQ,kBAAkB;AAG1B,SAAQ,uBAAuB;AAG/B,SAAQ,6BAA6D;AAGrE,SAAQ,gBAAgB;AAGxB,SAAQ,oBAAoB;AAG5B,SAAQ,uBAAuB;AAG/B,SAAQ,yBAAyB;AAGjC,SAAQ,yBAAyB;AAEjC,SAAQ,2BAA2B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BorderRouterEntry, MatterClient } from "@matter-server/ws-client";
|
|
7
|
+
/**
|
|
8
|
+
* Snapshot of mDNS-discovered Thread Border Routers.
|
|
9
|
+
*
|
|
10
|
+
* Refreshed on Thread-graph mount and on the reload-button click. The map is keyed by the
|
|
11
|
+
* uppercase 16-char xa hex so callers can join against neighbor-table extended addresses
|
|
12
|
+
* normalized to the same casing.
|
|
13
|
+
*/
|
|
14
|
+
export declare class BorderRouterStore {
|
|
15
|
+
#private;
|
|
16
|
+
get entries(): ReadonlyMap<string, BorderRouterEntry>;
|
|
17
|
+
refresh(client: MatterClient): Promise<void>;
|
|
18
|
+
reset(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=border-router-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border-router-store.d.ts","sourceRoot":"","sources":["../../../../src/pages/network/border-router-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEhF;;;;;;GAMG;AACH,qBAAa,iBAAiB;;IAM1B,IAAI,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAEpD;IAEK,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjD;IAED,KAAK,IAAI,IAAI,CAEZ;CACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
class BorderRouterStore {
|
|
7
|
+
// Replaced (not mutated) on every refresh so Lit consumers passing this map as a
|
|
8
|
+
// @property() detect the snapshot change via the default `===` identity compare and
|
|
9
|
+
// re-render. Mutating in place would keep the same reference and silently skip updates.
|
|
10
|
+
#entries = /* @__PURE__ */ new Map();
|
|
11
|
+
get entries() {
|
|
12
|
+
return this.#entries;
|
|
13
|
+
}
|
|
14
|
+
async refresh(client) {
|
|
15
|
+
const list = await client.sendCommand("get_thread_border_routers", 0, {});
|
|
16
|
+
const next = /* @__PURE__ */ new Map();
|
|
17
|
+
for (const entry of list) {
|
|
18
|
+
next.set(entry.extAddressHex.toUpperCase(), entry);
|
|
19
|
+
}
|
|
20
|
+
this.#entries = next;
|
|
21
|
+
}
|
|
22
|
+
reset() {
|
|
23
|
+
this.#entries = /* @__PURE__ */ new Map();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
BorderRouterStore
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=border-router-store.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/pages/network/border-router-store.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAI3B,WAAmD,oBAAI,IAAI;AAAA,EAE3D,IAAI,UAAkD;AAClD,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,QAAQ,QAAqC;AAC/C,UAAM,OAAO,MAAM,OAAO,YAAY,6BAA6B,GAAG,CAAC,CAAC;AACxE,UAAM,OAAO,oBAAI,IAA+B;AAChD,eAAW,SAAS,MAAM;AACtB,WAAK,IAAI,MAAM,cAAc,YAAY,GAAG,KAAK;AAAA,IACrD;AACA,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,QAAc;AACV,SAAK,WAAW,oBAAI,IAAI;AAAA,EAC5B;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import "@material/web/divider/divider";
|
|
7
|
-
import { type MatterNode } from "@matter-server/ws-client";
|
|
7
|
+
import { type BorderRouterEntry, type MatterNode } from "@matter-server/ws-client";
|
|
8
8
|
import { LitElement, TemplateResult } from "lit";
|
|
9
9
|
import "../../components/ha-svg-icon";
|
|
10
|
-
import type { ThreadEdgePair } from "./network-types.js";
|
|
10
|
+
import type { ThreadEdgePair, ThreadExternalDevice } from "./network-types.js";
|
|
11
11
|
import "./update-connections-dialog.js";
|
|
12
12
|
declare global {
|
|
13
13
|
interface HTMLElementTagNameMap {
|
|
@@ -21,12 +21,8 @@ export declare class NetworkDetails extends LitElement {
|
|
|
21
21
|
hideMediumSignalEdges: boolean;
|
|
22
22
|
hideStrongSignalEdges: boolean;
|
|
23
23
|
nodes: Record<string, MatterNode>;
|
|
24
|
-
unknownDevices:
|
|
25
|
-
|
|
26
|
-
isRouter: boolean;
|
|
27
|
-
seenBy: string[];
|
|
28
|
-
bestRssi: number | null;
|
|
29
|
-
}>;
|
|
24
|
+
unknownDevices: ReadonlyMap<string, ThreadExternalDevice>;
|
|
25
|
+
borderRouters: ReadonlyMap<string, BorderRouterEntry>;
|
|
30
26
|
wifiAccessPoints: Map<string, {
|
|
31
27
|
bssid: string;
|
|
32
28
|
connectedNodes: string[];
|
|
@@ -48,6 +44,33 @@ export declare class NetworkDetails extends LitElement {
|
|
|
48
44
|
private _renderThreadInfo;
|
|
49
45
|
private _renderNodeInfo;
|
|
50
46
|
private _renderUnknownDeviceInfo;
|
|
47
|
+
/**
|
|
48
|
+
* Neighbor list shared by external-device panels (unknown + BR). Uses the
|
|
49
|
+
* same edge pairs as the graph so panel and graph agree on which links
|
|
50
|
+
* survive filtering. Sorted by best RSSI/LQI signal, descending.
|
|
51
|
+
*/
|
|
52
|
+
private _renderExternalDeviceNeighbors;
|
|
53
|
+
/**
|
|
54
|
+
* Identity rows for a Border Router (network name, vendor, model, Thread version, ext address).
|
|
55
|
+
* Caller controls the surrounding <div class="section"> + heading.
|
|
56
|
+
*/
|
|
57
|
+
private _renderBorderRouterIdentityRows;
|
|
58
|
+
/**
|
|
59
|
+
* Render the MeshCoP state bitmap as decoded fields (BBR role, connection mode, Thread
|
|
60
|
+
* interface status, availability, ePSKc) plus the raw hex underneath. Reserved values are
|
|
61
|
+
* rendered as numeric so a future spec extension stays visible.
|
|
62
|
+
*/
|
|
63
|
+
private _renderStateBitmap;
|
|
64
|
+
/**
|
|
65
|
+
* Network-info rows for a Border Router (extended PAN ID, partition, timestamps, state, domain, agent ID).
|
|
66
|
+
* Returns nothing if no fields are populated, so the caller can skip the surrounding section.
|
|
67
|
+
*/
|
|
68
|
+
private _renderBorderRouterNetworkRows;
|
|
69
|
+
/**
|
|
70
|
+
* Address rows for a Border Router (hostname, IPs, ports, sources).
|
|
71
|
+
*/
|
|
72
|
+
private _renderBorderRouterAddressRows;
|
|
73
|
+
private _renderBorderRouterInfo;
|
|
51
74
|
/**
|
|
52
75
|
* Determine if update connections button should be shown.
|
|
53
76
|
*/
|
|
@@ -71,6 +94,11 @@ export declare class NetworkDetails extends LitElement {
|
|
|
71
94
|
private _handleUpdateConnections;
|
|
72
95
|
private _handleDialogClose;
|
|
73
96
|
private _renderWiFiAccessPointInfo;
|
|
97
|
+
/**
|
|
98
|
+
* Annotation shown on a commissioned Thread node that is also a discovered Border Router.
|
|
99
|
+
* Mirrors the BR Identity/Network/Addresses sections, sans the redundant ext-address row.
|
|
100
|
+
*/
|
|
101
|
+
private _renderCommissionedNodeBorderRouterAnnotation;
|
|
74
102
|
render(): TemplateResult<1>;
|
|
75
103
|
static styles: import("lit").CSSResult[];
|
|
76
104
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAgB,KAAK,iBAAiB,EAAqB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAsB,MAAM,KAAK,CAAC;AAGrE,OAAO,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAiB/E,OAAO,gCAAgC,CAAC;AAExC,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,cAAc,CAAC;KACrC;CACJ;AAED,qBACa,cAAe,SAAQ,UAAU;IAEnC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAQ;IAG9C,gBAAgB,UAAS;IAGzB,mBAAmB,UAAS;IAG5B,qBAAqB,UAAS;IAG9B,qBAAqB,UAAS;IAG9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IAGvC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAa;IAGtE,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAa;IAGlE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAa;IAGvF,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IAGhE,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,uBAAuB;IAQ/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAwDvB,OAAO,CAAC,iBAAiB;IAyIzB,OAAO,CAAC,eAAe;IAqDvB,OAAO,CAAC,wBAAwB;IAyDhC;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IA2DtC;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IA6CvC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAuD1B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAuDtC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAqDtC,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,0BAA0B;IAwElC;;;OAGG;IACH,OAAO,CAAC,6CAA6C;IA8B5C,MAAM,sBAkLd;IAED,OAAgB,MAAM,4BA4RpB;CACL"}
|