Browse Source

Skip rules without selectors in Styles.getParentRules

pull/5716/head
Artur Arseniev 2 years ago
parent
commit
d64f7f0980
  1. 10
      src/style_manager/index.ts
  2. 6
      test/specs/style_manager/index.ts

10
src/style_manager/index.ts

@ -601,10 +601,12 @@ export default class StyleManager extends ItemManagerModule<
let rules: CssRule[] = [];
const rulesBySelectors = (values: string[]) => {
return cssC.getRules().filter(rule => {
const rSels = rule.getSelectors().map(s => s.getFullName());
return rSels.every(rSel => values.indexOf(rSel) >= 0);
});
return !values.length
? []
: cssC.getRules().filter(rule => {
const rSels = rule.getSelectors().map(s => s.getFullName());
return !!rSels.length && rSels.every(rSel => values.indexOf(rSel) >= 0);
});
};
// Componente related rule

6
test/specs/style_manager/index.ts

@ -213,11 +213,15 @@ describe('StyleManager', () => {
test('Mixed classes', () => {
const cmp = domc.addComponent('<div class="cls1 cls2"></div>');
const [rule1, rule2] = cssc.addRules(`
const [a, b, rule1, rule2] = cssc.addRules(`
h1 { color: white; }
h1 .test { color: black; }
.cls1 { color: red; }
.cls1.cls2 { color: blue; }
.cls2 { color: green; }
.cls1.cls3 { color: green; }
h2 { color: white; }
h2 .test { color: black; }
`);
em.setSelected(cmp);
obj.__upSel();

Loading…
Cancel
Save