Learn how to render a flow, create basic draggable nodes, and connect them. This tutorial gives you the first working editor surface that later evolves into a richer Angular workflow builder.
In this article, we’ll build a minimal interactive flow with draggable nodes and dynamic connections using Foblex Flow.
View the source code on GitHub
Version note: The linked repository preserves the original v18 implementation. The examples below use the unified connector API introduced in v19.
To add Foblex Flow to your Angular project:
For Nx workspaces:
If you prefer manual installation, install the required companion packages explicitly:
Let’s create the smallest useful example: two nodes and one connection.
ng add @foblex/flow connects the shipped default theme automatically. You can keep it, override it with application styles like these, or configure the theme manually when installing the package without the schematic.
<f-flow>: root component that hosts editor interaction and runtime UI state.<f-canvas>: workspace where nodes and connections are rendered.fNode: directive that turns an element into a node.fConnector: unified connector directive; fConnectorType selects the source or target role.<f-connection>: renders a connection whose fSourceId and fTargetId match connector IDs.Unified fConnectorId values share one registry, so each connector needs a unique ID.
[fNodePosition] coordinates.fNode and f-connection elements.fConnectorConnectableSide.fType and behavior with fBehavior.fType values: straight, bezier, segment (or custom string).
fBehavior values: fixed, fixed_center, floating (default: fixed).
fNode.[fNodePosition]: nodes start at the default origin and can overlap.fSourceId / fTargetId and fConnectorId: connection is not rendered.<f-canvas>: fNode and fConnection won’t work.fNode elements are registered with positions.fConnection resolves source and target connectors by their unified IDs.In the next part, we’ll create custom Angular node components and add palette-based drag-and-drop.
Official docs: flow.foblex.com
If you like the project — leave a ⭐ on GitHub, join the discussions, and share your feedback!