Merge pull request #1252 from tschaub/expose-down
Add a getter for the most recent down event.
This commit is contained in:
@@ -185,6 +185,17 @@ ol.MapBrowserEventHandler = function(map) {
|
|||||||
goog.inherits(ol.MapBrowserEventHandler, goog.events.EventTarget);
|
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.
|
* @param {goog.events.BrowserEvent} browserEvent Browser event.
|
||||||
* @private
|
* @private
|
||||||
@@ -221,7 +232,6 @@ ol.MapBrowserEventHandler.prototype.handleMouseUp_ = function(browserEvent) {
|
|||||||
var newEvent = new ol.MapBrowserEvent(
|
var newEvent = new ol.MapBrowserEvent(
|
||||||
ol.MapBrowserEvent.EventType.DRAGEND, this.map_, browserEvent);
|
ol.MapBrowserEvent.EventType.DRAGEND, this.map_, browserEvent);
|
||||||
this.dispatchEvent(newEvent);
|
this.dispatchEvent(newEvent);
|
||||||
this.down_ = null;
|
|
||||||
} else if (browserEvent.isMouseActionButton()) {
|
} else if (browserEvent.isMouseActionButton()) {
|
||||||
this.emulateClick_(browserEvent);
|
this.emulateClick_(browserEvent);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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');
|
||||||
|
goog.require('goog.events.BrowserEvent');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.MapBrowserEventHandler');
|
goog.require('ol.MapBrowserEventHandler');
|
||||||
|
|||||||
Reference in New Issue
Block a user