Frontmatter
| id | 9481 |
| title | Auto-detect `isTreeGrid` config based on the Store instance |
| state | Closed |
| labels | enhancementaigrid |
| assignees | tobiu |
| createdAt | Mar 15, 2026, 7:54 PM |
| updatedAt | Mar 15, 2026, 7:55 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9481 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 15, 2026, 7:55 PM |
Auto-detect isTreeGrid config based on the Store instance
tobiu assigned to @tobiu on Mar 15, 2026, 7:55 PM

tobiu
Mar 15, 2026, 7:55 PM
Input from Gemini 3.1 Pro:
✦ I have implemented the auto-detection of
isTreeGridbased onstore.isTreeStorewithinafterSetStorefor the Grid Container. The manualisTreeGridconfig has been removed from the relevant examples (examples/grid/treeandexamples/grid/treeBigData). Additionally, JSDocs for thestore_andafterSetStoremethods in bothContainer.mjsandBody.mjshave been enhanced to apply the "Anchor & Echo" strategy, correcting type definitions and adding broader conceptual context. Code has been committed and pushed.
tobiu closed this issue on Mar 15, 2026, 7:55 PM
Currently, developers are forced to manually set
isTreeGrid: trueonNeo.grid.Containerwhen using aTreeStore(as seen inexamples/grid/tree/GridContainer.mjsandexamples/grid/treeBigData/GridContainer.mjs).Since a TreeGrid relies entirely on a
TreeStorefor its hierarchical logic, we can improve the DX by auto-detecting this state.This enhancement modifies
afterSetStore()insrc/grid/Container.mjsto automatically setme.isTreeGrid = value?.isTreeStore === true, eliminating the need for manual configuration and ensuring ARIA roles are always correct even if the store changes dynamically.In addition, it applies the "Anchor & Echo" Knowledge Base Enhancement Strategy to the
store_configs in bothgrid.Containerandgrid.Body, clarifying their support for both flat stores and hierarchicalTreeStoreinstances, and fixes copy-paste JSDoc typing errors for theafterSetStoremethod params.