From 1949aa18018706ac93b58b3afb3a296c82b6a899 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 10 Dec 2021 17:59:17 +0100 Subject: [PATCH] Update clear for detached properties --- src/style_manager/model/PropertyComposite.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/style_manager/model/PropertyComposite.js b/src/style_manager/model/PropertyComposite.js index 6de822065..56255e6b2 100644 --- a/src/style_manager/model/PropertyComposite.js +++ b/src/style_manager/model/PropertyComposite.js @@ -55,11 +55,12 @@ export default Property.extend({ } }, - __upTargetsStyle(style, opts) { + __upTargetsStyle(style, opts = {}) { const toStyle = this.get('toStyle'); + const { __clear } = opts; let newStyle = style; - if (toStyle && !opts.__clear) { + if (toStyle && !__clear) { const values = this.getValues(); newStyle = toStyle(values, { ...opts, style }); } @@ -121,10 +122,14 @@ export default Property.extend({ }, clear() { - this.getProperties().map(p => p.clear({ __clearIn: true })); + this.getProperties().map(p => p.clear({ __clearIn: !this.isDetached() })); return Property.prototype.clear.call(this); }, + hasValue(opts) { + return this.getProperties().some(prop => prop.hasValue(opts)); + }, + /** * Get current values of properties * @param {Object} [opts={}] Options