LearnNewsExamplesServices
Frontmatter
id9865
titleMulti-Body: Centralize Selection Model Orchestration in GridContainer
stateOpen
labels
enhancementepicairefactoringgrid
assigneestobiu
createdAtApr 10, 2026, 1:30 PM
updatedAtApr 10, 2026, 2:16 PM
githubUrlhttps://github.com/neomjs/neo/issues/9865
authortobiu
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]

Multi-Body: Centralize Selection Model Orchestration in GridContainer

Openenhancementepicairefactoringgrid
tobiu
tobiu commented on Apr 10, 2026, 1:30 PM

The Problem

Currently, updating the selectionModel dynamically in a Multi-Body Grid setup requires manual boilerplate inside App Controllers (like DevIndex's MainContainerController), as consumers have to manually query and sync bodyStart and bodyEnd alongside body. This violates separation of concerns and leads to fragile implementations where locked columns lose their Selection Models.

The Solution

We will elevate the selectionModel configuration to Neo.grid.Container. The Container will act as the orchestrator:

  1. It will introduce selectionModel_ as a reactive config.
  2. GridContainer.afterSetSelectionModel(value) will automatically clone and distribute the configuration to body, bodyStart, and bodyEnd.
  3. When SubGrids are dynamically generated in createOrUpdateSubGrids, the Container will ensure they natively inherit the active selectionModel.

By removing this burden from the consumer, we restore the abstraction that a Multi-Body Grid behaves as a single logical entity.

tobiu added the enhancement label on Apr 10, 2026, 1:30 PM
tobiu added the epic label on Apr 10, 2026, 1:30 PM
tobiu added the ai label on Apr 10, 2026, 1:30 PM
tobiu added the refactoring label on Apr 10, 2026, 1:30 PM
tobiu added the grid label on Apr 10, 2026, 1:30 PM
tobiu assigned to @tobiu on Apr 10, 2026, 2:16 PM