Issue #5720Opened March 6, 2024by bernesto0 reactions

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?

  1. Create a component that propagates defaults that include layerable = true.
  2. 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)

artfMarch 7, 20240 reactions

Good catch @bernesto

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.