From cb02b88c5568b62e46cdad70461b28c0dfa37b99 Mon Sep 17 00:00:00 2001 From: mak Date: Mon, 3 Aug 2020 09:19:33 +0200 Subject: [PATCH 1/2] maping through nested rules --- src/code_manager/model/CssGenerator.js | 4 ++-- src/parser/model/BrowserParserCss.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/code_manager/model/CssGenerator.js b/src/code_manager/model/CssGenerator.js index 4776d0a6d7..e2ba0109e5 100644 --- a/src/code_manager/model/CssGenerator.js +++ b/src/code_manager/model/CssGenerator.js @@ -121,8 +121,8 @@ export default Backbone.Model.extend({ } }); - if ((selectorStrNoAdd && found) || selectorsAdd || singleAtRule) { - const block = rule.getDeclaration(); + if ((selectorStrNoAdd && found) || selectorsAdd || singleAtRule || rule.attributes.style) { + const block = rule.getDeclaration().length > 0 ? rule.getDeclaration() : Object.entries(rule.attributes.style).map(([k, v]) => `${k}:${v}`).join(';') + ';'; block && (result += block); } else { dump.push(rule); diff --git a/src/parser/model/BrowserParserCss.js b/src/parser/model/BrowserParserCss.js index abf56291bb..a598c6de18 100644 --- a/src/parser/model/BrowserParserCss.js +++ b/src/parser/model/BrowserParserCss.js @@ -15,7 +15,7 @@ const atRules = { }; const atRuleKeys = keys(atRules); const singleAtRules = ['5', '6', '11', '15']; -const singleAtRulesNames = ['font-face', 'page', 'counter-style', 'viewport']; +const singleAtRulesNames = ['font-face', 'counter-style', 'viewport']; /** * Parse selector string to array. From 6acdd472550b836c7c8ce387671084e314416d47 Mon Sep 17 00:00:00 2001 From: mak Date: Tue, 4 Aug 2020 08:44:05 +0200 Subject: [PATCH 2/2] grapes specific styles (starrting with .gjs) --- src/code_manager/model/CssGenerator.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/code_manager/model/CssGenerator.js b/src/code_manager/model/CssGenerator.js index e2ba0109e5..d7d40f98d0 100644 --- a/src/code_manager/model/CssGenerator.js +++ b/src/code_manager/model/CssGenerator.js @@ -107,11 +107,15 @@ export default Backbone.Model.extend({ const selectorStrNoAdd = rule.selectorsToString({ skipAdd: 1 }); const selectorsAdd = rule.get('selectorsAdd'); const singleAtRule = rule.get('singleAtRule'); + let isGjsRule = false; let found; // This will not render a rule if there is no its component rule.get('selectors').each(selector => { const name = selector.getFullName(); + if (name.startsWith('.gjs')) { + isGjsRule = true; + } if ( this.compCls.indexOf(name) >= 0 || this.ids.indexOf(name) >= 0 || @@ -122,7 +126,9 @@ export default Backbone.Model.extend({ }); if ((selectorStrNoAdd && found) || selectorsAdd || singleAtRule || rule.attributes.style) { - const block = rule.getDeclaration().length > 0 ? rule.getDeclaration() : Object.entries(rule.attributes.style).map(([k, v]) => `${k}:${v}`).join(';') + ';'; + const entries = Object.entries(rule.attributes.style); + const styleStr = entries.length > 0 ? entries.map(([k, v]) => `${k}:${v}`).join(';') + ';' : ''; + const block = rule.getDeclaration().length > 0 ? rule.getDeclaration() : styleStr; block && (result += block); } else { dump.push(rule); @@ -160,4 +166,4 @@ export default Backbone.Model.extend({ return this.getQueryLength(left) - this.getQueryLength(right); }); } -}); +}); \ No newline at end of file