diff --git a/src/css_composer/index.js b/src/css_composer/index.js index 6f5bce0ab..4ab15f10b 100644 --- a/src/css_composer/index.js +++ b/src/css_composer/index.js @@ -388,8 +388,11 @@ export default () => { getRules(selector) { const rules = this.getAll(); if (!selector) return [...rules.models]; + const sels = isString(selector) + ? selector.split(',').map(s => s.trim()) + : selector; const result = rules.filter( - r => r.getSelectors().getFullString() === selector + r => sels.indexOf(r.getSelectors().getFullString()) >= 0 ); return result; }, diff --git a/src/style_manager/index.js b/src/style_manager/index.js index e7f4cb737..8d6759da6 100644 --- a/src/style_manager/index.js +++ b/src/style_manager/index.js @@ -365,16 +365,19 @@ export default () => { const cssGen = em.get('CodeManager').getGenerator('css'); const cmp = target.toHTML ? target : target.getComponent(); const sel = em.getSelected(); + const optsSel = { combination: true, array: true }; let cmpRules = []; let otherRules = []; // Componente related rule if (cmp) { cmpRules = cssC.getRules(`#${cmp.getId()}`); - otherRules = cssC.getRules(sel.getSelectors().getFullString()); + otherRules = cssC.getRules(sel.getSelectors().getFullName(optsSel)); } else { cmpRules = cssC.getRules(`#${sel.getId()}`); - otherRules = cssC.getRules(target.getSelectors().getFullString()); + otherRules = cssC.getRules( + target.getSelectors().getFullName(optsSel) + ); } const all = otherRules diff --git a/test/specs/style_manager/index.js b/test/specs/style_manager/index.js index 90d18330f..c6e4b8966 100644 --- a/test/specs/style_manager/index.js +++ b/test/specs/style_manager/index.js @@ -193,8 +193,8 @@ describe('StyleManager', () => { `); em.setSelected(cmp); setTimeout(() => { - // expect(obj.getLastSelected()).toBe(rule2); - // expect(obj.getSelectedParents()).toEqual([rule1]); + expect(obj.getLastSelected()).toBe(rule2); + expect(obj.getSelectedParents()).toEqual([rule1]); done(); }); });