Keyboard shortcuts/Keymaps not working
You were right, it wasn't React or GrapesJS. Event propagation was being stopped by the rc-drawer component I was using. @artf thanks for your help, this has been an issue from day one.
Read full answer below βQuestion
Version: 0.17.22 Are you able to reproduce the bug from the demo?[ ] Yes[X] No I can't reproduce it in a demo however you can see it for yourself if log into Documint using the following credentials:Email: [email protected]: demo then make a change to the template and try using ctrl+z What is the expected behavior? Should be able to use mapped keyboard shortcuts (ie. ctrl+z) but they don't work. What is the current behavior? The keymaps are registered but they don't work. When I run keymaps.getAll() I get a list of all of the default keymaps. When I listen for a keymap to be emitted I get no...
Answers (4)
You were right, it wasn't React or GrapesJS. Event propagation was being stopped by the rc-drawer component I was using. @artf thanks for your help, this has been an issue from day one.
Hey @Joshmamroud we have this code that propagates keydown keyup keypress events to the parent document, this allows keymaps to work, ensure to not contain any code/component which prevents the propagation of those events.
Hey @artf, I believe it may be blocked by React. Any suggestions on how to re-bind these event listeners? Not even sure if that is the right solution or path.
Thanks for reporting this, @Joshmamroud. The issue with Keyboard shortcuts/Keymaps not working 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...
Related Questions and Answers
Continue research with similar issue discussions.
Issue #3731
Text element not able to be selected twice after extended with events
Version: 0.17.25 Are you able to reproduce the bug from the demo?[ ] Yes[x] No What is the expected behavior? Update a existing component o...
Issue #4416
Can't parse trait values using Template literals(String Interpolation)
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v103.0.5060.53 Reproducible demo li...
Issue #6695
Prevent default not working for edge
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Edge 144.0.3719.92 Reproducible demo link...
Issue #5159
Can't add placeholders drop down to text field drop down options with CKEditor enabled
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? ChromeReproducible demo link https://codepen...
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
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.
Tutorial
Big news from DevFuture β we just repriced everything
Hey GrapesJS community π we just repriced all prices on plugins.
Tutorial
Superβ―Tooltip for GrapesJS β Versionβ―0.1.5 Released π
Weβre excited to announce the vβ―0.1.5 update of Superβ―Tooltip, our floatingβmenu and tooltip plugin for GrapesJS
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.