Frontmatter
| id | 9529 |
| title | Add lightweight cell resizing method to grid.Body |
| state | Closed |
| labels | enhancementaigrid |
| assignees | tobiu |
| createdAt | Mar 20, 2026, 5:21 PM |
| updatedAt | Mar 20, 2026, 5:34 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9529 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [x] 9528 Real-time cell resizing during grid column drag:move |
| closedAt | Mar 20, 2026, 5:34 PM |
Add lightweight cell resizing method to grid.Body
tobiu assigned to @tobiu on Mar 20, 2026, 5:22 PM
tobiu marked this issue as blocking #9528 on Mar 20, 2026, 5:23 PM

tobiu
Mar 20, 2026, 5:28 PM
Input from Gemini 3.1 Pro:
✦ I have implemented
updateCellPositionsinsidesrc/grid/Body.mjsand hooked it intoonDragMoveinsrc/grid/header/plugin/Resizable.mjsusing the shallowupdateDepth: 2.This directly adjusts the VDOM cell nodes without forcing full re-renders of the rows and avoiding
toolbar.passSizeToBody()on every drag tick.The changes have been pushed to the
devbranch. Please review and verify the visual stability during a resize drag.
tobiu cross-referenced by #9528 on Mar 20, 2026, 5:33 PM
tobiu closed this issue on Mar 20, 2026, 5:34 PM
Description
As a prerequisite for real-time grid cell resizing during a column drag (Issue #9528), we need a lightweight method in
src/grid/Body.mjsto adjust cell widths and horizontal positions without causing a full row re-render.Problem
Calling
toolbar.passSizeToBody()on everydrag:movetick triggers a fullcreateViewData()cycle, destroying virtualization recycling benefits.Solution
Implement
updateCellPositions(dataField, newWidth)insrc/grid/Body.mjsto:columnPositionscollection cache.style.widthof the resized column's cells in the VDOM.style.leftof all subsequent columns' cells in the VDOM.availableWidth.updateDepth: 2) on the body to sync the DOM efficiently.