Edges that connect the nodes.
The bare minimum of an edge is that it has to have a from
and to properties in it. If the optional values are not set,
it will be set to default values. See GraphEdge for more
details on what are the configurable optionals.
Note that the edges are in an array, which means the order of the edges matter. The shape of the whole flowchart is going to be determined by how the edges are connected based on the order. See orderedNodes for more details.
The edges support different types of connection between nodes:
Each of these types of connection will be rendered differently. See [[FlowterEdge.edgePoints]] for more details.
The font size of the texts in all nodes and edges (optional). This value will be set as default when the individual node or edge doesn't set any font size.
If not specified, the value is set to DEFAULT_FONT_SIZE.
The margin value applied on both ends of the height (optional).
If not specified, the value is set to DEFAULT_HEIGHT_MARGIN.
How the flowchart is being rendered (optional).
By default, the flowchart is rendered vertically (Mode.VERTICAL).
See Mode for the supported modes.
The spacing between nodes (optional).
Note that if the nodes have its own x or y,
the spacing is ignored. See shapeNodesVertically or
shapeNodesHorizontally for more details.
If not specified, the value is set to DEFAULT_NODE_COL_SPACING.
The default height of all nodes, if not specified in nodes (optional).
If not specified, the value is set to DEFAULT_NODE_HEIGHT.
The row spacing between nodes (optional).
Note that if the nodes have its own x or y,
the spacing is ignored. See shapeNodesVertically or
shapeNodesHorizontally for more details.
If not specified, the value is set to DEFAULT_NODE_ROW_SPACING.
The default width of all nodes, if not specified in nodes (optional).
If not specified, the value is set to DEFAULT_NODE_WIDTH.
Nodes to be rendered.
The key of the nodes dictionary corresponds to the node id, which means the id has to be unique.
The bare minimum of a node is that it has to have a text
property in it. If the optional values are not set, it will
be set to default values. See GraphNode for more details
on what are the configurable optionals.
Note that nodes has to connect to another note in order to be rendered. See nodeLists for more details.
The margin value applied on both ends of the width (optional).
If not specified, the value is set to DEFAULT_WIDTH_MARGIN.
The style of the flowchart's container.
All nodes in a form of an array of node rows.
The order is set based on orderedNodes. For performance reason, the size and the position of the nodes are also assigned when looping through the nodes. See shapeNodesVertically and shapeNodesHorizontally for more details.
All nodes sorted based on the edges, in a form of a dictionary.
Since the way the flowchart is rendered is by rows, the rows are only defined by edges that connect one node to another node from the adjacent row, going forward. Any other connections are simply ignored, and let [[FlowterEdge]] renders the connection as the path.
dict determines all the nodes by its id. Each member contains
all the connections to another nodes along with its index, representing
its position in nodeLists.
maxIndex determines the maximum number of node rows.
Flowchart's natural height.
Computed from the bounds' min and max y values.
See allBounds for more details.
A dictionary of all the rendered nodes details.
Since it is being computed in nodeLists as an array of node rows, this is to make it easier to access by the ids, while retaining the info. See GraphNodeDetails for all the info.
Flowchart's natural width.
Computed from the bounds' min and max x values.
See allBounds for more details.
Given a node, it checks whether the node exceeds the bounds
x and y range. If it does, update the bounds range.
The direction of where the edge is going relative to the flowchart.
This is based on where the from-node and the to-node are in the flowchart. It is used to determine direction of the edge is rendered.
The side in which the edge is located, relative to the flowchart.
Get the node's relative direction as the start/end point of an edge.
Shapes the edge given from and to node to be rendered by [[FlowterEdge]].
Shapes the node from GraphNode to RenderedGraphNode.
This would conditionally set the values depending on whether it exists or not, otherwise it is set to its default value.
For nodes with NodeSymbol.RHOMBUS, it will be rendered slightly bigger than the rest. See NODE_RHOMBUS_RATIO for more details.
For x and y, values are set to -Infinity if not specified, since
there will be some logic to set the actual values. See shapeNodesVertically
or shapeNodesHorizontally for mode details.
Shapes all nodes position when being rendered in Mode.HORIZONTAL.
The nodes' position will be rendered from the center towards the edge
of the flowchart. This would take the nodes' x and y values into account
if specified from nodes.
Shapes all nodes position when being rendered in Mode.VERTICAL.
The nodes' position will be rendered from the center towards the edge
of the flowchart. This would take the nodes' x and y values into account
if specified from nodes.
Generated using TypeDoc
The Flowter flowchart props mixins. The Flowter flowchart renderer mixins.
This class holds all the informations about what is needed for the flowchart to be rendered.
This class is responsible in shaping the retrieved props into the something that the node and the edge needs, eventually being rendered as a flowchart.