Add dashboard module
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
Metadata-Version: 2.4
|
||||
Name: govoplan-dashboard
|
||||
Version: 0.1.6
|
||||
Summary: GovOPlaN configurable dashboard module.
|
||||
Author: GovOPlaN
|
||||
Requires-Python: >=3.12
|
||||
Description-Content-Type: text/markdown
|
||||
Requires-Dist: govoplan-core>=0.1.6
|
||||
Requires-Dist: govoplan-access>=0.1.6
|
||||
|
||||
# GovOPlaN Dashboard
|
||||
|
||||
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.
|
||||
The first implementation stores personal widget visibility in browser storage;
|
||||
server-side layout persistence can be added later without changing the widget
|
||||
contract.
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
README.md
|
||||
pyproject.toml
|
||||
src/govoplan_dashboard/__init__.py
|
||||
src/govoplan_dashboard/py.typed
|
||||
src/govoplan_dashboard.egg-info/PKG-INFO
|
||||
src/govoplan_dashboard.egg-info/SOURCES.txt
|
||||
src/govoplan_dashboard.egg-info/dependency_links.txt
|
||||
src/govoplan_dashboard.egg-info/entry_points.txt
|
||||
src/govoplan_dashboard.egg-info/requires.txt
|
||||
src/govoplan_dashboard.egg-info/top_level.txt
|
||||
src/govoplan_dashboard/backend/__init__.py
|
||||
src/govoplan_dashboard/backend/manifest.py
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[govoplan.modules]
|
||||
dashboard = govoplan_dashboard.backend.manifest:get_manifest
|
||||
@@ -0,0 +1,2 @@
|
||||
govoplan-core>=0.1.6
|
||||
govoplan-access>=0.1.6
|
||||
@@ -0,0 +1 @@
|
||||
govoplan_dashboard
|
||||
@@ -0,0 +1,6 @@
|
||||
"""GovOPlaN dashboard module."""
|
||||
|
||||
__all__ = ["__version__"]
|
||||
|
||||
__version__ = "0.1.6"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
"""Backend integration for the GovOPlaN dashboard module."""
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,40 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from govoplan_core.core.modules import DocumentationTopic, FrontendModule, FrontendRoute, ModuleManifest, NavItem
|
||||
|
||||
|
||||
manifest = ModuleManifest(
|
||||
id="dashboard",
|
||||
name="Dashboard",
|
||||
version="0.1.6",
|
||||
dependencies=("access",),
|
||||
optional_dependencies=("ops", "campaigns", "files", "mail", "tasks", "notifications", "reporting"),
|
||||
nav_items=(NavItem(path="/dashboard", label="Dashboard", icon="dashboard", order=10),),
|
||||
frontend=FrontendModule(
|
||||
module_id="dashboard",
|
||||
package_name="@govoplan/dashboard-webui",
|
||||
routes=(FrontendRoute(path="/dashboard", component="DashboardPage", order=10),),
|
||||
nav_items=(NavItem(path="/dashboard", label="Dashboard", icon="dashboard", order=10),),
|
||||
),
|
||||
documentation=(
|
||||
DocumentationTopic(
|
||||
id="dashboard.configurable-home",
|
||||
title="Configurable user dashboard",
|
||||
summary="The dashboard module owns the configurable home surface. Feature modules expose widgets through a narrow dashboard.widgets capability.",
|
||||
body=(
|
||||
"Core only provides a minimal fallback home when the dashboard module is absent. "
|
||||
"Dashboard widgets must be contributed through core contracts, not by importing sibling module components directly."
|
||||
),
|
||||
layer="configured",
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("user", "tenant_admin", "operator"),
|
||||
related_modules=("core", "ops"),
|
||||
order=20,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
def get_manifest() -> ModuleManifest:
|
||||
return manifest
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
Reference in New Issue
Block a user