Migrate Dashboard interface patterns
This commit is contained in:
@@ -72,11 +72,51 @@ manifest = ModuleManifest(
|
||||
routes=(FrontendRoute(path="/dashboard", component="DashboardPage", order=10),),
|
||||
nav_items=(NavItem(path="/dashboard", label="Dashboard", icon="dashboard", order=10),),
|
||||
view_surfaces=(
|
||||
ViewSurface(
|
||||
id="dashboard.page",
|
||||
module_id="dashboard",
|
||||
kind="route",
|
||||
label="Dashboard",
|
||||
order=10,
|
||||
),
|
||||
ViewSurface(
|
||||
id="dashboard.summary",
|
||||
module_id="dashboard",
|
||||
kind="section",
|
||||
label="Dashboard summary",
|
||||
parent_id="dashboard.page",
|
||||
order=10,
|
||||
),
|
||||
ViewSurface(
|
||||
id="dashboard.library",
|
||||
module_id="dashboard",
|
||||
kind="section",
|
||||
label="Widget library",
|
||||
parent_id="dashboard.page",
|
||||
order=20,
|
||||
),
|
||||
ViewSurface(
|
||||
id="dashboard.grid",
|
||||
module_id="dashboard",
|
||||
kind="section",
|
||||
label="Dashboard grid",
|
||||
parent_id="dashboard.page",
|
||||
order=30,
|
||||
),
|
||||
ViewSurface(
|
||||
id="dashboard.widget-settings",
|
||||
module_id="dashboard",
|
||||
kind="action",
|
||||
label="Widget settings",
|
||||
parent_id="dashboard.grid",
|
||||
order=40,
|
||||
),
|
||||
ViewSurface(
|
||||
id="dashboard.widget.installed-modules",
|
||||
module_id="dashboard",
|
||||
kind="section",
|
||||
label="Installed modules widget",
|
||||
parent_id="dashboard.grid",
|
||||
order=10,
|
||||
),
|
||||
),
|
||||
@@ -96,6 +136,53 @@ manifest = ModuleManifest(
|
||||
audience=("user", "tenant_admin", "operator"),
|
||||
related_modules=("core", "ops"),
|
||||
order=20,
|
||||
metadata={
|
||||
"help_contexts": [
|
||||
"dashboard.page",
|
||||
"dashboard.summary",
|
||||
"dashboard.library",
|
||||
"dashboard.grid",
|
||||
"dashboard.state.browser-fallback",
|
||||
"dashboard.state.view-specific",
|
||||
],
|
||||
},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="dashboard.reference.layout-and-widgets",
|
||||
title="Dashboard layouts and widget consequences",
|
||||
summary="Per-user, per-tenant, and per-View widget placement, sizing, configuration, availability, and fallback semantics.",
|
||||
body=(
|
||||
"A Dashboard layout belongs to the active tenant, account, and focused View. "
|
||||
"Configuring changes only a local draft until Save layout is selected; Cancel or "
|
||||
"Discard restores the last saved arrangement. Widget removal removes only the placement, "
|
||||
"not the module data represented by the widget. Reset restores the defaults announced by "
|
||||
"currently active modules and remains reversible until save. A widget is offered only when "
|
||||
"its module, focused View surface, and permission contract are available. Widgets never grant "
|
||||
"access and providers must authorize every data request. If the server layout is unreachable, "
|
||||
"the browser or module default can be displayed but is identified as a fallback until saved. "
|
||||
"Concurrent saves use the layout revision and reject stale updates instead of overwriting them."
|
||||
),
|
||||
layer="available",
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("user", "tenant_admin", "operator", "module_admin"),
|
||||
related_modules=("core", "views", "access", "ops"),
|
||||
order=21,
|
||||
metadata={
|
||||
"help_contexts": [
|
||||
"dashboard.action.configure",
|
||||
"dashboard.action.save",
|
||||
"dashboard.action.reset",
|
||||
"dashboard.action.remove-widget",
|
||||
"dashboard.field.widget-size",
|
||||
"dashboard.field.widget-configuration",
|
||||
],
|
||||
"consequence_classes": {
|
||||
"save_layout": "Persists the complete layout for the active tenant, account, and View revision context.",
|
||||
"reset_layout": "Replaces the draft with current module defaults and remains reversible until save.",
|
||||
"remove_widget": "Removes only the placement from the draft; provider data is unchanged.",
|
||||
"configure_widget": "Changes presentation and query preferences for one widget placement.",
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
architecture=declared_module_architecture(
|
||||
|
||||
Reference in New Issue
Block a user