Frontmatter
| id | 8976 |
| title | Fix Grid Cell Animations During Column Reordering |
| state | Closed |
| labels | bugairegression |
| assignees | tobiu |
| createdAt | Feb 4, 2026, 1:13 AM |
| updatedAt | Feb 4, 2026, 1:19 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8976 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8964 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 4, 2026, 1:19 AM |
Fix Grid Cell Animations During Column Reordering
tobiu added parent issue #8964 on Feb 4, 2026, 1:13 AM
tobiu assigned to @tobiu on Feb 4, 2026, 1:14 AM

tobiu
Feb 4, 2026, 1:18 AM
Input from Gemini 3 Pro:
✦ Restored cell animations and "Hide Original" behavior during drag operations.
Fix:
- Updated
onDragStartandswitchItemsinSortZone.mjsto force a deep update (body.updateDepth = -1) when modifying cell styles.- This ensures that style changes applied to disjoint
Rowcomponents (visibility, position) are correctly collected and transmitted to the VDOM worker, syncing the grid body with the header drag proxy animations.
tobiu closed this issue on Feb 4, 2026, 1:19 AM
The Grid Column Reordering functionality (
SortZone) has partially regressed following the introduction ofNeo.grid.Rowcomponents. While the header items still animate correctly, the corresponding column cells in the grid body no longer sync with these movements.Observed Regressions:
devbranch, when a header item is dragged and other headers slide to accommodate it, the corresponding cells in the grid body also slide horizontally to match the new column positions. In thefeaturebranch, the cells remain static until the drop operation completes.Root Cause: The
SortZonelogic (and potentiallyGrid.Bodylogic) likely relies on manipulating the deep VDOM of the grid body directly (e.g., finding all cells for a column index and adjusting theirleftstyle). WithNeo.grid.Rowcomponents, theGrid.Body's VDOM contains component placeholders, not the deep cell structure. The logic attempting to animate these cells is failing to "reach through" the component boundary or is targeting the wrong VDOM nodes.Goal:
SortZone(orGrid.Body) methods to correctly target and updateRowcomponent states or VDOM to reflect these temporary positional changes.