node-red-contrib-web-worldmap 5.1.3 → 5.1.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/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ### Change Log for Node-RED Worldmap
2
2
 
3
- - v5.1.3 - Fix clearlayer for tracks node.
3
+ - v5.1.4 - Fix clearlayer for tracks node.
4
4
  - v5.1.2 - Fix for longer line msg properties.
5
5
  - v5.1.1 - Fix CoT inline image.
6
6
  - v5.1.0 - Let special icons be sizeable using iconSize property.
package/README.md CHANGED
@@ -13,7 +13,7 @@ Feel free to [![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%
13
13
 
14
14
  ### Updates
15
15
 
16
- - v5.1.3 - Fix clearlayer for tracks node.
16
+ - v5.1.4 - Fix clearlayer for tracks node.
17
17
  - v5.1.2 - Fix for longer line msg properties.
18
18
  - v5.1.1 - Fix CoT inline image.
19
19
  - v5.1.0 - Let special icons be sizeable using iconSize property.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-web-worldmap",
3
- "version": "5.1.3",
3
+ "version": "5.1.4",
4
4
  "description": "A Node-RED node to provide a web page of a world map for plotting things on.",
5
5
  "dependencies": {
6
6
  "@turf/bezier-spline": "~7.2.0",
@@ -18,7 +18,7 @@ var menuOpen = false;
18
18
  var clusterAt = 0;
19
19
  var maxage = 900; // default max age of icons on map in seconds - cleared after 15 mins
20
20
  var baselayername = "OSM grey"; // Default base layer OSM but uniform grey
21
- var pagefoot = " © DCJ 2023";
21
+ var pagefoot = " © DCJ 2025";
22
22
  var inIframe = false;
23
23
  var showUserMenu = true;
24
24
  var showLayerMenu = true;
@@ -3346,7 +3346,7 @@ function doGeojson(n,g,l,o,i) { // name, geojson, layer, options, icon
3346
3346
  // handle TAK messages from TAK server tcp - XML->JSON
3347
3347
  function doTAKjson(p) {
3348
3348
  //console.log("TAK event",p);
3349
- if (p.type.indexOf('a-') === 0 || p.type.indexOf('b-m-p-') === 0 || p.type.indexOf('b-a-o-') === 0 || p.type.indexOf('b-a-g') === 0) {
3349
+ if (p?.type && (p.type.indexOf('a-') === 0 || p.type.indexOf('b-m-p-') === 0 || p.type.indexOf('b-a-o-') === 0 || p.type.indexOf('b-a-g') === 0)) {
3350
3350
  var d = {};
3351
3351
  d.name = p.detail?.contact?.callsign || p.uid;
3352
3352
  d.lat = Number(p.point.lat);
@@ -3395,14 +3395,14 @@ function doTAKjson(p) {
3395
3395
  setMarker(d);
3396
3396
  }
3397
3397
  else {
3398
- console.log("Skip TAK type",p.type);
3398
+ console.log("Skip TAK type",p?.type);
3399
3399
  }
3400
3400
  }
3401
3401
 
3402
3402
  // handle TAK messages from TAK Multicast - Protobuf->JSON
3403
3403
  function doTAKMCjson(p) {
3404
3404
  // console.log("TAK Multicast event",p);
3405
- if (p.type.indexOf('a') === 0) {
3405
+ if (p?.type && p.type.indexOf('a') === 0) {
3406
3406
  var d = {};
3407
3407
  d.lat = p.lat;
3408
3408
  d.lon = p.lon;
@@ -3438,7 +3438,7 @@ function doTAKMCjson(p) {
3438
3438
  setMarker(d);
3439
3439
  }
3440
3440
  else {
3441
- console.log("Skip TAK type",p.type);
3441
+ console.log("Skip TAK type",p?.type);
3442
3442
  }
3443
3443
  }
3444
3444
 
package/worldmap.js CHANGED
@@ -402,6 +402,7 @@ module.exports = function(RED) {
402
402
 
403
403
  var doTrack = function(msg) {
404
404
  if (msg.hasOwnProperty("payload") && msg.payload.hasOwnProperty("name")) {
405
+ if (!msg.payload.layer) { msg.payload.layer = "unknown"; }
405
406
  var newmsg = RED.util.cloneMessage(msg);
406
407
  if (msg.payload.deleted) {
407
408
  if (msg.payload.name.substr(-1) === '_') {
@@ -474,9 +475,13 @@ module.exports = function(RED) {
474
475
  newmsg.payload.layer = newmsg.payload.layer.substr(1);
475
476
  }
476
477
  }
477
- if (node.layer === "single") {
478
+ else if (node.layer === "single") {
478
479
  newmsg.payload.layer = "Tracks";
479
480
  }
481
+ else {
482
+ newmsg.payload.layer = msg.payload.layer;
483
+
484
+ }
480
485
  node.send(newmsg); // send the track
481
486
  }
482
487
  }