Merge pull request #2794 from elemoine/unbykey
Add ol.Observable.unByKey
This commit is contained in:
@@ -34,6 +34,16 @@ ol.Observable = function() {
|
||||
goog.inherits(ol.Observable, goog.events.EventTarget);
|
||||
|
||||
|
||||
/**
|
||||
* Removes an event listener using the key returned by `on()` or `once()`.
|
||||
* @param {goog.events.Key} key The key returned by `on()` or `once()`.
|
||||
* @api stable
|
||||
*/
|
||||
ol.Observable.unByKey = function(key) {
|
||||
goog.events.unlistenByKey(key);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Increases the revision counter and disptches a 'change' event.
|
||||
* @fires change
|
||||
@@ -95,9 +105,10 @@ ol.Observable.prototype.un = function(type, listener, opt_this) {
|
||||
|
||||
/**
|
||||
* Removes an event listener using the key returned by `on()` or `once()`.
|
||||
* @param {goog.events.Key} key Key.
|
||||
* Note that using the {@link ol.Observable.unByKey} static function is to
|
||||
* be preferred.
|
||||
* @param {goog.events.Key} key The key returned by `on()` or `once()`.
|
||||
* @function
|
||||
* @api stable
|
||||
*/
|
||||
ol.Observable.prototype.unByKey = function(key) {
|
||||
goog.events.unlistenByKey(key);
|
||||
};
|
||||
ol.Observable.prototype.unByKey = ol.Observable.unByKey;
|
||||
|
||||
@@ -144,7 +144,7 @@ describe('ol.Observable', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('#unByKey()', function() {
|
||||
describe('ol.Observable.unByKey()', function() {
|
||||
var observable, listener;
|
||||
beforeEach(function() {
|
||||
observable = new ol.Observable();
|
||||
@@ -157,7 +157,7 @@ describe('ol.Observable', function() {
|
||||
observable.dispatchEvent('foo');
|
||||
expect(listener.calledOnce).to.be(true);
|
||||
|
||||
observable.unByKey(key);
|
||||
ol.Observable.unByKey(key);
|
||||
observable.dispatchEvent('foo');
|
||||
expect(listener.callCount).to.be(1);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user