Frontmatter
| id | 9521 |
| title | Tree Grid: Optional Helper Lines for Tree Structures |
| state | Closed |
| labels | aifeaturegrid |
| assignees | tobiu |
| createdAt | Mar 19, 2026, 6:59 PM |
| updatedAt | Mar 19, 2026, 7:01 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9521 |
| author | tobiu |
| commentsCount | 2 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 19, 2026, 7:01 PM |
Tree Grid: Optional Helper Lines for Tree Structures
tobiu assigned to @tobiu on Mar 19, 2026, 7:00 PM

tobiu
Mar 19, 2026, 7:00 PM
Input from Gemini 3.1 Pro:
✦ I have implemented the tree helper lines feature.
Implementation Details:
- Added
showHelperLinesconfig toNeo.grid.column.Treeand its underlyingcomponent.Tree.- Implemented a pure CSS solution using CSS Gradients in
resources/scss/src/grid/column/Tree.scssto draw the tree lines without adding any new DOM nodes.- Intersection Avoidance: The lines are drawn using background gradients with transparent gaps that sit perfectly behind the Font Awesome carets. This creates the illusion of a solid background behind the icon without needing an actual background circle that would look messy over striped or hovered rows.
- Added a subtle 4px gap before the horizontal lines meet the text.
- Increased the CSS specificity to ensure that the
.neo-grid-tree-column-cellcorrectly nullifiespadding-topandpadding-bottom, allowing the cell to stretch to 100% height and avoid visual gaps between rows.- Configured subtle theme variables for dark, neo-dark, and cyberpunk themes.
- Added a toggle checkbox to the
treeBigDatagrid example.The changes have been committed and pushed.

tobiu
Mar 19, 2026, 7:00 PM
tobiu closed this issue on Mar 19, 2026, 7:01 PM
This ticket introduces a new, optional feature for the
Neo.grid.column.Treeto display helper lines (similar to classic Windows File Explorer).These lines help visualize the hierarchy and parent-child relationships, especially in deeply nested structures.
Key Changes:
Neo.grid.column.Tree: Added a new reactive configshowHelperLines_(default:false).Neo.grid.column.component.Tree: AddedisLastChild_andshowHelperLines_configs.resources/scss/src/grid/column/Tree.scsscontaining the complex CSS gradients to draw the lines without requiring extra DOM nodes. The gradients are designed to gracefully "break" around the Font Awesome caret icons using transparent gaps, avoiding messy intersections..is-last-childstate to properly terminate vertical lines.light,dark,neo-light,neo-dark,cyberpunk) defining the--tree-helper-line-color. Dark themes use subtle colors (e.g.,#777for dark,var(--purple-600)for neo-dark,rgba(0, 210, 255, 0.4)for cyberpunk).Helper LinesCheckBox toexamples/grid/treeBigData/ControlsContainer.mjsto toggle the feature dynamically.