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:
Fusion
2026-05-01 23:32:32 -07:00
committed by gsxdsm
parent a284138167
commit 0597b34eea
38 changed files with 1264 additions and 16 deletions

View File

@@ -240,6 +240,22 @@ describe("Plugin SDK", () => {
});
});
it("PluginDashboardViewDefinition can be used in FusionPlugin", () => {
const plugin: FusionPlugin = {
manifest: { id: "test", name: "Test", version: "1.0.0" },
state: "installed",
hooks: {},
tools: [],
routes: [],
dashboardViews: [
{ viewId: "graph", label: "Graph", componentPath: "./views/Graph.js", placement: "more" },
],
};
expect(plugin.dashboardViews).toHaveLength(1);
expect(plugin.dashboardViews?.[0].viewId).toBe("graph");
});
// ── validatePluginManifest ───────────────────────────────────────────
describe("validatePluginManifest", () => {

View File

@@ -49,6 +49,7 @@ export type {
PluginRouteDefinition,
PluginRouteMethod,
PluginUiSlotDefinition,
PluginDashboardViewDefinition,
PluginRuntimeManifestMetadata,
PluginRuntimeFactory,
PluginRuntimeRegistration,