Browse Source

Get parent styles by class combination

up-style-manager
Artur Arseniev 5 years ago
parent
commit
2e77d948ce
  1. 5
      src/css_composer/index.js
  2. 7
      src/style_manager/index.js
  3. 4
      test/specs/style_manager/index.js

5
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;
},

7
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

4
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();
});
});

Loading…
Cancel
Save