diff --git a/externs/oli.js b/externs/oli.js index d5c1846b31..659148c77c 100644 --- a/externs/oli.js +++ b/externs/oli.js @@ -61,6 +61,12 @@ oli.ModifyEvent = function() {}; oli.ModifyEvent.prototype.features; +/** + * @type {ol.MapBrowserPointerEvent} + */ +oli.ModifyEvent.prototype.mapBrowserPointerEvent; + + /** * @interface diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js index c8e0a28f8a..b58206fb2d 100644 --- a/src/ol/interaction/modifyinteraction.js +++ b/src/ol/interaction/modifyinteraction.js @@ -34,13 +34,13 @@ ol.ModifyEventType = { /** * Triggered upon feature modification start * @event ol.ModifyEvent#modifystart - * @api stable + * @api */ MODIFYSTART: 'modifystart', /** * Triggered upon feature modification end * @event ol.ModifyEvent#modifyend - * @api stable + * @api */ MODIFYEND: 'modifyend' }; @@ -57,18 +57,26 @@ ol.ModifyEventType = { * @implements {oli.ModifyEvent} * @param {ol.ModifyEventType} type Type. * @param {ol.Collection.} features The features modified. + * @param {ol.MapBrowserPointerEvent} mapBrowserPointerEvent Associated + * {@link ol.MapBrowserPointerEvent}. */ -ol.ModifyEvent = function(type, features) { +ol.ModifyEvent = function(type, features, mapBrowserPointerEvent) { goog.base(this, type); /** - * The feature being modified. + * The features being modified. * @type {ol.Collection.} - * @api stable + * @api */ this.features = features; + /** + * Associated {@link ol.MapBrowserPointerEvent}. + * @type {ol.MapBrowserPointerEvent} + * @api + */ + this.mapBrowserPointerEvent = mapBrowserPointerEvent; }; goog.inherits(ol.ModifyEvent, goog.events.Event); @@ -92,7 +100,7 @@ ol.interaction.SegmentDataType; * @extends {ol.interaction.Pointer} * @param {olx.interaction.ModifyOptions} options Options. * @fires ol.ModifyEvent - * @api stable + * @api */ ol.interaction.Modify = function(options) { @@ -515,7 +523,7 @@ ol.interaction.Modify.handleDownEvent_ = function(evt) { this.insertVertex_.apply(this, insertVertices[i]); } this.dispatchEvent(new ol.ModifyEvent(ol.ModifyEventType.MODIFYSTART, - this.features_)); + this.features_, evt)); } return !goog.isNull(this.vertexFeature_); }; @@ -588,7 +596,7 @@ ol.interaction.Modify.handleUpEvent_ = function(evt) { segmentData); } this.dispatchEvent(new ol.ModifyEvent(ol.ModifyEventType.MODIFYEND, - this.features_)); + this.features_, evt)); return false; };