The new version v0.18.1 brokes the script to make !important on styleable:change
Hey man, I didn't even finish writing the release 😅 calm down... Read here please https://github.com/artf/grapesjs/releases/tag/v0.18.1 Style Manager was updated heavily, if something doesn't work, nobody forces you to upgrade...
Read full answer below ↓Question
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
Chrome v96
Reproducible demo link
No demo
### Describe the bug
I use the code below to make all styles to !important
`// Make all styles important to override element classes
editor.on('styleable:change', (model, property) => {
const value = String(model.getStyle()[property]);
if (value.indexOf('!important') === -1) {
model.addStyle({ [property]: value + ' !important' });
}
});`
I check this solution in this issue :
https://github.com/artf/grapesjs/issues/1041#issuecomment-382545102
but after the 1 hour ago update this script doesn't work anymore
### Code of Conduct
- [X] I agree to follow this project's Code of ConductAnswers (2)
Hey man, I didn't even finish writing the release 😅 calm down... Read here please https://github.com/artf/grapesjs/releases/tag/v0.18.1 Style Manager was updated heavily, if something doesn't work, nobody forces you to upgrade...
Thanks for reporting this, @jloguercio.
The issue with The new version v0.18.1 brokes the script to make !important on styleable:change appears to be a race condition or state management timing problem. This typically happens when component lifecycle events and DOM modifications overlap, creating an inconsistent state.
What to try:
- Add a setTimeout wrapper to ensure the DOM has settled:
setTimeout(() => {
// your operation here
}, 0);
-
Check initialization order — make sure components are fully loaded before you interact with them
-
Use the editor's event system — listen to completion events:
editor.on('component:mount', (component) => {
// safe to interact with component here
});
Recommended next steps:
- Test with the latest GrapesJS version if you haven't
- Provide a minimal reproducible example (CodeSandbox) — this helps the team identify the root cause faster
- Include GrapesJS version, browser, and console errors in your report
Related Questions and Answers
Continue research with similar issue discussions.
Issue #4233
insert styles from StyleManager with !important broken
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://jsfi...
Issue #4010
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome / Firefox Reproducible demo link ht...
Issue #4922
Using !important code provided here breaks background image and gradient.
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Firefox Reproducible demo link https://jsf...
Issue #4191
We are trying to store the data from grapesJS editor in Angular 10 application, getting CORS error, image attached below
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 99.0.4844.5 Reproducible demo link...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.
Browse free plugins →Premium plugins ship with support, regular updates, and production-ready features — save days of integration work.
Browse premium plugins →Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.