Interface HierarchicalLayoutParameters

Parameters for the Hierarchical Layout.


From 6.1.0 use the Hierarchy layout instead

interface HierarchicalLayoutParameters {
    absoluteBacked?: boolean;
    align?: string;
    getChildVertices?: HierarchicalLayoutChildVerticesFunction<Vertex>;
    getRootNode?: ((toolkit) => Vertex[]);
    height?: number;
    ignoreLoops?: boolean;
    ignorePorts?: boolean;
    invert?: boolean;
    locationFunction?: LocationFunction;
    multipleRoots?: boolean;
    orientation?: "horizontal" | "vertical";
    padding?: PointXY;
    rootNode?: Vertex[];
    spacing?: string;
    width?: number;

Hierarchy (view full)


absoluteBacked?: boolean

Defaults to false. If true, then the layout will use any position values found in the data for a given vertex.

align?: string

Optional, defaults to "center". Instructs the layout how to place child nodes with respect to their parent nodes. By default, a group of child nodes is centered on its parent. The layout also supports "start" and "end" for this value, which work in much the same way as "flex-start" and "flex-end" do in CSS: for a hierarchical layout with the root at the top of the tree and the child nodes underneath, a value of "start" for align would cause the first child of the root to be placed immediately under the root, with its first child immediately underneath, etc. The remainder of the content would fan out to the right. This option also works in conjunction with invert and orientation:"vertical"

getChildVertices?: HierarchicalLayoutChildVerticesFunction<Vertex>

Optional function used to determine the edges to traverse to find children from some node

Param: node

Param: toolkit

getRootNode?: ((toolkit) => Vertex[])

Optional. A function that is given the Toolkit instance as argument and is expected to return either a single node/group, or an array of nodes/groups, to use as the root(s) for the layout

Type declaration

    • (toolkit): Vertex[]
    • Parameters

      Returns Vertex[]

height?: number

Optional fixed height for the layout.

ignoreLoops?: boolean

Defaults to true. If a loop is found during the layout it is usually ignored, unless this is set to true.

ignorePorts?: boolean

Defaults to false, meaning that ports are taken into account when figuring the list of edges from some vertex. If you set this to true, ports will be ignored and the layout will only consider edges connected directly to each vertex.

invert?: boolean

Optional, defaults to false. If true, the layout will be inverted, ie. the root node will be at the bottom for horizontal layouts, and to the right for vertical layouts

locationFunction?: LocationFunction

Optional function that, given some vertex, can provide the x/y location of the vertex on the canvas

multipleRoots?: boolean

Optional, defaults to true. If false, multiple roots are not supported, and assuming you have not overridden getRootNode, the layout uses the first node found in the dataset (otherwise it still uses the result of your getRootNode function)

orientation?: "horizontal" | "vertical"

Optional, defaults to "vertical". Valid values are "vertical" and "horizontal".

padding?: PointXY

Optional padding to put around the elements.

rootNode?: Vertex[]

Optional. Defines the node/group to use as the root of the tree. This may be provided either as a node/group id or as a node/group object. If this parameter is not specified and multipleRoots is not false then the layout uses the result(s) of the getRootNode function; otherwise it uses the first node/group found in the dataset.

spacing?: string

Optional, defaults to "auto". Valid values are: "auto" ( Spaces each node and its parent according to the size of the biggest node in the given node's level. "compress" (Spacing.compress) Uses a regular spacing between each node and its parent

width?: number

Optional fixed width for the layout.