node-red-contrib-mobius-flow-base 2.5.86-beta.103 → 2.5.86-beta.106

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.
@@ -237,41 +237,86 @@ module.exports = function (RED) {
237
237
  */
238
238
  node.updateNodeStatus = function (mobiusNode) {
239
239
  node.users[mobiusNode.id] = mobiusNode;
240
- switch (node.users[mobiusNode.id].statusType) {
241
- case 'timeSinceLastActive':
242
- node.users[mobiusNode.id].status(
243
- node.buildLastActiveTimeStatus(node.users[mobiusNode.id].lastActiveTime)
244
- );
245
- case 'lastUri':
246
- const uri = node.users[mobiusNode.id].latestUri;
247
- if (uri !== '') {
248
- node.users[mobiusNode.id].status({
249
- fill: 'green',
250
- shape: 'dot',
251
- text: uri,
252
- });
253
- }
240
+ if (!node.users[mobiusNode.id].inError) {
241
+ console.log(node.users[mobiusNode.id].statusType);
242
+ switch (node.users[mobiusNode.id].statusType) {
243
+ case 'timeSinceLastActive':
244
+ node.users[mobiusNode.id].status(
245
+ node.buildLastActiveTimeStatus(node.users[mobiusNode.id].lastActiveTime)
246
+ );
247
+ case 'lastUri':
248
+ const uri = node.users[mobiusNode.id].latestUri;
249
+ if (uri !== '' && uri !== undefined) {
250
+ node.users[mobiusNode.id].status({
251
+ fill: 'green',
252
+ shape: 'dot',
253
+ text: uri,
254
+ });
255
+ }
256
+ case 'lastValue':
257
+ const value = node.users[mobiusNode.id].latestValue;
258
+ if (value !== '' && value !== undefined) {
259
+ node.users[mobiusNode.id].status({
260
+ fill: 'green',
261
+ shape: 'dot',
262
+ text: value,
263
+ });
264
+ }
265
+ }
266
+ } else {
267
+ node.users[mobiusNode.id].status({
268
+ fill: 'green',
269
+ shape: 'dot',
270
+ text: node.users[mobiusNode.id].latestErrMessage,
271
+ });
254
272
  }
255
273
  };
256
274
 
257
- /**
258
- * Update a given node's node latest URI record
259
- * @param {Object} mobiusNode - The node whos last URI record is to be updated
260
- */
261
- node.updateLatestUri = function (mobiusNode, uri) {
262
- node.users[mobiusNode.id] = mobiusNode;
263
- node.users[mobiusNode.id].latestUri = uri;
264
- node.updateNodeStatus(mobiusNode);
265
- };
266
-
267
- /**
268
- * Update a given node's node last active time
269
- * @param {Object} mobiusNode - The node whos last active time is to be updated
270
- */
271
- node.updateLastActiveTime = function (mobiusNode) {
272
- node.users[mobiusNode.id] = mobiusNode;
273
- node.users[mobiusNode.id].lastActiveTime = Date.now();
274
- node.updateNodeStatus(mobiusNode);
275
+ // Information update functions to be used by node status
276
+ node.update = {
277
+ /**
278
+ * Update a given node's node last active time
279
+ * @param {Object} mobiusNode - The node whos last active time is to be updated
280
+ */
281
+ lastActiveTime: (mobiusNode) => {
282
+ node.users[mobiusNode.id] = mobiusNode;
283
+ node.users[mobiusNode.id].lastActiveTime = Date.now();
284
+ node.users[mobiusNode.id].inError = false;
285
+ node.updateNodeStatus(mobiusNode);
286
+ },
287
+ /**
288
+ * Update a given node's node latest URI record
289
+ * @param {Object} mobiusNode - The node whos last URI record is to be updated
290
+ * @param {string} uri - The latest uri to be sent by the node
291
+ */
292
+ latestUri: (mobiusNode, uri) => {
293
+ node.users[mobiusNode.id] = mobiusNode;
294
+ node.users[mobiusNode.id].latestUri = uri;
295
+ node.users[mobiusNode.id].inError = false;
296
+ node.updateNodeStatus(mobiusNode);
297
+ },
298
+ /**
299
+ * Update a given node's node latest URI record
300
+ * @param {Object} mobiusNode - The node whos last URI record is to be updated
301
+ * @param {number} value - The latest value to be sent by the node
302
+ */
303
+ latestValue: (mobiusNode, value) => {
304
+ node.users[mobiusNode.id] = mobiusNode;
305
+ node.users[mobiusNode.id].latestValue = value;
306
+ node.users[mobiusNode.id].inError = false;
307
+ node.updateNodeStatus(mobiusNode);
308
+ },
309
+ /**
310
+ * Update a given node's node latest URI record
311
+ * @param {Object} mobiusNode - The node whos last URI record is to be updated
312
+ * @param {number} value - The latest value to be sent by the node
313
+ */
314
+ errMessage: (mobiusNode, message) => {
315
+ node.users[mobiusNode.id] = mobiusNode;
316
+ node.users[mobiusNode.id].latestErrMessage = message;
317
+ node.users[mobiusNode.id].inError = true;
318
+ node.updateNodeStatus(mobiusNode);
319
+ },
275
320
  };
276
321
 
277
322
  /**
@@ -280,6 +325,7 @@ module.exports = function (RED) {
280
325
  */
281
326
  node.register = function (mobiusNode) {
282
327
  node.users[mobiusNode.id] = mobiusNode;
328
+ node.users[mobiusNode.id].inError = false;
283
329
  if (node.connected) {
284
330
  node.users[mobiusNode.id].status({
285
331
  fill: 'green',
@@ -54,8 +54,8 @@ POSSIBILITY OF SUCH DAMAGE.
54
54
  </div>
55
55
  <hr>
56
56
  <div class="form-row">
57
- <label for="node-input-statusType" style="width: 160px;"><i class="fa fa-bars"></i> Status Display</label>
58
- <select type="text" id="node-input-statusType" style="display: inline-block; width: 260px; vertical-align: center;">
57
+ <label for="node-input-statusType" style="width: 135px;"><i class="fa fa-square" style="color:##55aa88"></i> Status Display</label>
58
+ <select type="text" id="node-input-statusType" style="display: inline-block; width: 287px; vertical-align: center;">
59
59
  <option value="timeSinceLastActive">Show time since last active</option>
60
60
  <option value="lastUri">Show last URI</option>
61
61
  </select>
@@ -36,7 +36,6 @@ module.exports = function (RED) {
36
36
  this.format = n.format;
37
37
  this.include = n.include;
38
38
  this.serviceConn = RED.nodes.getNode(n.connection);
39
- this.latestUri = '';
40
39
  this.statusType = n.statusType;
41
40
  var node = this;
42
41
 
@@ -47,8 +46,8 @@ module.exports = function (RED) {
47
46
  text: 'Disconnected',
48
47
  });
49
48
  node.serviceConn.subscribeToObjectCOV(node.object, this.id, (response) => {
50
- node.serviceConn.updateLatestUri(node, response.uri);
51
- node.serviceConn.updateLastActiveTime(node);
49
+ node.serviceConn.update.latestUri(node, response.uri);
50
+ node.serviceConn.update.lastActiveTime(node);
52
51
  let allResources = _.keyBy(
53
52
  response.value.resources,
54
53
  node.format === 'name' ? 'name' : 'rid'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-mobius-flow-base",
3
- "version": "2.5.86-beta.103",
3
+ "version": "2.5.86-beta.106",
4
4
  "description": "Node-RED base nodes for Mobius Flow",
5
5
  "main": "index.js",
6
6
  "types": "dist/index.d.ts",