diff --git a/CHANGELOG.md b/CHANGELOG.md
index f8e0cb0..468f542 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,7 @@
### Change Log for Node-RED Worldmap
+ - v1.5.7 - tidy up sidc entry, and drag-ability of nodes on drawing layer.
+ - v1.5.6 - Add search command and clear search functionality.
- v1.5.5 - Allow multiple overlays to be enabled at once - Issue #53
- v1.5.4 - Allow remote update of the split position via `msg.command.split`
- v1.5.3 - Add side by side mode (via `msg.command` only).
diff --git a/README.md b/README.md
index 9eb4430..3e1d23b 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,7 @@ map web page for plotting "things" on.
### Updates
+- v1.5.7 - tidy up sidc entry, and drag-ability of nodes on drawing layer.
- v1.5.6 - Add search command and clear search functionality.
- v1.5.5 - Allow multiple overlays to be enabled at once - Issue #53
- v1.5.4 - Allow remote update of the split position via `msg.command.split`
diff --git a/package.json b/package.json
index 02fb374..b623a27 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "node-red-contrib-web-worldmap",
- "version": "1.5.6",
+ "version": "1.5.7",
"description": "A Node-RED node to provide a web page of a world map for plotting things on.",
"dependencies": {
"cgi": "0.3.1",
diff --git a/worldmap/index.html b/worldmap/index.html
index bbe7491..4b7ea18 100644
--- a/worldmap/index.html
+++ b/worldmap/index.html
@@ -573,13 +573,13 @@ var addThing = function() {
map.closePopup();
var bits = thing.split(",");
var icon = (bits[1] || "circle").trim();
- var lay = (bits[2] || "drawing").trim();
+ var lay = (bits[2] || "_drawing").trim();
var colo = (bits[3] || "#910000").trim();
var drag = true;
- var regi = /^[S,G,E,I,O][A-Z]{4}.*/; // if it looks like a SIDC code
+ var regi = /^[S,G,E,I,O][A-Z]{4}.*/i; // if it looks like a SIDC code
var d = {action:"point", name:bits[0].trim(), layer:lay, draggable:drag, lat:rclk.lat, lon:rclk.lng};
if (regi.test(icon)) {
- d.SIDC = (icon+"------------").substr(0,12);
+ d.SIDC = (icon.toUpperCase()+"------------").substr(0,12);
}
else {
d.icon = icon;
@@ -1123,7 +1123,7 @@ function setMarker(data) {
}
else if (data.hasOwnProperty("SIDC")) {
// "SIDC":"SFGPU------E***","name":"1.C2 komp","fullname":"1.C2 komp/FTS/INSS"
- myMarker = new ms.Symbol( data.SIDC, { uniqueDesignation:data.name });
+ myMarker = new ms.Symbol( data.SIDC.toUpperCase(), { uniqueDesignation:data.name });
// Now that we have a symbol we can ask for the echelon and set the symbol size
var opts = data.options || {};
opts.size = opts.size || iconSz[myMarker.getProperties().echelon] || 30;
@@ -1166,14 +1166,13 @@ function setMarker(data) {
marker.name = data.name;
if (data.icon) { marker.icon = data.icon; }
if (data.iconCOlor) { marker.iconColor = data.iconColor; }
- if (data.SIDC) { marker.SIDC = data.SIDC; }
+ if (data.SIDC) { marker.SIDC = data.SIDC.toUpperCase(); }
marker.on('dragend', function (e) {
- var l = marker.getLatLng().toString().replace('Lng(',', Lon : ').replace(')','')
- marker.setPopupContent(marker.getPopup().getContent().split("Lat, Lon")[0] + l);
- ws.send(JSON.stringify({action:"move",name:marker.name,layer:marker.lay,icon:marker.icon,iconColor:marker.iconColor,SIDC:marker.SIDC,lat:parseFloat(marker.getLatLng().lat.toFixed(6)),lon:parseFloat(marker.getLatLng().lng.toFixed(6))}));
+ var l = marker.getLatLng().toString().replace('LatLng(','lat, lon : ').replace(')','')
+ marker.setPopupContent(marker.getPopup().getContent().split("lat, lon")[0] + l);
+ ws.send(JSON.stringify({action:"move",name:marker.name,layer:marker.lay,icon:marker.icon,iconColor:marker.iconColor,SIDC:marker.SIDC,draggable:true,lat:parseFloat(marker.getLatLng().lat.toFixed(6)),lon:parseFloat(marker.getLatLng().lng.toFixed(6))}));
});
}
- if (data.draggable) { delete data.draggable; }
// remove icon from list of properties, then add all others to popup
if (data.hasOwnProperty("SIDC") && data.hasOwnProperty("options")) { delete data.options; }
@@ -1221,6 +1220,7 @@ function setMarker(data) {
// Add any remaining properties to the info box
delete data.lat;
delete data.lon;
+ if (data.draggable) { delete data.draggable; }
for (var i in data) {
if ((i != "name") && (i != "length")) {
if (typeof data[i] === "object") {
@@ -1231,7 +1231,7 @@ function setMarker(data) {
}
}
words = data.popup || words;
- marker.bindPopup(words + marker.getLatLng().toString().replace('Lng(',', Lon : ').replace(')',''), {keepInView:true, minWidth:348});
+ marker.bindPopup(words + marker.getLatLng().toString().replace('LatLng(','lat, lon : ').replace(')',''), {keepInView:true, minWidth:250});
marker._popup.dname = data.name;
marker.lay = lay; // and the layer it is on
var rightmenuMarker = L.popup().setContent(""+data.name+" ");