BUG: Propagating component defaults can break layers when child comments are introduced
Question
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
Chrome v122
Reproducible demo link
https://jsfiddle.net/n38vbktg/
Describe the bug
How to reproduce the bug?
- Create a component that propagates defaults that include layerable = true.
- Introduce a comment under the competent.
What is the expected behavior? The comment either remains hidden, or does not cause an error.
What is the current behavior? The editor treats the comment as an HTMLElement. This triggers several errors when the editor tries to read non-existent properties from the node, such as getComputedStyle or getClientRects. Both methods should perform a check first. Or - a new type should be introduced for comments that overrides the defaults propagated from the parent.
Errors occur here: https://github.com/GrapesJS/grapesjs/blob/ac554a344653d750e9495af26edbf96fc3a9bf6f/src/commands/view/ShowOffset.ts#L39 and here: https://github.com/GrapesJS/grapesjs/blob/ac554a344653d750e9495af26edbf96fc3a9bf6f/src/utils/dom.ts#L40
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (1)
Good catch @bernesto
Related Questions and Answers
Continue research with similar issue discussions.
Issue #5705
BUG: Component tools misalign when the editor is resized
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v122 Reproducible demo link https:/...
Issue #5245
BUG: Contents of component with editable:false are still editable
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 114.0.5735.198 Reproducible demo li...
Issue #4323
BUG: Performance issue while dragging component to canvas when you have 2k component on canvas
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Google Chrome Version 101.0.4951.41 (Officia...
Issue #6458
BUG: sector.setName doesn't work
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://jsfi...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.