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.33k stars 4.05k forks source link

BUG: Double Entry in Layers if Component is moved directly after add #5820

Closed rhoenerSBS closed 4 months ago

rhoenerSBS commented 5 months ago

GrapesJS version

What browser are you using?

Chrome v123

Reproducible demo link

https://jsfiddle.net/xwgons8z/

Describe the bug

I'm trying to programmatically move an added component to a specific position in the parent since I have child components, that are supposed to stay at the last index, but there is a bug in the layers that once the component is moved it has two corresponding entries in the layers panel.

How to reproduce the bug?

  1. Open Fiddle
  2. Drop component into canvas at the last position (does not happen here)
  3. Drop another component into canvas at the last position (from now on the dropped components get two entries in the layers panel)

What is the expected behavior? Component can be moved and still have only one entry in the layer panel.

What is the current behavior? The moved components have 2 corresponding entries in the layer panel.

Code of Conduct

rhoenerSBS commented 5 months ago

I initially wanted to realize the same behavior with a function in the droppable property of the parent component to prevent components being dropped at a specific index but unfortunately the index is not given as a param for that function.