@matter-server/dashboard 0.6.1 → 0.6.2-alpha.0-20260421-bc2093e
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 +19 -0
- package/dist/esm/client/models/descriptions.d.ts +10 -0
- package/dist/esm/client/models/descriptions.d.ts.map +1 -1
- package/dist/esm/client/models/descriptions.js +5684 -1881
- package/dist/esm/client/models/descriptions.js.map +1 -1
- package/dist/esm/components/dialog-box/dialog-box.d.ts.map +1 -1
- package/dist/esm/components/dialog-box/show-dialog-box.d.ts.map +1 -1
- package/dist/esm/components/dialogs/acl/model.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/model.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/show-node-binding-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/show-commission-node-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.d.ts +34 -0
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.js +187 -0
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.d.ts +33 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.js +221 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.d.ts +27 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.js +25 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.js.map +6 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.d.ts +17 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.js +21 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.d.ts +16 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.js +20 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts +2 -11
- package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/settings/log-level-dialog.js +13 -140
- package/dist/esm/components/dialogs/settings/log-level-dialog.js.map +1 -1
- package/dist/esm/components/dialogs/settings/log-level-section.d.ts +34 -0
- package/dist/esm/components/dialogs/settings/log-level-section.d.ts.map +1 -0
- package/dist/esm/components/dialogs/settings/log-level-section.js +181 -0
- package/dist/esm/components/dialogs/settings/log-level-section.js.map +6 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.d.ts +31 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.js +165 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/settings/show-log-level-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/settings/show-settings-dialog.d.ts +8 -0
- package/dist/esm/components/dialogs/settings/show-settings-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/settings/show-settings-dialog.js +15 -0
- package/dist/esm/components/dialogs/settings/show-settings-dialog.js.map +6 -0
- package/dist/esm/components/ha-svg-icon.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/level-control-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/on-off-commands.d.ts.map +1 -1
- package/dist/esm/pages/components/footer.d.ts.map +1 -1
- package/dist/esm/pages/components/header.d.ts +2 -0
- package/dist/esm/pages/components/header.d.ts.map +1 -1
- package/dist/esm/pages/components/header.js +47 -3
- package/dist/esm/pages/components/header.js.map +1 -1
- package/dist/esm/pages/components/node-details.d.ts.map +1 -1
- package/dist/esm/pages/components/server-details.d.ts.map +1 -1
- package/dist/esm/pages/matter-cluster-view.d.ts +13 -2
- package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-cluster-view.js +338 -4
- package/dist/esm/pages/matter-cluster-view.js.map +2 -2
- package/dist/esm/pages/matter-dashboard-app.d.ts.map +1 -1
- package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
- package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/device-panel.d.ts.map +1 -1
- package/dist/esm/pages/network/network-details.d.ts.map +1 -1
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -1
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -1
- package/dist/esm/util/clone_class.d.ts.map +1 -1
- package/dist/esm/util/dev-mode-service.d.ts +14 -0
- package/dist/esm/util/dev-mode-service.d.ts.map +1 -0
- package/dist/esm/util/dev-mode-service.js +37 -0
- package/dist/esm/util/dev-mode-service.js.map +6 -0
- package/dist/esm/util/fire_event.d.ts.map +1 -1
- package/dist/esm/util/prevent_default.d.ts.map +1 -1
- package/dist/esm/util/theme-service.d.ts.map +1 -1
- package/dist/web/index.html +6 -0
- package/dist/web/js/attribute-write-dialog-B1tIg_0G.js +166 -0
- package/dist/web/js/command-invoke-dialog-T_pcKaIB.js +192 -0
- package/dist/web/js/{commission-node-dialog-DfwKU9qk.js → commission-node-dialog-WS5qDOnU.js} +4 -4
- package/dist/web/js/{commission-node-existing-C7ITvNfj.js → commission-node-existing-Bb10H55l.js} +2 -2
- package/dist/web/js/{commission-node-thread-D-icSzto.js → commission-node-thread-B0wMe4Wq.js} +2 -2
- package/dist/web/js/{commission-node-wifi-DwUkXlWz.js → commission-node-wifi-Bjdqn47D.js} +2 -2
- package/dist/web/js/{dialog-box-BmpaTrvT.js → dialog-box-DtMt9N0h.js} +1 -1
- package/dist/web/js/{fire_event-2ZxL-AHZ.js → fire_event-BL87hqSP.js} +1 -1
- package/dist/web/js/main.js +2 -2
- package/dist/web/js/{matter-dashboard-app-BtHTmAPq.js → matter-dashboard-app-F5wNhZIe.js} +6200 -1897
- package/dist/web/js/{node-binding-dialog-MMx9rkCF.js → node-binding-dialog-BEs5k-yQ.js} +1 -1
- package/dist/web/js/parse-json-payload-DU9TWKdu.js +32 -0
- package/dist/web/js/{log-level-dialog-D4hubdib.js → settings-dialog-DNiYIToE.js} +583 -69
- package/package.json +29 -29
- package/src/client/models/descriptions.ts +5690 -1878
- package/src/components/dialogs/dev/attribute-write-dialog.ts +169 -0
- package/src/components/dialogs/dev/command-invoke-dialog.ts +204 -0
- package/src/components/dialogs/dev/parse-json-payload.ts +37 -0
- package/src/components/dialogs/dev/show-attribute-write-dialog.ts +30 -0
- package/src/components/dialogs/dev/show-command-invoke-dialog.ts +28 -0
- package/src/components/dialogs/settings/log-level-dialog.ts +15 -138
- package/src/components/dialogs/settings/log-level-section.ts +174 -0
- package/src/components/dialogs/settings/settings-dialog.ts +165 -0
- package/src/components/dialogs/settings/show-settings-dialog.ts +14 -0
- package/src/pages/components/header.ts +47 -3
- package/src/pages/matter-cluster-view.ts +366 -4
- package/src/tsconfig.json +7 -2
- package/src/util/dev-mode-service.ts +44 -0
package/dist/web/index.html
CHANGED
|
@@ -47,6 +47,10 @@
|
|
|
47
47
|
--md-sys-color-outline: #79747e;
|
|
48
48
|
--md-sys-color-outline-variant: #cac4d0;
|
|
49
49
|
|
|
50
|
+
/* Developer-mode accent (deep violet — distinct from primary-cyan and error-red) */
|
|
51
|
+
--dev-color: #5e35b1;
|
|
52
|
+
--dev-on-color: #ffffff;
|
|
53
|
+
|
|
50
54
|
/* Graph / network semantic colors */
|
|
51
55
|
--signal-color-strong: #4caf50;
|
|
52
56
|
--signal-color-medium: #ff9800;
|
|
@@ -104,6 +108,8 @@
|
|
|
104
108
|
--md-sys-color-on-primary-container: #d0e4ff;
|
|
105
109
|
--md-sys-color-outline: #938f99;
|
|
106
110
|
--md-sys-color-outline-variant: #49454f;
|
|
111
|
+
--dev-color: #b39ddb;
|
|
112
|
+
--dev-on-color: #311b92;
|
|
107
113
|
--signal-color-strong: #66bb6a;
|
|
108
114
|
--signal-color-medium: #ffa726;
|
|
109
115
|
--signal-color-weak: #ef5350;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { q as i, n, u as r, d as e, i as i$1, A, O as formatHex, j as b, K as handleAsync, t } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
|
+
import { t as toBigIntAwareJson } from './main.js';
|
|
3
|
+
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
4
|
+
import { p as parseJsonPayload } from './parse-json-payload-DU9TWKdu.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
9
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
10
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
11
|
+
if (kind && result) __defProp(target, key, result);
|
|
12
|
+
return result;
|
|
13
|
+
};
|
|
14
|
+
let AttributeWriteDialog = class extends i$1 {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.currentValue = null;
|
|
18
|
+
this._busy = false;
|
|
19
|
+
this._error = null;
|
|
20
|
+
}
|
|
21
|
+
firstUpdated() {
|
|
22
|
+
if (this._textarea && this._textarea.value === "") {
|
|
23
|
+
this._textarea.value = toBigIntAwareJson(this.currentValue ?? null, 2);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
get _attributePath() {
|
|
27
|
+
return `${this.endpointId}/${this.clusterId}/${this.attributeId}`;
|
|
28
|
+
}
|
|
29
|
+
_close() {
|
|
30
|
+
this.shadowRoot.querySelector("md-dialog").close();
|
|
31
|
+
}
|
|
32
|
+
_handleClosed() {
|
|
33
|
+
this.parentNode.removeChild(this);
|
|
34
|
+
}
|
|
35
|
+
async _write() {
|
|
36
|
+
this._error = null;
|
|
37
|
+
const parsed = parseJsonPayload(this._textarea.value);
|
|
38
|
+
if (!parsed.ok) {
|
|
39
|
+
this._error = `Invalid JSON: ${parsed.error}`;
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this._busy = true;
|
|
43
|
+
try {
|
|
44
|
+
await this.client.writeAttribute(this.nodeId, this._attributePath, parsed.value);
|
|
45
|
+
this._close();
|
|
46
|
+
} catch (err) {
|
|
47
|
+
this._error = err instanceof Error ? err.message : String(err);
|
|
48
|
+
} finally {
|
|
49
|
+
this._busy = false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
render() {
|
|
53
|
+
return b`
|
|
54
|
+
<md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
|
|
55
|
+
<div slot="headline">Write ${this.label}</div>
|
|
56
|
+
<div slot="content">
|
|
57
|
+
<p class="path" id="write-path">
|
|
58
|
+
Path <code>${this._attributePath}</code>
|
|
59
|
+
(${formatHex(this.endpointId)}/${formatHex(this.clusterId)}/${formatHex(this.attributeId)})
|
|
60
|
+
</p>
|
|
61
|
+
<label class="textarea-label" for="write-payload">Value (JSON)</label>
|
|
62
|
+
<textarea
|
|
63
|
+
id="write-payload"
|
|
64
|
+
class="payload"
|
|
65
|
+
spellcheck="false"
|
|
66
|
+
autocomplete="off"
|
|
67
|
+
autocapitalize="off"
|
|
68
|
+
aria-describedby="write-path${this._error ? " write-error" : ""}"
|
|
69
|
+
rows="10"
|
|
70
|
+
></textarea>
|
|
71
|
+
${this._error ? b`<div id="write-error" class="error" role="alert">${this._error}</div>` : A}
|
|
72
|
+
</div>
|
|
73
|
+
<div slot="actions">
|
|
74
|
+
<md-text-button @click=${this._close} ?disabled=${this._busy}>Cancel</md-text-button>
|
|
75
|
+
<md-text-button @click=${handleAsync(() => this._write())} ?disabled=${this._busy}>
|
|
76
|
+
${this._busy ? "Writing..." : "Write"}
|
|
77
|
+
</md-text-button>
|
|
78
|
+
</div>
|
|
79
|
+
</md-dialog>
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
AttributeWriteDialog.styles = i`
|
|
84
|
+
md-dialog {
|
|
85
|
+
min-width: 520px;
|
|
86
|
+
max-width: 720px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.path {
|
|
90
|
+
margin: 0 0 12px 0;
|
|
91
|
+
font-size: 0.85rem;
|
|
92
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.path code {
|
|
96
|
+
font-family: var(--monospace-font);
|
|
97
|
+
background: var(--md-sys-color-surface-container-high);
|
|
98
|
+
padding: 0 4px;
|
|
99
|
+
border-radius: 3px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.textarea-label {
|
|
103
|
+
display: block;
|
|
104
|
+
margin: 0 0 6px 0;
|
|
105
|
+
font-size: 0.85rem;
|
|
106
|
+
font-weight: 500;
|
|
107
|
+
color: var(--md-sys-color-on-surface);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.payload {
|
|
111
|
+
width: 100%;
|
|
112
|
+
box-sizing: border-box;
|
|
113
|
+
font-family: var(--monospace-font);
|
|
114
|
+
font-size: 0.9rem;
|
|
115
|
+
padding: 8px;
|
|
116
|
+
background: var(--md-sys-color-surface-container-low);
|
|
117
|
+
color: var(--md-sys-color-on-surface);
|
|
118
|
+
border: 1px solid var(--md-sys-color-outline);
|
|
119
|
+
border-radius: 6px;
|
|
120
|
+
resize: vertical;
|
|
121
|
+
min-height: 140px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.payload:focus {
|
|
125
|
+
outline: 2px solid var(--dev-color);
|
|
126
|
+
outline-offset: -1px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.error {
|
|
130
|
+
margin-top: 10px;
|
|
131
|
+
padding: 10px 12px;
|
|
132
|
+
background: var(--md-sys-color-error-container);
|
|
133
|
+
color: var(--md-sys-color-on-error-container);
|
|
134
|
+
border-radius: 6px;
|
|
135
|
+
font-size: 0.875rem;
|
|
136
|
+
white-space: pre-wrap;
|
|
137
|
+
word-break: break-word;
|
|
138
|
+
}
|
|
139
|
+
`;
|
|
140
|
+
__decorateClass([n({
|
|
141
|
+
attribute: false
|
|
142
|
+
})], AttributeWriteDialog.prototype, "client", 2);
|
|
143
|
+
__decorateClass([n({
|
|
144
|
+
type: Number
|
|
145
|
+
})], AttributeWriteDialog.prototype, "nodeId", 2);
|
|
146
|
+
__decorateClass([n({
|
|
147
|
+
type: Number
|
|
148
|
+
})], AttributeWriteDialog.prototype, "endpointId", 2);
|
|
149
|
+
__decorateClass([n({
|
|
150
|
+
type: Number
|
|
151
|
+
})], AttributeWriteDialog.prototype, "clusterId", 2);
|
|
152
|
+
__decorateClass([n({
|
|
153
|
+
type: Number
|
|
154
|
+
})], AttributeWriteDialog.prototype, "attributeId", 2);
|
|
155
|
+
__decorateClass([n({
|
|
156
|
+
type: String
|
|
157
|
+
})], AttributeWriteDialog.prototype, "label", 2);
|
|
158
|
+
__decorateClass([n({
|
|
159
|
+
attribute: false
|
|
160
|
+
})], AttributeWriteDialog.prototype, "currentValue", 2);
|
|
161
|
+
__decorateClass([r()], AttributeWriteDialog.prototype, "_busy", 2);
|
|
162
|
+
__decorateClass([r()], AttributeWriteDialog.prototype, "_error", 2);
|
|
163
|
+
__decorateClass([e("textarea")], AttributeWriteDialog.prototype, "_textarea", 2);
|
|
164
|
+
AttributeWriteDialog = __decorateClass([t("attribute-write-dialog")], AttributeWriteDialog);
|
|
165
|
+
|
|
166
|
+
export { AttributeWriteDialog };
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { q as i, n, u as r, d as e, i as i$1, A, O as formatHex, j as b, K as handleAsync, t } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
|
+
import { t as toBigIntAwareJson } from './main.js';
|
|
3
|
+
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
4
|
+
import { p as parseJsonPayload, i as isPlainObject } from './parse-json-payload-DU9TWKdu.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
9
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
10
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
11
|
+
if (kind && result) __defProp(target, key, result);
|
|
12
|
+
return result;
|
|
13
|
+
};
|
|
14
|
+
let CommandInvokeDialog = class extends i$1 {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this._busy = false;
|
|
18
|
+
this._error = null;
|
|
19
|
+
this._response = null;
|
|
20
|
+
}
|
|
21
|
+
firstUpdated() {
|
|
22
|
+
if (this._textarea && this._textarea.value === "") {
|
|
23
|
+
this._textarea.value = "{}";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
_close() {
|
|
27
|
+
this.shadowRoot.querySelector("md-dialog").close();
|
|
28
|
+
}
|
|
29
|
+
_handleClosed() {
|
|
30
|
+
this.parentNode.removeChild(this);
|
|
31
|
+
}
|
|
32
|
+
async _invoke() {
|
|
33
|
+
this._error = null;
|
|
34
|
+
const parsed = parseJsonPayload(this._textarea.value);
|
|
35
|
+
if (!parsed.ok) {
|
|
36
|
+
this._error = `Invalid JSON: ${parsed.error}`;
|
|
37
|
+
this._response = null;
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const payload = parsed.value;
|
|
41
|
+
if (!isPlainObject(payload)) {
|
|
42
|
+
this._error = "Payload must be a JSON object (use {} for commands with no arguments).";
|
|
43
|
+
this._response = null;
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this._busy = true;
|
|
47
|
+
try {
|
|
48
|
+
const result = await this.client.deviceCommand(this.nodeId, this.endpointId, this.clusterId, this.commandName, payload);
|
|
49
|
+
this._response = toBigIntAwareJson(result ?? null, 2);
|
|
50
|
+
this._error = null;
|
|
51
|
+
} catch (err) {
|
|
52
|
+
this._error = err instanceof Error ? err.message : String(err);
|
|
53
|
+
this._response = null;
|
|
54
|
+
} finally {
|
|
55
|
+
this._busy = false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
render() {
|
|
59
|
+
return b`
|
|
60
|
+
<md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
|
|
61
|
+
<div slot="headline">Invoke ${this.commandLabel}</div>
|
|
62
|
+
<div slot="content">
|
|
63
|
+
<p class="path" id="invoke-path">
|
|
64
|
+
Cluster <code>${this.clusterId}</code> (${formatHex(this.clusterId)}) · Endpoint
|
|
65
|
+
<code>${this.endpointId}</code> · Command <code>${this.commandName}</code>
|
|
66
|
+
</p>
|
|
67
|
+
<label class="textarea-label" for="payload">Payload (JSON)</label>
|
|
68
|
+
<textarea
|
|
69
|
+
id="payload"
|
|
70
|
+
class="payload"
|
|
71
|
+
spellcheck="false"
|
|
72
|
+
autocomplete="off"
|
|
73
|
+
autocapitalize="off"
|
|
74
|
+
aria-describedby="invoke-path${this._error ? " invoke-error" : ""}"
|
|
75
|
+
rows="8"
|
|
76
|
+
></textarea>
|
|
77
|
+
${this._error ? b`<div id="invoke-error" class="error" role="alert">${this._error}</div>` : A}
|
|
78
|
+
${this._response !== null ? b`
|
|
79
|
+
<label class="textarea-label">Response</label>
|
|
80
|
+
<pre class="response"><code>${this._response}</code></pre>
|
|
81
|
+
` : A}
|
|
82
|
+
</div>
|
|
83
|
+
<div slot="actions">
|
|
84
|
+
<md-text-button @click=${this._close} ?disabled=${this._busy}>Close</md-text-button>
|
|
85
|
+
<md-text-button @click=${handleAsync(() => this._invoke())} ?disabled=${this._busy}>
|
|
86
|
+
${this._busy ? "Invoking..." : "Invoke"}
|
|
87
|
+
</md-text-button>
|
|
88
|
+
</div>
|
|
89
|
+
</md-dialog>
|
|
90
|
+
`;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
CommandInvokeDialog.styles = i`
|
|
94
|
+
md-dialog {
|
|
95
|
+
min-width: 520px;
|
|
96
|
+
max-width: 720px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.path {
|
|
100
|
+
margin: 0 0 12px 0;
|
|
101
|
+
font-size: 0.85rem;
|
|
102
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.path code {
|
|
106
|
+
font-family: var(--monospace-font);
|
|
107
|
+
background: var(--md-sys-color-surface-container-high);
|
|
108
|
+
padding: 0 4px;
|
|
109
|
+
border-radius: 3px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.textarea-label {
|
|
113
|
+
display: block;
|
|
114
|
+
margin: 6px 0 6px 0;
|
|
115
|
+
font-size: 0.85rem;
|
|
116
|
+
font-weight: 500;
|
|
117
|
+
color: var(--md-sys-color-on-surface);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.payload {
|
|
121
|
+
width: 100%;
|
|
122
|
+
box-sizing: border-box;
|
|
123
|
+
font-family: var(--monospace-font);
|
|
124
|
+
font-size: 0.9rem;
|
|
125
|
+
padding: 8px;
|
|
126
|
+
background: var(--md-sys-color-surface-container-low);
|
|
127
|
+
color: var(--md-sys-color-on-surface);
|
|
128
|
+
border: 1px solid var(--md-sys-color-outline);
|
|
129
|
+
border-radius: 6px;
|
|
130
|
+
resize: vertical;
|
|
131
|
+
min-height: 120px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.payload:focus {
|
|
135
|
+
outline: 2px solid var(--dev-color);
|
|
136
|
+
outline-offset: -1px;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.error {
|
|
140
|
+
margin-top: 10px;
|
|
141
|
+
padding: 10px 12px;
|
|
142
|
+
background: var(--md-sys-color-error-container);
|
|
143
|
+
color: var(--md-sys-color-on-error-container);
|
|
144
|
+
border-radius: 6px;
|
|
145
|
+
font-size: 0.875rem;
|
|
146
|
+
white-space: pre-wrap;
|
|
147
|
+
word-break: break-word;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.response {
|
|
151
|
+
margin: 6px 0 0 0;
|
|
152
|
+
padding: 10px 12px;
|
|
153
|
+
background: var(--md-sys-color-surface-container-low);
|
|
154
|
+
color: var(--md-sys-color-on-surface);
|
|
155
|
+
border: 1px solid var(--md-sys-color-outline);
|
|
156
|
+
border-radius: 6px;
|
|
157
|
+
max-height: 260px;
|
|
158
|
+
overflow: auto;
|
|
159
|
+
font-size: 0.85rem;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.response code {
|
|
163
|
+
font-family: var(--monospace-font);
|
|
164
|
+
white-space: pre-wrap;
|
|
165
|
+
word-break: break-word;
|
|
166
|
+
}
|
|
167
|
+
`;
|
|
168
|
+
__decorateClass([n({
|
|
169
|
+
attribute: false
|
|
170
|
+
})], CommandInvokeDialog.prototype, "client", 2);
|
|
171
|
+
__decorateClass([n({
|
|
172
|
+
type: Number
|
|
173
|
+
})], CommandInvokeDialog.prototype, "nodeId", 2);
|
|
174
|
+
__decorateClass([n({
|
|
175
|
+
type: Number
|
|
176
|
+
})], CommandInvokeDialog.prototype, "endpointId", 2);
|
|
177
|
+
__decorateClass([n({
|
|
178
|
+
type: Number
|
|
179
|
+
})], CommandInvokeDialog.prototype, "clusterId", 2);
|
|
180
|
+
__decorateClass([n({
|
|
181
|
+
type: String
|
|
182
|
+
})], CommandInvokeDialog.prototype, "commandName", 2);
|
|
183
|
+
__decorateClass([n({
|
|
184
|
+
type: String
|
|
185
|
+
})], CommandInvokeDialog.prototype, "commandLabel", 2);
|
|
186
|
+
__decorateClass([r()], CommandInvokeDialog.prototype, "_busy", 2);
|
|
187
|
+
__decorateClass([r()], CommandInvokeDialog.prototype, "_error", 2);
|
|
188
|
+
__decorateClass([r()], CommandInvokeDialog.prototype, "_response", 2);
|
|
189
|
+
__decorateClass([e("textarea")], CommandInvokeDialog.prototype, "_textarea", 2);
|
|
190
|
+
CommandInvokeDialog = __decorateClass([t("command-invoke-dialog")], CommandInvokeDialog);
|
|
191
|
+
|
|
192
|
+
export { CommandInvokeDialog };
|
package/dist/web/js/{commission-node-dialog-DfwKU9qk.js → commission-node-dialog-WS5qDOnU.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r, n, t, i, j as b } from './matter-dashboard-app-
|
|
1
|
+
import { u as r, n, t, i, j as b } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
2
|
import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
@@ -44,18 +44,18 @@ let ComissionNodeDialog = class extends i {
|
|
|
44
44
|
if (!this.client.serverInfo.bluetooth_enabled) {
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
|
-
import('./commission-node-wifi-
|
|
47
|
+
import('./commission-node-wifi-Bjdqn47D.js');
|
|
48
48
|
this._mode = "wifi";
|
|
49
49
|
}
|
|
50
50
|
_commissionThread() {
|
|
51
51
|
if (!this.client.serverInfo.bluetooth_enabled) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
import('./commission-node-thread-
|
|
54
|
+
import('./commission-node-thread-B0wMe4Wq.js');
|
|
55
55
|
this._mode = "thread";
|
|
56
56
|
}
|
|
57
57
|
_commissionExisting() {
|
|
58
|
-
import('./commission-node-existing-
|
|
58
|
+
import('./commission-node-existing-Bb10H55l.js');
|
|
59
59
|
this._mode = "existing";
|
|
60
60
|
}
|
|
61
61
|
_nodeCommissioned(ev) {
|
package/dist/web/js/{commission-node-existing-C7ITvNfj.js → commission-node-existing-Bb10H55l.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r,
|
|
2
|
-
import { f as fireEvent } from './fire_event-
|
|
1
|
+
import { u as r, P as c, Q as clientContext, n, d as e, t, i, A, K as handleAsync, j as b, J as showAlertDialog } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
|
+
import { f as fireEvent } from './fire_event-BL87hqSP.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
package/dist/web/js/{commission-node-thread-D-icSzto.js → commission-node-thread-B0wMe4Wq.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r,
|
|
2
|
-
import { f as fireEvent } from './fire_event-
|
|
1
|
+
import { u as r, P as c, Q as clientContext, n, d as e, t, i, A, K as handleAsync, j as b, J as showAlertDialog } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
|
+
import { f as fireEvent } from './fire_event-BL87hqSP.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r,
|
|
2
|
-
import { f as fireEvent } from './fire_event-
|
|
1
|
+
import { u as r, P as c, Q as clientContext, n, d as e, t, i, A, K as handleAsync, j as b, J as showAlertDialog } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
|
+
import { f as fireEvent } from './fire_event-BL87hqSP.js';
|
|
3
3
|
import './main.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as mixinDelegatesAria, i, _ as __decorate, n, A,
|
|
1
|
+
import { m as mixinDelegatesAria, i, _ as __decorate, n, A, h as e, j as b, q as i$1, t } from './matter-dashboard-app-F5wNhZIe.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @license
|
package/dist/web/js/main.js
CHANGED
|
@@ -757,7 +757,7 @@ const ThemeService = new ThemeServiceImpl();
|
|
|
757
757
|
* SPDX-License-Identifier: Apache-2.0
|
|
758
758
|
*/
|
|
759
759
|
async function main() {
|
|
760
|
-
import('./matter-dashboard-app-
|
|
760
|
+
import('./matter-dashboard-app-F5wNhZIe.js').then(function (n) { return n.S; });
|
|
761
761
|
let url = "";
|
|
762
762
|
const isProductionServer = window.__MATTERJS_PRODUCTION_MODE__ === true || location.origin.includes(":5580") || location.href.includes("hassio_ingress") || location.href.includes("/api/ingress/");
|
|
763
763
|
if (!isProductionServer) {
|
|
@@ -792,4 +792,4 @@ async function main() {
|
|
|
792
792
|
}
|
|
793
793
|
main();
|
|
794
794
|
|
|
795
|
-
export { ThemeService as T, toBigIntAwareJson as t };
|
|
795
|
+
export { ThemeService as T, parseBigIntAwareJson as p, toBigIntAwareJson as t };
|