Replace goog.events.Event/EventTarget system with our own
This also removes goog.events.listen, goog.events.unlisten, goog.events.unlistenByKey and goog.events.BrowserEvent.
This commit is contained in:
+15
-15
@@ -1,8 +1,8 @@
|
||||
goog.provide('ol.layer.Group');
|
||||
|
||||
goog.require('goog.asserts');
|
||||
goog.require('goog.events');
|
||||
goog.require('goog.events.EventType');
|
||||
goog.require('ol.events');
|
||||
goog.require('ol.events.EventType');
|
||||
goog.require('goog.object');
|
||||
goog.require('ol.Collection');
|
||||
goog.require('ol.CollectionEvent');
|
||||
@@ -46,17 +46,17 @@ ol.layer.Group = function(opt_options) {
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {Array.<goog.events.Key>}
|
||||
* @type {Array.<ol.events.Key>}
|
||||
*/
|
||||
this.layersListenerKeys_ = [];
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {Object.<string, Array.<goog.events.Key>>}
|
||||
* @type {Object.<string, Array.<ol.events.Key>>}
|
||||
*/
|
||||
this.listenerKeys_ = {};
|
||||
|
||||
goog.events.listen(this,
|
||||
ol.events.listen(this,
|
||||
ol.Object.getChangeEventType(ol.layer.GroupProperty.LAYERS),
|
||||
this.handleLayersChanged_, false, this);
|
||||
|
||||
@@ -89,22 +89,22 @@ ol.layer.Group.prototype.handleLayerChange_ = function() {
|
||||
|
||||
|
||||
/**
|
||||
* @param {goog.events.Event} event Event.
|
||||
* @param {ol.events.Event} event Event.
|
||||
* @private
|
||||
*/
|
||||
ol.layer.Group.prototype.handleLayersChanged_ = function(event) {
|
||||
this.layersListenerKeys_.forEach(goog.events.unlistenByKey);
|
||||
this.layersListenerKeys_.forEach(ol.events.unlistenByKey);
|
||||
this.layersListenerKeys_.length = 0;
|
||||
|
||||
var layers = this.getLayers();
|
||||
this.layersListenerKeys_.push(
|
||||
goog.events.listen(layers, ol.CollectionEventType.ADD,
|
||||
ol.events.listen(layers, ol.CollectionEventType.ADD,
|
||||
this.handleLayersAdd_, false, this),
|
||||
goog.events.listen(layers, ol.CollectionEventType.REMOVE,
|
||||
ol.events.listen(layers, ol.CollectionEventType.REMOVE,
|
||||
this.handleLayersRemove_, false, this));
|
||||
|
||||
goog.object.forEach(this.listenerKeys_, function(keys) {
|
||||
keys.forEach(goog.events.unlistenByKey);
|
||||
keys.forEach(ol.events.unlistenByKey);
|
||||
});
|
||||
goog.object.clear(this.listenerKeys_);
|
||||
|
||||
@@ -113,9 +113,9 @@ ol.layer.Group.prototype.handleLayersChanged_ = function(event) {
|
||||
for (i = 0, ii = layersArray.length; i < ii; i++) {
|
||||
layer = layersArray[i];
|
||||
this.listenerKeys_[goog.getUid(layer).toString()] = [
|
||||
goog.events.listen(layer, ol.ObjectEventType.PROPERTYCHANGE,
|
||||
ol.events.listen(layer, ol.ObjectEventType.PROPERTYCHANGE,
|
||||
this.handleLayerChange_, false, this),
|
||||
goog.events.listen(layer, goog.events.EventType.CHANGE,
|
||||
ol.events.listen(layer, ol.events.EventType.CHANGE,
|
||||
this.handleLayerChange_, false, this)
|
||||
];
|
||||
}
|
||||
@@ -134,9 +134,9 @@ ol.layer.Group.prototype.handleLayersAdd_ = function(collectionEvent) {
|
||||
goog.asserts.assert(!(key in this.listenerKeys_),
|
||||
'listeners already registered');
|
||||
this.listenerKeys_[key] = [
|
||||
goog.events.listen(layer, ol.ObjectEventType.PROPERTYCHANGE,
|
||||
ol.events.listen(layer, ol.ObjectEventType.PROPERTYCHANGE,
|
||||
this.handleLayerChange_, false, this),
|
||||
goog.events.listen(layer, goog.events.EventType.CHANGE,
|
||||
ol.events.listen(layer, ol.events.EventType.CHANGE,
|
||||
this.handleLayerChange_, false, this)
|
||||
];
|
||||
this.changed();
|
||||
@@ -151,7 +151,7 @@ ol.layer.Group.prototype.handleLayersRemove_ = function(collectionEvent) {
|
||||
var layer = /** @type {ol.layer.Base} */ (collectionEvent.element);
|
||||
var key = goog.getUid(layer).toString();
|
||||
goog.asserts.assert(key in this.listenerKeys_, 'no listeners to unregister');
|
||||
this.listenerKeys_[key].forEach(goog.events.unlistenByKey);
|
||||
this.listenerKeys_[key].forEach(ol.events.unlistenByKey);
|
||||
delete this.listenerKeys_[key];
|
||||
this.changed();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user