Ga naar hoofdinhoud

CnFlowEditorPage

The flow canvas — manifest page type flow-detail.

Mounts the shared CnFlowDetail node/edge canvas over OpenRegister's one native flow store (ADR-065, ADR-098), scoped to the owning app. Pair it with a CnFlowsPage at /flows; this one takes /flows/:id.

Manifest usage

{
"id": "FlowDetail",
"route": "/flows/:id",
"type": "flow-detail",
"title": "Flow",
"config": { "app": "dossiq" },
"sidebarComponent": "FlowDetailSidebar"
}

Controls belong in Nextcloud's app sidebar so the canvas keeps the full width — declare sidebarComponent, or mount CnFlowSidebar yourself. Canvas and sidebar share useFlowStore, which is why neither needs props from the other.

Props

PropTypeDefaultDescription
appStringnullThe owning app id, stamped on a flow created here so the app-scoped list finds it again. Omit only on the fleet-wide surface.
idString''The flow id to open. Defaults to the id route param, which is the normal case; pass it explicitly only when mounting outside a route. The literal new opens an unsaved flow.
detailRouteString'/flows'Route path the editor lives under, used to swap the URL once a new flow gets its server-assigned id.

The route swap on first save

A newly created flow gets its id from the server. Without the swap the URL stays on new, and a reload lands back on an empty canvas having lost the flow that was just saved.