diff --git a/src/style_manager/view/SectorsView.js b/src/style_manager/view/SectorsView.js index f75f28a4f..973f05e51 100644 --- a/src/style_manager/view/SectorsView.js +++ b/src/style_manager/view/SectorsView.js @@ -49,7 +49,7 @@ export default Backbone.View.extend({ toggleStateCls(targets = [], enable) { targets.forEach(trg => { - const el = trg.getEl(); + const el = trg?.getEl?.(); el && el.classList && el.classList[enable ? 'add' : 'remove'](helperCls); }); }, @@ -61,22 +61,24 @@ export default Backbone.View.extend({ targetUpdated(trg) { const em = this.target; const pt = this.propTarget; - const targets = em.getSelectedAll(); - let model = em.getSelected(); - const mdToClear = trg && !!trg.toHTML ? trg : model; + const sm = this.module; + const cmp = em.getSelected(); + const cmps = em.getSelectedAll(); + const mdToClear = trg && !!trg.toHTML ? trg : cmp; + const target = sm.getLastSelected(); // Clean components mdToClear && this.toggleStateCls([mdToClear]); - if (!model) return; + if (!target) return; const config = em.get('Config'); const state = !config.devicePreviewMode ? em.get('state') : ''; const { componentFirst } = em.get('SelectorManager').getConfig(); - const el = model.getEl(); pt.helper = null; pt.targets = null; // Create computed style container + const el = cmp?.getEl(); if (el && isTaggableNode(el)) { const stateStr = state ? `:${state}` : null; pt.computed = window.getComputedStyle(el, stateStr); @@ -101,18 +103,15 @@ export default Backbone.View.extend({ pt.helper = helperRule; }; - const sm = em.get('StyleManager'); - const target = sm.getModelToStyle(model); - if (state) { appendStateRule(target.getStyle()); - this.toggleStateCls(targets, 1); + this.toggleStateCls(cmps, 1); } pt.model = target; pt.parentRules = sm.getParentRules(target, state); if (componentFirst) { - pt.targets = targets.map(t => sm.getModelToStyle(t)).filter(Boolean); + pt.targets = sm.getSelected(); } pt.trigger('update'); em.trigger('styleManager:update');