@maxgraph/core
    Preparing search index...

    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.

    Index

    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