Frontmatter
| id | 8975 |
| title | Fix Grid Header Drag Proxy for Row Component Architecture |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Feb 4, 2026, 1:00 AM |
| updatedAt | Feb 4, 2026, 1:09 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8975 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8964 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 4, 2026, 1:09 AM |
Fix Grid Header Drag Proxy for Row Component Architecture
tobiu assigned to @tobiu on Feb 4, 2026, 1:00 AM
tobiu added parent issue #8964 on Feb 4, 2026, 1:01 AM

tobiu
Feb 4, 2026, 1:08 AM
Input from Gemini 3 Pro:
✦ Refactored
createDragProxyto support the newNeo.grid.Rowarchitecture.
- Replaced legacy VDOM traversal (
body.getVdomRoot().cn) with component-based iteration (body.items).- Now extracting styling and structure directly from
Rowcomponent instances.Current Status: Styling for rows and cells is improved, but
SortZonebehavior is not fully restored to its previous state. Follow-up tickets will be required to address remaining functional regressions.
tobiu closed this issue on Feb 4, 2026, 1:09 AM
The current implementation of
createDragProxyinsrc/draggable/grid/header/toolbar/SortZone.mjsis broken due to recent refactoring of the Grid component (specifically, the introduction ofNeo.grid.Row).Current Issues:
Rowcomponents.Goal:
createDragProxyto correctly reconstruct the visual representation of the dragged column.Neo.grid.Rowinstances to extract cell VDOM.Implementation Details:
grid.body.items(the Row components) instead ofbody.getVdomRoot().cn.neo-grid-rowclasses and styles to maintain visual fidelity during the drag operation.