@matter-server/dashboard 0.3.2 → 0.3.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/README.md +76 -0
- package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts +2 -2
- package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/base-cluster-commands.js.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts +36 -0
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts.map +1 -0
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.js +159 -0
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.js.map +6 -0
- package/dist/esm/pages/cluster-commands/index.d.ts +1 -0
- package/dist/esm/pages/cluster-commands/index.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/index.js +1 -0
- package/dist/esm/pages/cluster-commands/index.js.map +1 -1
- package/dist/esm/pages/components/footer.d.ts.map +1 -1
- package/dist/esm/pages/components/footer.js +4 -7
- package/dist/esm/pages/components/footer.js.map +1 -1
- package/dist/esm/pages/components/header.d.ts +5 -0
- package/dist/esm/pages/components/header.d.ts.map +1 -1
- package/dist/esm/pages/components/header.js +75 -0
- package/dist/esm/pages/components/header.js.map +1 -1
- package/dist/esm/pages/components/node-details.js +2 -2
- package/dist/esm/pages/components/node-details.js.map +1 -1
- package/dist/esm/pages/components/server-details.d.ts.map +1 -1
- package/dist/esm/pages/components/server-details.js +0 -1
- package/dist/esm/pages/components/server-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-dashboard-app.d.ts +12 -0
- package/dist/esm/pages/matter-dashboard-app.d.ts.map +1 -1
- package/dist/esm/pages/matter-dashboard-app.js +84 -4
- package/dist/esm/pages/matter-dashboard-app.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 +52 -0
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -0
- package/dist/esm/pages/matter-network-view.js +309 -0
- package/dist/esm/pages/matter-network-view.js.map +6 -0
- package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-node-view.js +86 -3
- package/dist/esm/pages/matter-node-view.js.map +1 -1
- package/dist/esm/pages/matter-server-view.d.ts +4 -0
- package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-server-view.js +16 -1
- package/dist/esm/pages/matter-server-view.js.map +1 -1
- package/dist/esm/pages/network/base-network-graph.d.ts +74 -0
- package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -0
- package/dist/esm/pages/network/base-network-graph.js +411 -0
- package/dist/esm/pages/network/base-network-graph.js.map +6 -0
- package/dist/esm/pages/network/device-icons.d.ts +52 -0
- package/dist/esm/pages/network/device-icons.d.ts.map +1 -0
- package/dist/esm/pages/network/device-icons.js +197 -0
- package/dist/esm/pages/network/device-icons.js.map +6 -0
- package/dist/esm/pages/network/device-panel.d.ts +31 -0
- package/dist/esm/pages/network/device-panel.d.ts.map +1 -0
- package/dist/esm/pages/network/device-panel.js +183 -0
- package/dist/esm/pages/network/device-panel.js.map +6 -0
- package/dist/esm/pages/network/network-details.d.ts +77 -0
- package/dist/esm/pages/network/network-details.d.ts.map +1 -0
- package/dist/esm/pages/network/network-details.js +904 -0
- package/dist/esm/pages/network/network-details.js.map +6 -0
- package/dist/esm/pages/network/network-types.d.ts +159 -0
- package/dist/esm/pages/network/network-types.d.ts.map +1 -0
- package/dist/esm/pages/network/network-types.js +19 -0
- package/dist/esm/pages/network/network-types.js.map +6 -0
- package/dist/esm/pages/network/network-utils.d.ts +196 -0
- package/dist/esm/pages/network/network-utils.d.ts.map +1 -0
- package/dist/esm/pages/network/network-utils.js +540 -0
- package/dist/esm/pages/network/network-utils.js.map +6 -0
- package/dist/esm/pages/network/thread-graph.d.ts +27 -0
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -0
- package/dist/esm/pages/network/thread-graph.js +137 -0
- package/dist/esm/pages/network/thread-graph.js.map +6 -0
- 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 +27 -0
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -0
- package/dist/esm/pages/network/wifi-graph.js +169 -0
- package/dist/esm/pages/network/wifi-graph.js.map +6 -0
- 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/web/js/{commission-node-dialog-CBSDiqRW.js → commission-node-dialog-CcMuttYO.js} +5 -5
- package/dist/web/js/{commission-node-existing-TP6s8Tez.js → commission-node-existing-CqTRDMAr.js} +2 -5
- package/dist/web/js/{commission-node-thread-DOB8pu6x.js → commission-node-thread-DgwtTVwK.js} +2 -5
- package/dist/web/js/{commission-node-wifi-tzavmk1j.js → commission-node-wifi-XaN2SEnE.js} +2 -5
- package/dist/web/js/{dialog-box-Dknil_Be.js → dialog-box-COpDD8i7.js} +2 -2
- package/dist/web/js/{fire_event-DRpOSjJR.js → fire_event-mDYWi2sw.js} +1 -1
- package/dist/web/js/{log-level-dialog-TXkma-7Z.js → log-level-dialog-Bc32kZVw.js} +2 -3
- package/dist/web/js/main.js +1 -1
- package/dist/web/js/matter-dashboard-app-CrBHT4fT.js +31606 -0
- package/dist/web/js/{node-binding-dialog-D52FCBFP.js → node-binding-dialog-C8fqOJiB.js} +2 -4
- package/dist/web/js/prevent_default-D-ohDGsN.js +8 -0
- package/package.json +6 -5
- package/src/pages/cluster-commands/base-cluster-commands.ts +2 -2
- package/src/pages/cluster-commands/clusters/basic-information-commands.ts +171 -0
- package/src/pages/cluster-commands/index.ts +1 -0
- package/src/pages/components/footer.ts +4 -7
- package/src/pages/components/header.ts +81 -0
- package/src/pages/components/node-details.ts +3 -3
- package/src/pages/components/server-details.ts +0 -1
- package/src/pages/matter-cluster-view.ts +11 -4
- package/src/pages/matter-dashboard-app.ts +105 -5
- package/src/pages/matter-endpoint-view.ts +10 -3
- package/src/pages/matter-network-view.ts +325 -0
- package/src/pages/matter-node-view.ts +93 -4
- package/src/pages/matter-server-view.ts +17 -1
- package/src/pages/network/base-network-graph.ts +477 -0
- package/src/pages/network/device-icons.ts +283 -0
- package/src/pages/network/device-panel.ts +180 -0
- package/src/pages/network/network-details.ts +1015 -0
- package/src/pages/network/network-types.ts +167 -0
- package/src/pages/network/network-utils.ts +861 -0
- package/src/pages/network/thread-graph.ts +170 -0
- package/src/pages/network/update-connections-dialog.ts +327 -0
- package/src/pages/network/wifi-graph.ts +193 -0
- package/src/util/format_hex.ts +39 -0
- package/dist/web/js/matter-dashboard-app-B7GUghkC.js +0 -17254
- package/dist/web/js/outlined-text-field-D1DyKQY-.js +0 -968
- package/dist/web/js/prevent_default-BPgSQsuY.js +0 -814
- package/dist/web/js/validator-C735j770.js +0 -1122
package/README.md
CHANGED
|
@@ -25,3 +25,79 @@ You can also set the theme via URL query parameter:
|
|
|
25
25
|
- `?theme=system` - Switch to system auto-detect
|
|
26
26
|
|
|
27
27
|
The query parameter will override and save the preference to localStorage.
|
|
28
|
+
|
|
29
|
+
## Network Visualization
|
|
30
|
+
|
|
31
|
+
The Network page displays a visual graph of your Matter network topology, showing Thread and WiFi connections between devices.
|
|
32
|
+
|
|
33
|
+
### Understanding Node Colors
|
|
34
|
+
|
|
35
|
+
Node colors indicate device status:
|
|
36
|
+
|
|
37
|
+
- **Grey**: Online device (commissioned to this fabric)
|
|
38
|
+
- **Blue**: Currently selected node
|
|
39
|
+
- **Red**: Offline device (not responding)
|
|
40
|
+
- **Orange**: Unknown/external device (not commissioned to this fabric, detected in neighbor tables)
|
|
41
|
+
|
|
42
|
+
### Understanding Connection Lines
|
|
43
|
+
|
|
44
|
+
Connection lines represent the communication links between devices:
|
|
45
|
+
|
|
46
|
+
- **Solid lines**: Connections to online devices
|
|
47
|
+
- **Dashed lines**: Connections to offline or unknown devices (based on last known data)
|
|
48
|
+
- **Line colors** indicate signal quality:
|
|
49
|
+
- **Green**: Strong signal (RSSI > -60 dBm or LQI > 200)
|
|
50
|
+
- **Yellow/Orange**: Medium signal (RSSI > -75 dBm or LQI > 100)
|
|
51
|
+
- **Red**: Weak signal
|
|
52
|
+
|
|
53
|
+
### Thread Network Details
|
|
54
|
+
|
|
55
|
+
When you click on a Thread device, the details panel shows network information:
|
|
56
|
+
|
|
57
|
+
- **Thread Role**: The device's role in the Thread network (Router, End Device, etc.)
|
|
58
|
+
- **Direct neighbors**: Number of devices in the neighbor table (direct RF neighbors)
|
|
59
|
+
- **Routable destinations**: Number of destinations in the route table (routers only)
|
|
60
|
+
|
|
61
|
+
#### Connection Details
|
|
62
|
+
|
|
63
|
+
Each connection shows:
|
|
64
|
+
|
|
65
|
+
- **LQI (Link Quality Indicator)**: 0-255, higher is better. Derived from RF signal quality.
|
|
66
|
+
- **RSSI (Received Signal Strength)**: In dBm, closer to 0 is stronger (e.g., -50 dBm is better than -80 dBm).
|
|
67
|
+
- **Bidir (Bidirectional LQI)**: Average of inbound and outbound LQI from the route table. Only available for router connections.
|
|
68
|
+
- **Cost (Path Cost)**: Number of hops to reach the destination. 1 = direct link, higher = multi-hop route.
|
|
69
|
+
|
|
70
|
+
#### Data Sources
|
|
71
|
+
|
|
72
|
+
Thread devices maintain two tables:
|
|
73
|
+
|
|
74
|
+
1. **Neighbor Table** (0/53/7): Direct RF neighbors visible to the device. All Thread devices have this.
|
|
75
|
+
2. **Route Table** (0/53/8): Routing paths to other nodes. Only routers maintain this table.
|
|
76
|
+
|
|
77
|
+
The visualization combines both tables directly from the devices to provide the most complete picture of your network.
|
|
78
|
+
|
|
79
|
+
### Update Connections
|
|
80
|
+
|
|
81
|
+
Click the refresh button in the device details panel to update network data:
|
|
82
|
+
|
|
83
|
+
- **Online devices**: Refreshes neighbor and route tables from the selected device
|
|
84
|
+
- **Include neighbors**: Optionally refresh data from connected online neighbors too
|
|
85
|
+
- **Offline devices**: Updates data from online neighbors that can see the offline device
|
|
86
|
+
|
|
87
|
+
This is useful when network topology changes or when you want the latest signal quality readings.
|
|
88
|
+
|
|
89
|
+
### Unknown Devices
|
|
90
|
+
|
|
91
|
+
Devices that appear in neighbor tables but are not commissioned to your fabric are shown as "Unknown" with an orange icon. These could be:
|
|
92
|
+
|
|
93
|
+
- Devices commissioned to a different fabric (e.g., Home Assistant's Thread Border Router)
|
|
94
|
+
- Border routers from other Thread networks
|
|
95
|
+
- Thread devices in pairing mode
|
|
96
|
+
|
|
97
|
+
Unknown devices show as "Router (external)" or "End Device (external)" based on their radio behavior (rxOnWhenIdle). Since they're not commissioned to this fabric, we cannot query their actual Thread role (Leader, Router, etc.).
|
|
98
|
+
|
|
99
|
+
### Limitations
|
|
100
|
+
|
|
101
|
+
**Thread roles for external devices**: The Thread role (Leader, Router, End Device) can only be determined for devices commissioned to this fabric. External devices like Home Assistant's Thread Border Router will show as "Router (external)" even if they are the current Thread Leader. This is a fundamental Matter limitation - we cannot query attributes from devices on other fabrics.
|
|
102
|
+
|
|
103
|
+
**Leader role is dynamic**: In Thread networks, the Leader role can change via leader election. Any router can potentially become the Leader, so this status may change over time.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { MatterClient, MatterNode } from "@matter-server/ws-client";
|
|
7
|
-
import { LitElement } from "lit";
|
|
7
|
+
import { LitElement, type CSSResultGroup } from "lit";
|
|
8
8
|
/**
|
|
9
9
|
* Base class for cluster-specific command panels.
|
|
10
10
|
* Provides shared properties, styling, and helper methods for sending commands.
|
|
@@ -20,6 +20,6 @@ export declare abstract class BaseClusterCommands extends LitElement {
|
|
|
20
20
|
* @param payload - Optional command payload
|
|
21
21
|
*/
|
|
22
22
|
protected sendCommand(command: string, payload?: Record<string, unknown>): Promise<void>;
|
|
23
|
-
static styles:
|
|
23
|
+
static styles: CSSResultGroup;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=base-cluster-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-cluster-commands.d.ts","sourceRoot":"","sources":["../../../../src/pages/cluster-commands/base-cluster-commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAO,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"base-cluster-commands.d.ts","sourceRoot":"","sources":["../../../../src/pages/cluster-commands/base-cluster-commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAO,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3D;;;GAGG;AACH,8BAAsB,mBAAoB,SAAQ,UAAU;IAEjD,MAAM,EAAG,YAAY,CAAC;IAGtB,IAAI,EAAG,UAAU,CAAC;IAGlB,QAAQ,EAAG,MAAM,CAAC;IAGlB,OAAO,EAAG,MAAM,CAAC;IAExB;;;;OAIG;cACa,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9F,OAAgB,MAAM,EAAE,cAAc,CA+EpC;CACL"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/cluster-commands/base-cluster-commands.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY,
|
|
4
|
+
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY,WAAgC;AACrD,SAAS,gBAAgB;AAMlB,MAAe,4BAA4B,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBzD,MAAgB,YAAY,SAAiB,SAAkD;AAC3F,QAAI;AACA,YAAM,KAAK,OAAO,cAAc,KAAK,KAAK,SAAS,KAAK,UAAU,KAAK,SAAS,SAAS,WAAW,CAAC,CAAC;AAAA,IAC1G,SAAS,OAAO;AACZ,cAAQ,MAAM,0BAA0B,OAAO,KAAK,KAAK;AAAA,IAE7D;AAAA,EACJ;AAAA,EAEA;AAAA,SAAgB,SAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgF7C;AAzGW;AAAA,EADN,SAAS,EAAE,WAAW,MAAM,CAAC;AAAA,GADZ,oBAEX;AAGA;AAAA,EADN,SAAS,EAAE,WAAW,MAAM,CAAC;AAAA,GAJZ,oBAKX;AAGA;AAAA,EADN,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAPR,oBAQX;AAGA;AAAA,EADN,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAVR,oBAWX;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import "@material/web/button/filled-button";
|
|
7
|
+
import "@material/web/textfield/outlined-text-field";
|
|
8
|
+
import { type CSSResultGroup } from "lit";
|
|
9
|
+
import { BaseClusterCommands } from "../base-cluster-commands.js";
|
|
10
|
+
/**
|
|
11
|
+
* Command panel for BasicInformation cluster (ID: 0x28 / 40).
|
|
12
|
+
* Provides ability to edit the NodeLabel attribute.
|
|
13
|
+
*/
|
|
14
|
+
export declare class BasicInformationClusterCommands extends BaseClusterCommands {
|
|
15
|
+
private _nodeLabel;
|
|
16
|
+
private _saving;
|
|
17
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
18
|
+
/**
|
|
19
|
+
* Load the current NodeLabel from the node's cached attributes.
|
|
20
|
+
*/
|
|
21
|
+
private _loadCurrentNodeLabel;
|
|
22
|
+
/**
|
|
23
|
+
* Check if the node is available (not offline).
|
|
24
|
+
*/
|
|
25
|
+
private get _isNodeAvailable();
|
|
26
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
27
|
+
private _handleInput;
|
|
28
|
+
private _handleSave;
|
|
29
|
+
static styles: CSSResultGroup;
|
|
30
|
+
}
|
|
31
|
+
declare global {
|
|
32
|
+
interface HTMLElementTagNameMap {
|
|
33
|
+
"basic-information-cluster-commands": BasicInformationClusterCommands;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=basic-information-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-information-commands.d.ts","sourceRoot":"","sources":["../../../../../src/pages/cluster-commands/clusters/basic-information-commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,oCAAoC,CAAC;AAC5C,OAAO,6CAA6C,CAAC;AACrD,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAI9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAOlE;;;GAGG;AACH,qBACa,+BAAgC,SAAQ,mBAAmB;IAEpE,OAAO,CAAC,UAAU,CAAc;IAGhC,OAAO,CAAC,OAAO,CAAkB;IAExB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQxD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,KAAK,gBAAgB,GAE3B;IAEQ,MAAM;IA6Bf,OAAO,CAAC,YAAY;YAKN,WAAW;IA+BzB,OAAgB,MAAM,EAAE,cAAc,CAwBpC;CACL;AAKD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,oCAAoC,EAAE,+BAA+B,CAAC;KACzE;CACJ"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @license
|
|
13
|
+
* Copyright 2025-2026 Open Home Foundation
|
|
14
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
15
|
+
*/
|
|
16
|
+
import "@material/web/button/filled-button";
|
|
17
|
+
import "@material/web/textfield/outlined-text-field";
|
|
18
|
+
import { css, html, nothing } from "lit";
|
|
19
|
+
import { customElement, state } from "lit/decorators.js";
|
|
20
|
+
import { showAlertDialog } from "../../../components/dialog-box/show-dialog-box.js";
|
|
21
|
+
import { handleAsync } from "../../../util/async-handler.js";
|
|
22
|
+
import { BaseClusterCommands } from "../base-cluster-commands.js";
|
|
23
|
+
import { registerClusterCommands } from "../registry.js";
|
|
24
|
+
const CLUSTER_ID = 40;
|
|
25
|
+
const NODE_LABEL_ATTRIBUTE_ID = 5;
|
|
26
|
+
const MAX_NODE_LABEL_LENGTH = 32;
|
|
27
|
+
let BasicInformationClusterCommands = class extends BaseClusterCommands {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this._nodeLabel = "";
|
|
31
|
+
this._saving = false;
|
|
32
|
+
}
|
|
33
|
+
updated(changedProperties) {
|
|
34
|
+
super.updated(changedProperties);
|
|
35
|
+
if (changedProperties.has("node") && this.node) {
|
|
36
|
+
this._loadCurrentNodeLabel();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Load the current NodeLabel from the node's cached attributes.
|
|
41
|
+
*/
|
|
42
|
+
_loadCurrentNodeLabel() {
|
|
43
|
+
if (!this.node) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (this.node.nodeLabel) {
|
|
47
|
+
this._nodeLabel = this.node.nodeLabel;
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const attributePath = `0/${CLUSTER_ID}/${NODE_LABEL_ATTRIBUTE_ID}`;
|
|
51
|
+
const currentValue = this.node.attributes[attributePath];
|
|
52
|
+
if (typeof currentValue === "string") {
|
|
53
|
+
this._nodeLabel = currentValue;
|
|
54
|
+
} else {
|
|
55
|
+
this._nodeLabel = "";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if the node is available (not offline).
|
|
60
|
+
*/
|
|
61
|
+
get _isNodeAvailable() {
|
|
62
|
+
return this.node.available;
|
|
63
|
+
}
|
|
64
|
+
render() {
|
|
65
|
+
return html`
|
|
66
|
+
<details class="command-panel">
|
|
67
|
+
<summary>Node Label</summary>
|
|
68
|
+
<div class="command-content">
|
|
69
|
+
${!this._isNodeAvailable ? html`<div class="offline-warning">Node is offline - cannot edit label</div>` : nothing}
|
|
70
|
+
<div class="command-row">
|
|
71
|
+
<md-outlined-text-field
|
|
72
|
+
label="Node Label"
|
|
73
|
+
.value=${this._nodeLabel}
|
|
74
|
+
@input=${this._handleInput}
|
|
75
|
+
maxlength=${MAX_NODE_LABEL_LENGTH}
|
|
76
|
+
?disabled=${!this._isNodeAvailable || this._saving}
|
|
77
|
+
supporting-text="Max ${MAX_NODE_LABEL_LENGTH} characters"
|
|
78
|
+
></md-outlined-text-field>
|
|
79
|
+
<md-filled-button
|
|
80
|
+
@click=${handleAsync(() => this._handleSave())}
|
|
81
|
+
?disabled=${!this._isNodeAvailable || this._saving}
|
|
82
|
+
>
|
|
83
|
+
${this._saving ? "Saving..." : "Save"}
|
|
84
|
+
</md-filled-button>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</details>
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
_handleInput(e) {
|
|
91
|
+
const input = e.target;
|
|
92
|
+
this._nodeLabel = input.value;
|
|
93
|
+
}
|
|
94
|
+
async _handleSave() {
|
|
95
|
+
if (!this._isNodeAvailable) {
|
|
96
|
+
showAlertDialog({
|
|
97
|
+
title: "Cannot Save",
|
|
98
|
+
text: "Node is offline. Please wait until the node is available."
|
|
99
|
+
});
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this._saving = true;
|
|
103
|
+
try {
|
|
104
|
+
const attributePath = `0/${CLUSTER_ID}/${NODE_LABEL_ATTRIBUTE_ID}`;
|
|
105
|
+
await this.client.writeAttribute(this.node.node_id, attributePath, this._nodeLabel);
|
|
106
|
+
showAlertDialog({
|
|
107
|
+
title: "Success",
|
|
108
|
+
text: `Node label set to "${this._nodeLabel}"`
|
|
109
|
+
});
|
|
110
|
+
} catch (error) {
|
|
111
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
112
|
+
showAlertDialog({
|
|
113
|
+
title: "Failed to set node label",
|
|
114
|
+
text: errorMessage
|
|
115
|
+
});
|
|
116
|
+
} finally {
|
|
117
|
+
this._saving = false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
BasicInformationClusterCommands.styles = [
|
|
122
|
+
BaseClusterCommands.styles,
|
|
123
|
+
css`
|
|
124
|
+
.command-row {
|
|
125
|
+
align-items: flex-start;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
md-outlined-text-field {
|
|
129
|
+
width: 36ch; /* 32 chars + some padding for field chrome */
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
md-filled-button {
|
|
133
|
+
margin-top: 8px; /* Align with text field input area, accounting for label */
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.offline-warning {
|
|
137
|
+
color: var(--danger-color, #d32f2f);
|
|
138
|
+
font-size: 14px;
|
|
139
|
+
margin-bottom: 12px;
|
|
140
|
+
padding: 8px 12px;
|
|
141
|
+
background-color: var(--md-sys-color-error-container, #fdecea);
|
|
142
|
+
border-radius: 4px;
|
|
143
|
+
}
|
|
144
|
+
`
|
|
145
|
+
];
|
|
146
|
+
__decorateClass([
|
|
147
|
+
state()
|
|
148
|
+
], BasicInformationClusterCommands.prototype, "_nodeLabel", 2);
|
|
149
|
+
__decorateClass([
|
|
150
|
+
state()
|
|
151
|
+
], BasicInformationClusterCommands.prototype, "_saving", 2);
|
|
152
|
+
BasicInformationClusterCommands = __decorateClass([
|
|
153
|
+
customElement("basic-information-cluster-commands")
|
|
154
|
+
], BasicInformationClusterCommands);
|
|
155
|
+
registerClusterCommands(CLUSTER_ID, "basic-information-cluster-commands");
|
|
156
|
+
export {
|
|
157
|
+
BasicInformationClusterCommands
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=basic-information-commands.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/pages/cluster-commands/clusters/basic-information-commands.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { getClusterCommandsTag, hasClusterCommands, registerClusterCommands } from "./registry.js";
|
|
11
11
|
export { BaseClusterCommands } from "./base-cluster-commands.js";
|
|
12
|
+
import "./clusters/basic-information-commands.js";
|
|
12
13
|
import "./clusters/level-control-commands.js";
|
|
13
14
|
import "./clusters/on-off-commands.js";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pages/cluster-commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAGH,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pages/cluster-commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAGH,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,0CAA0C,CAAC;AAClD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { getClusterCommandsTag, hasClusterCommands, registerClusterCommands } from "./registry.js";
|
|
7
7
|
import { BaseClusterCommands } from "./base-cluster-commands.js";
|
|
8
|
+
import "./clusters/basic-information-commands.js";
|
|
8
9
|
import "./clusters/level-control-commands.js";
|
|
9
10
|
import "./clusters/on-off-commands.js";
|
|
10
11
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/cluster-commands/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,SAAS,uBAAuB,oBAAoB,+BAA+B;AAGnF,SAAS,2BAA2B;AAGpC,OAAO;AACP,OAAO;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,SAAS,uBAAuB,oBAAoB,+BAA+B;AAGnF,SAAS,2BAA2B;AAGpC,OAAO;AACP,OAAO;AACP,OAAO;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/footer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBACa,eAAgB,SAAQ,UAAU;cACxB,MAAM;IAWzB,OAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/footer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBACa,eAAgB,SAAQ,UAAU;cACxB,MAAM;IAWzB,OAAgB,MAAM,0BAYpB;CACL"}
|
|
@@ -29,14 +29,11 @@ let DashboardFooter = class extends LitElement {
|
|
|
29
29
|
};
|
|
30
30
|
DashboardFooter.styles = css`
|
|
31
31
|
.footer {
|
|
32
|
-
padding: 16px;
|
|
32
|
+
padding: 4px 16px;
|
|
33
33
|
text-align: center;
|
|
34
|
-
font-size: 0.
|
|
35
|
-
color: var(--md-sys-color-on-surface);
|
|
36
|
-
|
|
37
|
-
flex-direction: column;
|
|
38
|
-
position: relative;
|
|
39
|
-
clear: both;
|
|
34
|
+
font-size: 0.75em;
|
|
35
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
36
|
+
flex-shrink: 0;
|
|
40
37
|
}
|
|
41
38
|
|
|
42
39
|
.footer a {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/components/footer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,KAAK,YAAY;AACtC,SAAS,qBAAqB;AAGvB,IAAM,kBAAN,cAA8B,WAAW;AAAA,EACzB,SAAS;AACxB,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQX;
|
|
4
|
+
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,KAAK,YAAY;AACtC,SAAS,qBAAqB;AAGvB,IAAM,kBAAN,cAA8B,WAAW;AAAA,EACzB,SAAS;AACxB,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQX;AAeJ;AAzBa,gBAYO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAZhB,kBAAN;AAAA,EADN,cAAc,kBAAkB;AAAA,GACpB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -16,9 +16,13 @@ interface HeaderAction {
|
|
|
16
16
|
icon: string;
|
|
17
17
|
action: void;
|
|
18
18
|
}
|
|
19
|
+
export type ActiveView = "nodes" | "thread" | "wifi";
|
|
19
20
|
export declare class DashboardHeader extends LitElement {
|
|
20
21
|
backButton?: string;
|
|
21
22
|
actions?: HeaderAction[];
|
|
23
|
+
activeView?: ActiveView;
|
|
24
|
+
hasThreadDevices?: boolean;
|
|
25
|
+
hasWifiDevices?: boolean;
|
|
22
26
|
client?: MatterClient;
|
|
23
27
|
private _themePreference;
|
|
24
28
|
private _effectiveTheme;
|
|
@@ -29,6 +33,7 @@ export declare class DashboardHeader extends LitElement {
|
|
|
29
33
|
private _openSettings;
|
|
30
34
|
private _getThemeIcon;
|
|
31
35
|
private _getThemeTooltip;
|
|
36
|
+
private _renderNavTabs;
|
|
32
37
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
33
38
|
static styles: import("lit").CSSResult;
|
|
34
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/header.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,8BAA8B,CAAC;AAGtC,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;CAChB;AAED,qBACa,eAAgB,SAAQ,UAAU;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/header.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,sCAAsC,CAAC;AAC9C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,8BAA8B,CAAC;AAGtC,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,qBACa,eAAgB,SAAQ,UAAU;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEtD,MAAM,CAAC,EAAE,YAAY,CAAC;IAEpB,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,eAAe,CAA+C;IAE/E,OAAO,CAAC,iBAAiB,CAAC,CAAa;IAE9B,iBAAiB;IAQjB,oBAAoB;IAK7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,cAAc;cA0CH,MAAM;IA+CzB,OAAgB,MAAM,0BA+DpB;CACL"}
|
|
@@ -69,6 +69,38 @@ let DashboardHeader = class extends LitElement {
|
|
|
69
69
|
return `Theme: System (${this._effectiveTheme})`;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
_renderNavTabs() {
|
|
73
|
+
if (this.activeView === void 0) {
|
|
74
|
+
return nothing;
|
|
75
|
+
}
|
|
76
|
+
const showThreadTab = this.hasThreadDevices === true;
|
|
77
|
+
const showWifiTab = this.hasWifiDevices === true;
|
|
78
|
+
if (!showThreadTab && !showWifiTab) {
|
|
79
|
+
return nothing;
|
|
80
|
+
}
|
|
81
|
+
return html`
|
|
82
|
+
<nav class="nav-tabs" aria-label="View navigation">
|
|
83
|
+
<a
|
|
84
|
+
href="#nodes"
|
|
85
|
+
class="nav-tab ${this.activeView === "nodes" ? "active" : ""}"
|
|
86
|
+
aria-current=${this.activeView === "nodes" ? "page" : nothing}
|
|
87
|
+
>Nodes</a
|
|
88
|
+
>
|
|
89
|
+
${showThreadTab ? html`<a
|
|
90
|
+
href="#thread"
|
|
91
|
+
class="nav-tab ${this.activeView === "thread" ? "active" : ""}"
|
|
92
|
+
aria-current=${this.activeView === "thread" ? "page" : nothing}
|
|
93
|
+
>Thread</a
|
|
94
|
+
>` : nothing}
|
|
95
|
+
${showWifiTab ? html`<a
|
|
96
|
+
href="#wifi"
|
|
97
|
+
class="nav-tab ${this.activeView === "wifi" ? "active" : ""}"
|
|
98
|
+
aria-current=${this.activeView === "wifi" ? "page" : nothing}
|
|
99
|
+
>WiFi</a
|
|
100
|
+
>` : nothing}
|
|
101
|
+
</nav>
|
|
102
|
+
`;
|
|
103
|
+
}
|
|
72
104
|
render() {
|
|
73
105
|
return html`
|
|
74
106
|
<div class="header">
|
|
@@ -80,6 +112,7 @@ let DashboardHeader = class extends LitElement {
|
|
|
80
112
|
</a>` : ""}
|
|
81
113
|
|
|
82
114
|
<div class="title">${this.title ?? ""}</div>
|
|
115
|
+
${this._renderNavTabs()}
|
|
83
116
|
<div class="actions">
|
|
84
117
|
${this.actions?.map((action) => {
|
|
85
118
|
return html`
|
|
@@ -139,6 +172,39 @@ DashboardHeader.styles = css`
|
|
|
139
172
|
max-width: 100%;
|
|
140
173
|
align-items: center;
|
|
141
174
|
}
|
|
175
|
+
|
|
176
|
+
.nav-tabs {
|
|
177
|
+
display: flex;
|
|
178
|
+
margin-left: 24px;
|
|
179
|
+
gap: 4px;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.nav-tab {
|
|
183
|
+
padding: 8px 16px;
|
|
184
|
+
color: var(--md-sys-color-on-primary);
|
|
185
|
+
text-decoration: none;
|
|
186
|
+
font-size: 0.875rem;
|
|
187
|
+
font-weight: 500;
|
|
188
|
+
border-radius: 4px 4px 0 0;
|
|
189
|
+
opacity: 0.7;
|
|
190
|
+
transition: opacity 0.2s;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.nav-tab:hover {
|
|
194
|
+
opacity: 0.9;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.nav-tab.active {
|
|
198
|
+
opacity: 1;
|
|
199
|
+
background-color: rgba(255, 255, 255, 0.15);
|
|
200
|
+
border-bottom: 2px solid var(--md-sys-color-on-primary);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
@media (max-width: 768px) {
|
|
204
|
+
.nav-tabs {
|
|
205
|
+
display: none;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
142
208
|
`;
|
|
143
209
|
__decorateClass([
|
|
144
210
|
property()
|
|
@@ -146,6 +212,15 @@ __decorateClass([
|
|
|
146
212
|
__decorateClass([
|
|
147
213
|
property()
|
|
148
214
|
], DashboardHeader.prototype, "actions", 2);
|
|
215
|
+
__decorateClass([
|
|
216
|
+
property()
|
|
217
|
+
], DashboardHeader.prototype, "activeView", 2);
|
|
218
|
+
__decorateClass([
|
|
219
|
+
property({ type: Boolean })
|
|
220
|
+
], DashboardHeader.prototype, "hasThreadDevices", 2);
|
|
221
|
+
__decorateClass([
|
|
222
|
+
property({ type: Boolean })
|
|
223
|
+
], DashboardHeader.prototype, "hasWifiDevices", 2);
|
|
149
224
|
__decorateClass([
|
|
150
225
|
state()
|
|
151
226
|
], DashboardHeader.prototype, "_themePreference", 2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/components/header.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AAEP,SAAS,cAAc,mBAAmB,QAAQ,WAAW,iBAAiB,uBAAuB;AACrG,SAAS,YAAY,KAAK,MAAM,eAAe;AAC/C,SAAS,eAAe,UAAU,aAAa;AAC/C,SAAS,0BAA0B;AACnC,OAAO;AACP,SAA0C,oBAAoB;
|
|
4
|
+
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AAEP,SAAS,cAAc,mBAAmB,QAAQ,WAAW,iBAAiB,uBAAuB;AACrG,SAAS,YAAY,KAAK,MAAM,eAAe;AAC/C,SAAS,eAAe,UAAU,aAAa;AAC/C,SAAS,0BAA0B;AACnC,OAAO;AACP,SAA0C,oBAAoB;AAWvD,IAAM,kBAAN,cAA8B,WAAW;AAAA,EAAzC;AAAA;AASM,SAAQ,mBAAoC,aAAa;AACzD,SAAQ,kBAAkC,aAAa;AAAA;AAAA,EAIvD,oBAAoB;AACzB,UAAM,kBAAkB;AACxB,SAAK,oBAAoB,aAAa,UAAU,WAAS;AACrD,WAAK,kBAAkB;AACvB,WAAK,mBAAmB,aAAa;AAAA,IACzC,CAAC;AAAA,EACL;AAAA,EAES,uBAAuB;AAC5B,UAAM,qBAAqB;AAC3B,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EAEQ,cAAc;AAClB,iBAAa,WAAW;AAAA,EAC5B;AAAA,EAEQ,gBAAgB;AACpB,QAAI,KAAK,QAAQ;AACb,yBAAmB,KAAK,MAAM;AAAA,IAClC;AAAA,EACJ;AAAA,EAEQ,gBAAwB;AAC5B,YAAQ,KAAK,kBAAkB;AAAA,MAC3B,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEQ,mBAA2B;AAC/B,YAAQ,KAAK,kBAAkB;AAAA,MAC3B,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO,kBAAkB,KAAK,eAAe;AAAA,IACrD;AAAA,EACJ;AAAA,EAEQ,iBAAiB;AACrB,QAAI,KAAK,eAAe,QAAW;AAC/B,aAAO;AAAA,IACX;AAGA,UAAM,gBAAgB,KAAK,qBAAqB;AAChD,UAAM,cAAc,KAAK,mBAAmB;AAG5C,QAAI,CAAC,iBAAiB,CAAC,aAAa;AAChC,aAAO;AAAA,IACX;AAEA,WAAO;AAAA;AAAA;AAAA;AAAA,qCAIsB,KAAK,eAAe,UAAU,WAAW,EAAE;AAAA,mCAC7C,KAAK,eAAe,UAAU,SAAS,OAAO;AAAA;AAAA;AAAA,kBAG/D,gBACI;AAAA;AAAA,2CAEqB,KAAK,eAAe,WAAW,WAAW,EAAE;AAAA,yCAC9C,KAAK,eAAe,WAAW,SAAS,OAAO;AAAA;AAAA,2BAGlE,OAAO;AAAA,kBACX,cACI;AAAA;AAAA,2CAEqB,KAAK,eAAe,SAAS,WAAW,EAAE;AAAA,yCAC5C,KAAK,eAAe,SAAS,SAAS,OAAO;AAAA;AAAA,2BAGhE,OAAO;AAAA;AAAA;AAAA,EAGzB;AAAA,EAEmB,SAAS;AACxB,WAAO;AAAA;AAAA;AAAA,kBAGG,KAAK,aACD,iBAAiB,KAAK,UAAU;AAAA;AAAA,mDAEH,YAAY;AAAA;AAAA,8BAGzC,EAAE;AAAA;AAAA,qCAEa,KAAK,SAAS,EAAE;AAAA,kBACnC,KAAK,eAAe,CAAC;AAAA;AAAA,sBAEjB,KAAK,SAAS,IAAI,YAAU;AAC1B,aAAO;AAAA,qDACsB,OAAO,MAAM,WAAW,OAAO,KAAK;AAAA,qDACpC,OAAO,IAAI;AAAA;AAAA;AAAA,IAG5C,CAAC,CAAC;AAAA;AAAA,sBAEA,KAAK,SACD;AAAA,uDAC6B,KAAK,aAAa;AAAA,uDAClB,MAAM;AAAA;AAAA,8BAGnC,OAAO;AAAA;AAAA,6CAEY,KAAK,WAAW,WAAW,KAAK,iBAAiB,CAAC;AAAA,6CAClD,KAAK,cAAc,CAAC;AAAA;AAAA;AAAA,sBAG3C,KAAK,UAAU,CAAC,KAAK,OAAO,eACxB;AAAA,uDAC6B,KAAK,OAAO,UAAU;AAAA,uDACtB,SAAS;AAAA;AAAA,8BAGtC,OAAO;AAAA;AAAA;AAAA;AAAA,EAI7B;AAkEJ;AApNa,gBAoJO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAnJN;AAAA,EAAlB,SAAS;AAAA,GADD,gBACU;AACA;AAAA,EAAlB,SAAS;AAAA,GAFD,gBAEU;AACA;AAAA,EAAlB,SAAS;AAAA,GAHD,gBAGU;AACiB;AAAA,EAAnC,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,GAJlB,gBAI2B;AACA;AAAA,EAAnC,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,GALlB,gBAK2B;AAInB;AAAA,EAAhB,MAAM;AAAA,GATE,gBASQ;AACA;AAAA,EAAhB,MAAM;AAAA,GAVE,gBAUQ;AAVR,kBAAN;AAAA,EADN,cAAc,kBAAkB;AAAA,GACpB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -69,7 +69,7 @@ let NodeDetails = class extends LitElement {
|
|
|
69
69
|
<md-list>
|
|
70
70
|
<md-list-item>
|
|
71
71
|
<div slot="headline">
|
|
72
|
-
<b
|
|
72
|
+
<b>${this.node.nodeLabel || "Node Info"}</b>
|
|
73
73
|
${this.node.available ? nothing : html`<span class="status">OFFLINE</span>`}
|
|
74
74
|
</div>
|
|
75
75
|
</md-list-item>
|
|
@@ -170,7 +170,7 @@ let NodeDetails = class extends LitElement {
|
|
|
170
170
|
try {
|
|
171
171
|
showNodeBindingDialog(this.client, this.node, this.endpoint);
|
|
172
172
|
} catch (err) {
|
|
173
|
-
console.
|
|
173
|
+
console.error("Binding error:", err);
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
async _searchUpdate() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/components/node-details.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,mBAAmB,SAAS,iBAAiB,aAAa,iBAAiB;AAEpF,SAAS,eAAe;AAExB,SAAS,YAAY,KAAK,MAAM,eAAe;AAC/C,SAAS,eAAe,UAAU,aAAa;AAE/C,SAAS,iBAAiB,wBAAwB;AAClD,SAAS,6BAA6B;AACtC,OAAO;AACP,SAAS,mBAAmB;AAC5B,SAAS,8BAA8B;AACvC,SAAS,sBAAsB;AAG/B,MAAM,sBAA8C;AAAA,EAChD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACP;AAEA,SAAS,oBAAoBA,QAAe,UAA2B;AACnE,QAAM,QAAQ,oBAAoBA,MAAK,KAAK,YAAYA,MAAK;AAE7D,MAAIA,WAAU,KAAK,aAAa,QAAW;AACvC,WAAO,GAAG,KAAK,KAAK,QAAQ;AAAA,EAChC;AACA,SAAO;AACX;AAEA,SAAS,mBAAmB,MAAgC;AACxD,QAAM,kBAAkB,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,IAAI,SAAO,OAAO,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAClG,QAAM,iBAAkC,oBAAI,IAAI;AAChD,kBAAgB,QAAQ,gBAAc;AAClC,2BAAuB,MAAM,UAAU,EAAE,QAAQ,gBAAc;AAC3D,qBAAe,IAAI,UAAU;AAAA,IACjC,CAAC;AAAA,EACL,CAAC;AACD,SAAO,MAAM,KAAK,cAAc;AACpC;AAGO,IAAM,cAAN,cAA0B,WAAW;AAAA,EAArC;AAAA;AAMH,SAAQ,mBAA4B;AAAA;AAAA,EAMjB,SAAS;AACxB,QAAI,CAAC,KAAK,KAAM,QAAO;AAEvB,UAAM,WAAW,KAAK,KAAK,WAAW,KAAK,WAAW,OAAO;AAE7D,WAAO;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["state"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-details.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/server-details.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,oCAAoC,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,8BAA8B,CAAC;AAGtC,qBACa,aAAc,SAAQ,UAAU;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;cAEV,MAAM;IA8CzB,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"server-details.d.ts","sourceRoot":"","sources":["../../../../src/pages/components/server-details.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,oCAAoC,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,8BAA8B,CAAC;AAGtC,qBACa,aAAc,SAAQ,UAAU;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC;cAEV,MAAM;IA8CzB,OAAO,CAAC,eAAe;YAIT,0BAA0B;IAcxC,OAAO,CAAC,YAAY,CAkBlB;IAEF,OAAgB,MAAM,0BAgCpB;CACL"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pages/components/server-details.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AAEP,SAAS,SAAS,eAAe;AACjC,SAAS,YAAY,KAAK,MAAM,eAAe;AAC/C,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB,wBAAwB;AAClD,SAAS,gCAAgC;AACzC,OAAO;AACP,SAAS,mBAAmB;AAGrB,IAAM,gBAAN,cAA4B,WAAW;AAAA,EAAvC;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AAEP,SAAS,SAAS,eAAe;AACjC,SAAS,YAAY,KAAK,MAAM,eAAe;AAC/C,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB,wBAAwB;AAClD,SAAS,gCAAgC;AACzC,OAAO;AACP,SAAS,mBAAmB;AAGrB,IAAM,gBAAN,cAA4B,WAAW;AAAA,EAAvC;AAAA;AAmEH,SAAQ,eAAe,CAAC,UAAiB;AACrC,YAAM,WAAW,MAAM;AACvB,UAAI,SAAS,MAAO,SAAS,GAAG;AAC5B,cAAM,eAAe,SAAS,MAAO,CAAC;AACtC,cAAM,SAAS,IAAI,WAAW;AAC9B,eAAO,WAAW,cAAc,OAAO;AACvC,eAAO,SAAS,YAAY;AACxB,cAAI;AACA,kBAAM,KAAK,OAAQ,eAAe,OAAO,QAAQ,SAAS,KAAK,EAAE;AAAA,UACrE,SAAS,KAAU;AACf,4BAAgB;AAAA,cACZ,OAAO;AAAA,cACP,MAAM,IAAI;AAAA,YACd,CAAC;AAAA,UACL;AAAA,QACJ;AAAA,MACJ;AACA,YAAM,eAAe;AAAA,IACzB;AAAA;AAAA,EAlFmB,SAAS;AACxB,QAAI,CAAC,KAAK,OAAQ,QAAO;AAEzB,WAAO;AAAA;AAAA;AAAA;AAAA,wDAIyC,KAAK,OAAO,eAAe,KAAK,IAAI,KAAK,OAAO,iBAAiB,GAAG;AAAA,kBAC1G,KAAK,OAAO,WAAW,YAAY,UAAU,yCAAyC;AAAA;AAAA;AAAA;AAAA;AAAA,gDAKxD,KAAK,OAAO,WAAW,SAAS;AAAA;AAAA;AAAA,2DAGrB,KAAK,OAAO,WAAW,oBAAoB;AAAA;AAAA;AAAA,0DAG5C,KAAK,OAAO,WAAW,WAAW;AAAA;AAAA;AAAA,sDAGtC,KAAK,OAAO,WAAW,cAAc;AAAA;AAAA;AAAA,kDAGzC,OAAO,KAAK,KAAK,OAAO,KAAK,EAAE,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,yCAK9C,KAAK,eAAe,kDAAkD,OAAO;AAAA,yCAC7E,YAAY,MAAM,KAAK,2BAA2B,CAAC,CAAC,8CAA8C,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMhI,KAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO/B;AAAA,EAEQ,kBAAkB;AACtB,6BAAyB,KAAK,MAAO;AAAA,EACzC;AAAA,EAEA,MAAc,6BAA6B;AACvC,QACI,CAAE,MAAM,iBAAiB;AAAA,MACrB,OAAO;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,IACjB,CAAC,GACH;AACE;AAAA,IACJ;AACA,UAAM,WAAW,KAAK,WAAY,eAAe,UAAU;AAC3D,aAAS,MAAM;AAAA,EACnB;AAuDJ;AAxHa,cAuFO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAvFhB,gBAAN;AAAA,EADN,cAAc,gBAAgB;AAAA,GAClB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matter-cluster-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-cluster-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"matter-cluster-view.d.ts","sourceRoot":"","sources":["../../../src/pages/matter-cluster-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,+BAA+B,CAAC;AACvC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAgB,YAAY,EAAE,UAAU,EAAqB,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAK5C,OAAO,2BAA2B,CAAC;AACnC,OAAO,kCAAkC,CAAC;AAM1C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ;AA+BD,cACM,iBAAkB,SAAQ,UAAU;IAC/B,MAAM,EAAG,YAAY,CAAC;IAGtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM;YAyED,mBAAmB;IAQjC,OAAO,CAAC,sBAAsB;IAkBrB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAgBxD,OAAO,CAAC,OAAO;IAIf,OAAgB,MAAM,0BAwCpB;CACL"}
|