Frontmatter
| id | 9426 |
| title | Refactor Tree column and component reactivity |
| state | Closed |
| labels | enhancementaiarchitecturegrid |
| assignees | tobiu |
| createdAt | Mar 10, 2026, 11:31 AM |
| updatedAt | Mar 10, 2026, 11:41 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9426 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | 9404 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 10, 2026, 11:41 AM |
The
Treecomponent (src/grid/column/component/Tree.mjs) previously relied on arecord_config to observe state changes. Due to the Row Pooling architecture,Neo.core.Base's config setter ignores changes when the object reference is identical (===), preventing UI updates when node state (e.g.collapsed) changes.This ticket resolves the issue by:
Neo.grid.column.Treeto extract reactive primitive properties (collapsed,depth,hasError,isLeaf,isNodeLoading) directly from the record inapplyRecordConfigs.Neo.grid.column.component.Treeto use these primitive configs (collapsed_,depth_, etc.) so thatafterSethooks reliably trigger visual updates (likeupdateIconCls).