Provide a method to get the most recent down type event
This will allow interactions to conditionally handle later events based on the down event.
This commit is contained in:
@@ -185,6 +185,17 @@ ol.MapBrowserEventHandler = function(map) {
|
||||
goog.inherits(ol.MapBrowserEventHandler, goog.events.EventTarget);
|
||||
|
||||
|
||||
/**
|
||||
* Get the last "down" type event. This will be set on mousedown,
|
||||
* touchstart, and pointerdown.
|
||||
* @return {goog.events.BrowserEvent} The most recent "down" type event (or null
|
||||
* if none have occurred).
|
||||
*/
|
||||
ol.MapBrowserEventHandler.prototype.getDown = function() {
|
||||
return this.down_;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {goog.events.BrowserEvent} browserEvent Browser event.
|
||||
* @private
|
||||
|
||||
@@ -51,8 +51,40 @@ describe('ol.MapBrowserEventHandler', function() {
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('#getDown()', function() {
|
||||
|
||||
var handler;
|
||||
beforeEach(function() {
|
||||
handler = new ol.MapBrowserEventHandler(new ol.Map({}));
|
||||
});
|
||||
|
||||
it('returns null if no "down" type event has been handled', function() {
|
||||
expect(handler.getDown()).to.be(null);
|
||||
});
|
||||
|
||||
it('returns an event after handleMouseDown_ has been called', function() {
|
||||
var event = new goog.events.BrowserEvent({});
|
||||
handler.handleMouseDown_(event);
|
||||
expect(handler.getDown()).to.be(event);
|
||||
});
|
||||
|
||||
it('returns an event after handlePointerDown_ has been called', function() {
|
||||
var event = new goog.events.BrowserEvent({});
|
||||
handler.handlePointerDown_(event);
|
||||
expect(handler.getDown()).to.be(event);
|
||||
});
|
||||
|
||||
it('returns an event after handleTouchStart_ has been called', function() {
|
||||
var event = new goog.events.BrowserEvent({});
|
||||
handler.handleTouchStart_(event);
|
||||
expect(handler.getDown()).to.be(event);
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
goog.require('goog.events');
|
||||
goog.require('goog.events.BrowserEvent');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.MapBrowserEventHandler');
|
||||
|
||||
Reference in New Issue
Block a user