Issue #2079Opened June 15, 2019by froderf0 reactions

Make Css style to not be returned

Question

How to prevent the CSS of a block/component to be not returned when we used editor.getCss();

it's like https://grapesjs.com/docs/api/component.html#tohtml

but should be something like toCSS inside custom component

Answers (3)

froderfJune 15, 20190 reactions
toHTML() {
          return '';
        },
        toCSS() {
          return '';
        },
artfJune 15, 20190 reactions

The component has the getStyle method which returns an object like this { color: 'red'}. If the returning object is empty no rule will be created in the code, but the same is applied in the canvas, so you won't see your styles.

What you can do is create a custom component like this:

domc.addType('no-css-in-code', {
      model: {
        ...
        getStyle() {
		  if (exportingCode) {
			return {}
		  } else {
			return defaultModel.prototype.getStyle.apply(this);
		  }
        }
      },
    });

So before exporting the code you can use exportingCode as a flag

froderfJuly 23, 20190 reactions

@artf the solution "getStyle()" that you provided can only be applied to

style: {
            "pointer-events":"none";
},

what if this component has a class of "isNewComponent" and has style of

.isNewComponent{
background-color: #222;
}

is possible for the editor to not include the above style (with a class) when we call editor.getCss();

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.