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: Extending text component breaks textable blocks #4440

Closed skru closed 2 years ago

skru commented 2 years ago

GrapesJS version

What browser are you using?

Version 102.0.5005.115 (Official Build) (64-bit)

Reproducible demo link

https://jsfiddle.net/trh1sbmk/17/

Describe the bug

How to reproduce the bug?

  1. GoTo supplied fiddle.
  2. Drag "Extended text component" block into editor.
  3. Try to drag "Textable Component" block into text of previous block.

What is the expected behavior? You are able to drag the textable block anywhere within the text inside of the block extended from the existing "text" component.

What is the current behavior? You can only drag to the beginning of text.

This is mentioned in #3681 but it was closed.

So yeh, same behaviour as before textable components being fixed in #2771 . It's strange as it lets you drag a textable block in, but then forces what you are dragging to the beginning of the sentence. You can then navigate yourself using arrow keys to the beginning of the sentence and move/edit as normal.

Code of Conduct

artf commented 2 years ago

Thanks @skru yes, there is an internal issue I have to fix to properly handle extended text components but once it's fixed another thing to keep in mind when you extend text components, it's to use components property instead of content.

defaults: {
        tagName: 'p',
        style: {padding: "25px"},
        droppable: true,
-       content: "Hello extended text component World!!"
+       components: "Hello extended text component World!!"
},