Frontmatter
| id | 8979 |
| title | Refactor Selection Models: Phase 2 (Cell & Column) |
| state | Closed |
| labels | enhancementairefactoring |
| assignees | tobiu |
| createdAt | Feb 4, 2026, 11:23 AM |
| updatedAt | Feb 4, 2026, 11:37 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8979 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8964 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 4, 2026, 11:37 AM |
Refactor Selection Models: Phase 2 (Cell & Column)
tobiu added parent issue #8964 on Feb 4, 2026, 11:23 AM

tobiu
Feb 4, 2026, 11:37 AM
Input from Gemini 3 Pro:
✦ Refactored
BaseModelto support genericselect/deselectcalls (used by Cell/Column models) with component-based rows.
- Overridden
select,deselect, anddeselectAll.- These overrides set
view.updateDepth = 2before callingsuper.- This ensures that VDOM changes made by the base
Modellogic (which expands references) are correctly picked up during the update cycle, fixing cell selection rendering.- Code remains DRY and respects the inheritance chain.
tobiu assigned to @tobiu on Feb 4, 2026, 11:37 AM
tobiu closed this issue on Feb 4, 2026, 11:37 AM
Refactor
Neo.selection.grid.CellModeland related classes to work with the newNeo.grid.Rowcomponent architecture.Scope:
CellModel.mjs:Neo.grid.Rowcomponents instead of monolithic VDOM.neo-selected) are applied correctly to the specific cell VDOM node within the Row component.getRowComponenthelper fromBaseModel.CellRowModel.mjsColumnModel.mjsCellColumnModel.mjsCellColumnRowModel.mjs