GrapesJS / grapesjs

Free and Open source Web Builder Framework. Next generation tool for building templates without coding
https://grapesjs.com
BSD 3-Clause "New" or "Revised" License
22.37k stars 4.05k forks source link

BUG: mj-preview is not editable #5549

Closed driskell closed 10 months ago

driskell commented 10 months ago

GrapesJS version

What browser are you using?

Safari 17

Reproducible demo link

https://grapesjs.com/demo-mjml.html

Describe the bug

How to reproduce the bug?

  1. https://grapesjs.com/demo-mjml.html
  2. Go to view code - copy the MJML
  3. Go to import code - paste in the MJML and add to the top <mj-head><mj-preview>Some preview text</mj-preview></mj-head>
  4. Now try to edit it
Screenshot 2023-12-06 at 14 23 53

What is the expected behavior?

Should be able to edit - or it shouldn't be visible in the editor.

What is the current behavior? It displays top left, with default font, no padding, and is not editable. In previous versions of grapeJS builder it is in fact editable, but if you edit it too short the highlight "BODY" gets in the way and you can never get back to editing it. Further, if you empty it, it seems unreachable in the editor completely but the gap is still there.

Code of Conduct

artf commented 10 months ago

This is not core related issue and probably not an issue at all as <mj-preview> is not supported by default in mjml plugin

driskell commented 10 months ago

@artf Sorry I don't understand. It’s an issue as detailed. Is it something to raise on the other repository? I’m not familiar with the internals here so don’t know what it is that the GrapesJS/mjml needs to support in order for this repository to not display it

driskell commented 10 months ago

It is noted in Head: https://github.com/GrapesJS/mjml/blob/master/src/components/Head.ts#L14

artf commented 10 months ago

Is it something to raise on the other repository?

Yes, as this is not related to the core.

I’m not familiar with the internals here so don’t know what it is that the GrapesJS/mjml needs to support in order for this repository to not display it

You have to register a new custom component similar to others and apply the logic you want for <mj-preview>