@openremote/manager 1.8.0-snapshot.20250725120001 → 1.8.0-snapshot.20250725123024
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/{bundle.6bd21fda2e8cb09f.js → bundle.5f4402fd359cc316.js} +3411 -3411
- package/dist/bundle.ddd2e478dcd11d3c.js +3678 -0
- package/dist/index.html +18 -18
- package/index.html +88 -88
- package/lib/components/alarms/or-alarms-table.js +56 -56
- package/lib/components/configuration/or-conf-json.js +25 -25
- package/lib/components/configuration/or-conf-map/or-conf-map-card.js +177 -177
- package/lib/components/configuration/or-conf-map/or-conf-map-geojson.js +24 -24
- package/lib/components/configuration/or-conf-map/or-conf-map-global.js +153 -153
- package/lib/components/configuration/or-conf-panel.js +43 -43
- package/lib/components/configuration/or-conf-realm/or-conf-realm-card.js +200 -200
- package/lib/pages/page-account.js +243 -243
- package/lib/pages/page-alarms.js +369 -369
- package/lib/pages/page-assets.js +100 -100
- package/lib/pages/page-configuration.js +152 -152
- package/lib/pages/page-export.js +191 -191
- package/lib/pages/page-gateway-tunnel.js +106 -106
- package/lib/pages/page-gateway.js +252 -252
- package/lib/pages/page-insights.js +19 -19
- package/lib/pages/page-logs.js +11 -11
- package/lib/pages/page-map.js +37 -37
- package/lib/pages/page-provisioning.js +294 -294
- package/lib/pages/page-realms.js +284 -284
- package/lib/pages/page-roles.js +279 -279
- package/lib/pages/page-rules.js +11 -11
- package/lib/pages/page-users.js +383 -383
- package/package.json +3 -3
|
@@ -37,60 +37,60 @@ export function pageGatewayTunnelProvider(store) {
|
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
const styling = css `
|
|
41
|
-
#wrapper {
|
|
42
|
-
height: 100%;
|
|
43
|
-
width: 100%;
|
|
44
|
-
display: flex;
|
|
45
|
-
flex-direction: column;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
#title {
|
|
49
|
-
padding: 0 20px;
|
|
50
|
-
font-size: 18px;
|
|
51
|
-
font-weight: bold;
|
|
52
|
-
width: calc(100% - 40px);
|
|
53
|
-
max-width: 1360px;
|
|
54
|
-
margin: 20px auto;
|
|
55
|
-
align-items: center;
|
|
56
|
-
display: flex;
|
|
57
|
-
color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
#title > or-icon {
|
|
61
|
-
margin-right: 10px;
|
|
62
|
-
margin-left: 14px;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.panel {
|
|
66
|
-
flex: 0;
|
|
67
|
-
width: 100%;
|
|
68
|
-
box-sizing: border-box;
|
|
69
|
-
max-width: 1360px;
|
|
70
|
-
background-color: white;
|
|
71
|
-
border: 1px solid #e5e5e5;
|
|
72
|
-
border-radius: 5px;
|
|
73
|
-
position: relative;
|
|
74
|
-
margin: 0 auto 10px;
|
|
75
|
-
padding: 12px 24px 24px;
|
|
76
|
-
display: flex;
|
|
77
|
-
flex-direction: column;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.panel-title {
|
|
81
|
-
display: flex;
|
|
82
|
-
text-transform: uppercase;
|
|
83
|
-
font-weight: bolder;
|
|
84
|
-
color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
|
|
85
|
-
line-height: 1em;
|
|
86
|
-
margin-bottom: 10px;
|
|
87
|
-
margin-top: 0;
|
|
88
|
-
flex: 0 0 auto;
|
|
89
|
-
letter-spacing: 0.025em;
|
|
90
|
-
align-items: center;
|
|
91
|
-
min-height: 36px;
|
|
92
|
-
}
|
|
93
|
-
|
|
40
|
+
const styling = css `
|
|
41
|
+
#wrapper {
|
|
42
|
+
height: 100%;
|
|
43
|
+
width: 100%;
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: column;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#title {
|
|
49
|
+
padding: 0 20px;
|
|
50
|
+
font-size: 18px;
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
width: calc(100% - 40px);
|
|
53
|
+
max-width: 1360px;
|
|
54
|
+
margin: 20px auto;
|
|
55
|
+
align-items: center;
|
|
56
|
+
display: flex;
|
|
57
|
+
color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
#title > or-icon {
|
|
61
|
+
margin-right: 10px;
|
|
62
|
+
margin-left: 14px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.panel {
|
|
66
|
+
flex: 0;
|
|
67
|
+
width: 100%;
|
|
68
|
+
box-sizing: border-box;
|
|
69
|
+
max-width: 1360px;
|
|
70
|
+
background-color: white;
|
|
71
|
+
border: 1px solid #e5e5e5;
|
|
72
|
+
border-radius: 5px;
|
|
73
|
+
position: relative;
|
|
74
|
+
margin: 0 auto 10px;
|
|
75
|
+
padding: 12px 24px 24px;
|
|
76
|
+
display: flex;
|
|
77
|
+
flex-direction: column;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.panel-title {
|
|
81
|
+
display: flex;
|
|
82
|
+
text-transform: uppercase;
|
|
83
|
+
font-weight: bolder;
|
|
84
|
+
color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
|
|
85
|
+
line-height: 1em;
|
|
86
|
+
margin-bottom: 10px;
|
|
87
|
+
margin-top: 0;
|
|
88
|
+
flex: 0 0 auto;
|
|
89
|
+
letter-spacing: 0.025em;
|
|
90
|
+
align-items: center;
|
|
91
|
+
min-height: 36px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
94
|
`;
|
|
95
95
|
let PageGatewayTunnel = class PageGatewayTunnel extends Page {
|
|
96
96
|
constructor() {
|
|
@@ -130,27 +130,27 @@ let PageGatewayTunnel = class PageGatewayTunnel extends Page {
|
|
|
130
130
|
this._realm = state.app.realm || manager.displayRealm;
|
|
131
131
|
}
|
|
132
132
|
render() {
|
|
133
|
-
return html `
|
|
134
|
-
<div id="wrapper">
|
|
135
|
-
<div id="title">
|
|
136
|
-
<or-icon icon="lan-connect"></or-icon>
|
|
137
|
-
${i18next.t("gatewayTunnel")}
|
|
138
|
-
</div>
|
|
139
|
-
<div class="panel">
|
|
140
|
-
<div class="panel-title" style="justify-content: space-between;">
|
|
141
|
-
<or-translate value="tunnels"></or-translate>
|
|
142
|
-
<or-mwc-input style="margin: 0;" type="${InputType.BUTTON}" icon="plus"
|
|
143
|
-
label="${i18next.t('add')} ${i18next.t("tunnel")}"
|
|
144
|
-
@or-mwc-input-changed="${(ev) => this._onAddTunnelClick(ev)}"
|
|
145
|
-
></or-mwc-input>
|
|
146
|
-
</div>
|
|
133
|
+
return html `
|
|
134
|
+
<div id="wrapper">
|
|
135
|
+
<div id="title">
|
|
136
|
+
<or-icon icon="lan-connect"></or-icon>
|
|
137
|
+
${i18next.t("gatewayTunnel")}
|
|
138
|
+
</div>
|
|
139
|
+
<div class="panel">
|
|
140
|
+
<div class="panel-title" style="justify-content: space-between;">
|
|
141
|
+
<or-translate value="tunnels"></or-translate>
|
|
142
|
+
<or-mwc-input style="margin: 0;" type="${InputType.BUTTON}" icon="plus"
|
|
143
|
+
label="${i18next.t('add')} ${i18next.t("tunnel")}"
|
|
144
|
+
@or-mwc-input-changed="${(ev) => this._onAddTunnelClick(ev)}"
|
|
145
|
+
></or-mwc-input>
|
|
146
|
+
</div>
|
|
147
147
|
${this._fetchTunnelsTask.render({
|
|
148
148
|
pending: () => html `${i18next.t('loading')}`,
|
|
149
149
|
complete: (tunnels) => until(this.getTunnelsTable(tunnels), html `${i18next.t('loading')}`),
|
|
150
150
|
error: () => html `${i18next.t('errorOccurred')}`
|
|
151
|
-
})}
|
|
152
|
-
</div>
|
|
153
|
-
</div>
|
|
151
|
+
})}
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
154
|
`;
|
|
155
155
|
}
|
|
156
156
|
/**
|
|
@@ -183,10 +183,10 @@ let PageGatewayTunnel = class PageGatewayTunnel extends Page {
|
|
|
183
183
|
],
|
|
184
184
|
clickable: false,
|
|
185
185
|
}))) || [];
|
|
186
|
-
return html `
|
|
187
|
-
<or-mwc-table .columns="${columns}" .rows="${rows}">
|
|
188
|
-
|
|
189
|
-
</or-mwc-table>
|
|
186
|
+
return html `
|
|
187
|
+
<or-mwc-table .columns="${columns}" .rows="${rows}">
|
|
188
|
+
|
|
189
|
+
</or-mwc-table>
|
|
190
190
|
`;
|
|
191
191
|
});
|
|
192
192
|
}
|
|
@@ -198,10 +198,10 @@ let PageGatewayTunnel = class PageGatewayTunnel extends Page {
|
|
|
198
198
|
const onClick = () => {
|
|
199
199
|
router.navigate(getAssetsRoute(false, tunnel.gatewayId));
|
|
200
200
|
};
|
|
201
|
-
return html `
|
|
202
|
-
<div style="height: 100%; display: flex; align-items: center;">
|
|
203
|
-
<span style="cursor: pointer;" @click="${() => onClick()}">${tunnel.gatewayId}</span>
|
|
204
|
-
</div>
|
|
201
|
+
return html `
|
|
202
|
+
<div style="height: 100%; display: flex; align-items: center;">
|
|
203
|
+
<span style="cursor: pointer;" @click="${() => onClick()}">${tunnel.gatewayId}</span>
|
|
204
|
+
</div>
|
|
205
205
|
`;
|
|
206
206
|
});
|
|
207
207
|
}
|
|
@@ -210,15 +210,15 @@ let PageGatewayTunnel = class PageGatewayTunnel extends Page {
|
|
|
210
210
|
*/
|
|
211
211
|
_getTunnelActionsTemplate(tunnel) {
|
|
212
212
|
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
-
return html `
|
|
214
|
-
<div style="display: flex; justify-content: end; align-items: center; gap: 12px;">
|
|
215
|
-
<or-mwc-input .type="${InputType.BUTTON}" icon="stop" @or-mwc-input-changed="${(ev) => this._onStopTunnelClick(ev, tunnel)}"></or-mwc-input>
|
|
216
|
-
${when(tunnel.type === "TCP" /* GatewayTunnelInfoType.TCP */, () => html `
|
|
217
|
-
<or-mwc-input .type="${InputType.BUTTON}" outlined label="${i18next.t('gatewayTunnels.copyAddress')}" @or-mwc-input-changed="${(ev) => this._onCopyTunnelAddressClick(ev, tunnel)}"></or-mwc-input>
|
|
218
|
-
`, () => html `
|
|
219
|
-
<or-mwc-input .type="${InputType.BUTTON}" outlined label="${i18next.t('gatewayTunnels.open')}" @or-mwc-input-changed="${(ev) => this._onOpenTunnelClick(ev, tunnel)}"></or-mwc-input>
|
|
220
|
-
`)}
|
|
221
|
-
</div>
|
|
213
|
+
return html `
|
|
214
|
+
<div style="display: flex; justify-content: end; align-items: center; gap: 12px;">
|
|
215
|
+
<or-mwc-input .type="${InputType.BUTTON}" icon="stop" @or-mwc-input-changed="${(ev) => this._onStopTunnelClick(ev, tunnel)}"></or-mwc-input>
|
|
216
|
+
${when(tunnel.type === "TCP" /* GatewayTunnelInfoType.TCP */, () => html `
|
|
217
|
+
<or-mwc-input .type="${InputType.BUTTON}" outlined label="${i18next.t('gatewayTunnels.copyAddress')}" @or-mwc-input-changed="${(ev) => this._onCopyTunnelAddressClick(ev, tunnel)}"></or-mwc-input>
|
|
218
|
+
`, () => html `
|
|
219
|
+
<or-mwc-input .type="${InputType.BUTTON}" outlined label="${i18next.t('gatewayTunnels.open')}" @or-mwc-input-changed="${(ev) => this._onOpenTunnelClick(ev, tunnel)}"></or-mwc-input>
|
|
220
|
+
`)}
|
|
221
|
+
</div>
|
|
222
222
|
`;
|
|
223
223
|
});
|
|
224
224
|
}
|
|
@@ -296,40 +296,40 @@ let PageGatewayTunnel = class PageGatewayTunnel extends Page {
|
|
|
296
296
|
const gatewayListTemplate = () => __awaiter(this, void 0, void 0, function* () {
|
|
297
297
|
const gatewayAssets = yield this._fetchGatewayAssets();
|
|
298
298
|
const items = gatewayAssets.map((g) => [g.id, g.name]);
|
|
299
|
-
return html `
|
|
300
|
-
<div style="display: flex; flex-direction: column; gap: 20px; width: 360px;">
|
|
301
|
-
<or-mwc-input .type="${InputType.SELECT}" .options="${items}" .value="${tunnel.gatewayId}" label="${i18next.t('gatewayTunnels.selectAsset')}" style="width: 100%;"
|
|
299
|
+
return html `
|
|
300
|
+
<div style="display: flex; flex-direction: column; gap: 20px; width: 360px;">
|
|
301
|
+
<or-mwc-input .type="${InputType.SELECT}" .options="${items}" .value="${tunnel.gatewayId}" label="${i18next.t('gatewayTunnels.selectAsset')}" style="width: 100%;"
|
|
302
302
|
@or-mwc-input-changed="${(ev) => {
|
|
303
303
|
tunnel.gatewayId = ev.detail.value;
|
|
304
304
|
updateActions();
|
|
305
|
-
}}"
|
|
306
|
-
></or-mwc-input>
|
|
307
|
-
<or-mwc-input .type="${InputType.SELECT}" label="${i18next.t('gatewayTunnels.protocol')}" .value="${tunnel.type}" .options="${this.GATEWAY_TUNNEL_PROTOCOL_TYPES}"
|
|
308
|
-
style="width: 100%"
|
|
305
|
+
}}"
|
|
306
|
+
></or-mwc-input>
|
|
307
|
+
<or-mwc-input .type="${InputType.SELECT}" label="${i18next.t('gatewayTunnels.protocol')}" .value="${tunnel.type}" .options="${this.GATEWAY_TUNNEL_PROTOCOL_TYPES}"
|
|
308
|
+
style="width: 100%"
|
|
309
309
|
@or-mwc-input-changed="${(ev) => {
|
|
310
310
|
tunnel.type = ev.detail.value;
|
|
311
311
|
updateActions();
|
|
312
|
-
}}"
|
|
313
|
-
></or-mwc-input>
|
|
314
|
-
<or-mwc-input .type="${InputType.TEXT}" label="${i18next.t('host')}" .value="${tunnel.target}" style="width: 100%;"
|
|
312
|
+
}}"
|
|
313
|
+
></or-mwc-input>
|
|
314
|
+
<or-mwc-input .type="${InputType.TEXT}" label="${i18next.t('host')}" .value="${tunnel.target}" style="width: 100%;"
|
|
315
315
|
@or-mwc-input-changed="${(ev) => {
|
|
316
316
|
tunnel.target = ev.detail.value;
|
|
317
317
|
updateActions();
|
|
318
|
-
}}"
|
|
319
|
-
></or-mwc-input>
|
|
320
|
-
<or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t('port')}" .value="${tunnel.targetPort}" style="width: 100%"
|
|
318
|
+
}}"
|
|
319
|
+
></or-mwc-input>
|
|
320
|
+
<or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t('port')}" .value="${tunnel.targetPort}" style="width: 100%"
|
|
321
321
|
@or-mwc-input-changed="${(ev) => {
|
|
322
322
|
tunnel.targetPort = ev.detail.value;
|
|
323
323
|
updateActions();
|
|
324
|
-
}}"
|
|
325
|
-
></or-mwc-input>
|
|
326
|
-
</div>
|
|
324
|
+
}}"
|
|
325
|
+
></or-mwc-input>
|
|
326
|
+
</div>
|
|
327
327
|
`;
|
|
328
328
|
});
|
|
329
329
|
dialog = new OrMwcDialog()
|
|
330
330
|
.setHeading(`${i18next.t("add")} ${i18next.t("tunnel")}`)
|
|
331
|
-
.setContent(html `
|
|
332
|
-
${until(gatewayListTemplate(), html `${i18next.t("loading")}`)}
|
|
331
|
+
.setContent(html `
|
|
332
|
+
${until(gatewayListTemplate(), html `${i18next.t("loading")}`)}
|
|
333
333
|
`);
|
|
334
334
|
updateActions();
|
|
335
335
|
showDialog(dialog);
|