Undo doesn't work after a Component's innerHTML is changed
UndoManager tracks component state changes, not its DOM. This should work in your case element.components('Hello Planet')
Read full answer below βQuestion
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Latest Reproducible demo link https://jsfiddle.net/condsjm1/ Describe the bug How to reproduce the bug?Change a Component's innerHTML Press CTRL + Z What is the expected behavior? To undo the content What is the current behavior? Doesn't undo the content Description: On the fiddle, press the button that says 'Change to Hello Planet' and then select the editor and press CTRL + Z and the undo won't work (nor the redo), but if you change the 'Hello World' text normally it works fine. I think I'm chan...
Answers (3)
UndoManager tracks component state changes, not its DOM.
This should work in your case element.components('Hello Planet')
@artf Thanks!
The issue you're encountering is due to directly manipulating the component's innerHTML property, which bypasses GrapesJS's internal change tracking mechanism. GrapesJS's undo/redo manager (part of the Editor instance) only registers changes that occur through its own API or user interactions withi...
Related Questions and Answers
Continue research with similar issue discussions.
Issue #6143
BUG/[QUESTION]: How to correctly wrap a Component on add/mount?
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v128 Reproducible demo link https:/...
Issue #5742
Building on Windows 10+
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v122 Reproducible demo link N/A Des...
Issue #5632
Add a change to the undomanager
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v91 Reproducible demo link https://...
Issue #5631
Undo manager add() not working as expected
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v91 Reproducible demo link -- Descr...
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.