diff --git a/plugins/draw-tools.user.js b/plugins/draw-tools.user.js index 4305e04a..a8f48f92 100644 --- a/plugins/draw-tools.user.js +++ b/plugins/draw-tools.user.js @@ -304,14 +304,11 @@ window.plugin.drawTools.import = function(data) { } if (layer) { window.plugin.drawTools.drawnItems.addLayer(layer); - map.fireEvent('draw:created', { // will trigger 'layerCreated' - layer: layer, - layerType: item.type - }); } }); runHooks('pluginDrawTools', {event: 'import'}); + } @@ -389,7 +386,7 @@ window.plugin.drawTools.optPaste = function() { var data = JSON.parse(promptAction); window.plugin.drawTools.drawnItems.clearLayers(); window.plugin.drawTools.import(data); - console.log('DRAWTOOLS: reset and pasted drawn items'); + console.log('DRAWTOOLS: reset and imported drawn tiems'); window.plugin.drawTools.optAlert('Import Successful.'); // to write back the data to localStorage @@ -421,16 +418,15 @@ window.plugin.drawTools.optImport = function() { } window.plugin.drawTools.optReset = function() { - if(!confirm('All drawn items will be deleted. Are you sure?', '')) return; - - map.fireEvent('draw:deleted', {layers: L.layerGroup(window.plugin.drawTools.drawnItems.getLayers())}); - - delete localStorage['plugin-draw-tools-layer']; - window.plugin.drawTools.drawnItems.clearLayers(); - window.plugin.drawTools.load(); - console.log('DRAWTOOLS: reset all drawn items'); - window.plugin.drawTools.optAlert('Reset Successful. '); - runHooks('pluginDrawTools', {event: 'clear'}); + var promptAction = confirm('All drawn items will be deleted. Are you sure?', ''); + if(promptAction) { + delete localStorage['plugin-draw-tools-layer']; + window.plugin.drawTools.drawnItems.clearLayers(); + window.plugin.drawTools.load(); + console.log('DRAWTOOLS: reset all drawn items'); + window.plugin.drawTools.optAlert('Reset Successful. '); + runHooks('pluginDrawTools', {event: 'clear'}); + } } window.plugin.drawTools.snapToPortals = function() { @@ -481,7 +477,6 @@ window.plugin.drawTools.snapToPortals = function() { }; - var changedLayers = L.layerGroup(); var changedCount = 0; var testCount = 0; @@ -493,9 +488,8 @@ window.plugin.drawTools.snapToPortals = function() { testCount++; var newll = findClosestPortalLatLng(ll); if (!newll.equals(ll)) { - layer.setLatLng(newll.wrap()); // create a copy + layer.setLatLng(newll); changedCount++; - changedLayers.addLayer(layer); } } } else if (layer.getLatLngs) { @@ -506,7 +500,7 @@ window.plugin.drawTools.snapToPortals = function() { testCount++; var newll = findClosestPortalLatLng(lls[i]); if (!newll.equals(lls[i])) { - lls[i] = newll.wrap(); // create a copy + lls[i] = newll; changedCount++; layerChanged = true; } @@ -514,16 +508,17 @@ window.plugin.drawTools.snapToPortals = function() { } if (layerChanged) { layer.setLatLngs(lls); - changedLayers.addLayer(layer); } } }); if(changedCount > 0) { - map.fireEvent('draw:edited', {layers: changedLayers}); // will trigger 'layersEdited' + runHooks('pluginDrawTools',{event:'layersSnappedToPortals'}); //or should we send 'layersEdited'? as that's effectively what's happened... } alert('Tested '+testCount+' points, and moved '+changedCount+' onto portal coordinates'); + + window.plugin.drawTools.save(); } window.plugin.drawTools.boot = function() {