[OpenNMS/opennms] d97016: NMS-20182: Lock page scroll while a drawer or moda...

Scott Theleman via opennms-cvs <[email protected]>
Newsgroups gmane.network.opennms.cvs
Message-ID <OpenNMS/opennms/push/refs/heads/jira/NMS-20182-various-ui-fixes-smoke/[email protected]>
  Branch: refs/heads/jira/NMS-20182-various-ui-fixes-smoke
  Home:   https://github.com/OpenNMS/opennms
  Commit: d97016a5c2a0c812d91f814a18183cfcd7cc3c10
      https://github.com/OpenNMS/opennms/commit/d97016a5c2a0c812d91f814a18183cfcd7cc3c10
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-20 (Thu, 20 Aug 2026)

  Changed paths:
    M ui/packages/onms-ui/src/components/OnmsDialog.vue
    M ui/packages/onms-ui/src/components/OnmsDrawer.vue
    M ui/src/components/Nodes/ColumnSelectionDrawer.vue
    M ui/src/components/Nodes/NodeAdvancedFiltersDrawer.vue
    M ui/src/main/App.vue

  Log Message:
  -----------
  NMS-20182: Lock page scroll while a drawer or modal dialog is open

The drawers are modal, but PrimeVue defaults `blockScroll` to false, so the
wheel over an open drawer scrolled the node table behind it — the page's
scrollbar sat at the viewport edge and read as the drawer's. In the Advanced
Filters drawer it was worse: that drawer's own scroller made two adjacent
scrollbars, only one of which belonged to it.

Turn `blockScroll` on in the seam wrappers — unconditionally for Drawer,
tracking `modal` for Dialog, which also covers OnmsConfirmationDialog and
OnmsMessageDialog.

That alone is not enough here. `html { overflow-x: hidden }` makes <html> the
SPA's scroll container, so the body class PrimeVue toggles never reaches the
element that actually scrolls; lock <html> off that class instead. Match open
`.p-overlay-mask` elements as well, because PrimeVue's block/unblock is not
reference-counted: closing a dialog opened inside an open drawer removed the
body class and unlocked the page while the drawer was still up. Add
`scrollbar-gutter: stable` so hiding the page scrollbar does not shift the
fixed Menubar and side rail — PrimeVue's `padding-right` compensation only
moves in-flow content.

Finally, drop the two node drawers' inner `height: 100%; overflow: auto`, so
PrimeVue's `.p-drawer-content` is each drawer's single scroll container.


  Commit: 8ebcd36c5a3649635f73b5ce6542471e5b383d42
      https://github.com/OpenNMS/opennms/commit/8ebcd36c5a3649635f73b5ce6542471e5b383d42
  Author: Scott Theleman <[email protected]>
  Date:   2026-08-20 (Thu, 20 Aug 2026)

  Changed paths:
    M ui/src/components/Common/FormField.vue
    M ui/src/components/SnmpConfiguration/SnmpConfigDetailsPanel.vue
    M ui/tests/components/Common/FormField.test.ts

  Log Message:
  -----------
  NMS-20182: Align the SNMP Add button with the inputs beside it

The button sat outside any FormField, so it never skipped the vertical space
its siblings' labels occupy and its top edge landed a label-height above their
inputs. An eyeballed `margin-top` had been standing in for that space and was
too small.

Give FormField a `reserveLabelSpace` prop instead: with no label of its own it
lays out an aria-hidden, `for`-less <label> so an unlabelled field still lines
its control up with the labelled fields next to it. A real <label> element is
what makes this work — the label line box comes from the global `label`
typography, which a <span> would not pick up — and it keeps the stand-in in
step with the labelled case for free.

The Add button now sits in such a FormField and needs no offset of its own;
matching the input height keeps their centers aligned as before.


Compare: https://github.com/OpenNMS/opennms/compare/bb244fe12f15...8ebcd36c5a36

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.