Hierarchy (view full)

Constructors

  • Parameters

    • spec: Spec & {
          props: {
              anchors: number[];
              isDrawing: undefined | boolean;
              kind: EDGE;
              message: undefined | {
                  text: undefined | string;
                  xOffset: number;
                  yOffset: number;
              };
              messageVisibleKind: undefined | string;
              points: number[];
              status: undefined | {
                  color: string;
              };
              type: string;
          };
          source: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
          target: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
      }
    • ids: {
          containerId: string;
          shapeId: string;
          versionId: string;
      }
      • containerId: string
      • shapeId: string
      • versionId: string
    • app: App

    Returns Link

Properties

_app: App
_boundingBox: Nullable<BoundingBox> = null
_cachedNode: Nullable<Group> = null
_currentKonvasDrawContext: Nullable<DrawContext> = null
_isKonvasCacheDirty: boolean = false
_konvasCache: null | KonvasCache<{
    labels: LabelContainer[];
    main: Group;
    ring: Group;
}> = null
anchorsVisible: TrackableProperty<boolean> = ...
containerId: string
disabled: boolean = false
highlight: TrackableProperty<boolean> = ...
hitBoxes: HitBox[] = []
hover: TrackableProperty<boolean> = ...
isReady: boolean = false
isTask: boolean = false
lowLighted: TrackableProperty<boolean> = ...
messageFlowsTarget: TrackableProperty<boolean> = ...
metadata: any = {}
onHoverTimer: null | Timeout = null
shapeId: string
versionId: string

Accessors

