Skip to content

NMS-20129: PrimeVue Manage Monitoring Locations page - #8728

Open
joseanesONMS wants to merge 3 commits into
developfrom
jira/NMS-20129-monitoring-locations
Open

NMS-20129: PrimeVue Manage Monitoring Locations page#8728
joseanesONMS wants to merge 3 commits into
developfrom
jira/NMS-20129-monitoring-locations

Conversation

@joseanesONMS

Copy link
Copy Markdown
Contributor

Migrates the Manage Monitoring Locations admin page to a PrimeVue /ui screen. Reuses the existing /api/v2/monitoringLocations CRUD unchanged — no backend or schema change.

  • The menu entry is repointed; MenuHeaderIT is updated to assert the new page.
  • Update is read-before-write, preserving geolocation, tags, and other fields the form does not expose.
  • The table adds a client-side global search, full-column sort with a default order, empty/error states, and a bounded fetch (2,000) with a "showing first N" note.
  • Priority is validated client-side to 1–2,147,483,647 (the DB column is a 32-bit integer) with Save blocked on any invalid value; the location name blocks URL- and FIQL-unsafe characters.
  • These field validations are client-side only — the REST API still accepts out-of-range values.
  • Delete treats a 404 as success, and the Default location cannot be deleted.
  • Component, service, store, and container tests are added.

Migrates the legacy AngularJS monitoring-locations page to a PrimeVue /ui
page over the existing v2 /api/v2/monitoringLocations CRUD — no backend or
JSON contract change, and the v1 REST stays. Table of the locations with
add/edit/delete: the editor covers monitoring area, geolocation, latitude,
longitude and priority with inline validation (required area, coordinate
ranges, path-safe name) and surfaces API errors in the dialog; edits spread
the stored record so tags round-trip untouched. The Default location cannot
be deleted, and the menu entry points at the new page.
…ations page

Swap direct PrimeVue for the Onms-XXX seam wrappers across the locations
table and editor dialog: Button->OnmsButton (text/outlined mapped to
variant), Dialog->OnmsDialog, InputText->OnmsInputText,
InputNumber->OnmsInputNumber, DataTable->OnmsTable, Column->OnmsColumn,
and the IconField/InputIcon/InputText search box collapses into
OnmsSearchInput. Message and IftaLabel have no wrapper yet and stay on
PrimeVue. No behaviour change.
@joseanesONMS

Copy link
Copy Markdown
Contributor Author

@synqotik @marshallmassengill — ready for review. This page now uses the @opennms/onms-ui Onms-XXX wrappers instead of direct PrimeVue (Button, Dialog, InputText, InputNumber, DataTable, Column; the IconField/InputIcon search box is now OnmsSearchInput). Message and IftaLabel have no wrapper yet, so they stay on PrimeVue. pnpm lint is clean (ran lint:fix), and the vue-tsc build and the UI test suite pass. No behaviour change.

…g width prop

Replace :style="{ width, maxWidth }" on OnmsDialog with the seam's declared
width prop (min(Npx, 95vw) keeps the responsive cap), instead of riding $attrs
into PrimeVue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant