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:
- It will introduce
selectionModel_ as a reactive config.
GridContainer.afterSetSelectionModel(value) will automatically clone and distribute the configuration to body, bodyStart, and bodyEnd.
- 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.
The Problem
Currently, updating the
selectionModeldynamically in a Multi-Body Grid setup requires manual boilerplate inside App Controllers (likeDevIndex'sMainContainerController), as consumers have to manually query and syncbodyStartandbodyEndalongsidebody. This violates separation of concerns and leads to fragile implementations where locked columns lose their Selection Models.The Solution
We will elevate the
selectionModelconfiguration toNeo.grid.Container. The Container will act as the orchestrator:selectionModel_as a reactive config.GridContainer.afterSetSelectionModel(value)will automatically clone and distribute the configuration tobody,bodyStart, andbodyEnd.createOrUpdateSubGrids, the Container will ensure they natively inherit the activeselectionModel.By removing this burden from the consumer, we restore the abstraction that a Multi-Body Grid behaves as a single logical entity.