@bitpoolos/edge-bacnet 1.4.4 → 1.4.5
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/CHANGELOG.md +8 -0
- package/bacnet_client.js +157 -130
- package/bacnet_gateway.html +141 -135
- package/bacnet_read.html +45 -42
- package/bacnet_write.html +7 -5
- package/bitpool_inject.html +49 -136
- package/package.json +1 -1
- package/resources/style.css +602 -202
package/bacnet_read.html
CHANGED
|
@@ -359,7 +359,8 @@
|
|
|
359
359
|
//update UI
|
|
360
360
|
let parentDeviceName = slotProps.node.parentDevice;
|
|
361
361
|
let parentDevice = this.devices.find((ele) => ele.label == parentDeviceName);
|
|
362
|
-
|
|
362
|
+
const slotDeviceId = slotProps.node.parentDeviceId;
|
|
363
|
+
let device = this.deviceList.find((ele) => ele.deviceId == slotDeviceId);
|
|
363
364
|
let foundDeviceIndex = this.readDevices
|
|
364
365
|
? this.readDevices.findIndex((ele) => ele.deviceId == device.deviceId)
|
|
365
366
|
: -1;
|
|
@@ -1105,17 +1106,19 @@
|
|
|
1105
1106
|
</p-dialog>
|
|
1106
1107
|
|
|
1107
1108
|
<div class="headerDiv">
|
|
1108
|
-
<a class="countStatus" style="margin-left: 15px;">
|
|
1109
|
-
<p-progressbar :value="progressBarValue" :show-value="true" style="width:
|
|
1109
|
+
<a class="countStatus" style="margin-left: 15px;"> <span class="bp-deviceCount">{{deviceCount}}</span> Device(s)</a>
|
|
1110
|
+
<p-progressbar :value="progressBarValue" :show-value="true" style="width: 220px; height: 20px;"></p-progressbar>
|
|
1110
1111
|
<div class="buttonGroup" style="padding-left: 15px;">
|
|
1111
1112
|
<button @click="rebuildDataModel()" class="rebuildDataButton" title="Rebuild Data Model">
|
|
1112
|
-
<i class="pi pi-wrench" style="color: #
|
|
1113
|
-
</button>
|
|
1114
|
-
<button @click="getData()" class="reloadButton" title="Reload Data">
|
|
1115
|
-
<i class="pi pi-refresh" style="color: #00AEEF;"></i>
|
|
1113
|
+
<i class="pi pi-wrench" style="color: #969696;"></i>
|
|
1116
1114
|
</button>
|
|
1115
|
+
|
|
1117
1116
|
<button @click="addAllDevices()" class="reloadButton" title="Add all devices">
|
|
1118
|
-
<i class="pi pi-plus" style="color: #
|
|
1117
|
+
<i class="pi pi-plus" style="color: #62ABE9;"></i> <span>Add all devices</span>
|
|
1118
|
+
</button>
|
|
1119
|
+
|
|
1120
|
+
<button @click="getData()" class="reloadButton" title="Reload Data">
|
|
1121
|
+
<i class="fa fa-refresh" style="color: #4D88B7;"></i> <span>Refresh tree</span>
|
|
1119
1122
|
</button>
|
|
1120
1123
|
</div>
|
|
1121
1124
|
</div>
|
|
@@ -1157,12 +1160,12 @@
|
|
|
1157
1160
|
</template>
|
|
1158
1161
|
<template v-else>
|
|
1159
1162
|
<button @click="addAllClicked(slotProps)" class="addAllButton bacnetbutton">
|
|
1160
|
-
<i class="pi pi-plus
|
|
1163
|
+
<i class="pi pi-plus " title="Add all points"><a class="allFunctionsText"></a></i>
|
|
1161
1164
|
</button>
|
|
1162
1165
|
</template>
|
|
1163
1166
|
|
|
1164
1167
|
<button @click="removeAllClicked(slotProps, this)" class="removeAllButton bacnetbutton">
|
|
1165
|
-
<i class="pi pi-
|
|
1168
|
+
<i class="pi pi-times" title="Remove all points"><a class="allFunctionsText">Remove all</a></i>
|
|
1166
1169
|
</button>
|
|
1167
1170
|
</div>
|
|
1168
1171
|
</template>
|
|
@@ -1210,33 +1213,35 @@
|
|
|
1210
1213
|
*
|
|
1211
1214
|
*
|
|
1212
1215
|
-->
|
|
1213
|
-
<div id="read-readList-tab" style="display:none">
|
|
1216
|
+
<div id="read-readList-tab" class="read-readList-tab" style="display:none">
|
|
1214
1217
|
<div class="removeAllDevicesDiv">
|
|
1215
1218
|
<button @click="exportReadList()" class="export-points-button" title="Export Read List">
|
|
1216
|
-
<i class="fa fa-
|
|
1219
|
+
<i class="fa fa-arrow-circle-down"> </i><a id="fileLabelText" style="padding-left: 10px;">Export</a>
|
|
1217
1220
|
</button>
|
|
1218
1221
|
<a id="exportJSON" style="display: none"></a>
|
|
1219
1222
|
|
|
1220
1223
|
<button @click="importReadList()" class="export-points-button" title="Import Read List">
|
|
1221
|
-
<i class="fa fa-
|
|
1224
|
+
<i class="fa fa-arrow-circle-up" id="importReadListButton"></i
|
|
1222
1225
|
><a id="fileLabelText" style="padding-left: 10px;">Import</a>
|
|
1223
1226
|
</button>
|
|
1224
1227
|
<input type="file" id="readlist-file-upload" accept="application/JSON" class="inputStyle" style="display: none;" />
|
|
1225
1228
|
|
|
1226
1229
|
<button @click="removeAllDevices()" class="removeAllDevicesButton" title="Remove all devices">
|
|
1227
|
-
|
|
1230
|
+
<i class="pi pi-times" title="Remove all points"></i> <a>Remove all devices</a>
|
|
1228
1231
|
</button>
|
|
1229
1232
|
|
|
1230
|
-
<button @click="refreshReadListTree()" class="
|
|
1231
|
-
<i class="
|
|
1233
|
+
<button @click="refreshReadListTree()" class="reloadButton bp-read-list-refresh-button" title="Refresh tree">
|
|
1234
|
+
<i class="fa fa-refresh" style="color: #4D88B7;"> </i><span>Refresh tree</span>
|
|
1232
1235
|
</button>
|
|
1236
|
+
|
|
1237
|
+
|
|
1233
1238
|
</div>
|
|
1234
1239
|
|
|
1235
1240
|
<p-tree :value="readDevices">
|
|
1236
1241
|
<template #device="slotProps">
|
|
1237
1242
|
<b class="deviceLabel">{{slotProps.node.label}} </b>
|
|
1238
1243
|
<button @click="removeAllClicked(slotProps, this)" class="removeAllButton bacnetbutton">
|
|
1239
|
-
<i class="pi pi-
|
|
1244
|
+
<i class="pi pi-times"><a class="allFunctionsText">Remove device</a></i>
|
|
1240
1245
|
</button>
|
|
1241
1246
|
</template>
|
|
1242
1247
|
|
|
@@ -1256,16 +1261,17 @@
|
|
|
1256
1261
|
*
|
|
1257
1262
|
-->
|
|
1258
1263
|
<div id="read-properties-tab" style="display:none">
|
|
1259
|
-
<div class="form-row" style="display: flex;
|
|
1264
|
+
<div class="form-row bp-prop-row" style="display: flex; flex-wrap: nowrap; flex-direction: column;">
|
|
1260
1265
|
<label
|
|
1261
1266
|
for="node-input-object_properties_group"
|
|
1262
|
-
style="display: flex; align-items: center; white-space: nowrap;
|
|
1263
|
-
|
|
1267
|
+
style="display: flex; align-items: center; white-space: nowrap;"
|
|
1268
|
+
class="bp-prop-heading"
|
|
1269
|
+
>Object Properties</label
|
|
1264
1270
|
>
|
|
1265
1271
|
|
|
1266
1272
|
<div
|
|
1267
1273
|
id="node-input-object_properties_group"
|
|
1268
|
-
style="display: flex; align-items: flex-start; flex-direction: column;
|
|
1274
|
+
style="display: flex; align-items: flex-start; flex-direction: column;">
|
|
1269
1275
|
<div class="objectPropertiesLabel">
|
|
1270
1276
|
<label
|
|
1271
1277
|
for="node-input-object_property_simplePayload"
|
|
@@ -1274,7 +1280,7 @@
|
|
|
1274
1280
|
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.object_property_simplePayload"></span>
|
|
1275
1281
|
<input
|
|
1276
1282
|
style="margin-left: 5px;"
|
|
1277
|
-
class=" objectProp"
|
|
1283
|
+
class=" objectProp checkbox-round"
|
|
1278
1284
|
type="checkbox"
|
|
1279
1285
|
id="node-input-object_property_simplePayload" />
|
|
1280
1286
|
<a style="white-space: nowrap; padding-left: 20px;">Simple Payload</a>
|
|
@@ -1289,7 +1295,7 @@
|
|
|
1289
1295
|
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.object_property_simpleWithStatus"></span>
|
|
1290
1296
|
<input
|
|
1291
1297
|
style="margin-left: 5px;"
|
|
1292
|
-
class=" objectProp"
|
|
1298
|
+
class=" objectProp checkbox-round"
|
|
1293
1299
|
type="checkbox"
|
|
1294
1300
|
id="node-input-object_property_simpleWithStatus" />
|
|
1295
1301
|
<a style="white-space: nowrap; padding-left: 20px;">Simple With Status</a>
|
|
@@ -1304,23 +1310,20 @@
|
|
|
1304
1310
|
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.object_property_fullObject"></span>
|
|
1305
1311
|
<input
|
|
1306
1312
|
style="margin-left: 5px;"
|
|
1307
|
-
class=" objectProp"
|
|
1313
|
+
class=" objectProp checkbox-round"
|
|
1308
1314
|
type="checkbox"
|
|
1309
1315
|
id="node-input-object_property_fullObject" />
|
|
1310
1316
|
<a style="white-space: nowrap; padding-left: 20px;">Full Object</a>
|
|
1311
1317
|
</label>
|
|
1312
1318
|
</div>
|
|
1313
|
-
|
|
1314
1319
|
</div>
|
|
1315
1320
|
</div>
|
|
1316
1321
|
|
|
1317
|
-
<
|
|
1318
|
-
|
|
1319
|
-
<div class="form-row msgTypeDiv" style="display: flex;">
|
|
1320
|
-
<label for="node-input-msgType" style="text-decoration: underline;"> Message type: </label>
|
|
1322
|
+
<div class="form-row msgTypeDiv bp-prop-row" style="display: flex;">
|
|
1323
|
+
<label for="node-input-msgType" class="bp-prop-heading"> Message type </label>
|
|
1321
1324
|
<div
|
|
1322
1325
|
id="node-input-msgType"
|
|
1323
|
-
style="display: flex; align-items: flex-start; flex-direction: column;
|
|
1326
|
+
style="display: flex; align-items: flex-start; flex-direction: column;">
|
|
1324
1327
|
<!-- class= checkbox-round -->
|
|
1325
1328
|
<div style="display: flex; flex-direction: row; align-items: flex-start;">
|
|
1326
1329
|
<input
|
|
@@ -1358,24 +1361,23 @@
|
|
|
1358
1361
|
</div>
|
|
1359
1362
|
</div>
|
|
1360
1363
|
|
|
1361
|
-
<
|
|
1362
|
-
|
|
1363
|
-
<div class="objectPropertiesLabel" style="margin-top: 20px; margin-bottom: 20px;">
|
|
1364
|
+
<div class="bp-checkbox-row bp-readnode-useDeviceName">
|
|
1364
1365
|
<label
|
|
1365
1366
|
for="node-input-useDeviceName"
|
|
1366
|
-
style="
|
|
1367
|
+
style="padding-left: 4px; align-items: start;"
|
|
1367
1368
|
class="objectPropertiesLabel">
|
|
1368
|
-
<
|
|
1369
|
+
<span data-i18n="bitpool-bacnet.label.useDeviceName"></span>
|
|
1370
|
+
<a style="white-space: nowrap;">Use device name in topic</a>
|
|
1369
1371
|
<input
|
|
1370
|
-
|
|
1372
|
+
style="margin-left: 10px; bottom: 3px;"
|
|
1373
|
+
class=" objectProp bp-checkbox"
|
|
1371
1374
|
type="checkbox"
|
|
1372
1375
|
id="node-input-useDeviceName" />
|
|
1373
|
-
<a style="white-space: nowrap; padding-left: 20px;">Use device name in topic</a>
|
|
1374
1376
|
</label>
|
|
1375
1377
|
</div>
|
|
1376
1378
|
|
|
1377
|
-
<div class="form-row">
|
|
1378
|
-
<label
|
|
1379
|
+
<div class="form-row bp-row">
|
|
1380
|
+
<label> Decimal place precision </label>
|
|
1379
1381
|
<input type="number" id="node-input-roundDecimal" placeholder="None" />
|
|
1380
1382
|
</div>
|
|
1381
1383
|
|
|
@@ -1385,10 +1387,11 @@
|
|
|
1385
1387
|
<input style="display: none !important;" type="checkbox" id="node-input-hiddenDeployToggle" />
|
|
1386
1388
|
</label>
|
|
1387
1389
|
|
|
1388
|
-
<
|
|
1389
|
-
|
|
1390
|
+
<hr>
|
|
1391
|
+
|
|
1392
|
+
<div class="form-row bp-import-buttons">
|
|
1390
1393
|
<label for="points-export" class="export-points-button" @click="exportPointListCsv()">
|
|
1391
|
-
<i class="fa fa-
|
|
1394
|
+
<i class="fa fa-arrow-circle-down" id="fileLabel"></i> <a id="points-export" style="padding-left: 10px;">Export point list</a>
|
|
1392
1395
|
</label>
|
|
1393
1396
|
</div>
|
|
1394
1397
|
</div>
|
package/bacnet_write.html
CHANGED
|
@@ -170,7 +170,9 @@
|
|
|
170
170
|
let foundDeviceIndex = this.writeDevices
|
|
171
171
|
? this.writeDevices.findIndex((ele) => ele.label == parentDeviceName)
|
|
172
172
|
: -1;
|
|
173
|
-
|
|
173
|
+
|
|
174
|
+
const slotDeviceId = slotProps.node.parentDeviceId;
|
|
175
|
+
let device = this.deviceList.find((ele) => ele.deviceId == slotDeviceId);
|
|
174
176
|
let deviceAddress = app.getDeviceAddress(device.address);
|
|
175
177
|
let key = `${deviceAddress}-${device.deviceId}`;
|
|
176
178
|
let parentDevice = this.devices.find((ele) => ele.ipAddr == deviceAddress);
|
|
@@ -852,7 +854,7 @@
|
|
|
852
854
|
<div>
|
|
853
855
|
<a class="countStatus" style="margin-left: 15px;">Count: {{deviceCount}} device(s)</a>
|
|
854
856
|
<button @click="getData()" class="reloadButton">
|
|
855
|
-
<i class="
|
|
857
|
+
<i class="fa fa-refresh" style="color: #4D88B7;"><a class="allFunctionsText">Refresh list</a></i>
|
|
856
858
|
</button>
|
|
857
859
|
</div>
|
|
858
860
|
|
|
@@ -920,7 +922,7 @@
|
|
|
920
922
|
</p>
|
|
921
923
|
</div>
|
|
922
924
|
|
|
923
|
-
<div id="read-writeList-tab" style="display:none">
|
|
925
|
+
<div id="read-writeList-tab" class="read-writeList-tab" style="display:none">
|
|
924
926
|
<p-tree :value="writeDevices">
|
|
925
927
|
<template #device="slotProps">
|
|
926
928
|
<b class="deviceLabel">{{slotProps.node.label}} </b>
|
|
@@ -936,7 +938,7 @@
|
|
|
936
938
|
</div>
|
|
937
939
|
|
|
938
940
|
<div id="read-write-tab" style="display:none">
|
|
939
|
-
<div class="form-row">
|
|
941
|
+
<div class="form-row bp-row">
|
|
940
942
|
<label for="node-input-applicationTag"
|
|
941
943
|
><i class="icon-tag"></i><span data-i18n="bitpool-bacnet.label.applicationTag"></span> Application Tag</label
|
|
942
944
|
>
|
|
@@ -982,7 +984,7 @@
|
|
|
982
984
|
</select>
|
|
983
985
|
</div>
|
|
984
986
|
|
|
985
|
-
<div class="form-row">
|
|
987
|
+
<div class="form-row bp-row">
|
|
986
988
|
<label for="node-input-priority"
|
|
987
989
|
><i class="icon-tag"></i><span data-i18n="bitpool-bacnet.label.priority"></span> Priority</label
|
|
988
990
|
>
|
package/bitpool_inject.html
CHANGED
|
@@ -20,38 +20,48 @@
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
<script type="text/html" data-template-name="Bitpool-Inject">
|
|
23
|
-
<div class="form-row">
|
|
24
|
-
<label for="node-input-name"
|
|
23
|
+
<div class="form-row bp-row">
|
|
24
|
+
<label for="node-input-name"> <span data-i18n="common.label.name"></span></label>
|
|
25
25
|
<input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name">
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
|
+
<div class="bp-objectPropertiesLabel bp-checkbox-row">
|
|
29
|
+
<label
|
|
30
|
+
for="node-input-useDeviceName"
|
|
31
|
+
style="padding-left: 4px; align-items: start;"
|
|
32
|
+
class="objectPropertiesLabel">
|
|
33
|
+
<span data-i18n="bitpool-bacnet.label.useDeviceName"></span>
|
|
34
|
+
<a style="white-space: nowrap; padding-left: 20px;">Use device name in topic</a>
|
|
35
|
+
<input
|
|
36
|
+
style="margin-left: 10px; bottom: 3px;"
|
|
37
|
+
class=" objectProp bp-checkbox"
|
|
38
|
+
type="checkbox"
|
|
39
|
+
id="node-input-useDeviceName" />
|
|
40
|
+
</label>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
28
43
|
<div class="form-row node-input-property-container-row bitpoolInjectList">
|
|
29
44
|
<div id="node-input-property-container-list" class="optionsSelector">
|
|
30
45
|
<div class="injectHeading">
|
|
31
46
|
<a>Inject Type </a>
|
|
32
47
|
</div>
|
|
33
48
|
|
|
34
|
-
<div class="
|
|
35
|
-
<div class="msgOptions discoverOption">
|
|
36
|
-
<input class="checkbox-round" type="checkbox" id="node-input-doDiscover"
|
|
49
|
+
<div class="bp-button-group">
|
|
50
|
+
<div id="node-input-doDiscover-button" class="msgOptions discoverOption">
|
|
51
|
+
<input class="checkbox-round" type="checkbox" id="node-input-doDiscover" style="display: none;"/>
|
|
37
52
|
<label style="font-size: 16px; height: min-content; margin-bottom: 0px;" for="node-input-doDiscover">Discover</label>
|
|
38
53
|
</div>
|
|
39
|
-
<div class="msgOptions pollOption">
|
|
40
|
-
<input class="checkbox-round" type="checkbox" id="node-input-doPoll"
|
|
54
|
+
<div class="msgOptions pollOption" id="node-input-doPoll-button">
|
|
55
|
+
<input class="checkbox-round" type="checkbox" id="node-input-doPoll" style="display: none;"/>
|
|
41
56
|
<label style="font-size: 16px; height: min-content; margin-bottom: 0px;" for="node-input-doPoll">Poll</label>
|
|
42
57
|
</div>
|
|
43
58
|
</div>
|
|
44
59
|
|
|
45
|
-
<div class="form-row
|
|
60
|
+
<div class="form-row bp-msg-type-row">
|
|
46
61
|
|
|
47
|
-
<div
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<label
|
|
51
|
-
for="node-input-object_properties_group"
|
|
52
|
-
style="display: flex; align-items: center; white-space: nowrap; text-decoration: underline;"
|
|
53
|
-
>
|
|
54
|
-
Object Properties:
|
|
62
|
+
<div id="node-input-object_properties_group" class="bp-msg-type-column bp-object">
|
|
63
|
+
<label for="node-input-object_properties_group" class="bp-msg-type-labels">
|
|
64
|
+
Object Properties
|
|
55
65
|
</label>
|
|
56
66
|
|
|
57
67
|
<div class="objectPropertiesLabel">
|
|
@@ -62,7 +72,7 @@
|
|
|
62
72
|
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.object_property_simplePayload"></span>
|
|
63
73
|
<input
|
|
64
74
|
style="margin-left: 5px;"
|
|
65
|
-
class=" objectProp"
|
|
75
|
+
class=" objectProp checkbox-round"
|
|
66
76
|
type="checkbox"
|
|
67
77
|
id="node-input-object_property_simplePayload" />
|
|
68
78
|
<a style="white-space: nowrap; padding-left: 20px;">Simple Payload</a>
|
|
@@ -77,7 +87,7 @@
|
|
|
77
87
|
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.object_property_simpleWithStatus"></span>
|
|
78
88
|
<input
|
|
79
89
|
style="margin-left: 5px;"
|
|
80
|
-
class=" objectProp"
|
|
90
|
+
class=" objectProp checkbox-round"
|
|
81
91
|
type="checkbox"
|
|
82
92
|
id="node-input-object_property_simpleWithStatus" />
|
|
83
93
|
<a style="white-space: nowrap; padding-left: 20px;">Simple With Status</a>
|
|
@@ -92,7 +102,7 @@
|
|
|
92
102
|
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.object_property_fullObject"></span>
|
|
93
103
|
<input
|
|
94
104
|
style="margin-left: 5px;"
|
|
95
|
-
class=" objectProp"
|
|
105
|
+
class=" objectProp checkbox-round"
|
|
96
106
|
type="checkbox"
|
|
97
107
|
id="node-input-object_property_fullObject" />
|
|
98
108
|
<a style="white-space: nowrap; padding-left: 20px;">Full Object</a>
|
|
@@ -102,8 +112,8 @@
|
|
|
102
112
|
</div>
|
|
103
113
|
<div
|
|
104
114
|
id="node-input-msgType"
|
|
105
|
-
|
|
106
|
-
<label for="node-input-msgType"
|
|
115
|
+
class="bp-msg-type-column bp-msg">
|
|
116
|
+
<label for="node-input-msgType" class="bp-msg-type-labels"> Message type </label>
|
|
107
117
|
<!-- class= checkbox-round -->
|
|
108
118
|
<div style="display: flex; flex-direction: row; align-items: flex-start;">
|
|
109
119
|
<input
|
|
@@ -142,31 +152,11 @@
|
|
|
142
152
|
</div>
|
|
143
153
|
</div>
|
|
144
154
|
|
|
145
|
-
|
|
146
|
-
<div class="injectHeading" style="margin-top: 20px;">
|
|
147
|
-
<a>Topic Properties</a>
|
|
148
|
-
</div>
|
|
149
|
-
|
|
150
|
-
<div class="objectPropertiesLabel" style="margin-top: 20px;">
|
|
151
|
-
<label
|
|
152
|
-
for="node-input-useDeviceName"
|
|
153
|
-
style="padding-left: 4px; width: auto; align-items: start;"
|
|
154
|
-
class="objectPropertiesLabel">
|
|
155
|
-
<i class="icon-tag"></i> <span data-i18n="bitpool-bacnet.label.useDeviceName"></span>
|
|
156
|
-
<input
|
|
157
|
-
style="margin-left: 5px;"
|
|
158
|
-
class=" objectProp"
|
|
159
|
-
type="checkbox"
|
|
160
|
-
id="node-input-useDeviceName" />
|
|
161
|
-
<a style="white-space: nowrap; padding-left: 20px;">Use device name in topic</a>
|
|
162
|
-
</label>
|
|
163
|
-
</div>
|
|
164
|
-
|
|
165
155
|
<div class="injectHeading" style="margin-top: 20px;">
|
|
166
156
|
<a>Msg Properties</a>
|
|
167
157
|
</div>
|
|
168
158
|
|
|
169
|
-
<ol id="node-input-property-container" class="nrEditableList" style="height: 400px !important;"></ol>
|
|
159
|
+
<ol id="node-input-property-container" class="nrEditableList bp-editable-list" style="height: 400px !important;"></ol>
|
|
170
160
|
|
|
171
161
|
</div>
|
|
172
162
|
|
|
@@ -261,91 +251,6 @@
|
|
|
261
251
|
|
|
262
252
|
</script>
|
|
263
253
|
<style>
|
|
264
|
-
.optionParent {
|
|
265
|
-
display: flex;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.injectHeading>a {
|
|
269
|
-
margin: 0;
|
|
270
|
-
font-weight: 600;
|
|
271
|
-
font-size: 14px;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
.injectHeading {
|
|
275
|
-
border-bottom: 1px solid #cbcbcb;
|
|
276
|
-
text-align: start;
|
|
277
|
-
height: 30px;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.checkbox-round {
|
|
281
|
-
width: 13px !important;
|
|
282
|
-
height: 13px !important;
|
|
283
|
-
background-color: white;
|
|
284
|
-
border-radius: 50%;
|
|
285
|
-
vertical-align: middle;
|
|
286
|
-
border: 1px solid #ddd;
|
|
287
|
-
appearance: none;
|
|
288
|
-
-webkit-appearance: none;
|
|
289
|
-
outline: none;
|
|
290
|
-
cursor: pointer;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
.checkbox-round:checked {
|
|
294
|
-
background-color: #00AEEF;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
.checkbox-round:focus {
|
|
298
|
-
outline: none !important;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
.msgOptions {
|
|
302
|
-
border: 1px solid #cbcbcb;
|
|
303
|
-
border-radius: 4px;
|
|
304
|
-
height: 35px;
|
|
305
|
-
transition: 1s;
|
|
306
|
-
display: flex;
|
|
307
|
-
flex-direction: row;
|
|
308
|
-
justify-content: space-evenly;
|
|
309
|
-
align-items: center;
|
|
310
|
-
cursor: pointer;
|
|
311
|
-
width: 50%;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
.msgOptions:hover {
|
|
315
|
-
border: 1px solid #00AEEF;
|
|
316
|
-
transition: 1s;
|
|
317
|
-
background-color: #f5fcff;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
.discoverOption {
|
|
321
|
-
margin-top: 15px;
|
|
322
|
-
width: 180px;
|
|
323
|
-
margin-right: 20px;
|
|
324
|
-
margin-left: auto;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
.pollOption {
|
|
328
|
-
margin-top: 15px;
|
|
329
|
-
width: 180px;
|
|
330
|
-
margin-right: auto;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
.optionsSelector {
|
|
334
|
-
min-height: 90px !important;
|
|
335
|
-
max-height: none !important;
|
|
336
|
-
display: flex;
|
|
337
|
-
flex-direction: column;
|
|
338
|
-
flex-wrap: nowrap;
|
|
339
|
-
justify-content: space-around;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
.bitpoolInjectList>.red-ui-editableList>.red-ui-editableList-container {
|
|
343
|
-
min-height: 120px !important;
|
|
344
|
-
max-height: none;
|
|
345
|
-
overflow-y: scroll;
|
|
346
|
-
height: 410px !important;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
254
|
/* node-red css */
|
|
350
255
|
|
|
351
256
|
.inject-time-row {
|
|
@@ -799,13 +704,9 @@
|
|
|
799
704
|
document.getElementById("node-input-object_property_simpleWithStatus").onclick = handlePayloadCheckboxClick;
|
|
800
705
|
document.getElementById("node-input-object_property_fullObject").checked = node.object_property_fullObject;
|
|
801
706
|
document.getElementById("node-input-object_property_fullObject").onclick = handlePayloadCheckboxClick;
|
|
802
|
-
|
|
803
707
|
document.getElementById("node-input-useDeviceName").checked = node.useDeviceName;
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
document.getElementById("node-input-doDiscover").onclick = handleCheckboxClick;
|
|
807
|
-
document.getElementById("node-input-doPoll").onclick = handleCheckboxClick;
|
|
808
|
-
|
|
708
|
+
document.getElementById("node-input-doDiscover-button").onclick = handleCheckboxClick;
|
|
709
|
+
document.getElementById("node-input-doPoll-button").onclick = handleCheckboxClick;
|
|
809
710
|
document.getElementById("node-input-json").checked = node.json;
|
|
810
711
|
document.getElementById("node-input-json").onclick = handleMsgTypeClick;
|
|
811
712
|
document.getElementById("node-input-mqtt").checked = node.mqtt;
|
|
@@ -813,14 +714,26 @@
|
|
|
813
714
|
document.getElementById("node-input-pointJson").checked = node.pointJson;
|
|
814
715
|
document.getElementById("node-input-pointJson").onclick = handleMsgTypeClick;
|
|
815
716
|
|
|
816
|
-
|
|
717
|
+
if (document.getElementById("node-input-doPoll").checked) {
|
|
718
|
+
document.getElementById("node-input-doPoll-button").classList.add("activeButton");
|
|
719
|
+
document.getElementById("node-input-doDiscover-button").classList.remove("activeButton");
|
|
720
|
+
} else if (document.getElementById("node-input-doDiscover").checked) {
|
|
721
|
+
document.getElementById("node-input-doDiscover-button").classList.add("activeButton");
|
|
722
|
+
document.getElementById("node-input-doPoll-button").classList.remove("activeButton");
|
|
723
|
+
}
|
|
817
724
|
|
|
818
725
|
function handleCheckboxClick() {
|
|
819
|
-
if (this.id == "node-input-doDiscover") {
|
|
726
|
+
if (this.id == "node-input-doDiscover-button") {
|
|
727
|
+
document.getElementById("node-input-doDiscover").checked = true;
|
|
820
728
|
document.getElementById("node-input-doPoll").checked = false;
|
|
729
|
+
document.getElementById("node-input-doDiscover-button").classList.add("activeButton");
|
|
730
|
+
document.getElementById("node-input-doPoll-button").classList.remove("activeButton");
|
|
821
731
|
}
|
|
822
|
-
if (this.id == "node-input-doPoll") {
|
|
732
|
+
if (this.id == "node-input-doPoll-button") {
|
|
733
|
+
document.getElementById("node-input-doPoll").checked = true;
|
|
823
734
|
document.getElementById("node-input-doDiscover").checked = false;
|
|
735
|
+
document.getElementById("node-input-doPoll-button").classList.add("activeButton");
|
|
736
|
+
document.getElementById("node-input-doDiscover-button").classList.remove("activeButton");
|
|
824
737
|
}
|
|
825
738
|
}
|
|
826
739
|
|