Skip to content

Disappearing/overlapping items when resizing columns too quickly combined with compact #1785

@mattsta

Description

@mattsta

Subject of the issue

grid items slowly vanish (overlap?) if columns are adjusted too quickly then compact is requested. the grid items end up with negative gs-y coordinates. likely due to the column resize animation still being in progress when the math for the compact starts?

Your environment

gridstack-jq.js v4.2.5 on Firefox 89.0; float false; animations enabled.

Steps to reproduce

Fairly simple to reproduce in any project: https://jsfiddle.net/3ryc08as/

Stress test case:

            for (let j = 0; j < 5; j++) {
                for (let i = 1; i <= 12; i++) {
                    console.log("gridding at", i);
                    this.grid.column(i, "moveScale");
                    this.grid.compact();
                }
            } 

Bonus bug: there's an infinite loop if .column(0) is requested.

Expected behavior

no race conditions between automatic column re-calibration and compaction.

Actual behavior

random subsets of .grid-stack-item elements end up with negative gs-y coordinates. if many column resizing+compaction ops are performed back to back (animation delay problems?), all smaller items eventually get hidden behind the largest item.

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