Merge pull request #4394 from openlayers/silent-update
Allow ol.Object property update without notification.
This commit is contained in:
+17
-8
@@ -197,12 +197,17 @@ ol.Object.prototype.notify = function(key, oldValue) {
|
|||||||
* Sets a value.
|
* Sets a value.
|
||||||
* @param {string} key Key name.
|
* @param {string} key Key name.
|
||||||
* @param {*} value Value.
|
* @param {*} value Value.
|
||||||
|
* @param {boolean=} opt_silent Update without triggering an event.
|
||||||
* @api stable
|
* @api stable
|
||||||
*/
|
*/
|
||||||
ol.Object.prototype.set = function(key, value) {
|
ol.Object.prototype.set = function(key, value, opt_silent) {
|
||||||
var oldValue = this.values_[key];
|
if (opt_silent) {
|
||||||
this.values_[key] = value;
|
this.values_[key] = value;
|
||||||
this.notify(key, oldValue);
|
} else {
|
||||||
|
var oldValue = this.values_[key];
|
||||||
|
this.values_[key] = value;
|
||||||
|
this.notify(key, oldValue);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -210,12 +215,13 @@ ol.Object.prototype.set = function(key, value) {
|
|||||||
* Sets a collection of key-value pairs. Note that this changes any existing
|
* Sets a collection of key-value pairs. Note that this changes any existing
|
||||||
* properties and adds new ones (it does not remove any existing properties).
|
* properties and adds new ones (it does not remove any existing properties).
|
||||||
* @param {Object.<string, *>} values Values.
|
* @param {Object.<string, *>} values Values.
|
||||||
|
* @param {boolean=} opt_silent Update without triggering an event.
|
||||||
* @api stable
|
* @api stable
|
||||||
*/
|
*/
|
||||||
ol.Object.prototype.setProperties = function(values) {
|
ol.Object.prototype.setProperties = function(values, opt_silent) {
|
||||||
var key;
|
var key;
|
||||||
for (key in values) {
|
for (key in values) {
|
||||||
this.set(key, values[key]);
|
this.set(key, values[key], opt_silent);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -223,12 +229,15 @@ ol.Object.prototype.setProperties = function(values) {
|
|||||||
/**
|
/**
|
||||||
* Unsets a property.
|
* Unsets a property.
|
||||||
* @param {string} key Key name.
|
* @param {string} key Key name.
|
||||||
|
* @param {boolean=} opt_silent Unset without triggering an event.
|
||||||
* @api stable
|
* @api stable
|
||||||
*/
|
*/
|
||||||
ol.Object.prototype.unset = function(key) {
|
ol.Object.prototype.unset = function(key, opt_silent) {
|
||||||
if (key in this.values_) {
|
if (key in this.values_) {
|
||||||
var oldValue = this.values_[key];
|
var oldValue = this.values_[key];
|
||||||
delete this.values_[key];
|
delete this.values_[key];
|
||||||
this.notify(key, oldValue);
|
if (!opt_silent) {
|
||||||
|
this.notify(key, oldValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user