From b832c425850d7e2311a4d73a892eab2160074648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Fri, 3 Oct 2014 16:37:17 +0200 Subject: [PATCH] Add ol.Observable.unByKey --- src/ol/observable.js | 19 +++++++++++++++---- test/spec/ol/observable.test.js | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/ol/observable.js b/src/ol/observable.js index e7a304a28b..0f48f60ea0 100644 --- a/src/ol/observable.js +++ b/src/ol/observable.js @@ -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; diff --git a/test/spec/ol/observable.test.js b/test/spec/ol/observable.test.js index 7d7e93cbc9..890e83c842 100644 --- a/test/spec/ol/observable.test.js +++ b/test/spec/ol/observable.test.js @@ -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); });