Export a getKey method on ol.ObjectEvent

This commit is contained in:
Tim Schaub
2013-12-12 15:08:09 -07:00
parent 69385f4ff0
commit 20d74810ab
4 changed files with 29 additions and 16 deletions

View File

@@ -26,8 +26,8 @@ var track = new ol.dom.Input(document.getElementById('track'));
track.bindTo('checked', deviceOrientation, 'tracking');
deviceOrientation.on('propertychange', function(event) {
// event.key is the changed property name
var key = event.key;
// event.getKey() is the changed property name
var key = event.getKey();
var element = document.getElementById(key);
if (element) {
element.innerHTML = deviceOrientation.get(key);

View File

@@ -7,3 +7,6 @@
@exportProperty ol.Object.prototype.setValues
@exportProperty ol.Object.prototype.unbind
@exportProperty ol.Object.prototype.unbindAll
@exportSymbol ol.ObjectEvent
@exportProperty ol.ObjectEvent.prototype.getKey

View File

@@ -41,13 +41,23 @@ 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
@@ -286,7 +296,7 @@ ol.Object.prototype.createBeforeChangeListener_ = function(key, targetKey) {
* @this {ol.Object}
*/
return function(event) {
if (event.key === targetKey) {
if (event.getKey() === targetKey) {
this.dispatchEvent(
new ol.ObjectEvent(ol.ObjectEventType.BEFOREPROPERTYCHANGE, key));
}

View File

@@ -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.key).to.be('k');
expect(event.getKey()).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.key).to.be('k');
expect(event.getKey()).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.key);
oldValue = o2.get(event.getKey());
});
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.key).to.be('k');
expect(event.getKey()).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.key);
oldValue = o2.get(event.getKey());
});
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.key).to.be('k');
expect(event.getKey()).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.key);
oldValue = object.get(event.getKey());
});
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.key).to.be('foo');
expect(event.getKey()).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.key);
oldValue = object.get(event.getKey());
});
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.key).to.be('bar');
expect(event.getKey()).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].key).to.be('foo');
expect(call.args[0].getKey()).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].key).to.be('bar');
expect(lastCall.args[0].getKey()).to.be('bar');
});
});