Browse Source

Ensure selectors in CssRule

pull/3165/head
Artur Arseniev 6 years ago
parent
commit
ab5bf2009d
  1. 16
      src/css_composer/model/CssRule.js

16
src/css_composer/model/CssRule.js

@ -55,12 +55,18 @@ export default Backbone.Model.extend(Styleable).extend({
ensureSelectors() {
const { em } = this;
const result = [];
const sm = em && em.get('SelectorManager');
const selectors = this.getSelectors();
const toInit = Array.isArray(selectors);
selectors.forEach(sel => result.push(sm ? sm.add(sel) : sel));
toInit && this.set('selectors', new Selectors(result));
const toListen = [this, 'change:selectors', this.ensureSelectors];
let sels = this.getSelectors();
this.stopListening(...toListen);
if (Array.isArray(sels)) {
const res = sels.filter(i => i).map(i => (sm ? sm.add(i) : i));
sels = new Selectors(res);
}
this.set('selectors', sels);
this.listenTo(...toListen);
},
/**

Loading…
Cancel
Save