feat(FN-3079): add plugin dashboard views and dependency graph plugin
- Add plugin dashboard view registration and hosting across core, dashboard routes, and plugin SDK exports - Integrate plugin-provided views into app navigation, mobile/header UI, and view state hooks with coverage - Add fusion-plugin-dependency-graph example plugin with persisted storage, dashboard view UI, and manifest wiring - Update plugin authoring and architecture docs for dashboard view extension points - Add a changeset for @runfusion/fusion covering plugin dashboard view support Fusion-Task-Id: FN-3079
This commit is contained in:
@@ -19,6 +19,7 @@ import type {
|
||||
WorkflowStepResult,
|
||||
PluginInstallation,
|
||||
PluginUiSlotDefinition,
|
||||
PluginDashboardViewDefinition,
|
||||
TaskDocument,
|
||||
TaskDocumentRevision,
|
||||
TaskDocumentWithTask,
|
||||
@@ -7478,6 +7479,12 @@ export interface PluginUiSlotEntry {
|
||||
slot: PluginUiSlotDefinition;
|
||||
}
|
||||
|
||||
/** A dashboard view entry returned by GET /api/plugins/dashboard-views */
|
||||
export interface PluginDashboardViewEntry {
|
||||
pluginId: string;
|
||||
view: PluginDashboardViewDefinition;
|
||||
}
|
||||
|
||||
/** Plugin runtime metadata returned by GET /api/plugins/runtimes */
|
||||
export interface PluginRuntimeInfo {
|
||||
pluginId: string;
|
||||
@@ -7492,6 +7499,12 @@ export async function fetchPluginUiSlots(projectId?: string): Promise<PluginUiSl
|
||||
return api<PluginUiSlotEntry[]>(withProjectId("/plugins/ui-slots", projectId));
|
||||
}
|
||||
|
||||
|
||||
/** Fetch all top-level dashboard view definitions from active plugins */
|
||||
export async function fetchPluginDashboardViews(projectId?: string): Promise<PluginDashboardViewEntry[]> {
|
||||
return api<PluginDashboardViewEntry[]>(withProjectId("/plugins/dashboard-views", projectId));
|
||||
}
|
||||
|
||||
/** Fetch all plugin runtime metadata from active plugins */
|
||||
export async function fetchPluginRuntimes(projectId?: string): Promise<PluginRuntimeInfo[]> {
|
||||
return api<PluginRuntimeInfo[]>(withProjectId("/plugins/runtimes", projectId));
|
||||
|
||||
Reference in New Issue
Block a user