Use originalEvent instead of browserEvent

This commit is contained in:
Tim Schaub
2016-02-02 09:17:31 -07:00
committed by Andreas Hocevar
parent c62e76ab67
commit e48ab95735
8 changed files with 109 additions and 129 deletions

View File

@@ -28,7 +28,7 @@ In the source file (`src/ol/MapBrowserEvent.js`), the class needs to implement t
* @constructor
* @implements {oli.MapBrowserEvent}
*/
ol.MapBrowserEvent = function(type, map, browserEvent, opt_frameState) {
ol.MapBrowserEvent = function(type, map, originalEvent, opt_frameState) {
// ...

View File

@@ -154,21 +154,21 @@ ol.control.MousePosition.prototype.getProjection = function() {
/**
* @param {Event} browserEvent Browser event.
* @param {Event} event Browser event.
* @protected
*/
ol.control.MousePosition.prototype.handleMouseMove = function(browserEvent) {
ol.control.MousePosition.prototype.handleMouseMove = function(event) {
var map = this.getMap();
this.lastMouseMovePixel_ = map.getEventPixel(browserEvent);
this.lastMouseMovePixel_ = map.getEventPixel(event);
this.updateHTML_(this.lastMouseMovePixel_);
};
/**
* @param {Event} browserEvent Browser event.
* @param {Event} event Browser event.
* @protected
*/
ol.control.MousePosition.prototype.handleMouseOut = function(browserEvent) {
ol.control.MousePosition.prototype.handleMouseOut = function(event) {
this.updateHTML_(null);
this.lastMouseMovePixel_ = null;
};

View File

@@ -214,10 +214,10 @@ ol.control.ZoomSlider.render = function(mapEvent) {
/**
* @param {Event} browserEvent The browser event to handle.
* @param {Event} event The browser event to handle.
* @private
*/
ol.control.ZoomSlider.prototype.handleContainerClick_ = function(browserEvent) {
ol.control.ZoomSlider.prototype.handleContainerClick_ = function(event) {
var map = this.getMap();
var view = map.getView();
var currentResolution = view.getResolution();
@@ -229,8 +229,8 @@ ol.control.ZoomSlider.prototype.handleContainerClick_ = function(browserEvent) {
easing: ol.easing.easeOut
}));
var relativePosition = this.getRelativePosition_(
browserEvent.offsetX - this.thumbSize_[0] / 2,
browserEvent.offsetY - this.thumbSize_[1] / 2);
event.offsetX - this.thumbSize_[0] / 2,
event.offsetY - this.thumbSize_[1] / 2);
var resolution = this.getResolutionForPosition_(relativePosition);
view.setResolution(view.constrainResolution(resolution));
};
@@ -243,7 +243,7 @@ ol.control.ZoomSlider.prototype.handleContainerClick_ = function(browserEvent) {
*/
ol.control.ZoomSlider.prototype.handleDraggerStart_ = function(event) {
if (!this.dragging_ &&
event.browserEvent.target === this.element.firstElementChild) {
event.originalEvent.target === this.element.firstElementChild) {
this.getMap().getView().setHint(ol.ViewHint.INTERACTING, 1);
this.previousX_ = event.clientX;
this.previousY_ = event.clientY;

View File

@@ -108,11 +108,10 @@ ol.DeviceOrientation.prototype.disposeInternal = function() {
/**
* @private
* @param {Event} browserEvent Event.
* @param {Event} originalEvent Event.
*/
ol.DeviceOrientation.prototype.orientationChange_ = function(browserEvent) {
var event = /** @type {DeviceOrientationEvent} */
(browserEvent);
ol.DeviceOrientation.prototype.orientationChange_ = function(originalEvent) {
var event = /** @type {DeviceOrientationEvent} */ (originalEvent);
if (event.alpha !== null) {
var alpha = ol.math.toRadians(event.alpha);
this.set(ol.DeviceOrientationProperty.ALPHA, alpha);

View File

@@ -26,11 +26,11 @@ ol.events.ConditionType;
* @api stable
*/
ol.events.condition.altKeyOnly = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.originalEvent;
var originalEvent = mapBrowserEvent.originalEvent;
return (
browserEvent.altKey &&
!(browserEvent.metaKey || browserEvent.ctrlKey) &&
!browserEvent.shiftKey);
originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
!originalEvent.shiftKey);
};
@@ -43,11 +43,11 @@ ol.events.condition.altKeyOnly = function(mapBrowserEvent) {
* @api stable
*/
ol.events.condition.altShiftKeysOnly = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.originalEvent;
var originalEvent = mapBrowserEvent.originalEvent;
return (
browserEvent.altKey &&
!(browserEvent.metaKey || browserEvent.ctrlKey) &&
browserEvent.shiftKey);
originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
originalEvent.shiftKey);
};
@@ -84,9 +84,9 @@ ol.events.condition.click = function(mapBrowserEvent) {
* @return {boolean} The result.
*/
ol.events.condition.mouseActionButton = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.originalEvent;
return browserEvent.button == 0 &&
!(goog.userAgent.WEBKIT && ol.has.MAC && browserEvent.ctrlKey);
var originalEvent = mapBrowserEvent.originalEvent;
return originalEvent.button == 0 &&
!(goog.userAgent.WEBKIT && ol.has.MAC && originalEvent.ctrlKey);
};
@@ -147,11 +147,11 @@ ol.events.condition.doubleClick = function(mapBrowserEvent) {
* @api stable
*/
ol.events.condition.noModifierKeys = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.originalEvent;
var originalEvent = mapBrowserEvent.originalEvent;
return (
!browserEvent.altKey &&
!(browserEvent.metaKey || browserEvent.ctrlKey) &&
!browserEvent.shiftKey);
!originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
!originalEvent.shiftKey);
};
@@ -165,11 +165,11 @@ ol.events.condition.noModifierKeys = function(mapBrowserEvent) {
* @api stable
*/
ol.events.condition.platformModifierKeyOnly = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.originalEvent;
var originalEvent = mapBrowserEvent.originalEvent;
return (
!browserEvent.altKey &&
(ol.has.MAC ? browserEvent.metaKey : browserEvent.ctrlKey) &&
!browserEvent.shiftKey);
!originalEvent.altKey &&
(ol.has.MAC ? originalEvent.metaKey : originalEvent.ctrlKey) &&
!originalEvent.shiftKey);
};
@@ -182,11 +182,11 @@ ol.events.condition.platformModifierKeyOnly = function(mapBrowserEvent) {
* @api stable
*/
ol.events.condition.shiftKeyOnly = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.originalEvent;
var originalEvent = mapBrowserEvent.originalEvent;
return (
!browserEvent.altKey &&
!(browserEvent.metaKey || browserEvent.ctrlKey) &&
browserEvent.shiftKey);
!originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
originalEvent.shiftKey);
};

View File

@@ -106,7 +106,7 @@ ol.MapBrowserEvent.prototype.stopPropagation = function() {
ol.MapBrowserPointerEvent = function(type, map, pointerEvent, opt_dragging,
opt_frameState) {
goog.base(this, type, map, pointerEvent.browserEvent, opt_dragging,
goog.base(this, type, map, pointerEvent.originalEvent, opt_dragging,
opt_frameState);
/**

View File

@@ -44,18 +44,18 @@ goog.require('ol.events.Event');
* @constructor
* @extends {ol.events.Event}
* @param {string} type The type of the event to create.
* @param {Event} browserEvent The event.
* @param {Event} originalEvent The event.
* @param {Object.<string, ?>=} opt_eventDict An optional dictionary of
* initial event properties.
*/
ol.pointer.PointerEvent = function(type, browserEvent, opt_eventDict) {
ol.pointer.PointerEvent = function(type, originalEvent, opt_eventDict) {
goog.base(this, type);
/**
* @const
* @type {Event}
*/
this.browserEvent = browserEvent;
this.originalEvent = originalEvent;
var eventDict = opt_eventDict ? opt_eventDict : {};
@@ -186,9 +186,9 @@ ol.pointer.PointerEvent = function(type, browserEvent, opt_eventDict) {
this.isPrimary = 'isPrimary' in eventDict ? eventDict['isPrimary'] : false;
// keep the semantics of preventDefault
if (browserEvent.preventDefault) {
if (originalEvent.preventDefault) {
this.preventDefault = function() {
browserEvent.preventDefault();
originalEvent.preventDefault();
};
}
};

View File

@@ -196,20 +196,17 @@ ol.pointer.PointerEventHandler.prototype.removeEvents_ = function(events) {
/**
* Returns a snapshot of inEvent, with writable properties.
*
* @param {Event} browserEvent Browser event.
* @param {Event} event Browser event.
* @param {Event|Touch} inEvent An event that contains
* properties to copy.
* @return {Object} An object containing shallow copies of
* `inEvent`'s properties.
*/
ol.pointer.PointerEventHandler.prototype.cloneEvent = function(browserEvent, inEvent) {
ol.pointer.PointerEventHandler.prototype.cloneEvent = function(event, inEvent) {
var eventCopy = {}, p;
for (var i = 0, ii = ol.pointer.CLONE_PROPS.length; i < ii; i++) {
p = ol.pointer.CLONE_PROPS[i][0];
eventCopy[p] =
browserEvent[p] ||
inEvent[p] ||
ol.pointer.CLONE_PROPS[i][1];
eventCopy[p] = event[p] || inEvent[p] || ol.pointer.CLONE_PROPS[i][1];
}
return eventCopy;
@@ -221,122 +218,110 @@ ol.pointer.PointerEventHandler.prototype.cloneEvent = function(browserEvent, inE
/**
* Triggers a 'pointerdown' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.down = function(pointerEventData, browserEvent) {
this.fireEvent(ol.pointer.EventType.POINTERDOWN,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.down = function(data, event) {
this.fireEvent(ol.pointer.EventType.POINTERDOWN, data, event);
};
/**
* Triggers a 'pointermove' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.move = function(pointerEventData, browserEvent) {
this.fireEvent(ol.pointer.EventType.POINTERMOVE,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.move = function(data, event) {
this.fireEvent(ol.pointer.EventType.POINTERMOVE, data, event);
};
/**
* Triggers a 'pointerup' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.up = function(pointerEventData, browserEvent) {
this.fireEvent(ol.pointer.EventType.POINTERUP,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.up = function(data, event) {
this.fireEvent(ol.pointer.EventType.POINTERUP, data, event);
};
/**
* Triggers a 'pointerenter' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.enter = function(pointerEventData, browserEvent) {
pointerEventData.bubbles = false;
this.fireEvent(ol.pointer.EventType.POINTERENTER,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.enter = function(data, event) {
data.bubbles = false;
this.fireEvent(ol.pointer.EventType.POINTERENTER, data, event);
};
/**
* Triggers a 'pointerleave' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.leave = function(pointerEventData, browserEvent) {
pointerEventData.bubbles = false;
this.fireEvent(ol.pointer.EventType.POINTERLEAVE,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.leave = function(data, event) {
data.bubbles = false;
this.fireEvent(ol.pointer.EventType.POINTERLEAVE, data, event);
};
/**
* Triggers a 'pointerover' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.over = function(pointerEventData, browserEvent) {
pointerEventData.bubbles = true;
this.fireEvent(ol.pointer.EventType.POINTEROVER,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.over = function(data, event) {
data.bubbles = true;
this.fireEvent(ol.pointer.EventType.POINTEROVER, data, event);
};
/**
* Triggers a 'pointerout' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.out = function(pointerEventData, browserEvent) {
pointerEventData.bubbles = true;
this.fireEvent(ol.pointer.EventType.POINTEROUT,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.out = function(data, event) {
data.bubbles = true;
this.fireEvent(ol.pointer.EventType.POINTEROUT, data, event);
};
/**
* Triggers a 'pointercancel' event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.cancel = function(pointerEventData, browserEvent) {
this.fireEvent(ol.pointer.EventType.POINTERCANCEL,
pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.cancel = function(data, event) {
this.fireEvent(ol.pointer.EventType.POINTERCANCEL, data, event);
};
/**
* Triggers a combination of 'pointerout' and 'pointerleave' events.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.leaveOut = function(pointerEventData, browserEvent) {
this.out(pointerEventData, browserEvent);
if (!this.contains_(
pointerEventData.target,
pointerEventData.relatedTarget)) {
this.leave(pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.leaveOut = function(data, event) {
this.out(data, event);
if (!this.contains_(data.target, data.relatedTarget)) {
this.leave(data, event);
}
};
/**
* Triggers a combination of 'pointerover' and 'pointerevents' events.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.enterOver = function(pointerEventData, browserEvent) {
this.over(pointerEventData, browserEvent);
if (!this.contains_(
pointerEventData.target,
pointerEventData.relatedTarget)) {
this.enter(pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.enterOver = function(data, event) {
this.over(data, event);
if (!this.contains_(data.target, data.relatedTarget)) {
this.enter(data, event);
}
};
@@ -359,26 +344,26 @@ ol.pointer.PointerEventHandler.prototype.contains_ = function(container, contain
// EVENT CREATION AND TRACKING
/**
* Creates a new Event of type `inType`, based on the information in
* `pointerEventData`.
* `data`.
*
* @param {string} inType A string representing the type of event to create.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
* @return {ol.pointer.PointerEvent} A PointerEvent of type `inType`.
*/
ol.pointer.PointerEventHandler.prototype.makeEvent = function(inType, pointerEventData, browserEvent) {
return new ol.pointer.PointerEvent(inType, browserEvent, pointerEventData);
ol.pointer.PointerEventHandler.prototype.makeEvent = function(inType, data, event) {
return new ol.pointer.PointerEvent(inType, event, data);
};
/**
* Make and dispatch an event in one call.
* @param {string} inType A string representing the type of event.
* @param {Object} pointerEventData Pointer event data.
* @param {Event} browserEvent The event.
* @param {Object} data Pointer event data.
* @param {Event} event The event.
*/
ol.pointer.PointerEventHandler.prototype.fireEvent = function(inType, pointerEventData, browserEvent) {
var e = this.makeEvent(inType, pointerEventData, browserEvent);
ol.pointer.PointerEventHandler.prototype.fireEvent = function(inType, data, event) {
var e = this.makeEvent(inType, data, event);
this.dispatchEvent(e);
};
@@ -386,11 +371,10 @@ ol.pointer.PointerEventHandler.prototype.fireEvent = function(inType, pointerEve
/**
* Creates a pointer event from a native pointer event
* and dispatches this event.
* @param {Event} nativeEvent A platform event with a target.
* @param {Event} event A platform event with a target.
*/
ol.pointer.PointerEventHandler.prototype.fireNativeEvent = function(nativeEvent) {
var e = this.makeEvent(nativeEvent.type, nativeEvent,
nativeEvent);
ol.pointer.PointerEventHandler.prototype.fireNativeEvent = function(event) {
var e = this.makeEvent(event.type, event, event);
this.dispatchEvent(e);
};
@@ -399,15 +383,12 @@ ol.pointer.PointerEventHandler.prototype.fireNativeEvent = function(nativeEvent)
* Wrap a native mouse event into a pointer event.
* This proxy method is required for the legacy IE support.
* @param {string} eventType The pointer event type.
* @param {Event} browserEvent The event.
* @param {Event} event The event.
* @return {ol.pointer.PointerEvent} The wrapped event.
*/
ol.pointer.PointerEventHandler.prototype.wrapMouseEvent = function(eventType, browserEvent) {
ol.pointer.PointerEventHandler.prototype.wrapMouseEvent = function(eventType, event) {
var pointerEvent = this.makeEvent(
eventType,
ol.pointer.MouseSource.prepareEvent(browserEvent, this),
browserEvent
);
eventType, ol.pointer.MouseSource.prepareEvent(event, this), event);
return pointerEvent;
};