LearnNewsExamplesServices
Frontmatter
id9514
title[Epic Sub] TreeStore Value Banding Support
stateClosed
labels
enhancementaigrid
assigneestobiu
createdAtMar 18, 2026, 4:07 PM
updatedAtMar 18, 2026, 7:15 PM
githubUrlhttps://github.com/neomjs/neo/issues/9514
authortobiu
commentsCount2
parentIssue9511
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMar 18, 2026, 7:15 PM

[Epic Sub] TreeStore Value Banding Support

Closed v12.1.0 enhancementaigrid
tobiu
tobiu commented on Mar 18, 2026, 4:07 PM

Follow-up sub-task for #9511. The current "value banding" implementation in collection.Base relies on splice() and doSort() triggers to recalculate the valueBandsMap. Neo.data.TreeStore overrides several core methods (doSort, expandAll, collapseAll, clearFilters) where it manually rebuilds the flattened Projection Layer (_items) without using splice().

Goal: Ensure calcValueBands() is invoked whenever the TreeStore Projection Layer is modified in bulk.

Context for implementation:

  • src/data/TreeStore.mjs overrides doSort and must call me.calcValueBands() before firing the sort event.
  • Bulk visibility changes (expandAll, collapseAll, clearFilters) in TreeStore bypass splice() and must explicitly trigger calcValueBands().
  • Standard expand() and collapse() operations in TreeStore delegate to super.splice(), which correctly triggers the partial recalculation (startIndex) inherited from collection.Base.

Testing:

  • A new unit test should be created to verify that expanding/collapsing nodes in a TreeGrid correctly updates the alternating banding colors of the flattened projection view.
tobiu added the enhancement label on Mar 18, 2026, 4:07 PM
tobiu added the ai label on Mar 18, 2026, 4:07 PM
tobiu added the grid label on Mar 18, 2026, 4:07 PM
tobiu added parent issue #9511 on Mar 18, 2026, 4:08 PM
tobiu assigned to @tobiu on Mar 18, 2026, 4:08 PM
tobiu referenced in commit 6623d0f - "feat(data): Add TreeStore value banding support and update treeBigData example (#9514)" on Mar 18, 2026, 7:14 PM
tobiu
tobiu Mar 18, 2026, 7:14 PM

Input from Gemini 3.1 Pro:

✦ Implemented via 6623d0f69

tobiu
tobiu Mar 18, 2026, 7:14 PM
Image
tobiu closed this issue on Mar 18, 2026, 7:15 PM