From f795adcd5618362f82b6992f22fa9722551918b2 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 4 Dec 2013 17:02:31 +0100 Subject: [PATCH 1/2] Add ol.Object#getProperties --- src/ol/object.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/ol/object.js b/src/ol/object.js index 5b122f601c..1a14e785af 100644 --- a/src/ol/object.js +++ b/src/ol/object.js @@ -287,6 +287,23 @@ ol.Object.prototype.getKeys = function() { }; +/** + * Get an object of all property names and values. + * @return {Object.} Object. + */ +ol.Object.prototype.getProperties = function() { + var properties = {}; + var key; + for (key in this.values_) { + properties[key] = this.values_[key]; + } + for (key in ol.Object.getAccessors(this)) { + properties[key] = this.get(key); + } + return properties; +}; + + /** * Notify all observers of a change on this property. This notifies both * objects that are bound to the object's property as well as the object From dfdec96ba7de9772c93ba1d56b0e095ad513a1cc Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 5 Dec 2013 16:32:41 +0100 Subject: [PATCH 2/2] Export ol.Object#getProperties --- src/ol/object.exports | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ol/object.exports b/src/ol/object.exports index a0a76d0033..c824a78609 100644 --- a/src/ol/object.exports +++ b/src/ol/object.exports @@ -1,6 +1,7 @@ @exportSymbol ol.Object @exportProperty ol.Object.prototype.bindTo @exportProperty ol.Object.prototype.get +@exportProperty ol.Object.prototype.getProperties @exportProperty ol.Object.prototype.notify @exportProperty ol.Object.prototype.on @exportProperty ol.Object.prototype.once