GovOPlaN Dashboard
Repository type: module (platform).
Configurable dashboard module for GovOPlaN.
The module owns the /dashboard route when installed. Core keeps only a minimal
fallback home for installations where this module is absent.
Modules contribute widgets through the dashboard.widgets WebUI capability.
Personal widget layouts are stored by the backend for each tenant, account, and
active View. Configure mode supports adding, removing, ordering, sizing, and
widget-specific settings. Existing browser-only layouts are used as a migration
fallback until the first server save.
Widget providers can declare supported sizes and a small configuration schema:
{
id: "example.summary",
surfaceId: "example.dashboard.summary",
title: "Example summary",
supportedSizes: ["small", "medium", "wide"],
defaultConfiguration: { limit: 10, showDetails: true },
configurationFields: [
{ id: "limit", label: "Rows", kind: "number", min: 1, max: 50 },
{ id: "showDetails", label: "Show details", kind: "boolean" }
],
render: ({ configuration }) => <ExampleWidget configuration={configuration} />
}
Every widget needs a matching View surface. The Dashboard catalogue filters contributions through the effective View before rendering them, while saved placements remain intact when a View or module temporarily hides a widget.