Reuse dragListenerKeys_ local variable

Reuse the array instead of recreating a new one.
This commit is contained in:
Frederic Junod
2016-02-18 16:25:58 +01:00
parent 6e7b130a45
commit 35579ab714

View File

@@ -147,10 +147,10 @@ ol.MapBrowserEventHandler = function(map) {
this.dragging_ = false;
/**
* @type {Array.<ol.events.Key>}
* @type {!Array.<ol.events.Key>}
* @private
*/
this.dragListenerKeys_ = null;
this.dragListenerKeys_ = [];
/**
* @type {?ol.events.Key}
@@ -280,7 +280,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerUp_ = function(pointerEvent) {
'this.activePointers_ should be equal to or larger than 0');
if (this.activePointers_ === 0) {
this.dragListenerKeys_.forEach(ol.events.unlistenByKey);
this.dragListenerKeys_ = null;
this.dragListenerKeys_.length = 0;
this.dragging_ = false;
this.down_ = null;
goog.dispose(this.documentPointerEventHandler_);
@@ -311,7 +311,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent)
this.down_ = pointerEvent;
if (!this.dragListenerKeys_) {
if (this.dragListenerKeys_.length === 0) {
/* Set up a pointer event handler on the `document`,
* which is required when the pointer is moved outside
* the viewport when dragging.
@@ -319,7 +319,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent)
this.documentPointerEventHandler_ =
new ol.pointer.PointerEventHandler(document);
this.dragListenerKeys_ = [
this.dragListenerKeys_.push(
ol.events.listen(this.documentPointerEventHandler_,
ol.MapBrowserEvent.EventType.POINTERMOVE,
this.handlePointerMove_, this),
@@ -342,7 +342,7 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent)
ol.events.listen(this.pointerEventHandler_,
ol.MapBrowserEvent.EventType.POINTERCANCEL,
this.handlePointerUp_, this)
];
);
}
};
@@ -409,10 +409,10 @@ ol.MapBrowserEventHandler.prototype.disposeInternal = function() {
ol.events.unlistenByKey(this.pointerdownListenerKey_);
this.pointerdownListenerKey_ = null;
}
if (this.dragListenerKeys_) {
this.dragListenerKeys_.forEach(ol.events.unlistenByKey);
this.dragListenerKeys_ = null;
}
this.dragListenerKeys_.forEach(ol.events.unlistenByKey);
this.dragListenerKeys_.length = 0;
if (this.documentPointerEventHandler_) {
goog.dispose(this.documentPointerEventHandler_);
this.documentPointerEventHandler_ = null;