From 8447c768b934c6a68c8d4fee566201b075e06f69 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Thu, 14 Mar 2019 23:30:07 +0000 Subject: [PATCH 01/14] Fix pan then lock, unlock then pan. And mouse coordinates at start to close #81 and close #82 --- CHANGELOG.md | 1 + README.md | 1 + worldmap/index.html | 117 +++++++++++++++++++------------------ worldmap/worldmap.appcache | 2 +- 4 files changed, 63 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 206187d..513269a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### Change Log for Node-RED Worldmap + - v1.5.31 - Fix pan first at start, and coords overlay. Issues #81 and #82 - v1.5.30 - Add tooltip option, ability to remove base layer, search on icon, show mouse pointer co-ordinates - v1.5.29 - remove lat/lon from popup if using .popup property. Allow icon to be loaded from http. - v1.5.28 - Tidy up popup location and timing. Auto add countries overlay if no internet. diff --git a/README.md b/README.md index 4c31102..fcbd9b1 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ map web page for plotting "things" on. ### Updates +- v1.5.31 - Fix pan first at start, and coords overlay. Issues #81 and #82 - v1.5.30 - Add .tooltip option, ability to remove base layer, search on icon, show mouse pointer co-ordinates - v1.5.29 - Remove lat/lon from popup if using .popup property. Allow icon to be loaded from http. - v1.5.28 - Tidy up popup location and timing. Auto add countries overlay if no internet. diff --git a/worldmap/index.html b/worldmap/index.html index 2f583f6..ccb17cc 100644 --- a/worldmap/index.html +++ b/worldmap/index.html @@ -133,7 +133,6 @@ var clusterAt = 13; var maxage = 600; // default max age of icons on map in seconds - cleared after 10 mins var baselayername = "OSM grey"; // Default base layer OSM but uniform grey var ibmfoot = " © IBM 2015,2019" -var initialposition = false; var inIframe = false; var showUserMenu = true; var showLayerMenu = true; @@ -221,21 +220,22 @@ document.addEventListener ("keydown", function (ev) { } }); -if ( window.localStorage.hasOwnProperty("lastpos") ) { - initialposition = true; - var sp = JSON.parse(window.localStorage.getItem("lastpos")); - startpos = [ sp.lat, sp.lng ]; -} -if ( window.localStorage.hasOwnProperty("lastzoom") ) { - startzoom = window.localStorage.getItem("lastzoom"); -} -// if ( window.localStorage.hasOwnProperty("clusterat") ) { -// clusterAt = window.localStorage.getItem("clusterat"); -// document.getElementById("setclus").value = clusterAt; -// } -if ( window.localStorage.hasOwnProperty("maxage") ) { - maxage = window.localStorage.getItem("maxage"); - document.getElementById("maxage").value = maxage; +if (showUserMenu) { + if ( window.localStorage.hasOwnProperty("lastpos") ) { + var sp = JSON.parse(window.localStorage.getItem("lastpos")); + startpos = [ sp.lat, sp.lng ]; + } + if ( window.localStorage.hasOwnProperty("lastzoom") ) { + startzoom = window.localStorage.getItem("lastzoom"); + } + // if ( window.localStorage.hasOwnProperty("clusterat") ) { + // clusterAt = window.localStorage.getItem("clusterat"); + // document.getElementById("setclus").value = clusterAt; + // } + if ( window.localStorage.hasOwnProperty("maxage") ) { + maxage = window.localStorage.getItem("maxage"); + document.getElementById("maxage").value = maxage; + } } // Create the Initial Map object. @@ -266,7 +266,7 @@ if (window.self !== window.top) { (document.getElementById("menu").style.borderRadius="6px"); } else { - console.log("NOT in an iframe") + console.log("NOT in an iframe"); // window.onbeforeunload = function(e) { // return 'Reloading will delete all the local markers, including any drawing on the "drawing" layer'; // }; @@ -278,12 +278,10 @@ else { if (!inIframe) { // Add the fullscreen button L.control.fullscreen().addTo(map); - // map.on('fullscreenchange', function () { // if (map.isFullscreen()) { console.log('entered fullscreen') } // else { console.log('exited fullscreen'); } // }); - // Add the locate my position button L.easyButton( 'fa-crosshairs fa-lg', function() { map.locate({setView:true, maxZoom:16}); @@ -873,9 +871,11 @@ overlays["ship nav"] = L.tileLayer('https://tiles.openseamap.org/seamark/{z}/{x} attribution: 'Map data: © OpenSeaMap contributors' }); -if ( window.localStorage.hasOwnProperty("lastlayer") ) { - if ( basemaps[window.localStorage.getItem("lastlayer")] ) { - baselayername = window.localStorage.getItem("lastlayer"); +if (showUserMenu) { + if ( window.localStorage.hasOwnProperty("lastlayer") ) { + if ( basemaps[window.localStorage.getItem("lastlayer")] ) { + baselayername = window.localStorage.getItem("lastlayer"); + } } } basemaps[baselayername].addTo(map); @@ -1456,10 +1456,6 @@ function setMarker(data) { // handle any incoming COMMANDS to control the map remotely function doCommand(cmd) { //console.log("COMMAND",cmd); - // ignore server side initial command if client position already saved. - // if (cmd.hasOwnProperty("init") && initialposition) { - // return; - // } if (cmd.hasOwnProperty("clear")) { doTidyUp(cmd.clear); } @@ -1468,39 +1464,27 @@ function doCommand(cmd) { else { panit = false; } document.getElementById("panit").checked = panit; } - if (cmd.hasOwnProperty("panlock")) { - if (cmd.panlock == "true" || cmd.panlock == true) { lockit = false; } - else { lockit = true; } - doLock(); - document.getElementById("lockit").checked = !lockit; - } if (cmd.hasOwnProperty("hiderightclick")) { if (cmd.hiderightclick == "true" || cmd.hiderightclick == true) { hiderightclick = true; } else { hiderightclick = false; } } - if (cmd.hasOwnProperty("zoomlock")) { - if (cmd.zoomlock == "true" || cmd.zoomlock == true) { - if (map.doubleClickZoom.enabled()) { map.removeControl(map.zoomControl); } - map.doubleClickZoom.disable(); - map.scrollWheelZoom.disable(); - } - else { - if (!map.doubleClickZoom.enabled()) { map.addControl(map.zoomControl); } - map.doubleClickZoom.enable(); - map.scrollWheelZoom.enable(); - } - } if (cmd.hasOwnProperty("showmenu")) { if ((cmd.showmenu === "hide") && (showUserMenu === true)) { showUserMenu = false; - if (menuButton) { - try { map.removeControl(menuButton); } - catch(e) {} + if (inIframe) { + if (menuButton) { + try { map.removeControl(menuButton); } + catch(e) {} + } } + else { document.getElementById("bars").style.display="none"; } } else if ((cmd.showmenu === "show") && (showUserMenu === false)) { showUserMenu = true; - map.addControl(menuButton); + if (inIframe) { + map.addControl(menuButton); + } + else { document.getElementById("bars").style.display="unset"; } } } if (cmd.hasOwnProperty("showlayers")) { @@ -1529,20 +1513,18 @@ function doCommand(cmd) { } } if (cmd.hasOwnProperty("coords")) { - if (cmd.coords === "dms" && showMouseCoords === false) { + try { coords.removeFrom(map); } + catch(e) {} + if (cmd.coords == "dms") { coords.options.useDMS = true; - showMouseCoords = true; + showMouseCoords = "dms"; coords.addTo(map); } - if (cmd.coords === "deg" && showMouseCoords === false) { + if (cmd.coords == "deg") { coords.options.useDMS = false; - showMouseCoords = true; + showMouseCoords = "deg"; coords.addTo(map); } - if (cmd.coords === "none" && showMouseCoords === true) { - showMouseCoords = false - coords.removeFrom(map); - } } var existsalready = false; @@ -1804,12 +1786,21 @@ function doCommand(cmd) { } } } + + if (cmd.hasOwnProperty("panlock")) { + if (cmd.panlock == "true" || cmd.panlock == true) { lockit = false; } + else { lockit = true; doLock(); } + document.getElementById("lockit").checked = !lockit; + } + // move to a new position var clat = map.getCenter().lat; var clon = map.getCenter().lng; var czoom = map.getZoom(); if (cmd.hasOwnProperty("lat")) { clat = cmd.lat; } if (cmd.hasOwnProperty("lon")) { clon = cmd.lon; } if (cmd.hasOwnProperty("zoom")) { czoom = cmd.zoom; } + map.setView([clat,clon],czoom); + if (cmd.hasOwnProperty("cluster")) { clusterAt = cmd.cluster; document.getElementById("setclus").value = cmd.cluster; @@ -1824,7 +1815,19 @@ function doCommand(cmd) { document.getElementById("heatall").checked = !!cmd.heatmap; heat.redraw(); } - map.setView([clat,clon],czoom); + if (cmd.hasOwnProperty("panlock") && lockit === false) { doLock(); } + if (cmd.hasOwnProperty("zoomlock")) { + if (cmd.zoomlock == "true" || cmd.zoomlock == true) { + if (map.doubleClickZoom.enabled()) { map.removeControl(map.zoomControl); } + map.doubleClickZoom.disable(); + map.scrollWheelZoom.disable(); + } + else { + if (!map.doubleClickZoom.enabled()) { map.addControl(map.zoomControl); } + map.doubleClickZoom.enable(); + map.scrollWheelZoom.enable(); + } + } } // handle any incoming GEOJSON directly - may style badly diff --git a/worldmap/worldmap.appcache b/worldmap/worldmap.appcache index e66c8a5..57e5729 100644 --- a/worldmap/worldmap.appcache +++ b/worldmap/worldmap.appcache @@ -1,5 +1,5 @@ CACHE MANIFEST -# date: Mar 2nd 2019 - v1.5.30 +# date: Mar 14th 2019 - v1.5.31 CACHE: index.html From 450ac5f985c1ead0632f0158b39d339c7a7c2572 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Thu, 14 Mar 2019 23:31:06 +0000 Subject: [PATCH 02/14] Update package.json bump package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ab39a0..10d0ecb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-contrib-web-worldmap", - "version": "1.5.30", + "version": "1.5.31", "description": "A Node-RED node to provide a web page of a world map for plotting things on.", "dependencies": { "cgi": "0.3.1", From 23594cfa75ba3f55afc0fb251a8b0942cecb1cc0 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Thu, 14 Mar 2019 23:36:01 +0000 Subject: [PATCH 03/14] Delete no-response.yml --- .github/no-response.yml | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 .github/no-response.yml diff --git a/.github/no-response.yml b/.github/no-response.yml deleted file mode 100644 index c8651f7..0000000 --- a/.github/no-response.yml +++ /dev/null @@ -1,12 +0,0 @@ -# Configuration for probot-no-response - https://github.com/probot/no-response - -# Number of days of inactivity before an Issue is closed for lack of response -daysUntilClose: 30 -# Label requiring a response -responseRequiredLabel: OK to close ? -# Comment to post when closing an Issue for lack of response. Set to `false` to disable -closeComment: > - This issue has been automatically closed because there has been no response - to our request for more information from the original author. - Please reach out if you have or find the answers we need so - that we can investigate further. From 93d7c8e027f2b03981443209bc32b68142b4a5e8 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Fri, 15 Mar 2019 17:00:00 +0000 Subject: [PATCH 04/14] allow customise right click menu --- worldmap/index.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/worldmap/index.html b/worldmap/index.html index ccb17cc..ff7e08f 100644 --- a/worldmap/index.html +++ b/worldmap/index.html @@ -1356,6 +1356,12 @@ function setMarker(data) { delete data.tooltip; } } + // customise right click context menu + var rightcontext = ""; + if (data.contextmenu && (typeof data.contextmenu === "string")) { + rightcontext = data.contextmenu.replace(/$name/g,'\""+'+data.name+'+"\"'); + delete data.contextmenu; + } // Add any remaining properties to the info box var llc = data.lineColor; @@ -1380,7 +1386,7 @@ function setMarker(data) { marker._popup.dname = data.name; marker.lay = lay; // and the layer it is on - var rightmenuMarker = L.popup({offset:[0,-12]}).setContent(""+data.name+"
"); + var rightmenuMarker = L.popup({offset:[0,-12]}).setContent(""+data.name+"
"+rightcontext); marker.on('contextmenu', function(e) { if (hiderightclick !== true) { rightmenuMarker.setLatLng(e.latlng); From ed9815f889bcb10d1da4547fb2b5ebdea0147e14 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Fri, 15 Mar 2019 18:50:37 +0000 Subject: [PATCH 05/14] Fix map lock once and for all... hopefully. Close Websocket onunload. --- worldmap/index.html | 47 +++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/worldmap/index.html b/worldmap/index.html index ff7e08f..b8ab834 100644 --- a/worldmap/index.html +++ b/worldmap/index.html @@ -69,7 +69,7 @@ - +
Node-RED - map all the things @@ -82,9 +82,9 @@   Set Max Age s Cluster at zoom < - Auto Pan Map - Lock Map - Heatmap all layers + Auto Pan Map + Lock Map + Heatmap all layers Help
@@ -310,26 +310,25 @@ document.getElementById('exitHelp').onclick = function() { }; var panit = false; -function doPanit() { - panit = !panit; +function doPanit(v) { + if (v !== undefined) { panit = v; } console.log("Panit set :",panit); } var heatAll = false; -function doHeatAll() { - heatAll = !heatAll; +function doHeatAll(v) { + if (v !== undefined) { heatall = v; } console.log("Heatall set :",heatAll); } var lockit = false; var mb = new L.LatLngBounds([[-120,-360],[120,360]]); -function doLock() { - if (lockit === true) { - lockit = false; +function doLock(v) { + if (v !== undefined) { lockit = v; + if (lockit === false) { mb = new L.LatLngBounds([[-120,-360],[120,360]]); } else { - lockit = true; mb = map.getBounds(); window.localStorage.setItem("lastpos",JSON.stringify(map.getCenter())); window.localStorage.setItem("lastzoom", map.getZoom()); @@ -1386,13 +1385,15 @@ function setMarker(data) { marker._popup.dname = data.name; marker.lay = lay; // and the layer it is on - var rightmenuMarker = L.popup({offset:[0,-12]}).setContent(""+data.name+"
"+rightcontext); - marker.on('contextmenu', function(e) { - if (hiderightclick !== true) { - rightmenuMarker.setLatLng(e.latlng); - map.openPopup(rightmenuMarker); - } - }); + if (rightcontext.length > 0) { + var rightmenuMarker = L.popup({offset:[0,-12]}).setContent(""+data.name+"
"+rightcontext); + marker.on('contextmenu', function(e) { + if (hiderightclick !== true) { + rightmenuMarker.setLatLng(e.latlng); + map.openPopup(rightmenuMarker); + } + }); + } marker.on('click', function(e) { ws.send(JSON.stringify({action:"click",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))})); }); @@ -1794,9 +1795,9 @@ function doCommand(cmd) { } if (cmd.hasOwnProperty("panlock")) { - if (cmd.panlock == "true" || cmd.panlock == true) { lockit = false; } - else { lockit = true; doLock(); } - document.getElementById("lockit").checked = !lockit; + if (cmd.panlock == "true" || cmd.panlock == true) { lockit = true; } + else { lockit = false; doLock(false); } + document.getElementById("lockit").checked = lockit; } // move to a new position var clat = map.getCenter().lat; @@ -1821,7 +1822,7 @@ function doCommand(cmd) { document.getElementById("heatall").checked = !!cmd.heatmap; heat.redraw(); } - if (cmd.hasOwnProperty("panlock") && lockit === false) { doLock(); } + if (cmd.hasOwnProperty("panlock") && lockit === true) { doLock(true); } if (cmd.hasOwnProperty("zoomlock")) { if (cmd.zoomlock == "true" || cmd.zoomlock == true) { if (map.doubleClickZoom.enabled()) { map.removeControl(map.zoomControl); } From 9f54efdb1674d5125d6af0b7f8edb3d066170ce4 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Fri, 15 Mar 2019 19:24:10 +0000 Subject: [PATCH 06/14] Add context menu to README and bump version to 1.5.32 --- .github/no-response.yml | 12 ------------ CHANGELOG.md | 1 + README.md | 2 ++ package.json | 2 +- worldmap/index.html | 2 +- worldmap/worldmap.appcache | 2 +- 6 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 .github/no-response.yml diff --git a/.github/no-response.yml b/.github/no-response.yml deleted file mode 100644 index c8651f7..0000000 --- a/.github/no-response.yml +++ /dev/null @@ -1,12 +0,0 @@ -# Configuration for probot-no-response - https://github.com/probot/no-response - -# Number of days of inactivity before an Issue is closed for lack of response -daysUntilClose: 30 -# Label requiring a response -responseRequiredLabel: OK to close ? -# Comment to post when closing an Issue for lack of response. Set to `false` to disable -closeComment: > - This issue has been automatically closed because there has been no response - to our request for more information from the original author. - Please reach out if you have or find the answers we need so - that we can investigate further. diff --git a/CHANGELOG.md b/CHANGELOG.md index 513269a..2f6516f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### Change Log for Node-RED Worldmap + - v1.5.32 - Add .contextmenu custom right click menu, Fix map lock, Close websocket on unload - v1.5.31 - Fix pan first at start, and coords overlay. Issues #81 and #82 - v1.5.30 - Add tooltip option, ability to remove base layer, search on icon, show mouse pointer co-ordinates - v1.5.29 - remove lat/lon from popup if using .popup property. Allow icon to be loaded from http. diff --git a/README.md b/README.md index fcbd9b1..3347274 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ map web page for plotting "things" on. ### Updates +- v1.5.32 - Add .contextmenu custom right click menu, Fix map lock, Close websocket on unload - v1.5.31 - Fix pan first at start, and coords overlay. Issues #81 and #82 - v1.5.30 - Add .tooltip option, ability to remove base layer, search on icon, show mouse pointer co-ordinates - v1.5.29 - Remove lat/lon from popup if using .popup property. Allow icon to be loaded from http. @@ -68,6 +69,7 @@ Optional properties include - **popup** : html to fill the popup if you don't want the automatic default of the properties list. - **label** : displays the contents as a permanent label next to the marker, or - **tooltip** : displays the contents when you hover over the marker. (Mutually exclusive with label. Label has priority) + - **contextmenu** : an html fragment to display on right click of marker - defaults to delete marker. You can specify `$name` to pass in the name of the marker. Set to `""` to disable. Any other `msg.payload` properties will be added to the icon popup text box. This can be overridden by using the **popup** property to supply your own html content. diff --git a/package.json b/package.json index 10d0ecb..631e9e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-contrib-web-worldmap", - "version": "1.5.31", + "version": "1.5.32", "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 b8ab834..bb301f4 100644 --- a/worldmap/index.html +++ b/worldmap/index.html @@ -324,7 +324,7 @@ function doHeatAll(v) { var lockit = false; var mb = new L.LatLngBounds([[-120,-360],[120,360]]); function doLock(v) { - if (v !== undefined) { lockit = v; + if (v !== undefined) { lockit = v; } if (lockit === false) { mb = new L.LatLngBounds([[-120,-360],[120,360]]); } diff --git a/worldmap/worldmap.appcache b/worldmap/worldmap.appcache index 57e5729..199a0f3 100644 --- a/worldmap/worldmap.appcache +++ b/worldmap/worldmap.appcache @@ -1,5 +1,5 @@ CACHE MANIFEST -# date: Mar 14th 2019 - v1.5.31 +# date: Mar 15th 2019 - v1.5.32 CACHE: index.html From 4a6c05b24faf325a011cf251779fd2c658ab4634 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Sat, 16 Mar 2019 20:02:05 +0000 Subject: [PATCH 07/14] update sockjs library --- worldmap/index.html | 55 +++----- worldmap/leaflet/images/layers-2x.png | Bin 2898 -> 1259 bytes worldmap/leaflet/images/layers.png | Bin 1502 -> 696 bytes worldmap/leaflet/images/marker-icon-2x.png | Bin 4033 -> 2586 bytes worldmap/leaflet/images/marker-icon.png | Bin 1747 -> 1466 bytes worldmap/leaflet/images/marker-shadow.png | Bin 797 -> 618 bytes worldmap/leaflet/images/spritesheet-2x.png | Bin 2078 -> 3581 bytes worldmap/leaflet/images/spritesheet.png | Bin 1056 -> 1906 bytes worldmap/leaflet/images/spritesheet.svg | 156 +++++++++++++++++++++ worldmap/leaflet/sockjs.min.js | 5 +- 10 files changed, 181 insertions(+), 35 deletions(-) create mode 100644 worldmap/leaflet/images/spritesheet.svg diff --git a/worldmap/index.html b/worldmap/index.html index bb301f4..3d34465 100644 --- a/worldmap/index.html +++ b/worldmap/index.html @@ -69,7 +69,7 @@ - +
Node-RED - map all the things @@ -89,7 +89,6 @@
-

Node-RED - Map all the things

@@ -209,13 +208,13 @@ console.log("CONNECT TO",location.pathname + 'socket'); connect(); var onoffline = function() { - if (!navigator.onLine) { map.addLayer(layers["_countries"]); } + if (!navigator.onLine) { map.addLayer(layers["_countries"]); } } +// Set Ctl-Alt-3 to switch to 3d view document.addEventListener ("keydown", function (ev) { - if (ev.ctrlKey && ev.altKey && ev.code === "Digit3") { + if (ev.ctrlKey && ev.altKey && ev.code === "Digit3") { ws.close(); - //window.onbeforeunload = null; window.location.href = "index3d.html"; } }); @@ -278,15 +277,10 @@ else { if (!inIframe) { // Add the fullscreen button L.control.fullscreen().addTo(map); - // map.on('fullscreenchange', function () { - // if (map.isFullscreen()) { console.log('entered fullscreen') } - // else { console.log('exited fullscreen'); } - // }); // Add the locate my position button L.easyButton( 'fa-crosshairs fa-lg', function() { map.locate({setView:true, maxZoom:16}); }, "Locate me").addTo(map); - // Add the measure/ruler button L.Control.measureControl().addTo(map); @@ -299,7 +293,7 @@ if (!inIframe) { else { if (showUserMenu) { menuButton.addTo(map); } } -// Handle the dialog for popup help +// Handle the dialog for help box var dialog = document.querySelector('dialog'); dialogPolyfill.registerDialog(dialog); document.getElementById('showHelp').onclick = function() { @@ -373,7 +367,7 @@ function setMaxAge() { maxage = document.getElementById('maxage').value; if (stale) { clearInterval(stale); } //if (maxage > 0) { - stale = setInterval( function() { doTidyUp() }, 20000); // every 20 secs + stale = setInterval( function() { doTidyUp() }, 20000); // check every 20 secs //} //every minute //console.log("Stale time set :",maxage+"s"); } @@ -394,7 +388,7 @@ function setCluster(v) { showMapCurrentZoom(); } -// Search for markers with names of .... +// Search for markers with names of ... or icons of ... function doSearch() { var value = document.getElementById('search').value; marks = []; @@ -489,18 +483,18 @@ function toggleMenu() { } } -function openMenu(){ - if (!menuOpen) { - menuOpen = true; - document.getElementById("menu").style.display = 'block'; - } +function openMenu() { + if (!menuOpen) { + menuOpen = true; + document.getElementById("menu").style.display = 'block'; + } } -function closeMenu(){ - if (menuOpen) { - menuOpen = false; - document.getElementById("menu").style.display = 'none'; - } +function closeMenu() { + if (menuOpen) { + menuOpen = false; + document.getElementById("menu").style.display = 'none'; + } } document.getElementById("menu").style.display = 'none'; @@ -533,7 +527,6 @@ map.on('overlayadd', function(e) { clrHeat.addTo(map); } if (e.name == "day/night") { - //console.log("add daynight"); layers["_daynight"].addLayer(L.terminator()); } if (e.name == "drawing") { @@ -551,14 +544,12 @@ map.on('overlayremove', function(e) { clrHeat.removeFrom(map); } if (e.name == "day/night") { - //console.log("del daynight"); layers["_daynight"].clearLayers(); } if (e.name == "drawing") { //map.removeControl(colorControl); map.removeControl(drawControl); } - //else console.log("layer del :",e.name); ws.send(JSON.stringify({action:"dellayer", name:e.name})); }); @@ -809,11 +800,6 @@ overlays["countries"] = layers["_countries"]; layers["_daynight"] = new L.LayerGroup(); overlays["day/night"] = layers["_daynight"]; -// Add the heatmap layer -var heat = L.heatLayer([], {radius:60, gradient:{0.2:'blue', 0.4:'lime', 0.6:'red', 0.8:'yellow', 1:'white'}}); -layers["_heat"] = new L.LayerGroup().addLayer(heat); -overlays["heatmap"] = layers["_heat"]; - // Add the drawing layer for fun... layers["_drawing"] = new L.FeatureGroup(); overlays["drawing"] = layers["_drawing"]; @@ -822,7 +808,7 @@ var drawControl = new L.Control.Draw({ polyline: { shapeOptions: { clickable:false } }, marker: false, circle: false, - //circle: { shapeOptions: { clickable:false } }, + // circle: { shapeOptions: { clickable:false } }, rectangle: { shapeOptions: { clickable:true } }, polygon: { shapeOptions: { clickable:true } }, }, @@ -841,7 +827,12 @@ map.on('draw:created', function (e) { layers["_drawing"].addLayer(layer); }); +// Add the heatmap layer +var heat = L.heatLayer([], {radius:60, gradient:{0.2:'blue', 0.4:'lime', 0.6:'red', 0.8:'yellow', 1:'white'}}); +layers["_heat"] = new L.LayerGroup().addLayer(heat); +overlays["heatmap"] = layers["_heat"]; +// Add the buildings layer overlays["buildings"] = new OSMBuildings(map).load(); map.removeLayer(overlays["buildings"]); // Hide it at start diff --git a/worldmap/leaflet/images/layers-2x.png b/worldmap/leaflet/images/layers-2x.png index a2cf7f9efef65d2e021f382f47ef50d51d51a0df..200c333dca9652ac4cba004d609e5af4eee168c1 100644 GIT binary patch delta 1250 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 R9gYA1002ovPDHLkV1kmEP{RNK delta 1495 zcmV;|1t|Ks1>Osg8Gi-<005~MzCV_|S*E^l&Yo9;Xs000GBNkl!>2O#u)-K)t-b7_ z4;_qQVO+!wMxifbbbXMOZa$PzSqGbO(wN3ZhpEBbgrat>S~Xe|bN~GIP~y~S)o#Dn z?>Xmle&?LuA3`a`e%7T+mk0oKb#?8_k?aT5+uK{?cDvsNfK)2=Lq|u)#QzHF?(Qyb zY-~K^a=Dt#W`8pPV0CpB>2x|AjYe;Fc6L7h&!E1(zLV9})u*ghYw33S?Ck9Fgo=++wEZ(=B3H#x{g#TB~MOH_MSa^c4|)`Ns{=6hK6>J$8)^2 zw3OYbQA&$)x!mgjU^1EhAcSN$>dVW^nk>r$u~@866o1A1j-Xq&ZZo_Fkad)d~E z^7(wNq9`qtQX>EmLe>lh!w}E&<6CWKW@etrvi#%e)2E}GK-aEatEjE5J>zn@4)Z*} zX^WbsRjjS8ozQjt;C3Zp80Igd(fB*dvU6J!Bk6Q{bbNgL=DBm{=E&{ax8L%5y>AGD zVA@h9!++Y^TC=LE^#ESpBtYjlZp>&jh6y3cMqy!LA(u=he`Vcn_jgXGb4d^cy&x)z z;>qQ5Z|S=31VDCy007Z-{h+FT)INYo#%4dX9ik_aH*K}R)TU}i} ze(cyW;`Mr8f$`5uCX={#?;bUq%>xX>w4XnJevw3@(UX+Ys{s5dGZ9oU=UWT zb=_xfZVr)1gt9C<$n$*rg$oy+kvn(pv;w#apnhd#1@U+s<>lo#a^whj{>9)?N)eC8 zAtgtbeTH zIIfuIdD!iCWV2aBqfrdC8xVVVc)>hc<_H~FX%NQCOLV0;P zYHDg=G#U$VGCVw7OD^UcnH-d5xs+0RnSW49A&O!#fXf`moeBg3oFEAPg7w0}0uqS?91aKS z>+9DiP}g;gjg4VyY6?D|4}u_UgiqeTe?Oxr$}a#umn7-=rrTQ-#X11r2!en>AQ0d< zuC&mjbUKZvPoE+X2mk;^Mn+IsSqYcRwO&3=(^g}#*znxk90l;PBuRf3Vt@bZJrYHc z0C=AeBKmy3#j2{RmV%bcAKzn;9E(OHU-}Cg%w4y z9Ke@Gqw#Ps7_=4_7gud(m(6BpB9X|WY&JU%;8RJG=C`xk_0J%RVjCgkE1S)hsjI7N zVHm~;0F+WS9*+-BPfwdErBI!cB!ylUXHUN%Q4~1X*U3L xOOmAS7Gq!kI#Cpz0KNu50em7!(xbil{tcM#ah;kQ-Ddy*002ovPDHLkV1nd}%zyv@ diff --git a/worldmap/leaflet/images/marker-icon-2x.png b/worldmap/leaflet/images/marker-icon-2x.png index 0015b6495fa458ad39d51cb4b913430016f48d33..e4abba3b511d14752426e8cbadae03c1e5fe15fb 100644 GIT binary patch literal 2586 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 UQO-*oc+)|Q_08}VdXD6O0C*xx%>V!Z literal 4033 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 P015yANkvXXu0mjfxmjuc diff --git a/worldmap/leaflet/images/spritesheet-2x.png b/worldmap/leaflet/images/spritesheet-2x.png index 1525c9f698ed277b39e7bb19a99309cf4f536a46..c45231aff86b1344333414cdfa7a2a74d38d5304 100644 GIT binary patch literal 3581 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 diff --git a/worldmap/leaflet/images/spritesheet.png b/worldmap/leaflet/images/spritesheet.png index f7035a1cb0294a91eaedd98d2cbc0de6264eb4f9..97d71c68052d4dc47cfd05292616d63db451d1cd 100644 GIT binary patch literal 1906 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 z*~UutGtV_xUY7VI7_NL2W(Pime9pta^!fq-00000000000000000000000000H`3p a1Q-A)p~XwR_AF)q0000 diff --git a/worldmap/leaflet/images/spritesheet.svg b/worldmap/leaflet/images/spritesheet.svg new file mode 100644 index 0000000..3c00f30 --- /dev/null +++ b/worldmap/leaflet/images/spritesheet.svg @@ -0,0 +1,156 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/worldmap/leaflet/sockjs.min.js b/worldmap/leaflet/sockjs.min.js index e086e13..499982c 100644 --- a/worldmap/leaflet/sockjs.min.js +++ b/worldmap/leaflet/sockjs.min.js @@ -1,4 +1,3 @@ -/* sockjs-client v1.1.4 | http://sockjs.org | MIT license */ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.SockJS=t()}}(function(){var t;return function t(e,n,r){function i(s,a){if(!n[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[s]={exports:{}};e[s][0].call(c.exports,function(t){var n=e[s][1][t];return i(n||t)},c,c.exports,t,e,n,r)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s1?this._listeners[t]=n.slice(0,r).concat(n.slice(r+1)):delete this._listeners[t]):void 0}},r.prototype.dispatchEvent=function(){var t=arguments[0],e=t.type,n=1===arguments.length?[t]:Array.apply(null,arguments);if(this["on"+e]&&this["on"+e].apply(this,n),e in this._listeners)for(var r=this._listeners[e],i=0;i=3e3&&t<=4999}t("./shims");var o,s=t("url-parse"),a=t("inherits"),l=t("json3"),u=t("./utils/random"),c=t("./utils/escape"),f=t("./utils/url"),h=t("./utils/event"),d=t("./utils/transport"),p=t("./utils/object"),v=t("./utils/browser"),m=t("./utils/log"),b=t("./event/event"),y=t("./event/eventtarget"),g=t("./location"),w=t("./event/close"),x=t("./event/trans-message"),_=t("./info-receiver");a(r,y),r.prototype.close=function(t,e){if(t&&!i(t))throw new Error("InvalidAccessError: Invalid code");if(e&&e.length>123)throw new SyntaxError("reason argument has an invalid length");if(this.readyState!==r.CLOSING&&this.readyState!==r.CLOSED){this._close(t||1e3,e||"Normal closure",!0)}},r.prototype.send=function(t){if("string"!=typeof t&&(t=""+t),this.readyState===r.CONNECTING)throw new Error("InvalidStateError: The connection has not been established yet");this.readyState===r.OPEN&&this._transport.send(c.quote(t))},r.version=t("./version"),r.CONNECTING=0,r.OPEN=1,r.CLOSING=2,r.CLOSED=3,r.prototype._receiveInfo=function(t,e){if(this._ir=null,!t)return void this._close(1002,"Cannot connect to server");this._rto=this.countRTO(e),this._transUrl=t.base_url?t.base_url:this.url,t=p.extend(t,this._urlInfo);var n=o.filterToEnabled(this._transportsWhitelist,t);this._transports=n.main,this._transports.length,this._connect()},r.prototype._connect=function(){for(var t=this._transports.shift();t;t=this._transports.shift()){if(t.transportName,t.needBody&&(!n.document.body||void 0!==n.document.readyState&&"complete"!==n.document.readyState&&"interactive"!==n.document.readyState))return this._transports.unshift(t),void h.attachEvent("load",this._connect.bind(this));var e=this._rto*t.roundTrips||5e3;this._transportTimeoutId=setTimeout(this._transportTimeout.bind(this),e);var r=f.addPath(this._transUrl,"/"+this._server+"/"+this._generateSessionId()),i=this._transportOptions[t.transportName],o=new t(r,this._transUrl,i);return o.on("message",this._transportMessage.bind(this)),o.once("close",this._transportClose.bind(this)),o.transportName=t.transportName,void(this._transport=o)}this._close(2e3,"All transports failed",!1)},r.prototype._transportTimeout=function(){this.readyState===r.CONNECTING&&this._transportClose(2007,"Transport timed out")},r.prototype._transportMessage=function(t){var e,n=this,r=t.slice(0,1),i=t.slice(1);switch(r){case"o":return void this._open();case"h":return this.dispatchEvent(new b("heartbeat")),void this.transport}if(i)try{e=l.parse(i)}catch(t){}if(void 0!==e)switch(r){case"a":Array.isArray(e)&&e.forEach(function(t){n.transport,n.dispatchEvent(new x(t))});break;case"m":this.transport,this.dispatchEvent(new x(e));break;case"c":Array.isArray(e)&&2===e.length&&this._close(e[0],e[1],!0)}},r.prototype._transportClose=function(t,e){if(this.transport,this._transport&&(this._transport.removeAllListeners(),this._transport=null,this.transport=null),!i(t)&&2e3!==t&&this.readyState===r.CONNECTING)return void this._connect();this._close(t,e)},r.prototype._open=function(){this._transport.transportName,this.readyState,this.readyState===r.CONNECTING?(this._transportTimeoutId&&(clearTimeout(this._transportTimeoutId),this._transportTimeoutId=null),this.readyState=r.OPEN,this.transport=this._transport.transportName,this.dispatchEvent(new b("open")),this.transport):this._close(1006,"Server lost session")},r.prototype._close=function(t,e,n){this.transport,this.readyState;var i=!1;if(this._ir&&(i=!0,this._ir.close(),this._ir=null),this._transport&&(this._transport.close(),this._transport=null,this.transport=null),this.readyState===r.CLOSED)throw new Error("InvalidStateError: SockJS has already been closed");this.readyState=r.CLOSING,setTimeout(function(){this.readyState=r.CLOSED,i&&this.dispatchEvent(new b("error"));var o=new w("close");o.wasClean=n||!1,o.code=t||1e3,o.reason=e,this.dispatchEvent(o),this.onmessage=this.onclose=this.onerror=null}.bind(this),0)},r.prototype.countRTO=function(t){return t>100?4*t:300+t},e.exports=function(e){return o=d(e),t("./iframe-bootstrap")(r,e),r}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./event/close":2,"./event/event":4,"./event/eventtarget":5,"./event/trans-message":6,"./iframe-bootstrap":8,"./info-receiver":12,"./location":13,"./shims":15,"./utils/browser":44,"./utils/escape":45,"./utils/event":46,"./utils/log":48,"./utils/object":49,"./utils/random":50,"./utils/transport":51,"./utils/url":52,"./version":53,"debug":void 0,"inherits":54,"json3":55,"url-parse":58}],15:[function(t,e,n){"use strict";function r(t){var e=+t;return e!==e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function i(t){return t>>>0}function o(){}var s,a=Array.prototype,l=Object.prototype,u=Function.prototype,c=String.prototype,f=a.slice,h=l.toString,d=function(t){return"[object Function]"===l.toString.call(t)},p=function(t){return"[object Array]"===h.call(t)},v=function(t){return"[object String]"===h.call(t)},m=Object.defineProperty&&function(){try{return Object.defineProperty({},"x",{}),!0}catch(t){return!1}}();s=m?function(t,e,n,r){!r&&e in t||Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(t,e,n,r){!r&&e in t||(t[e]=n)};var b=function(t,e,n){for(var r in e)l.hasOwnProperty.call(e,r)&&s(t,r,e[r],n)},y=function(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return Object(t)};b(u,{bind:function(t){var e=this;if(!d(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var n=f.call(arguments,1),r=function(){if(this instanceof l){var r=e.apply(this,n.concat(f.call(arguments)));return Object(r)===r?r:this}return e.apply(t,n.concat(f.call(arguments)))},i=Math.max(0,e.length-n.length),s=[],a=0;a>>0;if(!d(t))throw new TypeError;for(;++i>>0;if(!n)return-1;var i=0;for(arguments.length>1&&(i=r(arguments[1])),i=i>=0?i:Math.max(0,n+i);i1?function(){var t=void 0===/()??/.exec("")[1];c.split=function(e,n){var r=this;if(void 0===e&&0===n)return[];if("[object RegExp]"!==h.call(e))return _.call(this,e,n);var o,s,l,u,c=[],f=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":""),d=0;for(e=new RegExp(e.source,f+"g"),r+="",t||(o=new RegExp("^"+e.source+"$(?!\\s)",f)),n=void 0===n?-1>>>0:i(n);(s=e.exec(r))&&!((l=s.index+s[0].length)>d&&(c.push(r.slice(d,s.index)),!t&&s.length>1&&s[0].replace(o,function(){for(var t=1;t1&&s.index=n));)e.lastIndex===s.index&&e.lastIndex++;return d===r.length?!u&&e.test("")||c.push(""):c.push(r.slice(d)),c.length>n?c.slice(0,n):c}}():"0".split(void 0,0).length&&(c.split=function(t,e){return void 0===t&&0===e?[]:_.call(this,t,e)});var E=c.substr,j="".substr&&"b"!=="0b".substr(-1);b(c,{substr:function(t,e){return E.call(this,t<0&&(t=this.length+t)<0?0:t,e)}},j)},{}],16:[function(t,e,n){"use strict";e.exports=[t("./transport/websocket"),t("./transport/xhr-streaming"),t("./transport/xdr-streaming"),t("./transport/eventsource"),t("./transport/lib/iframe-wrap")(t("./transport/eventsource")),t("./transport/htmlfile"),t("./transport/lib/iframe-wrap")(t("./transport/htmlfile")),t("./transport/xhr-polling"),t("./transport/xdr-polling"),t("./transport/lib/iframe-wrap")(t("./transport/xhr-polling")),t("./transport/jsonp-polling")]},{"./transport/eventsource":20,"./transport/htmlfile":21,"./transport/jsonp-polling":23,"./transport/lib/iframe-wrap":26,"./transport/websocket":38,"./transport/xdr-polling":39,"./transport/xdr-streaming":40,"./transport/xhr-polling":41,"./transport/xhr-streaming":42}],17:[function(t,e,n){(function(n){"use strict";function r(t,e,n,r){var o=this;i.call(this),setTimeout(function(){o._start(t,e,n,r)},0)}var i=t("events").EventEmitter,o=t("inherits"),s=t("../../utils/event"),a=t("../../utils/url"),l=n.XMLHttpRequest;o(r,i),r.prototype._start=function(t,e,n,i){var o=this;try{this.xhr=new l}catch(t){}if(!this.xhr)return this.emit("finish",0,"no xhr support"),void this._cleanup();e=a.addQuery(e,"t="+ +new Date),this.unloadRef=s.unloadAdd(function(){o._cleanup(!0)});try{this.xhr.open(t,e,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){o.emit("finish",0,""),o._cleanup(!1)})}catch(t){return this.emit("finish",0,""),void this._cleanup(!1)}if(i&&i.noCredentials||!r.supportsCORS||(this.xhr.withCredentials="true"),i&&i.headers)for(var u in i.headers)this.xhr.setRequestHeader(u,i.headers[u]);this.xhr.onreadystatechange=function(){if(o.xhr){var t,e,n=o.xhr;switch(n.readyState,n.readyState){case 3:try{e=n.status,t=n.responseText}catch(t){}1223===e&&(e=204),200===e&&t&&t.length>0&&o.emit("chunk",e,t);break;case 4:e=n.status,1223===e&&(e=204),12005!==e&&12029!==e||(e=0),n.responseText,o.emit("finish",e,n.responseText),o._cleanup(!1)}}};try{o.xhr.send(n)}catch(t){o.emit("finish",0,""),o._cleanup(!1)}},r.prototype._cleanup=function(t){if(this.xhr){if(this.removeAllListeners(),s.unloadDel(this.unloadRef),this.xhr.onreadystatechange=function(){},this.xhr.ontimeout&&(this.xhr.ontimeout=null),t)try{this.xhr.abort()}catch(t){}this.unloadRef=this.xhr=null}},r.prototype.close=function(){this._cleanup(!0)},r.enabled=!!l;var u=["Active"].concat("Object").join("X");!r.enabled&&u in n&&(l=function(){try{return new n[u]("Microsoft.XMLHTTP")}catch(t){return null}},r.enabled=!!new l);var c=!1;try{c="withCredentials"in new l}catch(t){}r.supportsCORS=c,e.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/event":46,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],18:[function(t,e,n){(function(t){e.exports=t.EventSource}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],19:[function(t,e,n){(function(t){"use strict";var n=t.WebSocket||t.MozWebSocket;e.exports=n?function(t){return new n(t)}:void 0}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],20:[function(t,e,n){"use strict";function r(t){if(!r.enabled())throw new Error("Transport created when disabled");o.call(this,t,"/eventsource",s,a)}var i=t("inherits"),o=t("./lib/ajax-based"),s=t("./receiver/eventsource"),a=t("./sender/xhr-cors"),l=t("eventsource");i(r,o),r.enabled=function(){return!!l},r.transportName="eventsource",r.roundTrips=2,e.exports=r},{"./lib/ajax-based":24,"./receiver/eventsource":29,"./sender/xhr-cors":35,"eventsource":18,"inherits":54}],21:[function(t,e,n){"use strict";function r(t){if(!o.enabled)throw new Error("Transport created when disabled");a.call(this,t,"/htmlfile",o,s)}var i=t("inherits"),o=t("./receiver/htmlfile"),s=t("./sender/xhr-local"),a=t("./lib/ajax-based");i(r,a),r.enabled=function(t){return o.enabled&&t.sameOrigin},r.transportName="htmlfile",r.roundTrips=2,e.exports=r},{"./lib/ajax-based":24,"./receiver/htmlfile":30,"./sender/xhr-local":37,"inherits":54}],22:[function(t,e,n){"use strict";function r(t,e,n){if(!r.enabled())throw new Error("Transport created when disabled");s.call(this);var i=this;this.origin=l.getOrigin(n),this.baseUrl=n,this.transUrl=e,this.transport=t,this.windowId=f.string(8);var o=l.addPath(n,"/iframe.html")+"#"+this.windowId;this.iframeObj=u.createIframe(o,function(t){i.emit("close",1006,"Unable to load an iframe ("+t+")"),i.close()}),this.onmessageCallback=this._message.bind(this),c.attachEvent("message",this.onmessageCallback)}var i=t("inherits"),o=t("json3"),s=t("events").EventEmitter,a=t("../version"),l=t("../utils/url"),u=t("../utils/iframe"),c=t("../utils/event"),f=t("../utils/random");i(r,s),r.prototype.close=function(){if(this.removeAllListeners(),this.iframeObj){c.detachEvent("message",this.onmessageCallback);try{this.postMessage("c")}catch(t){}this.iframeObj.cleanup(),this.iframeObj=null,this.onmessageCallback=this.iframeObj=null}},r.prototype._message=function(t){if(t.data,!l.isOriginEqual(t.origin,this.origin))return t.origin,void this.origin;var e;try{e=o.parse(t.data)}catch(e){return void t.data}if(e.windowId!==this.windowId)return e.windowId,void this.windowId;switch(e.type){case"s":this.iframeObj.loaded(),this.postMessage("s",o.stringify([a,this.transport,this.transUrl,this.baseUrl]));break;case"t":this.emit("message",e.data);break;case"c":var n;try{n=o.parse(e.data)}catch(t){return void e.data}this.emit("close",n[0],n[1]),this.close()}},r.prototype.postMessage=function(t,e){this.iframeObj.post(o.stringify({windowId:this.windowId,type:t,data:e||""}),this.origin)},r.prototype.send=function(t){this.postMessage("m",t)},r.enabled=function(){return u.iframeEnabled},r.transportName="iframe",r.roundTrips=2,e.exports=r},{"../utils/event":46,"../utils/iframe":47,"../utils/random":50,"../utils/url":52,"../version":53,"debug":void 0,"events":3,"inherits":54,"json3":55}],23:[function(t,e,n){(function(n){"use strict";function r(t){if(!r.enabled())throw new Error("Transport created when disabled");o.call(this,t,"/jsonp",a,s)}var i=t("inherits"),o=t("./lib/sender-receiver"),s=t("./receiver/jsonp"),a=t("./sender/jsonp");i(r,o),r.enabled=function(){return!!n.document},r.transportName="jsonp-polling",r.roundTrips=1,r.needBody=!0,e.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/sender-receiver":28,"./receiver/jsonp":31,"./sender/jsonp":33,"inherits":54}],24:[function(t,e,n){"use strict";function r(t){return function(e,n,r){var i={};"string"==typeof n&&(i.headers={"Content-type":"text/plain"});var o=s.addPath(e,"/xhr_send"),a=new t("POST",o,n,i);return a.once("finish",function(t){if(a=null,200!==t&&204!==t)return r(new Error("http status "+t));r()}),function(){a.close(),a=null;var t=new Error("Aborted");t.code=1e3,r(t)}}}function i(t,e,n,i){a.call(this,t,e,r(i),n,i)}var o=t("inherits"),s=t("../../utils/url"),a=t("./sender-receiver");o(i,a),e.exports=i},{"../../utils/url":52,"./sender-receiver":28,"debug":void 0,"inherits":54}],25:[function(t,e,n){"use strict";function r(t,e){o.call(this),this.sendBuffer=[],this.sender=e,this.url=t}var i=t("inherits"),o=t("events").EventEmitter;i(r,o),r.prototype.send=function(t){this.sendBuffer.push(t),this.sendStop||this.sendSchedule()},r.prototype.sendScheduleWait=function(){var t,e=this;this.sendStop=function(){e.sendStop=null,clearTimeout(t)},t=setTimeout(function(){e.sendStop=null,e.sendSchedule()},25)},r.prototype.sendSchedule=function(){this.sendBuffer.length;var t=this;if(this.sendBuffer.length>0){var e="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,e,function(e){t.sendStop=null,e?(t.emit("close",e.code||1006,"Sending error: "+e),t.close()):t.sendScheduleWait()}),this.sendBuffer=[]}},r.prototype._cleanup=function(){this.removeAllListeners()},r.prototype.close=function(){this._cleanup(),this.sendStop&&(this.sendStop(),this.sendStop=null)},e.exports=r},{"debug":void 0,"events":3,"inherits":54}],26:[function(t,e,n){(function(n){"use strict";var r=t("inherits"),i=t("../iframe"),o=t("../../utils/object");e.exports=function(t){function e(e,n){i.call(this,t.transportName,e,n)}return r(e,i),e.enabled=function(e,r){if(!n.document)return!1;var s=o.extend({},r);return s.sameOrigin=!0,t.enabled(s)&&i.enabled()},e.transportName="iframe-"+t.transportName,e.needBody=!0,e.roundTrips=i.roundTrips+t.roundTrips-1,e.facadeTransport=t,e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/object":49,"../iframe":22,"inherits":54}],27:[function(t,e,n){"use strict";function r(t,e,n){o.call(this),this.Receiver=t,this.receiveUrl=e,this.AjaxObject=n,this._scheduleReceiver()}var i=t("inherits"),o=t("events").EventEmitter;i(r,o),r.prototype._scheduleReceiver=function(){var t=this,e=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);e.on("message",function(e){t.emit("message",e)}),e.once("close",function(n,r){t.pollIsClosing,t.poll=e=null,t.pollIsClosing||("network"===r?t._scheduleReceiver():(t.emit("close",n||1006,r),t.removeAllListeners()))})},r.prototype.abort=function(){this.removeAllListeners(),this.pollIsClosing=!0,this.poll&&this.poll.abort()},e.exports=r},{"debug":void 0,"events":3,"inherits":54}],28:[function(t,e,n){"use strict";function r(t,e,n,r,i){var l=o.addPath(t,e),u=this;s.call(this,t,n),this.poll=new a(r,l,i),this.poll.on("message",function(t){u.emit("message",t)}),this.poll.once("close",function(t,e){u.poll=null,u.emit("close",t,e),u.close()})}var i=t("inherits"),o=t("../../utils/url"),s=t("./buffered-sender"),a=t("./polling");i(r,s),r.prototype.close=function(){s.prototype.close.call(this),this.removeAllListeners(),this.poll&&(this.poll.abort(),this.poll=null)},e.exports=r},{"../../utils/url":52,"./buffered-sender":25,"./polling":27,"debug":void 0,"inherits":54}],29:[function(t,e,n){"use strict";function r(t){o.call(this);var e=this,n=this.es=new s(t);n.onmessage=function(t){t.data,e.emit("message",decodeURI(t.data))},n.onerror=function(t){n.readyState;var r=2!==n.readyState?"network":"permanent";e._cleanup(),e._close(r)}}var i=t("inherits"),o=t("events").EventEmitter,s=t("eventsource");i(r,o),r.prototype.abort=function(){this._cleanup(),this._close("user")},r.prototype._cleanup=function(){var t=this.es;t&&(t.onmessage=t.onerror=null,t.close(),this.es=null)},r.prototype._close=function(t){var e=this;setTimeout(function(){e.emit("close",null,t),e.removeAllListeners()},200)},e.exports=r},{"debug":void 0,"events":3,"eventsource":18,"inherits":54}],30:[function(t,e,n){(function(n){"use strict";function r(t){a.call(this);var e=this;o.polluteGlobalNamespace(),this.id="a"+l.string(6),t=s.addQuery(t,"c="+decodeURIComponent(o.WPrefix+"."+this.id)),r.htmlfileEnabled;var i=r.htmlfileEnabled?o.createHtmlfile:o.createIframe;n[o.WPrefix][this.id]={start:function(){e.iframeObj.loaded()},message:function(t){e.emit("message",t)},stop:function(){e._cleanup(),e._close("network")}},this.iframeObj=i(t,function(){e._cleanup(),e._close("permanent")})}var i=t("inherits"),o=t("../../utils/iframe"),s=t("../../utils/url"),a=t("events").EventEmitter,l=t("../../utils/random");i(r,a),r.prototype.abort=function(){this._cleanup(),this._close("user")},r.prototype._cleanup=function(){this.iframeObj&&(this.iframeObj.cleanup(),this.iframeObj=null),delete n[o.WPrefix][this.id]},r.prototype._close=function(t){this.emit("close",null,t),this.removeAllListeners()},r.htmlfileEnabled=!1;var u=["Active"].concat("Object").join("X");if(u in n)try{r.htmlfileEnabled=!!new n[u]("htmlfile")}catch(t){}r.enabled=r.htmlfileEnabled||o.iframeEnabled,e.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],31:[function(t,e,n){(function(n){"use strict";function r(t){var e=this;u.call(this),i.polluteGlobalNamespace(),this.id="a"+o.string(6);var s=a.addQuery(t,"c="+encodeURIComponent(i.WPrefix+"."+this.id));n[i.WPrefix][this.id]=this._callback.bind(this),this._createScript(s),this.timeoutId=setTimeout(function(){e._abort(new Error("JSONP script loaded abnormally (timeout)"))},r.timeout)}var i=t("../../utils/iframe"),o=t("../../utils/random"),s=t("../../utils/browser"),a=t("../../utils/url"),l=t("inherits"),u=t("events").EventEmitter;l(r,u),r.prototype.abort=function(){if(n[i.WPrefix][this.id]){var t=new Error("JSONP user aborted read");t.code=1e3,this._abort(t)}},r.timeout=35e3,r.scriptErrorTimeout=1e3,r.prototype._callback=function(t){this._cleanup(),this.aborting||(t&&this.emit("message",t),this.emit("close",null,"network"),this.removeAllListeners())},r.prototype._abort=function(t){this._cleanup(),this.aborting=!0,this.emit("close",t.code,t.message),this.removeAllListeners()},r.prototype._cleanup=function(){if(clearTimeout(this.timeoutId),this.script2&&(this.script2.parentNode.removeChild(this.script2),this.script2=null),this.script){var t=this.script;t.parentNode.removeChild(t),t.onreadystatechange=t.onerror=t.onload=t.onclick=null,this.script=null}delete n[i.WPrefix][this.id]},r.prototype._scriptError=function(){var t=this;this.errorTimer||(this.errorTimer=setTimeout(function(){t.loadedOkay||t._abort(new Error("JSONP script loaded abnormally (onerror)"))},r.scriptErrorTimeout))},r.prototype._createScript=function(t){var e,r=this,i=this.script=n.document.createElement("script");if(i.id="a"+o.string(8),i.src=t,i.type="text/javascript",i.charset="UTF-8",i.onerror=this._scriptError.bind(this),i.onload=function(){ -r._abort(new Error("JSONP script loaded abnormally (onload)"))},i.onreadystatechange=function(){if(i.readyState,/loaded|closed/.test(i.readyState)){if(i&&i.htmlFor&&i.onclick){r.loadedOkay=!0;try{i.onclick()}catch(t){}}i&&r._abort(new Error("JSONP script loaded abnormally (onreadystatechange)"))}},void 0===i.async&&n.document.attachEvent)if(s.isOpera())e=this.script2=n.document.createElement("script"),e.text="try{var a = document.getElementById('"+i.id+"'); if(a)a.onerror();}catch(x){};",i.async=e.async=!1;else{try{i.htmlFor=i.id,i.event="onclick"}catch(t){}i.async=!0}void 0!==i.async&&(i.async=!0);var a=n.document.getElementsByTagName("head")[0];a.insertBefore(i,a.firstChild),e&&a.insertBefore(e,a.firstChild)},e.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/browser":44,"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],32:[function(t,e,n){"use strict";function r(t,e){o.call(this);var n=this;this.bufferPosition=0,this.xo=new e("POST",t,null),this.xo.on("chunk",this._chunkHandler.bind(this)),this.xo.once("finish",function(t,e){n._chunkHandler(t,e),n.xo=null;var r=200===t?"network":"permanent";n.emit("close",null,r),n._cleanup()})}var i=t("inherits"),o=t("events").EventEmitter;i(r,o),r.prototype._chunkHandler=function(t,e){if(200===t&&e)for(var n=-1;;this.bufferPosition+=n+1){var r=e.slice(this.bufferPosition);if(-1===(n=r.indexOf("\n")))break;var i=r.slice(0,n);i&&this.emit("message",i)}},r.prototype._cleanup=function(){this.removeAllListeners()},r.prototype.abort=function(){this.xo&&(this.xo.close(),this.emit("close",null,"user"),this.xo=null),this._cleanup()},e.exports=r},{"debug":void 0,"events":3,"inherits":54}],33:[function(t,e,n){(function(n){"use strict";function r(t){try{return n.document.createElement('