Merge pull request #2794 from elemoine/unbykey
Add ol.Observable.unByKey
This commit is contained in:
+15
-4
@@ -34,6 +34,16 @@ ol.Observable = function() {
|
|||||||
goog.inherits(ol.Observable, goog.events.EventTarget);
|
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.
|
* Increases the revision counter and disptches a 'change' event.
|
||||||
* @fires change
|
* @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()`.
|
* 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
|
* @api stable
|
||||||
*/
|
*/
|
||||||
ol.Observable.prototype.unByKey = function(key) {
|
ol.Observable.prototype.unByKey = ol.Observable.unByKey;
|
||||||
goog.events.unlistenByKey(key);
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ describe('ol.Observable', function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#unByKey()', function() {
|
describe('ol.Observable.unByKey()', function() {
|
||||||
var observable, listener;
|
var observable, listener;
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
observable = new ol.Observable();
|
observable = new ol.Observable();
|
||||||
@@ -157,7 +157,7 @@ describe('ol.Observable', function() {
|
|||||||
observable.dispatchEvent('foo');
|
observable.dispatchEvent('foo');
|
||||||
expect(listener.calledOnce).to.be(true);
|
expect(listener.calledOnce).to.be(true);
|
||||||
|
|
||||||
observable.unByKey(key);
|
ol.Observable.unByKey(key);
|
||||||
observable.dispatchEvent('foo');
|
observable.dispatchEvent('foo');
|
||||||
expect(listener.callCount).to.be(1);
|
expect(listener.callCount).to.be(1);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user