[Question] Using Style tag instead of css
Question
Hi,
I've been taking a look inside of the dom_components, but cant seem to figure out how to manually override the styling aspect.
I need a way for the component to be able to save all new styles into the style tag instead of the actual css class. (Try moving a component that was styled with force css) and it removes all of the style.
Hope you can help, Best Regards, Richard
Answers (3)
Hi @Owchzzz,
It seems to be baked into the core of GrapesJS that components will not have a style tag - see this example where it is explicitly removed. I'm not sure if modifying this behavior would completely solve your use case, but you could start by overriding it with the following code:
var defaultType = editor.DomComponents.getType("default");
defaultType.model.prototype.getAttrToHTML = function() {
return this.getAttributes();
};
You probably want this code to run before the content has been set into the editor, so it would be best to put it in a plugin. If you do that and still have issues to solve, let me know what the problems are and I can try to look into some more.
So did you mange to find any complete solution that leaves the style tags intact with no changes?
The solution by @ryandeba seems to influence only the use of inline style attributes like <div style="...">. (but for me those were also not filtered out without overwriting that prototype. We are having the problem that
<style>
...
</style>
is filtered out, not sure if the OP has the same problem
Related Questions and Answers
Continue research with similar issue discussions.
Issue #1888
[Question] Add custom html inside canvas
Hi there, I'm using grapes to export a custom json with all the information i need, instead of HTML and CSS. For doing that I'm parsing the...
Issue #2238
[QUESTION] How to get style for header & footer components only
Hi @artf, can you please tell me what is the fastest and easies way to extract component styles. I have template and in this template you c...
Issue #791
Adding new button in toolbar
Hello, I am trying to add a new button to the toolbar of all the components. I been able to add for each component separatly, but not for a...
Issue #2129
[Question] how to append a button inside default modal and catch it's click event
I want a form inside a modal (using the default modal ), on click of the submit button make an ajax call. I have created a new component wh...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.