From 28b8d0ab0a142aa52c25fe4603943abfefe3b969 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 18 Aug 2017 02:49:28 +0200 Subject: [PATCH] Returns in Style Manager only styleable selectors --- src/selector_manager/model/Selectors.js | 5 +++++ src/style_manager/view/SectorsView.js | 19 +++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/selector_manager/model/Selectors.js b/src/selector_manager/model/Selectors.js index b3a76d5fe..f1f701c3e 100644 --- a/src/selector_manager/model/Selectors.js +++ b/src/selector_manager/model/Selectors.js @@ -3,4 +3,9 @@ var Selector = require('./Selector'); module.exports = Backbone.Collection.extend({ model: Selector, + + getStyleable() { + return _.filter(this.models, item => + item.get('active') && !item.get('private')); + } }); diff --git a/src/style_manager/view/SectorsView.js b/src/style_manager/view/SectorsView.js index 5e45ce4c5..1c43594c0 100644 --- a/src/style_manager/view/SectorsView.js +++ b/src/style_manager/view/SectorsView.js @@ -56,26 +56,25 @@ module.exports = Backbone.View.extend({ pt.computed = window.getComputedStyle(view.el, stateStr); } - if(classes.length){ + if (classes.length) { var cssC = em.get('CssComposer'); - var valid = _.filter(classes.models, item => item.get('active')); + var valid = classes.getStyleable(); var iContainer = cssC.get(valid, state, mediaText); - if(!iContainer){ + if (!iContainer && valid.length) { iContainer = cssC.add(valid, state, mediaText); - // Get styles from the component iContainer.set('style', el.get('style')); - //cssC.addRule(iContainer); el.set('style', {}); - }else{ - // Ensure to clean element - //if(classes.length == 1) - //el.set('style', {}); + } else { + // In this case it's just a Component without any valid selector + pt.model = el; + pt.trigger('update'); + return; } // If the state is not empty, there should be a helper rule in play // The helper rule will get the same style of the iContainer - if(state){ + if (state) { var clm = em.get('SelectorManager'); var helperClass = clm.add('hc-state'); var helperRule = cssC.get([helperClass]);