node-red-contrib-web-worldmap 5.0.3 → 5.0.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 +2 -0
- package/README.md +2 -0
- package/package.json +2 -2
- package/worldmap/worldmap.js +35 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
### Change Log for Node-RED Worldmap
|
|
2
2
|
|
|
3
|
+
- v5.0.5 - Tweak SIDC flag handling slightly.
|
|
4
|
+
- v5.0.4 - Tweak CoT handling slightly.
|
|
3
5
|
- v5.0.3 - Add great context menu example flow. PR#290. Bump express lib. PR#291.
|
|
4
6
|
- v5.0.2 - Fix sidcEdgeIcon docs PR#289.
|
|
5
7
|
- v5.0.1 - Fix isArray error PR #288.
|
package/README.md
CHANGED
|
@@ -13,6 +13,8 @@ Feel free to [ {
|
|
|
2123
2123
|
}
|
|
2124
2124
|
opts.size = opts.size || sz;
|
|
2125
2125
|
opts.size = opts.size * (opts.scale || 1);
|
|
2126
|
-
if (data.SIDC.length > 12) {
|
|
2126
|
+
if (data.SIDC.length > 12 && data.SIDC.substr(12,2) !== "**") {
|
|
2127
2127
|
var cc = data.SIDC.substr(12,2).toLowerCase();
|
|
2128
2128
|
opts.country = cc.toUpperCase();
|
|
2129
2129
|
opts.staffComments = emojify(":flag-"+cc+":") + " " + (opts?.staffComments || "");
|
|
@@ -3319,19 +3319,28 @@ function doTAKjson(p) {
|
|
|
3319
3319
|
d.lon = Number(p.point.lon);
|
|
3320
3320
|
if (p.type.indexOf('a') === 0) {
|
|
3321
3321
|
d.hdg = p.detail?.track?.course;
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3322
|
+
if (p.detail?.track?.speed) {
|
|
3323
|
+
d.speed = Number(p.detail?.track?.speed);
|
|
3324
|
+
if (d.speed == 9999999 || d.speed == 0) { delete d.speed; }
|
|
3325
|
+
else {
|
|
3326
|
+
d.speed = d.speed + " m/s";
|
|
3327
|
+
delete d.hdg;
|
|
3328
|
+
d.course = p.detail?.track?.course;
|
|
3329
|
+
d.options = { direction: d.course };
|
|
3330
|
+
}
|
|
3331
|
+
}
|
|
3332
|
+
if (p.detail?.__group?.name) {
|
|
3333
|
+
d.team = p.detail?.__group?.name;
|
|
3334
|
+
d.team = d.team + ' <i style="color:' + d.team + '" class="fa fa-square"></i>';
|
|
3335
|
+
}
|
|
3325
3336
|
d.role = p.detail?.__group?.role;
|
|
3326
3337
|
}
|
|
3327
|
-
if (d.team == "undefined") { delete d.team; }
|
|
3328
3338
|
d.type = p.type;
|
|
3329
3339
|
d.remarks = p.detail?.remarks
|
|
3330
3340
|
if (p.detail?.remarks && p.detail.remarks.hasOwnProperty["#text"]) {
|
|
3331
3341
|
d.remarks = p.detail.remarks["#text"];
|
|
3332
3342
|
}
|
|
3333
3343
|
d.uid = p.uid;
|
|
3334
|
-
|
|
3335
3344
|
try {
|
|
3336
3345
|
var st = (new Date(p.time)).getTime() / 1000;
|
|
3337
3346
|
var et = (new Date(p.stale)).getTime() / 1000;
|
|
@@ -3340,11 +3349,11 @@ function doTAKjson(p) {
|
|
|
3340
3349
|
d.ttl = parseInt(et-st);
|
|
3341
3350
|
}
|
|
3342
3351
|
catch(e) { console.log(e); }
|
|
3343
|
-
d.alt = Number(p.point.hae) || 9999999;
|
|
3344
|
-
if (d.alt && d.alt == 9999999) { delete d.alt; }
|
|
3345
|
-
if (d.speed && d.speed == 9999999) { delete d.speed; }
|
|
3346
|
-
if (d.hdg && d.hdg == 9999999) { delete d.hdg; }
|
|
3347
3352
|
handleCoTtypes(d,p);
|
|
3353
|
+
d.alt = Number(p.point.hae) || 9999999;
|
|
3354
|
+
if (d?.alt && parseInt(d.alt) == 9999999) { delete d.alt; }
|
|
3355
|
+
else { d.alt = d.alt + "m"; }
|
|
3356
|
+
if (d?.hdg && parseInt(d.hdg) == 9999999) { delete d.hdg; }
|
|
3348
3357
|
setMarker(d);
|
|
3349
3358
|
}
|
|
3350
3359
|
else {
|
|
@@ -3359,26 +3368,35 @@ function doTAKMCjson(p) {
|
|
|
3359
3368
|
var d = {};
|
|
3360
3369
|
d.lat = p.lat;
|
|
3361
3370
|
d.lon = p.lon;
|
|
3362
|
-
|
|
3363
|
-
|
|
3371
|
+
if (p.detail?.__group?.name) {
|
|
3372
|
+
d.team = p.detail?.__group?.name;
|
|
3373
|
+
d.team = d.team + ' <i style="color:' + d.team + '" class="fa fa-square"></i>';
|
|
3374
|
+
}
|
|
3364
3375
|
d.role = p.detail?.group?.role;
|
|
3365
3376
|
d.type = p.type;
|
|
3366
3377
|
d.uid = p.uid;
|
|
3367
3378
|
d.name = p.detail?.contact?.callsign || p.uid;
|
|
3368
3379
|
d.hdg = p.detail?.track?.course;
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3380
|
+
if (p.detail?.track?.speed) {
|
|
3381
|
+
d.speed = Number(p.detail?.track?.speed);
|
|
3382
|
+
if (d.speed == 9999999 || d.speed == 0) { delete d.speed; }
|
|
3383
|
+
else {
|
|
3384
|
+
d.speed = d.speed + " m/s";
|
|
3385
|
+
delete d.hdg;
|
|
3386
|
+
d.course = p.detail?.track?.course;
|
|
3387
|
+
d.options = { direction: d.course };
|
|
3388
|
+
}
|
|
3389
|
+
}
|
|
3372
3390
|
try {
|
|
3373
3391
|
d.timestamp = (new Date(+p.sendTime)).toISOString();
|
|
3374
3392
|
d.staletime = (new Date(+p.staleTime)).toISOString();
|
|
3375
3393
|
d.ttl = parseInt((+p.staleTime / 1000) - (+p.sendTime / 1000));
|
|
3376
3394
|
} catch(e) { console.log(e); }
|
|
3395
|
+
handleCoTtypes(d,p);
|
|
3377
3396
|
d.alt = p.hae || 9999999;
|
|
3378
3397
|
if (d.alt && d.alt == 9999999) { delete d.alt; }
|
|
3379
|
-
|
|
3398
|
+
else { d.alt = d.alt + "m"; }
|
|
3380
3399
|
if (d.hdg && d.hdg == 9999999) { delete d.hdg; }
|
|
3381
|
-
handleCoTtypes(d,p);
|
|
3382
3400
|
setMarker(d);
|
|
3383
3401
|
}
|
|
3384
3402
|
else {
|