Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Vertical order is not respected when packing nodes, if space has become available after a swap. #2789

Open
@mvkampen

Description

@mvkampen

Subject of the issue

When attempting to move node 0 underneath node 3 in column 0.
It seems to collide with both node 3 AND 4. When packing the nodes, it seems to fit node 4 first not respecting the current vertical order of the nodes. Resulting in an unexpected layout.

Your environment

  • Gridstack 10.1.2
  • MacOS Sonoma 14.6.1 - Firefox 129.0.2

Steps to reproduce

Drag node 0 down underneath node 3, see how node 4 jumps over node 3. This is because node 1 is not as tall as node 0 and 2. This indicates that a node may take up this space once the dragged node 0 is swapped with node 3 (snapped underneath) You will see that node 4 will jump unexpectedly ahead of node 3

https://jsfiddle.net/9ruhoabm/5/

Expected behavior

I would expect that the order of the nodes top to bottom would remain the same. As the vertical space between node 1 and node 3 is not large enough to fit widget 4. As node 0 is swapped, space has become available. When packing nodes we see that there is space to move node 3 up to the bottom of node 1. Node 4 should retain its position relative to node 3. (underneath, and remain in column 1)

Start situation
Screenshot 2024-09-12 at 16 33 35

Resulting situation
Screenshot 2024-09-12 at 16 34 52

Expected situation
Screenshot 2024-09-12 at 16 34 34

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions