Browse Source

added keepUnusedStyles functionality for media rules

pull/1069/head
Arthur Almeida 8 years ago
parent
commit
cfb5752912
  1. 4
      src/code_manager/model/CssGenerator.js
  2. 16
      test/specs/grapesjs/index.js

4
src/code_manager/model/CssGenerator.js

@ -66,7 +66,9 @@ module.exports = require('backbone').Model.extend({
for (let atRule in atRules) {
let rulesStr = '';
const mRules = atRules[atRule];
mRules.forEach(rule => (rulesStr += this.buildFromRule(rule, dump)));
mRules.forEach(
rule => (rulesStr += this.buildFromRule(rule, dump, opts))
);
if (rulesStr) {
code += `${atRule}{${rulesStr}}`;

16
test/specs/grapesjs/index.js

@ -388,6 +388,22 @@ describe('GrapesJS', () => {
expect(css).toEqual(`${protCss}.test2{color:red;}.test3{color:blue;}`);
});
it('Keep unused css classes/selectors option for media rules', () => {
cssString =
'.test2{color:red}.test3{color:blue} @media only screen and (max-width: 620px) { .notused { color: red; } } ';
documentEl = '<style>' + cssString + '</style>' + htmlString;
config.fromElement = 1;
config.storageManager = { type: 0 };
fixture.innerHTML = documentEl;
const editor = obj.init(config);
const css = editor.getCss({ keepUnusedStyles: 1 });
const protCss = editor.getConfig().protectedCss;
expect(editor.getStyle().length).toEqual(3);
expect(css).toEqual(
`${protCss}.test2{color:red;}.test3{color:blue;}@media only screen and (max-width: 620px){.notused{color:red;}}`
);
});
it('Keep unused css classes/selectors option for init method', () => {
config.fromElement = 1;
config.storageManager = { type: 0 };

Loading…
Cancel
Save