[OpenNMS/opennms] 229d40: NMS-20273: Open side menu submenus on hover, in bo...

Scott Theleman via opennms-cvs <[email protected]>
Newsgroups gmane.network.opennms.cvs
Message-ID <OpenNMS/opennms/push/refs/heads/jira/NMS-20273-sidemenu-hover-flyout-when-collapsed-smoke/[email protected]>
  Branch: refs/heads/jira/NMS-20273-sidemenu-hover-flyout-when-collapsed-smoke
  Home:   https://github.com/OpenNMS/opennms
  Commit: 229d4024e456fbe7275ecb47f8bbd30841661122
      https://github.com/OpenNMS/opennms/commit/229d4024e456fbe7275ecb47f8bbd30841661122
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-31 (Mon, 31 Aug 2026)

  Changed paths:
    M ui/src/components/Menu/SideMenu.vue
    M ui/tests/components/Menu/SideMenu.test.ts

  Log Message:
  -----------
  NMS-20273: Open side menu submenus on hover, in both rail states

Hovering a top-level entry now flies its submenu out instead of
requiring a click. What the rail never does on hover is change its own
width: an earlier iteration expanded it from under the pointer, and
that — rather than the flyouts — was the jarring part.

TieredMenu only opens submenus on hover once its internal `dirty` flag
is set, normally by a first click. Setting it the moment the pointer
touches the rail makes flyouts fire at every entry the pointer merely
passes over, so the first entry has to be dwelled on for 150ms: a
delegated mouseover starts the timer, and when it elapses we set
`dirty` and re-dispatch mouseenter on the item (TieredMenu binds it on
the item's content wrapper, and mouseenter does not bubble) so
PrimeVue's own handler does the opening. After that the rail is in
hover mode and TieredMenu switches between entries itself, with no
further dwell, until the pointer leaves. Leaving closes any open
flyout after a 200ms grace, since a clamped flyout can take the
pointer briefly outside the rail on its way there.

Collapsed, entries that are direct links (Topology, the maps) have no
submenu, so they get their label tooltip on the same 150ms beat
instead of the previous 300ms; entries that do have a submenu no
longer show one, the flyout being the affordance. Expanded, labels are
already visible and tooltips stay suppressed.

The tests render transitions for real: VTU stubs them by default,
which parks the root list's class on the stub rather than the <ul>, so
the '.p-tieredmenu-root-list > .p-tieredmenu-item' selector the rail
uses in production would match nothing.



To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications


_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list

To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.