This page documents the main components provided by the rxe.flow
library.
The FlowProvider
component is a context provider that makes it possible to access a flow’s internal state outside of the <ReactFlow />
component. Many of the hooks we provide rely on this component to work.
Props:
initial_nodes
:Sequence[Node]
- These nodes are used to initialize the flow. They are not dynamic.default_edges
:Sequence[Edge]
- These edges are used to initialize the flow. They are not dynamic.initial_width
:float
- The initial width is necessary to be able to use fitView on the server.initial_height
:float
- The initial height is necessary to be able to use fitView on the server.fit_view
:bool
- When true, the flow will be zoomed and panned to fit all the nodes initially provided.initial_fit_view_options
:FitViewOptions
- You can provide an object of options to customize the initial fitView behavior.initial_min_zoom
:float
- Initial minimum zoom level.initial_max_zoom
:float
- Initial maximum zoom level.node_origin
:NodeOrigin
- The origin of the node to use when placing it in the flow or looking up its x and y position.node_extent
:CoordinateExtent
- The boundary a node can be moved in.
The Flow
component is the main component that renders the flow. It takes in nodes and edges, and provides event handlers for user interactions.
Props:
nodes
:Sequence[Node]
- An array of nodes to render in a controlled flow.edges
:Sequence[Edge]
- An array of edges to render in a controlled flow.default_nodes
:Sequence[Node]
- The initial nodes to render in an uncontrolled flow.default_edges
:Sequence[Edge]
- The initial edges to render in an uncontrolled flow.node_types
:Mapping[str, Any]
- Custom node types.edge_types
:Mapping[str, Any]
- Custom edge types.on_nodes_change
: Event handler for when nodes change.on_edges_change
: Event handler for when edges change.on_connect
: Event handler for when a connection is made.fit_view
:bool
- When true, the flow will be zoomed and panned to fit all the nodes initially provided.fit_view_options
:FitViewOptions
- Options forfit_view
.style
: The style of the component.
The Background
component renders a background for the flow. It can be a pattern of lines, dots, or a cross.
Props:
color
:str
- Color of the pattern.bg_color
:str
- Color of the background.variant
:Literal["lines", "dots", "cross"]
- The type of pattern to render.gap
:float | tuple[float, float]
- The gap between patterns.size
:float
- The size of the pattern elements.
Example:
The Controls
component renders a panel with buttons to zoom in, zoom out, fit the view, and lock the viewport.
Props:
show_zoom
:bool
- Whether to show the zoom buttons.show_fit_view
:bool
- Whether to show the fit view button.show_interactive
:bool
- Whether to show the lock button.position
:PanelPosition
- The position of the controls on the pane.
Example:
The MiniMap
component renders a small overview of your flow.
Props:
node_color
:str | Any
- Color of nodes on minimap.node_stroke_color
:str | Any
- Stroke color of nodes on minimap.pannable
:bool
- Determines whether you can pan the viewport by dragging inside the minimap.zoomable
:bool
- Determines whether you can zoom the viewport by scrolling inside the minimap.position
:PanelPosition
- Position of minimap on pane.
Example: