Analytics · Dashboard viewer

Renders a configured dashboard — a custom component panel, the built-in data-quality panel, or an embedded external URL — with a date-range selector, refresh, print and export actions.

AreaAnalytics
Routesanalytics · analytics.dashboards · analytics.dashboards.show
Centre modulesanalytics
Staff levelsper module-analytics ability; each dashboard is additionally scoped to staff roles
Modelsdashboard · dashboard-component · dashboard-config
UI labeltitle.header.dashboards.show / menu.navbar.analytics
Coverage4 use cases · 1 happy · 4 failure

How it works

The same panel-resolution logic as the desktop: isValidDashboard checks the panel against enums/dashboard-panels and the controller branches on isCustomDashboard / isExternalUrlDashboard. Dashboards are injected into the navbar from auth.dashboards, so each user sees only the dashboards attached to their role. nf-dashboard/header provides print, refresh and exportDashboard. For external-URL dashboards the page header is hidden so the embed fills the viewport.

Use cases

Why someone opens this (4)

  • A CRM manager reviewing registration quality for the last quarter.
  • An owner opening an embedded BI dashboard without a second login.
  • Printing or exporting a dashboard for a management meeting.
  • Refreshing figures after a large import.

Path map

flowchart LR
    F(["Dashboard viewer"]):::feat
    F --> H1["Custom dashboard reviewed"]:::ok
    F -.-> X1["Unknown panel type"]:::bad
    F -.-> X2["External dashboard not found"]:::bad
    F -.-> X3["No dashboards for the role"]:::bad
    F -.-> X4["Module disabled"]:::bad
    classDef feat fill:#8a6b10,stroke:#8a6b10,color:#ffffff,font-weight:bold
    classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e
    classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13

Happy paths

Custom dashboard reviewed

  1. User picks a dashboard from the Analytics menu.
  2. The panel resolves as custom, its filters are seeded and settle() runs.
  3. Charts and KPI tiles render for the default date range.
  4. The user adjusts the range, refreshes and then prints or exports.

Failure paths

QA checklist

Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.

  • ✅ Custom dashboard reviewed
  • ⛔ Unknown panel type
  • ⛔ External dashboard not found
  • ⛔ No dashboards for the role
  • ⛔ Module disabled

Implementation


Generated from doc/feature-inventory.json · id analytics-dashboard-viewer · commit 276788ca6