Browse Source

Update with missing properties in layers

no-jquery
Artur Arseniev 9 years ago
parent
commit
d5c1ae60af
  1. 13
      src/style_manager/model/Layers.js
  2. 6
      src/style_manager/view/PropertyFileView.js
  3. 2
      src/style_manager/view/PropertyStackView.js

13
src/style_manager/model/Layers.js

@ -53,6 +53,7 @@ module.exports = Backbone.Collection.extend({
*/
getLayersFromStyle(styleObj) {
const layers = [];
const propNames = this.properties.pluck('property');
this.properties.each(propModel => {
const style = styleObj[propModel.get('property')];
@ -72,6 +73,18 @@ module.exports = Backbone.Collection.extend({
});
});
// Now whit all layers are in, will check missing properties
layers.forEach(layer => {
const layerProprs = layer.properties.map(prop => prop.property);
this.properties.each(propModel => {
const propertyName = propModel.get('property');
if (layerProprs.indexOf(propertyName) < 0) {
layer.properties.push(Object.assign({}, propModel.attributes))
}
})
});
return layers;
},

6
src/style_manager/view/PropertyFileView.js

@ -26,9 +26,9 @@ module.exports = PropertyView.extend({
},
init() {
this.assets = this.target.get('assets');
this.modal = this.target.get('Modal');
this.am = this.target.get('AssetManager');
const em = this.em;
this.modal = em.get('Modal');
this.am = em.get('AssetManager');
this.events['click #'+this.pfx+'close'] = 'removeFile';
this.events['click #'+this.pfx+'images'] = 'openAssetManager';
this.delegateEvents();

2
src/style_manager/view/PropertyStackView.js

@ -233,7 +233,7 @@ module.exports = PropertyCompositeView.extend({
if (model.get('detached')) {
const subProp = subModel.get('property');
const values = self.getLayers().getPropertyValues(subProp);
view.updateTargetStyle(propVal, null, opt);
view.updateTargetStyle(values, null, opt);
} else {
model.set('value', model.getFullValue(), opt);
}

Loading…
Cancel
Save