Methods

  • Parameters

    • spec: DeepImmutableObject<Spec & {
          props: {
              anchors: number[];
              isDrawing: undefined | boolean;
              kind: EDGE;
              message: undefined | {
                  text: undefined | string;
                  xOffset: number;
                  yOffset: number;
              };
              messageVisibleKind: undefined | string;
              points: number[];
              status: undefined | {
                  color: string;
              };
              type: string;
          };
          source: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
          target: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
      }>
    • shapeId: string = ''
    • containerId: string = ''
    • versionId: string = ''

    Returns {
        attachments: undefined | {
            title: string;
            type: string;
            typeDisplayName: string | {
                values: {
                    lcid: number;
                    value: unknown;
                }[];
            };
            url: string;
        }[];
        attributeDisplays: undefined | {
            anchor: undefined | string;
            height: number;
            horizontalAlignment: string;
            key: string;
            rotation: number;
            verticalAlignment: string;
            width: number;
            xOffset: number;
            yOffset: number;
        }[];
        attributes: undefined | {
            key: string;
            values: {
                lcid: number;
                value: unknown;
            }[];
        }[];
        containerId: undefined | string;
        id: undefined | string;
        properties:
            | {
                evType: undefined | string;
                type:
                    | EV_START
                    | EV_START_NON_INTERRUPTING
                    | EV_INTERMEDIATE_NON_INTERRUPTING
                    | EV_END
                    | EV_INTERMEDIATE;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            }
            | {
                columnSpan: number;
                rowSpan: number;
                type: POOL;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            }
            | {
                columnSpan: number;
                isEmpty: undefined | boolean;
                rowSpan: number;
                type: LANE;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            }
            | {
                type: CONDITION;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            }
            | {
                type: RULE_OR | RULE_XOR | RULE_AND;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            }
            | {
                decorations: undefined | {
                    key: string;
                    value: number;
                }[];
                detailContent: undefined | string;
                kpis: undefined | {
                    status: string;
                };
                processMarker: undefined | string;
                requestEnabled: undefined | boolean;
                source: undefined | string;
                status: undefined | {
                    action: undefined | string;
                    color: undefined | string;
                    name: undefined | string;
                    percentage: undefined | number;
                };
                subscriptionEnabled: undefined | boolean;
                taskMarker: undefined | string;
                taskType: undefined | string;
                type:
                    | TASK
                    | FUNC
                    | MAIN_PROCESS_IF
                    | MAIN_PROCESS
                    | SCENARIO_IF
                    | SCENARIO
                    | SUB_PROCESS_IF
                    | SUB_PROCESS
                    | TRANSACTION
                    | CALL_ACTIVITY
                    | IF_PLACEHOLDER
                    | EXTERNAL_TASK
                    | SUB_SUB_CATEGORY;
                version: undefined | string;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            }
            | {
                anchors: number[];
                isDrawing: undefined | boolean;
                kind: EDGE;
                message: undefined | {
                    text: undefined | string;
                    xOffset: number;
                    yOffset: number;
                };
                messageVisibleKind: undefined | string;
                points: number[];
                status: undefined | {
                    color: string;
                };
                type: string;
            }
            | {
                columnSpan: number;
                rotation: number;
                rowSpan: number;
                text: string;
                type: LABEL;
            } & {
                column: undefined | number;
                height: number;
                kind: "shape" | "plane";
                laneId: undefined | string;
                poolId: undefined | string;
                row: undefined | number;
                type: string;
                width: number;
                x: number;
                y: number;
            };
        related: undefined | {
            ids: string[];
            key: string;
            shortKey: undefined | string;
        }[];
        shapeId: undefined | string;
        source: undefined | {
            id: undefined | string;
            port: string;
            portOffset: undefined | number;
            portRatio: undefined | number;
            shapeId: undefined | string;
        };
        target: undefined | {
            id: undefined | string;
            port: string;
            portOffset: undefined | number;
            portRatio: undefined | number;
            shapeId: undefined | string;
        };
        versionId: undefined | string;
    }

    • attachments: undefined | {
          title: string;
          type: string;
          typeDisplayName: string | {
              values: {
                  lcid: number;
                  value: unknown;
              }[];
          };
          url: string;
      }[]
    • attributeDisplays: undefined | {
          anchor: undefined | string;
          height: number;
          horizontalAlignment: string;
          key: string;
          rotation: number;
          verticalAlignment: string;
          width: number;
          xOffset: number;
          yOffset: number;
      }[]
    • attributes: undefined | {
          key: string;
          values: {
              lcid: number;
              value: unknown;
          }[];
      }[]
    • containerId: undefined | string
    • id: undefined | string
    • properties:
          | {
              evType: undefined | string;
              type:
                  | EV_START
                  | EV_START_NON_INTERRUPTING
                  | EV_INTERMEDIATE_NON_INTERRUPTING
                  | EV_END
                  | EV_INTERMEDIATE;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
          | {
              columnSpan: number;
              rowSpan: number;
              type: POOL;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
          | {
              columnSpan: number;
              isEmpty: undefined | boolean;
              rowSpan: number;
              type: LANE;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
          | {
              type: CONDITION;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
          | {
              type: RULE_OR | RULE_XOR | RULE_AND;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
          | {
              decorations: undefined | {
                  key: string;
                  value: number;
              }[];
              detailContent: undefined | string;
              kpis: undefined | {
                  status: string;
              };
              processMarker: undefined | string;
              requestEnabled: undefined | boolean;
              source: undefined | string;
              status: undefined | {
                  action: undefined | string;
                  color: undefined | string;
                  name: undefined | string;
                  percentage: undefined | number;
              };
              subscriptionEnabled: undefined | boolean;
              taskMarker: undefined | string;
              taskType: undefined | string;
              type:
                  | TASK
                  | FUNC
                  | MAIN_PROCESS_IF
                  | MAIN_PROCESS
                  | SCENARIO_IF
                  | SCENARIO
                  | SUB_PROCESS_IF
                  | SUB_PROCESS
                  | TRANSACTION
                  | CALL_ACTIVITY
                  | IF_PLACEHOLDER
                  | EXTERNAL_TASK
                  | SUB_SUB_CATEGORY;
              version: undefined | string;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
          | {
              anchors: number[];
              isDrawing: undefined | boolean;
              kind: EDGE;
              message: undefined | {
                  text: undefined | string;
                  xOffset: number;
                  yOffset: number;
              };
              messageVisibleKind: undefined | string;
              points: number[];
              status: undefined | {
                  color: string;
              };
              type: string;
          }
          | {
              columnSpan: number;
              rotation: number;
              rowSpan: number;
              text: string;
              type: LABEL;
          } & {
              column: undefined | number;
              height: number;
              kind: "shape" | "plane";
              laneId: undefined | string;
              poolId: undefined | string;
              row: undefined | number;
              type: string;
              width: number;
              x: number;
              y: number;
          }
    • related: undefined | {
          ids: string[];
          key: string;
          shortKey: undefined | string;
      }[]
    • shapeId: undefined | string
    • source: undefined | {
          id: undefined | string;
          port: string;
          portOffset: undefined | number;
          portRatio: undefined | number;
          shapeId: undefined | string;
      }
    • target: undefined | {
          id: undefined | string;
          port: string;
          portOffset: undefined | number;
          portRatio: undefined | number;
          shapeId: undefined | string;
      }
    • versionId: undefined | string
  • Parameters

    • params: {
          callback?: ((params: {
              e: KonvaEventObject<MouseEvent>;
              entity: BaseEntity;
              label?: LabelContainer;
          }) => void);
          eventType?: string;
          namespace?: string;
          targets?: (Shape<ShapeConfig> | Group)[];
      }
      • Optionalcallback?: ((params: {
            e: KonvaEventObject<MouseEvent>;
            entity: BaseEntity;
            label?: LabelContainer;
        }) => void)
      • OptionaleventType?: string
      • Optionalnamespace?: string
      • Optionaltargets?: (Shape<ShapeConfig> | Group)[]

    Returns void

  • Parameters

    • counterparts: {
          elements: {
              active: undefined | boolean;
              classNames: undefined | string;
              descriptionTooltip: undefined | string;
              editable: undefined | boolean;
              icon: undefined | string;
              id: string;
              label: undefined | string;
              meta: unknown;
              showSelectedSubItems: undefined | boolean;
              subMenu: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
          }[];
          menus: {
              above: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
              after: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
              before: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
              below: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
              empty: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
              settings: undefined | {
                  groups: {
                      asyncSearch: undefined | boolean;
                      elements: number[];
                      id: undefined | string | number;
                      label: undefined | string;
                      searchable: undefined | boolean;
                  }[];
                  layout: undefined | "simple" | "detailed";
                  searchable: undefined | boolean;
                  searchPlaceholder: undefined | string;
                  title: undefined | string;
              };
          };
          type: undefined | "navigation" | "modeling";
      }
      • elements: {
            active: undefined | boolean;
            classNames: undefined | string;
            descriptionTooltip: undefined | string;
            editable: undefined | boolean;
            icon: undefined | string;
            id: string;
            label: undefined | string;
            meta: unknown;
            showSelectedSubItems: undefined | boolean;
            subMenu: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
        }[]
      • menus: {
            above: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
            after: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
            before: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
            below: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
            empty: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
            settings: undefined | {
                groups: {
                    asyncSearch: undefined | boolean;
                    elements: number[];
                    id: undefined | string | number;
                    label: undefined | string;
                    searchable: undefined | boolean;
                }[];
                layout: undefined | "simple" | "detailed";
                searchable: undefined | boolean;
                searchPlaceholder: undefined | string;
                title: undefined | string;
            };
        }
        • above: undefined | {
              groups: {
                  asyncSearch: undefined | boolean;
                  elements: number[];
                  id: undefined | string | number;
                  label: undefined | string;
                  searchable: undefined | boolean;
              }[];
              layout: undefined | "simple" | "detailed";
              searchable: undefined | boolean;
              searchPlaceholder: undefined | string;
              title: undefined | string;
          }
        • after: undefined | {
              groups: {
                  asyncSearch: undefined | boolean;
                  elements: number[];
                  id: undefined | string | number;
                  label: undefined | string;
                  searchable: undefined | boolean;
              }[];
              layout: undefined | "simple" | "detailed";
              searchable: undefined | boolean;
              searchPlaceholder: undefined | string;
              title: undefined | string;
          }
        • before: undefined | {
              groups: {
                  asyncSearch: undefined | boolean;
                  elements: number[];
                  id: undefined | string | number;
                  label: undefined | string;
                  searchable: undefined | boolean;
              }[];
              layout: undefined | "simple" | "detailed";
              searchable: undefined | boolean;
              searchPlaceholder: undefined | string;
              title: undefined | string;
          }
        • below: undefined | {
              groups: {
                  asyncSearch: undefined | boolean;
                  elements: number[];
                  id: undefined | string | number;
                  label: undefined | string;
                  searchable: undefined | boolean;
              }[];
              layout: undefined | "simple" | "detailed";
              searchable: undefined | boolean;
              searchPlaceholder: undefined | string;
              title: undefined | string;
          }
        • empty: undefined | {
              groups: {
                  asyncSearch: undefined | boolean;
                  elements: number[];
                  id: undefined | string | number;
                  label: undefined | string;
                  searchable: undefined | boolean;
              }[];
              layout: undefined | "simple" | "detailed";
              searchable: undefined | boolean;
              searchPlaceholder: undefined | string;
              title: undefined | string;
          }
        • settings: undefined | {
              groups: {
                  asyncSearch: undefined | boolean;
                  elements: number[];
                  id: undefined | string | number;
                  label: undefined | string;
                  searchable: undefined | boolean;
              }[];
              layout: undefined | "simple" | "detailed";
              searchable: undefined | boolean;
              searchPlaceholder: undefined | string;
              title: undefined | string;
          }
      • type: undefined | "navigation" | "modeling"

    Returns void

  • Get the attributes display of the current entity label

    Returns null | {
        anchor: undefined | string;
        height: number;
        horizontalAlignment: string;
        key: string;
        rotation: number;
        verticalAlignment: string;
        width: number;
        xOffset: number;
        yOffset: number;
    }

  • Get the rect on which the label editor UI will be anchored

    Most of the time, this will be the bounding box of the entity, but it may vary for some entities (e.g. links)

    Returns IRect

  • Get the attributes display of a new label

    This method may be overridden by children to provide a custom label display

    Returns {
        anchor: undefined | string;
        height: number;
        horizontalAlignment: string;
        key: string;
        rotation: number;
        verticalAlignment: string;
        width: number;
        xOffset: number;
        yOffset: number;
    }

    • anchor: undefined | string
    • height: number
    • horizontalAlignment: string
    • key: string
    • rotation: number
    • verticalAlignment: string
    • width: number
    • xOffset: number
    • yOffset: number
  • Faster because it isn't validating the spec

    Parameters

    • spec: Partial<DeepImmutableObject<Spec & {
          props: {
              anchors: number[];
              isDrawing: undefined | boolean;
              kind: EDGE;
              message: undefined | {
                  text: undefined | string;
                  xOffset: number;
                  yOffset: number;
              };
              messageVisibleKind: undefined | string;
              points: number[];
              status: undefined | {
                  color: string;
              };
              type: string;
          };
          source: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
          target: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
      }>>

    Returns void

  • Parameters

    • spec: Partial<Spec & {
          props: {
              anchors: number[];
              isDrawing: undefined | boolean;
              kind: EDGE;
              message: undefined | {
                  text: undefined | string;
                  xOffset: number;
                  yOffset: number;
              };
              messageVisibleKind: undefined | string;
              points: number[];
              status: undefined | {
                  color: string;
              };
              type: string;
          };
          source: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
          target: {
              id: undefined | string;
              port: string;
              portOffset: undefined | number;
              portRatio: undefined | number;
              shapeId: undefined | string;
          };
      }>
    • Optionalids: {
          containerId?: string;
          shapeId?: string;
          versionId?: string;
      }
      • OptionalcontainerId?: string
      • OptionalshapeId?: string
      • OptionalversionId?: string

    Returns void