Browse Source

Add splitValues helper function to style Property

pull/2675/head
Artur Arseniev 7 years ago
parent
commit
c56fbc9909
  1. 14
      src/style_manager/model/Property.js
  2. 3
      src/style_manager/view/PropertyStackView.js

14
src/style_manager/model/Property.js

@ -135,6 +135,20 @@ const Property = Backbone.Model.extend(
return result; return result;
}, },
/**
* Helper function to safely split a string of values.
* Useful when style values are inside functions
* eg:
* -> input: 'value(1,2,4), 123, value(4,5)' -- default separator: ','
* -> output: ['value(1,2,4)', '123', 'value(4,5)']
* @param {String} values Values to split
* @param {String} [separator] Separator
*/
splitValues(values, separator = ',') {
const sep = new RegExp(`${separator}(?![^\\(]*\\))`);
return (values || '').split(sep).map(i => i.trim());
},
/** /**
* Get the default value * Get the default value
* @return {string} * @return {string}

3
src/style_manager/view/PropertyStackView.js

@ -241,7 +241,8 @@ export default PropertyCompositeView.extend({
} }
const toAdd = const toAdd =
model.getLayersFromTarget(target, { resultValue }) || layersObj; model.getLayersFromTarget(target, { resultValue, layersObj }) ||
layersObj;
layers.reset(); layers.reset();
layers.add(toAdd); layers.add(toAdd);
model.set({ stackIndex: null }, { silent: true }); model.set({ stackIndex: null }, { silent: true });

Loading…
Cancel
Save