From e87b78f946d4b3a254b0230db9959617bdcc5816 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 2 Oct 2017 21:25:15 +0200 Subject: [PATCH] Update property value on render --- src/style_manager/view/LayerView.js | 1 - src/style_manager/view/LayersView.js | 2 +- src/style_manager/view/PropertyStackView.js | 17 +++++++++++++++-- src/style_manager/view/PropertyView.js | 1 + 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/style_manager/view/LayerView.js b/src/style_manager/view/LayerView.js index edbd5c498..e944adf94 100644 --- a/src/style_manager/view/LayerView.js +++ b/src/style_manager/view/LayerView.js @@ -211,7 +211,6 @@ module.exports = Backbone.View.extend({ const className = `${this.pfx}layer`; const model = this.model; const el = this.el; - console.log(propsConfig); const properties = new PropertiesView({ collection: model.get('properties'), config: this.config, diff --git a/src/style_manager/view/LayersView.js b/src/style_manager/view/LayersView.js index 8289645a5..fc4cc78a9 100644 --- a/src/style_manager/view/LayersView.js +++ b/src/style_manager/view/LayersView.js @@ -64,7 +64,7 @@ module.exports = Backbone.View.extend({ if(typeof this.preview !== 'undefined'){ model.set('preview', this.preview); } - + console.log('Layer addToCollection', model.get('properties')); var view = new LayerView({ model, config, diff --git a/src/style_manager/view/PropertyStackView.js b/src/style_manager/view/PropertyStackView.js index 0de74163e..d747d7c55 100644 --- a/src/style_manager/view/PropertyStackView.js +++ b/src/style_manager/view/PropertyStackView.js @@ -176,8 +176,7 @@ module.exports = PropertyCompositeView.extend({ this.elementUpdated(); // If not detached I'll just put all the values from layers to property - // eg. - // background: layer1Value, layer2Value, layer3Value, ... + // eg. background: layer1Value, layer2Value, layer3Value, ... if (!model.get('detached')) { model.set('value', this.getLayerValues()); } else { @@ -187,6 +186,20 @@ module.exports = PropertyCompositeView.extend({ } }, + /** + * The value that should update view inputs. + * In case of a detached property the value might something like this + * @param {string} value + * @param {Object} [opts={}] + * @private + */ + setValue(value, opts = {}) { + const model = this.model; + let val = value || model.get('value') || model.getDefaultValue(); + //const input = this.getInputEl(); + //input && (input.value = val); + }, + /** * Create value by layers * @return string diff --git a/src/style_manager/view/PropertyView.js b/src/style_manager/view/PropertyView.js index a0fda3b48..40b234114 100644 --- a/src/style_manager/view/PropertyView.js +++ b/src/style_manager/view/PropertyView.js @@ -442,6 +442,7 @@ module.exports = Backbone.View.extend({ const onRender = this.onRender && this.onRender.bind(this); onRender && onRender(); + this.setValue(model.get('value')); }, });