Class Multiplicity

Multiplicity

Defines invalid connections along with the error messages that they produce. To add or remove rules on a graph, you must add/remove instances of this class to graph.multiplicities.

graph.multiplicities.push(new mxMultiplicity(
true, 'rectangle', null, null, 0, 2, ['circle'],
'Only 2 targets allowed',
'Only circle targets allowed'));

Defines a rule where each rectangle must be connected to no more than 2 circles and no other types of targets are allowed.

Constructors

  • Parameters

    • source: boolean
    • type: string
    • attr: string
    • value: string
    • min: undefined | null | number
    • max: undefined | null | number
    • validNeighbors: string[]
    • countError: string
    • typeError: string
    • validNeighborsAllowed: boolean = true

    Returns Multiplicity

Properties

attr: string

Optional string that specifies the attributename to be passed to mxUtils.isNode to check if the rule applies to a cell.

countError: string

Holds the localized error message to be displayed if the number of connections for which the rule applies is smaller than min or greater than max.

max: number

Defines the maximum number of connections for which this rule applies.

Number.MAX_VALUE

min: number

Defines the minimum number of connections for which this rule applies.

0
source: boolean

Boolean that specifies if the rule is applied to the source or target terminal of an edge.

type: string

Defines the type of the source or target terminal. The type is a string passed to mxUtils.isNode together with the source or target vertex value as the first argument.

typeError: string

Holds the localized error message to be displayed if the type of the neighbor for a connection does not match the rule.

validNeighbors: string[]

Holds an array of strings that specify the type of neighbor for which this rule applies. The strings are used in Cell.is on the opposite terminal to check if the rule applies to the connection.

validNeighborsAllowed: boolean = true

Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.

value: string

Optional string that specifies the value of the attribute to be passed to mxUtils.isNode to check if the rule applies to a cell.

Methods

  • Checks the multiplicity for the given arguments and returns the error for the given connection or null if the multiplicity does not apply.

    Parameters

    • graph: Graph

      Reference to the enclosing graph instance.

    • edge: Cell

      mxCell that represents the edge to validate.

    • source: Cell

      mxCell that represents the source terminal.

    • target: Cell

      mxCell that represents the target terminal.

    • sourceOut: number

      Number of outgoing edges from the source terminal.

    • targetIn: number

      Number of incoming edges for the target terminal.

    Returns null | string

  • Checks the given terminal cell and returns true if this rule applies. The given cell is the source or target of the given edge, depending on source. This implementation uses checkType on the terminal's value.

    Parameters

    Returns boolean

  • Checks the type of the given value.

    Parameters

    • graph: Graph
    • value: string | Element | Cell
    • type: string
    • Optionalattr: string
    • OptionalattrValue: any

    Returns boolean