Event to hook into after editor.render has been executed
Thanks @emyasnikov I'll close this and will keep the bug issue open
Read full answer below ↓Question
What are you trying to add to GrapesJS?
As described in BUG: Panels "visible" attribute doesn't prevent panel rendering I tried to prevent panel rendering on initial start. Since visible attribute didn't work for me I tried some workarounds until I noticed all my changes are gone after render has been called. So best way would be to hook into event, but I found nothing. I think it would be a good addition to trigger event after rendering, if so I would like to help.
Is there an alternative at the latest version?
- Yes (describe the alternative)
- No
I achieved this by calling editor.trigger('render') just after editor.render() myself, then I was able to correctly render panel using editor.on('render', () => editor.Panels.getPanel('test').set('visible', false)) inside plugin.
Is this related to an issue?
- Yes (Give a link to the issue)
- No
BUG: Panels "visible" attribute doesn't prevent panel rendering
Answers (2)
Thanks @emyasnikov I'll close this and will keep the bug issue open
Thanks for reporting this, @emyasnikov.
The issue with FEAT: Event to hook into after editor.render has been executed 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 #3444
removeButton() causing error
Hi, I'm trying to remove a button from panel using this code editor.Panels.removeButton('options', 'fullscreen') . It removes the button bu...
Issue #5373
`getDirtyCount()` returns `1` after loading
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome latest Reproducible demo link https...
Issue #4370
LayerManager becomes unresponsive after StorageManager.load()
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome 102Reproducible demo link https://cod...
Issue #3418
Panels "visible" attribute doesn't prevent panel rendering
Version: v0.17.3 Are you able to reproduce the bug from the demo?[ ] Yes[x] No What is the expected behavior? editor.Panels.addPanel({id: '...
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 →Related tutorials
In-depth guides on the same topic.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
GrapesJS Inline RTE Plugins Update: CKEditor 5 v0.1.4 and Froala Inline Text Editor
CKEditor 5 Inline for GrapesJS v0.1.4 fixes Studio SDK toolbar clipping, iframe injection and link balloon bugs. Compare with Froala Inline — both $69.
Tutorial
Embed GrapesJS in Your SaaS: A Weekend Guide
Embed GrapesJS in your SaaS and ship a white-label page builder over a weekend. Honest tradeoffs, real code, and the plugins that close the UX gap.
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.