diff --git a/examples/device-orientation.js b/examples/device-orientation.js index caf1f8cf98..657e9d041f 100644 --- a/examples/device-orientation.js +++ b/examples/device-orientation.js @@ -26,11 +26,10 @@ var track = new ol.dom.Input(document.getElementById('track')); track.bindTo('checked', deviceOrientation, 'tracking'); deviceOrientation.on('propertychange', function(event) { - // event.getKey() is the changed property name - var key = event.getKey(); - var element = document.getElementById(key); + // event.key is the changed property name + var element = document.getElementById(event.key); if (element) { - element.innerHTML = deviceOrientation.get(key); + element.innerHTML = deviceOrientation.get(event.key); } }); diff --git a/externs/oli.js b/externs/oli.js index 1e1b3ac78d..7b665ab63a 100644 --- a/externs/oli.js +++ b/externs/oli.js @@ -18,6 +18,15 @@ oli.CollectionEvent = function() {}; oli.CollectionEvent.prototype.element; +/** @interface */ +oli.ObjectEvent; + + +/** @type {string} */ +oli.ObjectEvent.prototype.key; + + + /** * @interface */ diff --git a/src/ol/object.exports b/src/ol/object.exports index dacc157656..89426170a5 100644 --- a/src/ol/object.exports +++ b/src/ol/object.exports @@ -7,5 +7,3 @@ @exportProperty ol.Object.prototype.setValues @exportProperty ol.Object.prototype.unbind @exportProperty ol.Object.prototype.unbindAll - -@exportProperty ol.ObjectEvent.prototype.getKey diff --git a/src/ol/object.js b/src/ol/object.js index 14edbb94c6..c8eacc40fb 100644 --- a/src/ol/object.js +++ b/src/ol/object.js @@ -33,6 +33,7 @@ ol.ObjectEventType = { * @param {string} type The event type. * @param {string} key The property name. * @extends {goog.events.Event} + * @implements {oli.ObjectEvent} * @constructor */ ol.ObjectEvent = function(type, key) { @@ -41,23 +42,13 @@ ol.ObjectEvent = function(type, key) { /** * The name of the property whose value is changing. * @type {string} - * @private */ - this.key_ = key; + this.key = key; }; goog.inherits(ol.ObjectEvent, goog.events.Event); -/** - * Get the name of the property associated with this event. - * @return {string} Object property name. - */ -ol.ObjectEvent.prototype.getKey = function() { - return this.key_; -}; - - /** * @constructor @@ -277,7 +268,7 @@ ol.Object.prototype.createBeforeChangeListener_ = function(key, targetKey) { * @this {ol.Object} */ return function(event) { - if (event.getKey() === targetKey) { + if (event.key === targetKey) { this.dispatchEvent( new ol.ObjectEvent(ol.ObjectEventType.BEFOREPROPERTYCHANGE, key)); } diff --git a/test/spec/ol/object.test.js b/test/spec/ol/object.test.js index f82bb37a9e..78938d8bbc 100644 --- a/test/spec/ol/object.test.js +++ b/test/spec/ol/object.test.js @@ -125,7 +125,7 @@ describe('ol.Object', function() { var args = listener2.firstCall.args; expect(args).to.have.length(1); var event = args[0]; - expect(event.getKey()).to.be('k'); + expect(event.key).to.be('k'); }); it('dispatches events to bound objects', function() { @@ -165,7 +165,7 @@ describe('ol.Object', function() { var args = listener2.firstCall.args; expect(args).to.have.length(1); var event = args[0]; - expect(event.getKey()).to.be('k'); + expect(event.key).to.be('k'); }); it('dispatches beforechange events to object', function() { @@ -173,7 +173,7 @@ describe('ol.Object', function() { var oldValue; var beforeListener = sinon.spy(function(event) { - oldValue = o2.get(event.getKey()); + oldValue = o2.get(event.key); }); o.on(ol.ObjectEventType.BEFOREPROPERTYCHANGE, beforeListener); @@ -201,7 +201,7 @@ describe('ol.Object', function() { var args = listener2.firstCall.args; expect(args).to.have.length(1); var event = args[0]; - expect(event.getKey()).to.be('k'); + expect(event.key).to.be('k'); }); it('dispatches beforechange before changing bound objects', function() { @@ -209,7 +209,7 @@ describe('ol.Object', function() { var oldValue; var beforeListener = sinon.spy(function(event) { - oldValue = o2.get(event.getKey()); + oldValue = o2.get(event.key); }); o.on(ol.ObjectEventType.BEFOREPROPERTYCHANGE, beforeListener); @@ -218,7 +218,7 @@ describe('ol.Object', function() { var args = beforeListener.firstCall.args; expect(args).to.have.length(1); var event = args[0]; - expect(event.getKey()).to.be('k'); + expect(event.key).to.be('k'); expect(oldValue).to.be(1); }); @@ -232,7 +232,7 @@ describe('ol.Object', function() { var oldValue; var beforeListener = sinon.spy(function(event) { - oldValue = object.get(event.getKey()); + oldValue = object.get(event.key); }); object.on(ol.ObjectEventType.BEFOREPROPERTYCHANGE, beforeListener); @@ -241,7 +241,7 @@ describe('ol.Object', function() { var args = beforeListener.firstCall.args; expect(args).to.have.length(1); var event = args[0]; - expect(event.getKey()).to.be('foo'); + expect(event.key).to.be('foo'); expect(oldValue).to.be('original value'); expect(object.get('foo')).to.be('new value'); @@ -256,7 +256,7 @@ describe('ol.Object', function() { var oldValue; var beforeListener = sinon.spy(function(event) { - oldValue = object.get(event.getKey()); + oldValue = object.get(event.key); }); object.on(ol.ObjectEventType.BEFOREPROPERTYCHANGE, beforeListener); @@ -265,7 +265,7 @@ describe('ol.Object', function() { var args = beforeListener.firstCall.args; expect(args).to.have.length(1); var event = args[0]; - expect(event.getKey()).to.be('bar'); + expect(event.key).to.be('bar'); expect(oldValue).to.be('original value'); expect(object.get('bar')).to.be('new value'); @@ -365,7 +365,7 @@ describe('ol.Object', function() { expect(listener.calledOnce).to.be(true); var call = listener.firstCall; expect(call.args).to.have.length(1); - expect(call.args[0].getKey()).to.be('foo'); + expect(call.args[0].key).to.be('foo'); object.unbind('foo'); target.set('foo', 'another new value'); @@ -400,7 +400,7 @@ describe('ol.Object', function() { expect(listener.callCount).to.be(3); var lastCall = listener.getCall(2); expect(lastCall.args).to.have.length(1); - expect(lastCall.args[0].getKey()).to.be('bar'); + expect(lastCall.args[0].key).to.be('bar'); }); });