From eab9e49b205214d55fc3b72e6fa9e702ba31e540 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:00:07 +1100 Subject: [PATCH 01/13] add edit tracking on poly edit when edit fired --- src/edit/handler/Edit.Poly.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/edit/handler/Edit.Poly.js b/src/edit/handler/Edit.Poly.js index 502f19d7d..22f6e454e 100644 --- a/src/edit/handler/Edit.Poly.js +++ b/src/edit/handler/Edit.Poly.js @@ -90,6 +90,7 @@ L.Edit.Poly = L.Handler.extend({ }, _fireEdit: function () { + this._poly.edited = true; this._poly.fire('edit'); }, From 0d6eae5d53484c23e15b3df3a66ef3022e5a667a Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:00:43 +1100 Subject: [PATCH 02/13] Find edited layers and pass through to draw:edited event --- src/edit/handler/EditToolbar.Edit.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index b195d002c..9c7b39d0c 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -95,8 +95,18 @@ L.EditToolbar.Edit = L.Handler.extend({ }, save: function () { - // TODO: pass on the edited layers - this._map.fire('draw:edited'); + var editedLayers = new L.LayerGroup(); + this._featureGroup.eachLayer(function (layer) { + if (layer.edited) { + editedLayers.addLayer(layer); + } + }); + this._map.fire('draw:edited', {layerGroup: editedLayers}); + + //reset all layers back to unedited + editedLayers.eachLayer(function (layer) { + layer.edited = false; + }); }, _backupLayer: function (layer) { @@ -195,6 +205,7 @@ L.EditToolbar.Edit = L.Handler.extend({ _disableLayerEdit: function (e) { var layer = e.layer || e.target || e; + layer.edited = false; // Reset layer styles to that of before select if (layer instanceof L.Marker) { From dd4495bda8a84f53a331e2d7c40f681ca7682f2f Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:01:32 +1100 Subject: [PATCH 03/13] refactor superfluous loop --- src/edit/handler/EditToolbar.Edit.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index 9c7b39d0c..66fb87bfc 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -99,14 +99,10 @@ L.EditToolbar.Edit = L.Handler.extend({ this._featureGroup.eachLayer(function (layer) { if (layer.edited) { editedLayers.addLayer(layer); + layer.edited = false; } }); this._map.fire('draw:edited', {layerGroup: editedLayers}); - - //reset all layers back to unedited - editedLayers.eachLayer(function (layer) { - layer.edited = false; - }); }, _backupLayer: function (layer) { From d037d05ad1701fdd39e677555e3304ad318a1705 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:01:56 +1100 Subject: [PATCH 04/13] Reset edited flag when layer is reverted --- src/edit/handler/EditToolbar.Edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index 66fb87bfc..5e22b4402 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -129,7 +129,7 @@ L.EditToolbar.Edit = L.Handler.extend({ _revertLayer: function (layer) { var id = L.Util.stamp(layer); - + layer.edited = false; if (this._uneditedLayerProps.hasOwnProperty(id)) { // Polyline, Polygon or Rectangle if (layer instanceof L.Polyline || layer instanceof L.Polygon || layer instanceof L.Rectangle) { From 1dcf04dd4f20e3568ccc060ca2e8fa0e61044144 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:02:47 +1100 Subject: [PATCH 05/13] change layerGroup to layers to keep consistent with draw:deleted event --- src/edit/handler/EditToolbar.Edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index 5e22b4402..28dda1754 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -102,7 +102,7 @@ L.EditToolbar.Edit = L.Handler.extend({ layer.edited = false; } }); - this._map.fire('draw:edited', {layerGroup: editedLayers}); + this._map.fire('draw:edited', {layers: editedLayers}); }, _backupLayer: function (layer) { From 8a6b263a26f87ad5aad6ae1bd780f555fde7bde4 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:03:45 +1100 Subject: [PATCH 06/13] add edit tracking on marker when editing enabled --- src/edit/handler/EditToolbar.Edit.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index 28dda1754..ba4deb396 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -194,6 +194,7 @@ L.EditToolbar.Edit = L.Handler.extend({ if (layer instanceof L.Marker) { layer.dragging.enable(); + layer.edited = true; } else { layer.editing.enable(); } From f55ad1c7aa6858b55ffbb1b8d86ab3fdef5f58b7 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:04:06 +1100 Subject: [PATCH 07/13] set markers to edited on dragend --- src/edit/handler/EditToolbar.Edit.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index ba4deb396..b573bd052 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -194,7 +194,7 @@ L.EditToolbar.Edit = L.Handler.extend({ if (layer instanceof L.Marker) { layer.dragging.enable(); - layer.edited = true; + layer.on('dragend',this._onMarkerDragEnd); } else { layer.editing.enable(); } @@ -216,11 +216,17 @@ L.EditToolbar.Edit = L.Handler.extend({ if (layer instanceof L.Marker) { layer.dragging.disable(); + layer.off('dragend', this._onMarkerDragEnd) } else { layer.editing.disable(); } }, + _onMarkerDragEnd: function (e) { + var layer = e.target; + layer.edited = true; + }, + _onMouseMove: function (e) { this._tooltip.updatePosition(e.latlng); } From 695601b1e1c1a9d4a5cbbb29bed2737ca359048e Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:06:46 +1100 Subject: [PATCH 08/13] Add draw:edit example into basic example --- examples/basic.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/examples/basic.html b/examples/basic.html index fac97755b..83fdc1fa5 100644 --- a/examples/basic.html +++ b/examples/basic.html @@ -88,6 +88,15 @@ drawnItems.addLayer(layer); }); + map.on('draw:edited', function (e) { + var layers = e.layers; + var countOfEditedLayers = 0; + layers.eachLayer(function(layer) { + countOfEditedLayers++; + }); + console.log("Edited " + countOfEditedLayers + " layers"); + }); + L.DomUtil.get('changeColor').onclick = function () { drawControl.setDrawingOptions({ rectangle: { shapeOptions: { color: '#004a80' } } }); }; From 3f4f44a0e0d294cba61f1b7a2203765c33c2e65f Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:08:38 +1100 Subject: [PATCH 09/13] add edit tracking into simple shape --- src/edit/handler/Edit.SimpleShape.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/edit/handler/Edit.SimpleShape.js b/src/edit/handler/Edit.SimpleShape.js index 2ad8f065e..74eaa7ee3 100644 --- a/src/edit/handler/Edit.SimpleShape.js +++ b/src/edit/handler/Edit.SimpleShape.js @@ -102,6 +102,11 @@ L.Edit.SimpleShape = L.Handler.extend({ marker.setOpacity(0); }, + _fireEdit: function () { + this._shape.edited = true; + this._shape.fire('edit'); + }, + _onMarkerDrag: function (e) { var marker = e.target, latlng = marker.getLatLng(); From fac140fbf229de6b0f723768ea04ed684a78db96 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 16:10:21 +1100 Subject: [PATCH 10/13] fire edit for simple shape drag end --- src/edit/handler/Edit.SimpleShape.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/edit/handler/Edit.SimpleShape.js b/src/edit/handler/Edit.SimpleShape.js index 74eaa7ee3..27548c898 100644 --- a/src/edit/handler/Edit.SimpleShape.js +++ b/src/edit/handler/Edit.SimpleShape.js @@ -125,6 +125,7 @@ L.Edit.SimpleShape = L.Handler.extend({ marker.setOpacity(1); this._shape.fire('edit'); + this._fireEdit(); }, _move: function () { From 5469df6610834806e99707715ad39b44c25a183b Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 18:44:50 +1100 Subject: [PATCH 11/13] remove line --- src/Toolbar.js | 8 +++---- src/draw/DrawToolbar.js | 4 ++-- src/draw/handler/Draw.Feature.js | 4 ++-- src/draw/handler/Draw.Marker.js | 8 +++---- src/draw/handler/Draw.Polygon.js | 2 +- src/draw/handler/Draw.Polyline.js | 32 +++++++++++++------------- src/draw/handler/Draw.Rectangle.js | 2 +- src/draw/handler/Draw.SimpleShape.js | 2 +- src/edit/EditToolbar.js | 4 ++-- src/edit/handler/Edit.Rectangle.js | 2 +- src/edit/handler/EditToolbar.Delete.js | 2 +- src/edit/handler/EditToolbar.Edit.js | 4 ++-- src/ext/Polyline.Intersect.js | 2 +- 13 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/Toolbar.js b/src/Toolbar.js index b4d72d5c0..23af335a6 100644 --- a/src/Toolbar.js +++ b/src/Toolbar.js @@ -15,7 +15,7 @@ L.Toolbar = L.Class.extend({ disable: function () { if (!this.enabled()) { return; } - + this._activeMode.handler.disable(); }, @@ -103,7 +103,7 @@ L.Toolbar = L.Class.extend({ if (this._activeMode && this._activeMode.handler.enabled()) { this._activeMode.handler.disable(); } - + // Cache new active feature this._activeMode = this._modes[e.handler]; @@ -156,7 +156,7 @@ L.Toolbar = L.Class.extend({ buttonHeight = 26, // TODO: this should be calculated borderHeight = 1, // TODO: this should also be calculated toolbarPosition = (buttonIndex * buttonHeight) + (buttonIndex * borderHeight) - 1; - + // Correctly position the cancel button this._actionsContainer.style.top = toolbarPosition + 'px'; @@ -164,7 +164,7 @@ L.Toolbar = L.Class.extend({ L.DomUtil.addClass(this._toolbarContainer, 'leaflet-draw-toolbar-notop'); L.DomUtil.addClass(this._actionsContainer, 'leaflet-draw-actions-top'); } - + if (buttonIndex === lastButtonIndex) { L.DomUtil.addClass(this._toolbarContainer, 'leaflet-draw-toolbar-nobottom'); L.DomUtil.addClass(this._actionsContainer, 'leaflet-draw-actions-bottom'); diff --git a/src/draw/DrawToolbar.js b/src/draw/DrawToolbar.js index 131465cde..935f26b62 100644 --- a/src/draw/DrawToolbar.js +++ b/src/draw/DrawToolbar.js @@ -21,7 +21,7 @@ L.DrawToolbar = L.Toolbar.extend({ initialize: function (options) { L.Toolbar.prototype.initialize.call(this, options); }, - + addToolbar: function (map) { var container = L.DomUtil.create('div', 'leaflet-draw-section'), buttonIndex = 0, @@ -87,7 +87,7 @@ L.DrawToolbar = L.Toolbar.extend({ context: this } ]); - + // Add draw and cancel containers to the control container container.appendChild(this._toolbarContainer); container.appendChild(this._actionsContainer); diff --git a/src/draw/handler/Draw.Feature.js b/src/draw/handler/Draw.Feature.js index 27f956f20..32ea2de36 100644 --- a/src/draw/handler/Draw.Feature.js +++ b/src/draw/handler/Draw.Feature.js @@ -22,7 +22,7 @@ L.Draw.Feature = L.Handler.extend({ L.Handler.prototype.enable.call(this); this.fire('enabled', { handler: this.type }); - + this._map.fire('draw:drawstart', { layerType: this.type }); }, @@ -35,7 +35,7 @@ L.Draw.Feature = L.Handler.extend({ this._map.fire('draw:drawstop', { layerType: this.type }); }, - + addHooks: function () { if (this._map) { L.DomUtil.disableTextSelection(); diff --git a/src/draw/handler/Draw.Marker.js b/src/draw/handler/Draw.Marker.js index 9462f4d8e..e8fdc711a 100644 --- a/src/draw/handler/Draw.Marker.js +++ b/src/draw/handler/Draw.Marker.js @@ -14,10 +14,10 @@ L.Draw.Marker = L.Draw.Feature.extend({ L.Draw.Feature.prototype.initialize.call(this, map, options); }, - + addHooks: function () { L.Draw.Feature.prototype.addHooks.call(this); - + if (this._map) { this._tooltip.updateContent({ text: 'Click map to place marker.' }); @@ -44,7 +44,7 @@ L.Draw.Marker = L.Draw.Feature.extend({ removeHooks: function () { L.Draw.Feature.prototype.removeHooks.call(this); - + if (this._map) { if (this._marker) { this._marker.off('click', this._onClick); @@ -67,7 +67,7 @@ L.Draw.Marker = L.Draw.Feature.extend({ this._tooltip.updatePosition(latlng); this._mouseMarker.setLatLng(latlng); - + if (!this._marker) { this._marker = new L.Marker(latlng, { icon: this.options.icon, diff --git a/src/draw/handler/Draw.Polygon.js b/src/draw/handler/Draw.Polygon.js index 0927dc1b8..6ac401f40 100644 --- a/src/draw/handler/Draw.Polygon.js +++ b/src/draw/handler/Draw.Polygon.js @@ -20,7 +20,7 @@ L.Draw.Polygon = L.Draw.Polyline.extend({ initialize: function (map, options) { L.Draw.Polyline.prototype.initialize.call(this, map, options); - + // Save the type so super can fire, need to do this as cannot do this.TYPE :( this.type = L.Draw.Polygon.TYPE; }, diff --git a/src/draw/handler/Draw.Polyline.js b/src/draw/handler/Draw.Polyline.js index 72ba79ab6..959856f18 100644 --- a/src/draw/handler/Draw.Polyline.js +++ b/src/draw/handler/Draw.Polyline.js @@ -39,7 +39,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ L.Draw.Feature.prototype.initialize.call(this, map, options); }, - + addHooks: function () { L.Draw.Feature.prototype.addHooks.call(this); if (this._map) { @@ -85,7 +85,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ this._clearHideErrorTimeout(); this._cleanUpShape(); - + // remove markers from map this._map.removeLayer(this._markerGroup); delete this._markerGroup; @@ -123,11 +123,11 @@ L.Draw.Polyline = L.Draw.Feature.extend({ _shapeIsValid: function () { return true; }, - + _onZoomEnd: function () { this._updateGuide(); }, - + _onMouseMove: function (e) { var newPos = e.layerPoint, latlng = e.latlng; @@ -138,7 +138,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ // Update the label this._tooltip.updatePosition(latlng); - + // Update the guide line this._updateGuide(newPos); @@ -171,7 +171,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ this._updateMarkerHandler(); this._vertexAdded(latlng); - + this._clearGuides(); }, @@ -180,29 +180,29 @@ L.Draw.Polyline = L.Draw.Feature.extend({ if (this._markers.length > 1) { this._markers[this._markers.length - 1].on('click', this._finishShape, this); } - + // Remove the old marker click handler (as only the last point should close the polyline) if (this._markers.length > 2) { this._markers[this._markers.length - 2].off('click', this._finishShape); } }, - + _createMarker: function (latlng) { var marker = new L.Marker(latlng, { icon: this.options.icon, zIndexOffset: this.options.zIndexOffset * 2 }); - + this._markerGroup.addLayer(marker); return marker; }, - + _updateGuide: function (newPos) { newPos = newPos || this._map.latLngToLayerPoint(this._currentLatLng); - + var markerCount = this._markers.length; - + if (markerCount > 0) { // Update the tooltip text, as long it's not showing and error if (!this._errorShown) { @@ -217,7 +217,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ ); } }, - + _drawGuide: function (pointA, pointB) { var length = Math.floor(Math.sqrt(Math.pow((pointB.x - pointA.x), 2) + Math.pow((pointB.y - pointA.y), 2))), i, @@ -229,7 +229,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ if (!this._guidesContainer) { this._guidesContainer = L.DomUtil.create('div', 'leaflet-draw-guides', this._overlayPane); } - + //draw a dash every GuildeLineDistance for (i = this.options.guidelineDistance; i < length; i += this.options.guidelineDistance) { //work out fraction along line we are @@ -281,7 +281,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ distance = this._measurementRunningTotal + this._currentLatLng.distanceTo(this._markers[this._markers.length - 1].getLatLng()); // show metres when distance is < 1km, then show km distanceStr = distance > 1000 ? (distance / 1000).toFixed(2) + ' km' : Math.ceil(distance) + ' m'; - + if (this._markers.length === 1) { labelText = { text: 'Click to continue drawing line.', @@ -318,7 +318,7 @@ L.Draw.Polyline = L.Draw.Feature.extend({ this._errorShown = false; this._clearHideErrorTimeout(); - + // Revert tooltip this._tooltip .removeError() diff --git a/src/draw/handler/Draw.Rectangle.js b/src/draw/handler/Draw.Rectangle.js index 2737fdf4a..e74b88cbb 100644 --- a/src/draw/handler/Draw.Rectangle.js +++ b/src/draw/handler/Draw.Rectangle.js @@ -22,7 +22,7 @@ L.Draw.Rectangle = L.Draw.SimpleShape.extend({ L.Draw.SimpleShape.prototype.initialize.call(this, map, options); }, - + _initialLabelText: 'Click and drag to draw rectangle.', _drawShape: function (latlng) { diff --git a/src/draw/handler/Draw.SimpleShape.js b/src/draw/handler/Draw.SimpleShape.js index 192b567f9..e026b8779 100644 --- a/src/draw/handler/Draw.SimpleShape.js +++ b/src/draw/handler/Draw.SimpleShape.js @@ -61,7 +61,7 @@ L.Draw.SimpleShape = L.Draw.Feature.extend({ if (this._shape) { this._fireCreatedEvent(); } - + this.disable(); } }); \ No newline at end of file diff --git a/src/edit/EditToolbar.js b/src/edit/EditToolbar.js index 9810dd1e9..8ce2282eb 100644 --- a/src/edit/EditToolbar.js +++ b/src/edit/EditToolbar.js @@ -19,7 +19,7 @@ L.EditToolbar = L.Toolbar.extend({ this._selectedFeatureCount = 0; }, - + addToolbar: function (map) { var container = L.DomUtil.create('div', 'leaflet-draw-section'), buttonIndex = 0, @@ -82,7 +82,7 @@ L.EditToolbar = L.Toolbar.extend({ if (!this.enabled()) { return; } this._activeMode.handler.revertLayers(); - + L.Toolbar.prototype.disable.call(this); }, diff --git a/src/edit/handler/Edit.Rectangle.js b/src/edit/handler/Edit.Rectangle.js index 541afdbfa..07cbd6bdb 100644 --- a/src/edit/handler/Edit.Rectangle.js +++ b/src/edit/handler/Edit.Rectangle.js @@ -44,7 +44,7 @@ L.Edit.Rectangle = L.Edit.SimpleShape.extend({ marker.setLatLng(center); } - + this._toggleCornerMarkers(1); this._repositionCornerMarkers(); diff --git a/src/edit/handler/EditToolbar.Delete.js b/src/edit/handler/EditToolbar.Delete.js index a6c1a9ca2..fe79ebf73 100644 --- a/src/edit/handler/EditToolbar.Delete.js +++ b/src/edit/handler/EditToolbar.Delete.js @@ -35,7 +35,7 @@ L.EditToolbar.Delete = L.Handler.extend({ disable: function () { if (!this._enabled) { return; } - + L.Handler.prototype.disable.call(this); this._deletableLayers diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index b573bd052..e4bbdcc14 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -52,7 +52,7 @@ L.EditToolbar.Edit = L.Handler.extend({ disable: function () { if (!this._enabled) { return; } - + this.fire('disabled', {handler: this.type}); this._featureGroup @@ -203,7 +203,7 @@ L.EditToolbar.Edit = L.Handler.extend({ _disableLayerEdit: function (e) { var layer = e.layer || e.target || e; layer.edited = false; - + // Reset layer styles to that of before select if (layer instanceof L.Marker) { this._toggleMarkerHighlight(layer); diff --git a/src/ext/Polyline.Intersect.js b/src/ext/Polyline.Intersect.js index 05fdfdf6b..7c8f3cfd5 100644 --- a/src/ext/Polyline.Intersect.js +++ b/src/ext/Polyline.Intersect.js @@ -14,7 +14,7 @@ L.Polyline.include({ p = points[i - 1]; p1 = points[i]; - + if (this._lineSegmentsIntersectsRange(p, p1, i - 2)) { return true; } From 8b40c8584a244a4ca330fe2a7ca530082e452f43 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 18:46:25 +1100 Subject: [PATCH 12/13] linting fixes --- src/edit/handler/EditToolbar.Edit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/edit/handler/EditToolbar.Edit.js b/src/edit/handler/EditToolbar.Edit.js index e4bbdcc14..2d28f8c6f 100644 --- a/src/edit/handler/EditToolbar.Edit.js +++ b/src/edit/handler/EditToolbar.Edit.js @@ -194,7 +194,7 @@ L.EditToolbar.Edit = L.Handler.extend({ if (layer instanceof L.Marker) { layer.dragging.enable(); - layer.on('dragend',this._onMarkerDragEnd); + layer.on('dragend', this._onMarkerDragEnd); } else { layer.editing.enable(); } @@ -216,7 +216,7 @@ L.EditToolbar.Edit = L.Handler.extend({ if (layer instanceof L.Marker) { layer.dragging.disable(); - layer.off('dragend', this._onMarkerDragEnd) + layer.off('dragend', this._onMarkerDragEnd); } else { layer.editing.disable(); } From acc5edf59b1c98caccc02e1c21b89d567b4c7db3 Mon Sep 17 00:00:00 2001 From: James Kelly Date: Tue, 26 Feb 2013 18:52:48 +1100 Subject: [PATCH 13/13] add draw:edited example code to readme --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 517cb2938..2ad81cfab 100644 --- a/README.md +++ b/README.md @@ -89,8 +89,14 @@ map.on('draw:created', function (e) { #### draw:edited Triggered when layers in the FeatureGroup, that the plugin was initialized with, have been edited and saved. - -*Note: the edited layers are not passed as an argument. Currently a TODO.* +````js +map.on('draw:edited', function (e) { + var layers = e.layers; + layers.eachLayer(function (layer) { + //do whatever you want, most likely save back to db + }); +}); +```` #### draw:deleted