Store listener keys into an array instead of individual variables
This commit is contained in:
+17
-26
@@ -136,22 +136,10 @@ ol.MapBrowserEventHandler = function(map) {
|
|||||||
this.timestamp_ = null;
|
this.timestamp_ = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {?number}
|
* @type {Array.<number>}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
this.clickListenerKey_ = null;
|
this.listenerKeys_ = null;
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {?number}
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
this.downListenerKey_ = null;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {?number}
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
this.moveListenerKey_ = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Array.<number>}
|
* @type {Array.<number>}
|
||||||
@@ -172,15 +160,17 @@ ol.MapBrowserEventHandler = function(map) {
|
|||||||
this.down_ = null;
|
this.down_ = null;
|
||||||
|
|
||||||
var element = this.map_.getViewport();
|
var element = this.map_.getViewport();
|
||||||
this.clickListenerKey_ = goog.events.listen(element,
|
this.listenerKeys_ = [
|
||||||
[goog.events.EventType.CLICK, goog.events.EventType.DBLCLICK],
|
goog.events.listen(element,
|
||||||
this.click_, false, this);
|
[goog.events.EventType.CLICK, goog.events.EventType.DBLCLICK],
|
||||||
this.downListenerKey_ = goog.events.listen(element,
|
this.click_, false, this),
|
||||||
goog.events.EventType.MOUSEDOWN,
|
goog.events.listen(element,
|
||||||
this.handleMouseDown_, false, this);
|
goog.events.EventType.MOUSEDOWN,
|
||||||
this.moveListenerKey_ = goog.events.listen(element,
|
this.handleMouseDown_, false, this),
|
||||||
goog.events.EventType.MOUSEMOVE,
|
goog.events.listen(element,
|
||||||
this.relayMouseMove_, false, this);
|
goog.events.EventType.MOUSEMOVE,
|
||||||
|
this.relayMouseMove_, false, this)
|
||||||
|
];
|
||||||
// touch events
|
// touch events
|
||||||
this.touchListenerKeys_ = [
|
this.touchListenerKeys_ = [
|
||||||
goog.events.listen(element, [
|
goog.events.listen(element, [
|
||||||
@@ -352,9 +342,10 @@ ol.MapBrowserEventHandler.prototype.handleTouchEnd_ = function(browserEvent) {
|
|||||||
* FIXME empty description for jsdoc
|
* FIXME empty description for jsdoc
|
||||||
*/
|
*/
|
||||||
ol.MapBrowserEventHandler.prototype.disposeInternal = function() {
|
ol.MapBrowserEventHandler.prototype.disposeInternal = function() {
|
||||||
goog.events.unlistenByKey(this.clickListenerKey_);
|
if (!goog.isNull(this.listenerKeys_)) {
|
||||||
goog.events.unlistenByKey(this.downListenerKey_);
|
goog.array.forEach(this.listenerKeys_, goog.events.unlistenByKey);
|
||||||
goog.events.unlistenByKey(this.moveListenerKey_);
|
this.listenerKeys_ = null;
|
||||||
|
}
|
||||||
if (!goog.isNull(this.dragListenerKeys_)) {
|
if (!goog.isNull(this.dragListenerKeys_)) {
|
||||||
goog.array.forEach(this.dragListenerKeys_, goog.events.unlistenByKey);
|
goog.array.forEach(this.dragListenerKeys_, goog.events.unlistenByKey);
|
||||||
this.dragListenerKeys_ = null;
|
this.dragListenerKeys_ = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user