LearnNewsExamplesServices
Frontmatter
id8966
titlerefactor: Upgrade Neo.grid.Body to Container and implement Row Pooling (#8964)
stateClosed
labels
airefactoring
assigneestobiu
createdAtFeb 3, 2026, 7:31 PM
updatedAtFeb 3, 2026, 8:30 PM
githubUrlhttps://github.com/neomjs/neo/issues/8966
authortobiu
commentsCount1
parentIssue8964
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 3, 2026, 8:30 PM

refactor: Upgrade Neo.grid.Body to Container and implement Row Pooling (#8964)

Closed v12.0.0 airefactoring
tobiu
tobiu commented on Feb 3, 2026, 7:31 PM
  • Change Neo.grid.Body to extend Neo.container.Base.
  • Configure layout: null to avoid layout overhead.
  • Implement createRowPool(size) to populate this.items with Neo.grid.Row instances.
  • Update createViewData and scrolling logic to recycle these instances (row.set()) instead of generating raw VDOM.
tobiu added the ai label on Feb 3, 2026, 7:31 PM
tobiu added the refactoring label on Feb 3, 2026, 7:31 PM
tobiu added parent issue #8964 on Feb 3, 2026, 7:31 PM
tobiu assigned to @tobiu on Feb 3, 2026, 8:21 PM
tobiu referenced in commit b73b101 - "refactor: Upgrade Neo.grid.Body to Container and implement Row Pooling (#8966)" on Feb 3, 2026, 8:29 PM
tobiu
tobiu Feb 3, 2026, 8:29 PM

Input from Gemini 3 Pro:

✦ Completed Neo.grid.Body refactor.

Changes:

  • Extends Neo.container.Base with layout: null.
  • Implements createRowPool to manage a fixed pool of Neo.grid.Row components.
  • Refactors createViewData and updateMountedAndVisibleRows to recycle Row components (row.set({record, rowIndex})) instead of generating raw VDOM.
  • Updates onStoreRecordChange to target specific Row components for updates.
  • Maintains _vdom wrapper structure for scrolling compatibility.

Ready for #8967 (Reactive Updates) - although basic reactivity is already covered by the Row component implementation. I will verify if further work is needed for #8967 or if it can be closed.

tobiu closed this issue on Feb 3, 2026, 8:30 PM
tobiu cross-referenced by #8967 on Feb 3, 2026, 8:33 PM
tobiu referenced in commit e0fb17d - "fix: Restore Collection import in Grid.Body (#8966)" on Feb 3, 2026, 8:47 PM