Toolbar/actionbar buttons do not work when there are multiple instances present (Even in your demo)
Thanks for the report @DodoTrip The fix is ready for the next release.
Read full answer below βQuestion
Version: 0.16.44
You can get the version by typing grapesjs.version into the console
Are you able to reproduce the bug from the demo?
- Yes
- No
What is the expected behavior? Every instance has their own toolbar working properly
Describe the bug detailed So previously i made another issue relating to instances #3354 , in this issue i conclude that it was my fault handling the instances improperly . Here i even stumble upon the bug even in the demo page https://grapesjs.com/docs/getting-started.html#theming. You can see that in every single instance no toolbar works, none of the options provided ( bold,strikethrough, link etc ), except the very last initiated instance. This also is what happening on my case ( toolbar only works on the last initiated instance ).
Are you able to attach screenshots, screencasts or a live demo? You can test this on the getting started demo page https://grapesjs.com/docs/getting-started.html#theming
- Yes (attach)
- No
Answers (2)
Thanks for the report @DodoTrip The fix is ready for the next release.
Thanks for reporting this, @ThetripGr.
The issue with Toolbar/actionbar buttons do not work when there are multiple instances present (Even in your demo) 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 #3181
SelectorManager not return a String but an Object
Version:0.16.30 Are you able to reproduce the bug from the demo? [1 ] Yes What is the expected behavior?* SelectorManager.getState() is sup...
Issue #3316
The editor does not remove the dead script blocks
Version: 0.16.34 Are you able to reproduce the bug from the demo? [ ] Yes [x ] No As I understand the code import dialog skips all the HTML...
Issue #3693
AdoptStylesheet not supported in grapesJS
Version: You can get the version by typing grapesjs.version into the console 0.17.22 Are you able to reproduce the bug from the demo?[x] Ye...
Issue #3125
linear-gradient CSS does weird things to background-image
Version: 0.16.27 Are you able to reproduce the bug from the demo? [x] Yes [ ] No What is the expected behavior? When adding background-imag...
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
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins β TinyMCE Inline Text Editor and Placeholder.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.