The mapping for the definition of a node inside a view.

interface ViewNodeOptions {
    allowLoopback?: boolean;
    allowVertexLoopback?: boolean;
    anchorPositionFinder?: ((el, pos, vertex, def, evt) => ArrayAnchorSpec);
    anchorPositions?: ObjectAnchorSpec[];
    defaultSize?: Size;
    events?: ViewEventOptions;
    maxConnections?: number;
    mergeStrategy?: string;
    parameters?: Record<string, any>;
    parent?: string | string[];
    template?: string;
    templateId?: string;

Hierarchy (view full)


allowLoopback?: boolean

Whether or not to allow edges from this vertex back to itself. Defaults to true. This flag will not prevent an edge from a port back to the node/group to which it belongs - for that, see allowVertexLoopback.

allowVertexLoopback?: boolean

Whether or not to allow edges from a port back to the vertex it belongs to. Defaults to true.

anchorPositionFinder?: ((el, pos, vertex, def, evt) => ArrayAnchorSpec)

Optional function to call on connection drop, to determine the location for the target anchor for the new connection. Returning null from this indicates no preference, and the Toolkit will use its own computed value. Note that the return value from this method is ArrayAnchorSpec, meaning an array in the format [ x, y, orientationX, orientationY, offsetX, offsetY ]. Note also that offsetX and offsetY are optional, and will be defaulted to 0.

Type declaration

anchorPositions?: ObjectAnchorSpec[]

Optional array of anchor positions to use.

defaultSize?: Size

Optional default size to use for the vertex. This is not used to set the size in the DOM for a vertex - it is used to insert width and height values into the backing data for any vertex of this type that does not have them set.

events?: ViewEventOptions

Optional map of event bindings.

maxConnections?: number

Maximum number of connections this vertex supports. Default is 1. A value of -1 means no limit.

mergeStrategy?: string

When merging a type description into its parent(s), values in the child for connector, anchor and anchors will always overwrite any such values in the parent. But other values, such as overlays, will be merged with their parent's entry for that key. You can force a child's type to override every corresponding value in its parent by setting mergeStrategy:'override'.

parameters?: Record<string, any>

A map of parameters that the template engine will merge with the backing data when rendering the vertex.

parent?: string | string[]

Optional ID of one or more edge definitions to include in this definition. The child definition is merged on top of the parent definition(s). Circular references are not allowed and will throw an error.

template?: string

Template to use for a vertex of this type. This is only for 'vanilla' Toolkit: if you are using an integration such as React/Angular/Vue/Svelte, you will not need to provide this. If you provide this and also templateId, this will take precedence.

templateId?: string

ID of the template to use for a vertex of this type. This is only for 'vanilla' Toolkit: if you are using an integration such as React/Angular/Vue, you will not need to provide this. This parameter is distinct from template in that when you provide templateId you are expecting the Toolkit to resolve the template for you, either from a templates block in a render call, or by looking for a script element in the DOM with the appropriate ID. If you provide this and also template, template will take precedence.