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() { ensureSelectors() {
const { em } = this; const { em } = this;
const result = [];
const sm = em && em.get('SelectorManager'); const sm = em && em.get('SelectorManager');
const selectors = this.getSelectors(); const toListen = [this, 'change:selectors', this.ensureSelectors];
const toInit = Array.isArray(selectors); let sels = this.getSelectors();
selectors.forEach(sel => result.push(sm ? sm.add(sel) : sel)); this.stopListening(...toListen);
toInit && this.set('selectors', new Selectors(result));
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