Skip to content

feat: hierarchical menu entries based on route hierarchy#24556

Draft
Artur- wants to merge 1 commit into
mainfrom
feature/hierarchical-menu
Draft

feat: hierarchical menu entries based on route hierarchy#24556
Artur- wants to merge 1 commit into
mainfrom
feature/hierarchical-menu

Conversation

@Artur-

@Artur- Artur- commented Jun 9, 2026

Copy link
Copy Markdown
Member

Add MenuConfiguration.getMenuEntriesTree() returning the menu views nested according to the route hierarchy instead of as a flat list. Server views are nested via RouteUtil.getRouteHierarchy (honouring @RouteParent with URL-prefix fallback) and client views via their file-system route nesting; each view attaches to its nearest included ancestor.

The existing MenuEntry record gains a self-nesting List children component. An explicit no-children constructor keeps the previous 5-arg construction source- and binary-compatible, and the compact constructor
normalizes children to a non-null unmodifiable list. The flat getMenuEntries() is unchanged and returns entries with empty children.

The tree assembly lives in MenuRegistry.collectMenuItemsTree(), which builds directly on collectMenuItemsList(): that already normalizes routes to menu links and sorts globally, so the tree only has to resolve parents and group the already-ordered entries.

@Artur- Artur- force-pushed the feature/hierarchical-menu branch from 195a572 to 3a1983a Compare June 9, 2026 13:34
@github-actions github-actions Bot added the +0.1.0 label Jun 9, 2026
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Test Results

 1 444 files  ±0   1 444 suites  ±0   1h 23m 35s ⏱️ + 3m 2s
10 185 tests +2  10 117 ✅ +2  68 💤 ±0  0 ❌ ±0 
10 657 runs  +2  10 588 ✅ +2  69 💤 ±0  0 ❌ ±0 

Results for commit 9f9fd70. ± Comparison against base commit deb396f.

♻️ This comment has been updated with latest results.

@Artur- Artur- force-pushed the feature/hierarchical-menu branch 3 times, most recently from 9ccb5f5 to 3a122e0 Compare June 11, 2026 08:17
@github-actions github-actions Bot added +0.0.1 and removed +0.1.0 labels Jun 11, 2026
Add MenuConfiguration.getMenuEntriesTree() returning the menu views nested
according to the route hierarchy instead of as a flat list. Server views
are nested via RouteUtil.getRouteHierarchy (honouring @RouteParent with URL-prefix
fallback) and client views via their file-system route nesting; each view
attaches to its nearest included ancestor.

The existing MenuEntry record gains a self-nesting List<MenuEntry> children
component. An explicit no-children constructor keeps the previous 5-arg
construction source- and binary-compatible, and the compact constructor
normalizes children to a non-null unmodifiable list. The flat
getMenuEntries() is unchanged and returns entries with empty children.

The tree assembly lives in MenuRegistry.collectMenuItemsTree(), which builds
directly on collectMenuItemsList(): that already normalizes routes to menu
links and sorts globally, so the tree only has to resolve parents and group
the already-ordered entries.
@Artur- Artur- force-pushed the feature/hierarchical-menu branch from 3a122e0 to 9f9fd70 Compare June 11, 2026 11:52
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant