Skip to content

[BUG] New widgets added by .load() displace existing widgets  #2639

Closed

Description

@jilow

Subject of the issue

New widgets created by the .load() method are rendered in the middle of the grid and displace existing widgets.

This behavior doesn't match .addWidget() which places new widgets in the next available slot without displacing.

Screenshots

.addWidget(newItem) .load(items + newItem)
image image

Your environment

Version: 10.0.1 & 10.1.1
Browser/OS: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:124.0) Gecko/20100101 Firefox/124.0

Steps to reproduce

Demo: https://jsfiddle.net/2g4zarb8/

  1. Create a new node with auto position (no w or h).
  2. Add the widget using .addWidget() and observe it in the next open horizontal spot.
  3. Add the same widget using .load() and observe it in the middle of the grid.

Expected behavior

New widgets are placed consistently regardless of which method was used. In this case I'd expect new widget added with .load() to be placed in the same location .addWidget() would.

Activity

  1. adumesny commented on Mar 27, 2024

    @adumesny
    Member

    yeah, that case should work but load() was written expecting complete layouts (doing just the diffs) but since that item is new it should addWidget() at the end since there is no location... special case.

  2. added a commit that references this issue on Mar 30, 2024
    fc1446d
  3. adumesny commented on Mar 30, 2024

    @adumesny
    Member

    fixed in the next release. don't forget to donate if you find this lib useful!

  4. jilow commented on Apr 2, 2024

    @jilow
    Author

    Thanks for fixing this so quickly @adumesny! I can confirm that this is no longer an issue as of v10.1.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions