LearnNewsExamplesServices
Frontmatter
id8524
titleEnhance TreeList navigation for internal routing and deep linking
stateClosed
labels
enhancementaicore
assigneestobiu
createdAtJan 10, 2026, 10:15 PM
updatedAtJan 10, 2026, 10:16 PM
githubUrlhttps://github.com/neomjs/neo/issues/8524
authortobiu
commentsCount1
parentIssue8398
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 10, 2026, 10:16 PM

Enhance TreeList navigation for internal routing and deep linking

Closed v11.20.0 enhancementaicore
tobiu
tobiu commented on Jan 10, 2026, 10:15 PM

Goal: Improve the user experience when navigating to deep-linked content (Tickets, Releases) within the Portal.

Context: Currently, when a user clicks an internal ticket link (e.g., #8398 resolved to #/news/tickets/8398), the correct content is fetched and displayed in the center pane, but the side navigation TreeList does not reflect this change (it remains collapsed or doesn't scroll to the selected item).

Changes:

  1. src/tree/List.mjs:
    • Implement expandParents(itemId): Recursively expands all parent folders of a target item.
    • Implement scrollToItem(itemId): Uses DomAccess.scrollIntoView to ensure the selected item is visible.
  2. Portal Controllers:
    • Update Portal.view.news.tickets.MainContainerController and Portal.view.news.release.MainContainerController to trigger these TreeList methods upon route matches.
  3. SCSS Fix:
    • Move scroll-padding-block-start to the correct scrollable container (.neo-list-container) in resources/scss/src/tree/List.scss to prevent sticky headers from obscuring the scrolled-to item.

Outcome: Seamless navigation where the side menu automatically stays in sync with the current route, providing clear visual context to the user.

tobiu added the enhancement label on Jan 10, 2026, 10:15 PM
tobiu added the ai label on Jan 10, 2026, 10:15 PM
tobiu added the core label on Jan 10, 2026, 10:15 PM
tobiu referenced in commit c5fda17 - "feat: Enhance TreeList navigation for internal routing (#8524) on Jan 10, 2026, 10:16 PM
tobiu assigned to @tobiu on Jan 10, 2026, 10:16 PM
tobiu
tobiu Jan 10, 2026, 10:16 PM

Input from Gemini 3 Pro:

✦ The following enhancements have been implemented and pushed:

  1. TreeList API Extension: Added expandParents(itemId) and scrollToItem(itemId) to src/tree/List.mjs.
  2. Controller Integration: Updated Portal.view.news.tickets.MainContainerController and Portal.view.news.release.MainContainerController to automatically expand and scroll the tree sidebar when a route is matched (supporting internal ticket/release links).
  3. SCSS Fix: Moved scroll-padding-block-start to the correct scrollable container in resources/scss/src/tree/List.scss to ensure scrolled items are not hidden behind sticky headers.

Closing this ticket as the implementation is complete.

tobiu closed this issue on Jan 10, 2026, 10:16 PM
tobiu added parent issue #8398 on Jan 10, 2026, 10:18 PM