/// import { ChildProperty } from '@syncfusion/ej2-base'; import { ShapeStyleModel, TextStyleModel, ShadowModel } from '../core/appearance-model'; import { Size } from '../primitives/size'; import { PointModel } from '../primitives/point-model'; import { Shapes, BasicShapes, FlowShapes, UmlActivityShapes, Scale, ImageAlignment, Status, TextAnnotationDirection } from '../enum/enum'; import { IElement } from './interface/IElement'; import { GroupableView } from '../core/containers/container'; import { DiagramElement } from '../core/elements/diagram-element'; import { RubberBandSelectionMode, ThumbsConstraints } from '../enum/enum'; import { Port } from './port'; import { PointPortModel } from './port-model'; import { SelectorConstraints } from '../enum/enum'; import { Annotation } from './annotation'; import { ShapeAnnotationModel, PathAnnotationModel } from './annotation-model'; import { HorizontalAlignment, VerticalAlignment, BpmnShapes, BpmnEvents, BpmnTriggers, BpmnGateways, NodeConstraints } from '../enum/enum'; import { BpmnDataObjects, BpmnTasks, BpmnSubProcessTypes, BpmnLoops, BranchTypes } from '../enum/enum'; import { BpmnBoundary, BpmnActivities, UmlScope } from '../enum/enum'; import { MarginModel } from '../core/appearance-model'; import { UmlActivityShapeModel, MethodArgumentsModel, UmlClassModel, BpmnTextAnnotationModel } from './node-model'; import { BpmnEventModel, BpmnSubEventModel, BpmnAnnotationModel, BpmnActivityModel } from './node-model'; import { BpmnTaskModel, BpmnSubProcessModel, BpmnGatewayModel } from './node-model'; import { ShapeModel, BasicShapeModel, FlowShapeModel, ImageModel, PathModel, BpmnShapeModel, BpmnDataObjectModel } from './node-model'; import { TextModel, NativeModel, HtmlModel, DiagramShapeModel } from './node-model'; import { LayoutModel } from '../layout/layout-base-model'; import { NodeBase } from './node-base'; import { NodeModel, BpmnTransactionSubProcessModel, SwimLaneModel, LaneModel, HeaderModel, PhaseModel, ContainerModel } from '../objects/node-model'; import { Stretch } from '../enum/enum'; import { IconShapeModel } from './icon-model'; import { ChildContainerModel, UmlClassMethodModel, UmlClassAttributeModel, UmlClassifierShapeModel } from './node-model'; import { UmlEnumerationModel, UmlInterfaceModel, UmlEnumerationMemberModel } from './node-model'; import { RowDefinition, ColumnDefinition } from '../core/containers/grid'; import { Orientation, ContainerTypes, ClassifierShape } from '../enum/enum'; import { ConnectorModel } from './connector-model'; import { Diagram } from '../../diagram/diagram'; import { UserHandleModel } from '../interaction/selector-model'; import { LayoutInfo } from '../diagram/layoutinfo'; import { SymbolSizeModel } from './preview-model'; import { NodeFixedUserHandleModel } from './fixed-user-handle-model'; import { NodeFixedUserHandle } from './fixed-user-handle'; /** * Defines the behavior of default shape */ export declare class Shape extends ChildProperty { /** * Defines the type of node shape * * Path - Sets the type of the node as Path * * Text - Sets the type of the node as Text * * Image - Sets the type of the node as Image * * Basic - Sets the type of the node as Basic * * Flow - Sets the type of the node as Flow * * Bpmn - Sets the type of the node as Bpmn * * Native - Sets the type of the node as Native * * HTML - Sets the type of the node as HTML * * UMLActivity - Sets the type of the node as UMLActivity * * @default 'Basic' */ type: Shapes; } /** * Defines the behavior of path shape */ export declare class Path extends Shape { /** * Defines the type of node shape * * @default 'Basic' */ type: Shapes; /** * Defines the geometry of a path * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+ * 'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+ * 'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ data: string; /** * getClassName method \ * * @returns { string } toBounds method .\ * * @private */ getClassName(): string; } /** * Defines the behavior of Native shape */ export declare class Native extends Shape { /** * Defines the type of node shape. * * @default 'Basic' */ type: Shapes; /** * Defines the geometry of a native element. * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, * shape: { scale: 'Stretch', * type: 'Native', content: ''+ * '', * } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ content: string | SVGElement | Function; /** * Defines the scale of the native element. * * None - Sets the stretch type for diagram as None * * Stretch - Sets the stretch type for diagram as Stretch * * Meet - Sets the stretch type for diagram as Meet * * Slice - Sets the stretch type for diagram as Slice * * @default 'Stretch' */ scale: Stretch; /** * Returns the name of class Native * * @private */ getClassName(): string; } /** * Defines the behavior of html shape */ export declare class Html extends Shape { /** * Defines the type of node shape. * * @default 'Basic' */ type: Shapes; /** * Defines the geometry of a html element. * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { type: 'HTML', * content: '
' } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ content: string | HTMLElement | Function; /** * Returns the name of class Html * * @private */ getClassName(): string; } /** * Defines the behavior of image shape */ export declare class Image extends Shape { /** * Defines the type of node shape * * @default 'Basic' */ type: Shapes; /** * Defines the source of the image * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ source: string; /** * Allows to stretch the image as you desired (either to maintain proportion or to stretch) * * None - Scale value will be set as None for the image * * Meet - Scale value Meet will be set for the image * * Slice - Scale value Slice will be set for the image * * @default 'None' */ scale: Scale; /** * Defines the alignment of the image within the node boundary. * * None - Alignment value will be set as none * * XMinYMin - smallest X value of the view port and smallest Y value of the view port * * XMidYMin - midpoint X value of the view port and smallest Y value of the view port * * XMaxYMin - maximum X value of the view port and smallest Y value of the view port * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port * * XMinYMax - smallest X value of the view port and maximum Y value of the view port * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port * * @default 'None' */ align: ImageAlignment; /** * Returns the name of class Image * * @private */ getClassName(): string; } /** * Defines the behavior of the text shape */ export declare class Text extends Shape { /** * Defines the type of node shape * * @default 'Basic' */ type: Shapes; /** * Defines the content of a text * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { type: 'Text', content: 'Text Element' } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ content: string; /** * Defines the space to be let between the node and its immediate parent * * @default 0 */ margin: MarginModel; /** * Returns the name of class Text * * @private */ getClassName(): string; } /** * Defines the behavior of the basic shape */ export declare class BasicShape extends Shape { /** * Defines the type of node shape * ```html *
* ``` * ```typescript * let shape: BasicShapeModel = { type: 'Basic', shape: 'Rectangle' }; * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'Basic' */ type: Shapes; /** * Defines the type of the basic shape * * Rectangle - Sets the type of the basic shape as Rectangle * * Ellipse - Sets the type of the basic shape as Ellipse * * Hexagon - Sets the type of the basic shape as Hexagon * * Parallelogram - Sets the type of the basic shape as Parallelogram * * Triangle - Sets the type of the basic shape as Triangle * * Plus - Sets the type of the basic shape as Plus * * Star - Sets the type of the basic shape as Star * * Pentagon - Sets the type of the basic shape as Pentagon * * Heptagon - Sets the type of the basic shape as Heptagon * * Octagon - Sets the type of the basic shape as Octagon * * Trapezoid - Sets the type of the basic shape as Trapezoid * * Decagon - Sets the type of the basic shape as Decagon * * RightTriangle - Sets the type of the basic shape as RightTriangle * * Cylinder - Sets the type of the basic shape as Cylinder * * Diamond - Sets the type of the basic shape as Diamond * * @default 'Rectangle' */ shape: BasicShapes; /** * Sets the corner of the node * * @default 0 */ cornerRadius: number; /** * Defines the collection of points to draw a polygon * * @aspDefaultValueIgnore * @default undefined */ points: PointModel[]; /** * Returns the name of class BasicShape * * @private * */ getClassName(): string; } /** * Defines the behavior of the flow shape */ export declare class FlowShape extends Shape { /** * Defines the type of node shape * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { type: 'Flow', shape: 'Terminator' }, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'Basic' */ type: Shapes; /** * Defines the type of the flow shape * * Process - Sets the type of the flow shape as Process * * Decision - Sets the type of the flow shape as Decision * * Document - Sets the type of the flow shape as Document * * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess * * Terminator - Sets the type of the flow shape as Terminator * * PaperTap - Sets the type of the flow shape as PaperTap * * DirectData - Sets the type of the flow shape as DirectData * * SequentialData - Sets the type of the flow shape as SequentialData * * MultiData - Sets the type of the flow shape as MultiData * * Collate - Sets the type of the flow shape as Collate * * SummingJunction - Sets the type of the flow shape as SummingJunction * * Or - Sets the type of the flow shape as Or * * InternalStorage - Sets the type of the flow shape as InternalStorage * * Extract - Sets the type of the flow shape as Extract * * ManualOperation - Sets the type of the flow shape as ManualOperation * * Merge - Sets the type of the flow shape as Merge * * OffPageReference - Sets the type of the flow shape as OffPageReference * * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage * * Annotation - Sets the type of the flow shape as Annotation * * Annotation2 - Sets the type of the flow shape as Annotation2 * * Data - Sets the type of the flow shape as Data * * Card - Sets the type of the flow shape as Card * * Delay - Sets the type of the flow shape as Delay * * Preparation - Sets the type of the flow shape as Preparation * * Display - Sets the type of the flow shape as Display * * ManualInput - Sets the type of the flow shape as ManualInput * * LoopLimit - Sets the type of the flow shape as LoopLimit * * StoredData - Sets the type of the flow shape as StoredData * * @default 'Terminator' */ shape: FlowShapes; /** * Returns the name of class FlowShape * * @private */ getClassName(): string; } /** * Defines the behavior of the bpmn gateway shape */ export declare class BpmnGateway extends ChildProperty { /** * Defines the type of the BPMN Gateway * * None - Sets the type of the gateway as None * * Exclusive - Sets the type of the gateway as Exclusive * * Inclusive - Sets the type of the gateway as Inclusive * * Complex - Sets the type of the gateway as Complex * * EventBased - Sets the type of the gateway as EventBased * * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased * * ParallelEventBased - Sets the type of the gateway as ParallelEventBased * * @default 'None' */ type: BpmnGateways; /** * Returns the name of class BpmnGateway * * @private */ getClassName(): string; } /** * Defines the behavior of the bpmn data object */ export declare class BpmnDataObject extends ChildProperty { /** * Defines the type of the BPMN data object * * None - Sets the type of the data object as None * * Input - Sets the type of the data object as Input * * Output - Sets the type of the data object as Output * * @default 'None' */ type: BpmnDataObjects; /** * Sets whether the data object is a collection or not * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'DataObject', * dataObject: { collection: false, type: 'Input' } * } as BpmnShapeModel, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default false */ collection: boolean; /** * Returns the name of class BpmnDataObject * * @private */ getClassName(): string; } /** * Defines the behavior of the bpmn task shape */ export declare class BpmnTask extends ChildProperty { /** * Defines the type of the task * * None - Sets the type of the Bpmn Tasks as None * * Service - Sets the type of the Bpmn Tasks as Service * * Receive - Sets the type of the Bpmn Tasks as Receive * * Send - Sets the type of the Bpmn Tasks as Send * * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive * * Manual - Sets the type of the Bpmn Tasks as Manual * * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule * * User - Sets the type of the Bpmn Tasks as User * * Script - Sets the type of the Bpmn Tasks as Script * * @default 'None' */ type: BpmnTasks; /** * Defines the type of the BPMN loops * * None - Sets the type of the Bpmn loop as None * * Standard - Sets the type of the Bpmn loop as Standard * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance * * @default 'None' */ loop: BpmnLoops; /** * Sets whether the task is global or not * * @default false */ call: boolean; /** * Sets whether the task is triggered as a compensation of another specific activity * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Activity', activity: { * activity: 'Task', * task: { call: true, compensation: false, type: 'Service', loop: 'ParallelMultiInstance' } * }} as BpmnShapeModel, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default false */ compensation: boolean; } /** * Defines the behavior of the bpmn Event shape */ export declare class BpmnEvent extends ChildProperty { /** * Sets the type of the BPMN Event * * Start - Sets the type of the Bpmn Event as Start * * Intermediate - Sets the type of the Bpmn Event as Intermediate * * End - Sets the type of the Bpmn Event as End * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate * * @default 'Start' */ /** * * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Event', * event: { event: 'Start', trigger: 'None' } } as BpmnShapeModel, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'Start' */ event: BpmnEvents; /** * Defines the type of the trigger * * None - Sets the type of the trigger as None * * Message - Sets the type of the trigger as Message * * Escalation - Sets the type of the trigger as Escalation * * Link - Sets the type of the trigger as Link * * Error - Sets the type of the trigger as Error * * Compensation - Sets the type of the trigger as Compensation * * Signal - Sets the type of the trigger as Signal * * Multiple - Sets the type of the trigger as Multiple * * Parallel - Sets the type of the trigger as Parallel * * Cancel - Sets the type of the trigger as Cancel * * Conditional - Sets the type of the trigger as Conditional * * Terminate - Sets the type of the trigger as Terminate * * @default 'None' */ trigger: BpmnTriggers; /** * Returns the name of class BpmnEvent * * @private */ getClassName(): string; } /** * Defines the behavior of the bpmn sub event */ export declare class BpmnSubEvent extends ChildProperty { /** * Defines the type of the trigger * * None - Sets the type of the trigger as None * * Message - Sets the type of the trigger as Message * * Escalation - Sets the type of the trigger as Escalation * * Link - Sets the type of the trigger as Link * * Error - Sets the type of the trigger as Error * * Compensation - Sets the type of the trigger as Compensation * * Signal - Sets the type of the trigger as Signal * * Multiple - Sets the type of the trigger as Multiple * * Parallel - Sets the type of the trigger as Parallel * * Cancel - Sets the type of the trigger as Cancel * * Conditional - Sets the type of the trigger as Conditional * * Terminate - Sets the type of the trigger as Terminate * * @default 'None' */ trigger: BpmnTriggers; /** * Sets the type of the BPMN Event * * Start - Sets the type of the Bpmn Event as Start * * Intermediate - Sets the type of the Bpmn Event as Intermediate * * End - Sets the type of the Bpmn Event as End * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate * * @default 'Start' */ event: BpmnEvents; /** * Sets the id of the BPMN sub event * * @default '' */ id: string; /** * Defines the position of the sub event * * @default new Point(0.5,0.5) */ offset: PointModel; /** * Defines the collection of textual annotations of the sub events * * @aspDefaultValueIgnore * @default undefined */ annotations: ShapeAnnotationModel[]; /** * Defines the collection of connection points of the sub events * * @aspDefaultValueIgnore * @default undefined */ ports: PointPortModel[]; /** * Sets the width of the node * * @aspDefaultValueIgnore * @default undefined */ width: number; /** * Sets the height of the node * * @aspDefaultValueIgnore * @default undefined */ height: number; /** * Defines the space to be left between the node and its immediate parent * * @default 0 */ margin: MarginModel; /** * Sets how to horizontally align a node with respect to its immediate parent * * Stretch - Stretches the diagram element throughout its immediate parent * * Left - Aligns the diagram element at the left of its immediate parent * * Right - Aligns the diagram element at the right of its immediate parent * * Center - Aligns the diagram element at the center of its immediate parent * * Auto - Aligns the diagram element based on the characteristics of its immediate parent * * @default 'Center' */ horizontalAlignment: HorizontalAlignment; /** * Sets how to vertically align a node with respect to its immediate parent * * Stretch - Stretches the diagram element throughout its immediate parent * * Top - Aligns the diagram element at the top of its immediate parent * * Bottom - Aligns the diagram element at the bottom of its immediate parent * * Center - Aligns the diagram element at the center of its immediate parent * * Auto - Aligns the diagram element based on the characteristics of its immediate parent * * @default 'Center' */ verticalAlignment: VerticalAlignment; /** * Sets the visibility of the sub event * * @default true */ visible: boolean; /** * Returns the name of class BpmnSubEvent * * @private */ getClassName(): string; } /** * Defines the behavior of the BpmnTransactionSubProcess */ export declare class BpmnTransactionSubProcess extends ChildProperty { /** * Defines the size and position of the success port */ success: BpmnSubEventModel; /** * Defines the size and position of the failure port */ failure: BpmnSubEventModel; /** * Defines the size and position of the cancel port */ cancel: BpmnSubEventModel; } /** * Defines the behavior of the BPMNSubProcess */ export declare class BpmnSubProcess extends ChildProperty { /** * Defines the type of the sub process * * None - Sets the type of the Sub process as None * * Transaction - Sets the type of the Sub process as Transaction * * Event - Sets the type of the Sub process as Event * * @default 'None' */ type: BpmnSubProcessTypes; /** * Defines whether the sub process is without any prescribed order or not * * @default false */ adhoc: boolean; /** * Defines the boundary type of the BPMN process * * Default - Sets the type of the boundary as Default * * Call - Sets the type of the boundary as Call * * Event - Sets the type of the boundary as Event * * @default 'Default' */ /** * * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Activity', activity: { * activity: 'SubProcess', * subProcess: { adhoc: false, boundary: 'Default', collapsed: true } * }, * } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` */ boundary: BpmnBoundary; /** * Defines the whether the task is triggered as a compensation of another task * * @default false */ compensation: boolean; /** * Defines the type of the BPMNLoop * * None - Sets the type of the Bpmn loop as None * * Standard - Sets the type of the Bpmn loop as Standard * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance * * @default 'None' */ loop: BpmnLoops; /** * Defines the whether the shape is collapsed or not * * @default true */ collapsed: boolean; /** * Defines the collection of events of the BPMN sub event * * @default 'undefined' */ /** * ```html *
* ``` * ```typescript * let node1: NodeModel = { * id: 'node1', width: 190, height: 190, offsetX: 300, offsetY: 200, * shape: { * type: 'Bpmn', shape: 'Activity', activity: { * activity: 'SubProcess', * subProcess: { * type: 'Event', loop: 'ParallelMultiInstance', * compensation: true, adhoc: false, boundary: 'Event', collapsed: true, * events: [{ * height: 20, width: 20, offset: { x: 0, y: 0 }, margin: { left: 10, top: 10 }, * horizontalAlignment: 'Left', * verticalAlignment: 'Top', * annotations: [{ * id: 'label3', margin: { bottom: 10 }, * horizontalAlignment: 'Center', * verticalAlignment: 'Top', * content: 'Event', offset: { x: 0.5, y: 1 }, * style: { * color: 'black', fontFamily: 'Fantasy', fontSize: 8 * } * }], * event: 'Intermediate', trigger: 'Error' * }] * } * } * } * }; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * */ events: BpmnSubEventModel[]; /** * Defines the transaction sub process */ transaction: BpmnTransactionSubProcessModel; /** * Defines the transaction sub process * * @default [] */ processes: string[]; } /** * Defines the behavior of the bpmn activity shape */ export declare class BpmnActivity extends ChildProperty { /** * Defines the type of the activity * * None - Sets the type of the Bpmn Activity as None * * Task - Sets the type of the Bpmn Activity as Task * * SubProcess - Sets the type of the Bpmn Activity as SubProcess * * @default 'Task' */ activity: BpmnActivities; /** * Defines the BPMN task * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Activity', activity: { * activity: 'Task', task: { * type: 'Service' * } * } * }, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'new BPMNTask()' */ task: BpmnTaskModel; /** * Defines the type of the SubProcesses * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Activity', activity: { * activity: 'SubProcess', * subProcess: { collapsed: true } as BpmnSubProcessModel * } * }, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'None' */ subProcess: BpmnSubProcessModel; /** * Returns the name of class BpmnActivity * * @private */ getClassName(): string; } /** * Defines the behavior of the bpmn annotation */ export declare class BpmnAnnotation extends ChildProperty { constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean); /** * Sets the text to annotate the bpmn shape * @default '' */ text: string; /** * Sets the id of the BPMN sub event * @default '' */ id: string; /** * Sets the angle between the bpmn shape and the annotation * @aspDefaultValueIgnore * @default undefined */ angle: number; /** * Sets the height of the text * @aspDefaultValueIgnore * @default undefined */ height: number; /** * Sets the width of the text * @aspDefaultValueIgnore * @default undefined */ width: number; /** * Sets the distance between the bpmn shape and the annotation * @aspDefaultValueIgnore * @default undefined */ length: number; /** @private */ nodeId: string; /** * @private * Returns the name of class BpmnAnnotation */ getClassName(): string; } export declare class BpmnTextAnnotation extends ChildProperty { /** * Sets the parent node of bpmn text annotation * * @aspDefaultValueIgnore * @default '' */ textAnnotationTarget: string; /** * To set the direction in which the text annotation path to be rendered * * @aspDefaultValueIgnore * @default Auto */ textAnnotationDirection: TextAnnotationDirection; } /** * Defines the behavior of the bpmn shape */ export declare class BpmnShape extends Shape { /** * Defines the type of node shape * * @default 'Basic' */ type: Shapes; /** * Defines the type of the BPMN shape * * Event - Sets the type of the Bpmn Shape as Event * * Gateway - Sets the type of the Bpmn Shape as Gateway * * Message - Sets the type of the Bpmn Shape as Message * * DataObject - Sets the type of the Bpmn Shape as DataObject * * DataSource - Sets the type of the Bpmn Shape as DataSource * * Activity - Sets the type of the Bpmn Shape as Activity * * Group - Sets the type of the Bpmn Shape as Group * * TextAnnotation - Represents the shape as Text Annotation * * @default 'Event' */ /** * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Gateway', * gateway: { type: 'EventBased' } as BpmnGatewayModel * } as BpmnShapeModel, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` */ shape: BpmnShapes; /** * Defines the type of the BPMN Event shape * * @default 'None' */ event: BpmnEventModel; /** * Defines the type of the BPMN Gateway shape * * @default 'None' */ gateway: BpmnGatewayModel; /** * Defines the type of the BPMN DataObject shape * * @default 'None' */ dataObject: BpmnDataObjectModel; /** * Defines the type of the BPMN Activity shape * * @default 'None' */ activity: BpmnActivityModel; /** * Defines the text of the bpmn annotation * @default 'None' */ annotation: BpmnAnnotationModel; /** * Defines the text of the bpmn annotation collection * @default 'None' */ annotations: BpmnAnnotationModel[]; /** * Defines the type of the BPMN Text annotation shape * * @default 'None' */ textAnnotation: BpmnTextAnnotationModel; /** * Returns the name of class BpmnShape * * @private */ getClassName(): string; } /** * Defines the behavior of the UMLActivity shape */ export declare class UmlActivityShape extends Shape { /** * Defines the type of node shape * ```html *
* ``` * ```typescript * let shape: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' }; * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'Basic' */ type: Shapes; /** * Defines the type of the UMLActivity shape * * Action - Sets the type of the UMLActivity Shape as Action * * Decision - Sets the type of the UMLActivity Shape as Decision * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode * * Note - Sets the type of the UMLActivity Shape as Note * * @default 'Action' * @IgnoreSingular */ shape: UmlActivityShapes; /** * Returns the name of class UmlActivityShape * * @private */ getClassName(): string; } /** * Defines the behavior of the uml class method */ export declare class MethodArguments extends ChildProperty { /** * Defines the name of the attributes * * @default '' * @IgnoreSingular */ name: string; /** * Defines the type of the attributes * * @default '' * @IgnoreSingular */ type: string; /** * Sets the shape style of the node * * @default new ShapeStyle() * @aspType object */ style: ShapeStyleModel | TextStyleModel; /** * Returns the name of class MethodArguments * * @private */ getClassName(): string; } /** * Defines the behavior of the uml class attributes */ export declare class UmlClassAttribute extends MethodArguments { /** * Defines the type of the attributes * * @default 'Public' * @IgnoreSingular */ scope: UmlScope; /** * Defines the separator of the attributes * * @default false * @IgnoreSingular */ isSeparator: boolean; /** * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator. * * @default new ShapeStyle() * @aspType object */ separatorStyle: ShapeStyleModel; /** * Returns the name of class UmlClassAttribute * * @private */ getClassName(): string; } /** * Defines the behavior of the uml class method */ export declare class UmlClassMethod extends UmlClassAttribute { /** * Defines the type of the arguments * * @default '' * @IgnoreSingular */ parameters: MethodArgumentsModel[]; /** * Returns the name of class UmlClassMethod * * @private */ getClassName(): string; } /** * Defines the behavior of the uml class shapes */ export declare class UmlClass extends ChildProperty { /** * Defines the name of the attributes * * @default '' * @IgnoreSingular */ name: string; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ attributes: UmlClassAttributeModel[]; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ methods: UmlClassMethodModel[]; /** * Sets the shape style of the node * * @default new ShapeStyle() * @aspType object */ style: TextStyleModel; /** * Returns the name of class UmlClass * * @private */ getClassName(): string; } /** * Defines the behavior of the uml interface shapes */ export declare class UmlInterface extends UmlClass { /** * Defines the separator of the attributes * * @default false * @IgnoreSingular */ isSeparator: boolean; /** * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator. * * @default new ShapeStyle() * @aspType object */ separatorStyle: ShapeStyleModel; /** * Returns the name of class UmlInterface * * @private */ getClassName(): string; } /** * Defines the behavior of the uml interface shapes */ export declare class UmlEnumerationMember extends ChildProperty { /** * Defines the value of the member * * @default '' * @IgnoreSingular */ name: string; /** * Defines the value of the member * * @default '' * @IgnoreSingular */ value: string; /** * Defines the separator of the attributes * * @default false * @IgnoreSingular */ isSeparator: boolean; /** * Specify the style attributes such as strokeWidth, strokeColor, and fill for the separator. * * @default new ShapeStyle() * @aspType object */ separatorStyle: ShapeStyleModel; /** * Sets the shape style of the node * * @default new ShapeStyle() * @aspType object */ style: ShapeStyleModel | TextStyleModel; /** * Returns the name of class UmlEnumerationMember * * @private */ getClassName(): string; } /** * Defines the behavior of the uml interface shapes */ export declare class UmlEnumeration extends ChildProperty { /** * Defines the name of the attributes * * @default '' * @IgnoreSingular */ name: string; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ members: UmlEnumerationMemberModel[]; /** * Sets the shape style of the node * * @default new ShapeStyle() * @aspType object */ style: ShapeStyleModel | TextStyleModel; /** * Returns the name of class UmlEnumeration * * @private */ getClassName(): string; } /** * Defines the behavior of the UMLActivity shape */ export declare class UmlClassifierShape extends Shape { /** * Defines the type of node shape * ```html *
* ``` * ```typescript * let shape: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' }; * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'Basic' */ type: Shapes; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ classShape: UmlClassModel; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ interfaceShape: UmlInterfaceModel; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ enumerationShape: UmlEnumerationModel; /** * Defines the type of classifier * * @default 'Class' * @IgnoreSingular */ classifier: ClassifierShape; /** * Returns the name of class UmlClassifierShape * * @private */ getClassName(): string; } /** * Defines the behavior of the UMLActivity shape */ export declare class DiagramShape extends ChildProperty { /** * Defines the type of node shape * */ type: Shapes; /** * Defines the type of the basic shape * */ basicShape: BasicShapes; /** * Defines the type of the flow shape */ flowShape: FlowShapes; /** * Defines the type of the BPMN shape * * Event - Sets the type of the Bpmn Shape as Event * * Gateway - Sets the type of the Bpmn Shape as Gateway * * Message - Sets the type of the Bpmn Shape as Message * * DataObject - Sets the type of the Bpmn Shape as DataObject * * DataSource - Sets the type of the Bpmn Shape as DataSource * * Activity - Sets the type of the Bpmn Shape as Activity * * Group - Sets the type of the Bpmn Shape as Group * * TextAnnotation - Represents the shape as Text Annotation * * @default 'Event' */ /** * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, * shape: { * type: 'Bpmn', shape: 'Gateway', * gateway: { type: 'EventBased' } as BpmnGatewayModel * } as BpmnShapeModel, * }]; * let diagram: Diagram = new Diagram({ * ... * nodes : nodes, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default 'Event' */ bpmnShape: BpmnShapes; /** * Defines the type of the UMLActivity shape * * Action - Sets the type of the UMLActivity Shape as Action * * Decision - Sets the type of the UMLActivity Shape as Decision * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode * * Note - Sets the type of the UMLActivity Shape as Note * * @default 'Action' * @IgnoreSingular */ umlActivityShape: UmlActivityShapes; /** * Defines the geometry of a path * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+ * 'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+ * 'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ data: string; /** * Defines the geometry of a native element. * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, * shape: { scale: 'Stretch', * type: 'Native', content: ''+ * '', * } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ content: SVGElement | HTMLElement; /** * Defines the text of the text element */ textContent: string; /** * Defines the scale of the native element. * * None - Sets the stretch type for diagram as None * * Stretch - Sets the stretch type for diagram as Stretch * * Meet - Sets the stretch type for diagram as Meet * * Slice - Sets the stretch type for diagram as Slice * * @default 'Stretch' */ scale: Stretch; /** * Defines the source of the image * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' } * }]; * let diagram: Diagram = new Diagram({ * ... * nodes: nodes * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default '' */ source: string; /** * Defines the alignment of the image within the node boundary. * * None - Alignment value will be set as none * * XMinYMin - smallest X value of the view port and smallest Y value of the view port * * XMidYMin - midpoint X value of the view port and smallest Y value of the view port * * XMaxYMin - maximum X value of the view port and smallest Y value of the view port * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port * * XMinYMax - smallest X value of the view port and maximum Y value of the view port * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port * * @default 'None' */ align: ImageAlignment; /** * Defines the space to be let between the node and its immediate parent * * @default 0 */ margin: MarginModel; /** * Sets the corner of the node * * @default 0 */ cornerRadius: number; /** * Defines the collection of points to draw a polygon * * @aspDefaultValueIgnore * @default undefined */ points: PointModel[]; /** * Defines the type of the BPMN DataObject shape * * @default 'None' */ dataObject: BpmnDataObjectModel; /** * Defines the type of the BPMN Event shape * * @default 'None' */ event: BpmnEventModel; /** * Defines the type of the BPMN Gateway shape * * @default 'None' */ gateway: BpmnGatewayModel; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ annotations: BpmnAnnotationModel[]; /** * Defines the type of the BPMN Activity shape * * @default 'None' */ activity: BpmnActivityModel; /** * Defines the text of the bpmn annotation * * @default 'None' */ annotation: BpmnAnnotationModel; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ enumerationShape: UmlEnumerationModel; /** * Defines the type of classifier * * @default 'Class' * @IgnoreSingular */ classifier: ClassifierShape; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ classShape: UmlClassModel; /** * Defines the text of the bpmn annotation collection * * @default 'None' */ interfaceShape: UmlInterfaceModel; /** * Returns the name of class UmlClassifierShape * * @private */ getClassName(): string; } /** * Defines the behavior of nodes */ export declare class Node extends NodeBase implements IElement { /** * Defines the collection of textual annotations of nodes/connectors * * @aspDefaultValueIgnore * @default undefined */ annotations: ShapeAnnotationModel[]; /** * Sets the x-coordinate of the position of the node * * @default 0 */ offsetX: number; /** * Sets the layout properties using node property * * @default new NodeLayoutInfo() * @aspType object */ layoutInfo: LayoutInfo; /** * Sets the y-coordinate of the position of the node * * @default 0 */ offsetY: number; /** * Defines the collection of connection points of nodes/connectors * * @aspDefaultValueIgnore * @default undefined */ ports: PointPortModel[]; /** * Defines whether the node is expanded or not * * @default true */ isExpanded: boolean; /** * Specifies the collection of the fixed user handle * * @aspDefaultValueIgnore * @default undefined */ fixedUserHandles: NodeFixedUserHandleModel[]; /** * Defines the expanded state of a node * * @default {} */ expandIcon: IconShapeModel; /** * Defines the collapsed state of a node * * @default {} */ collapseIcon: IconShapeModel; /** * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node * * @default new Point(0.5,0.5) */ pivot: PointModel; /** * Sets the width of the node * * @aspDefaultValueIgnore * @default undefined */ width: number; /** * Sets the height of the node * * @aspDefaultValueIgnore * @default undefined */ height: number; /** * Sets the minimum width of the node * * @aspDefaultValueIgnore * @default undefined */ minWidth: number; /** * Sets the minimum height of the node * * @aspDefaultValueIgnore * @default undefined */ minHeight: number; /** * Sets the maximum width of the node * * @aspDefaultValueIgnore * @default undefined */ maxWidth: number; /** * Sets the maximum height of the node * * @aspDefaultValueIgnore * @default undefined */ maxHeight: number; /** * Sets the rotate angle of the node * * @default 0 */ rotateAngle: number; /** * Sets the shape style of the node * * @default new ShapeStyle() * @aspType object */ style: ShapeStyleModel | TextStyleModel; /** * Sets the background color of the shape * * @default 'transparent' */ backgroundColor: string; /** * Sets the border color of the node * * @default 'none' */ borderColor: string; /** * Sets the border width of the node * * @default 0 */ borderWidth: number; /** * Sets the data source of the node */ data: Object; /** * Defines the shape of a node * * @default Basic Shape * @aspType object */ shape: ShapeModel | FlowShapeModel | BasicShapeModel | ImageModel | PathModel | TextModel | BpmnShapeModel | NativeModel | HtmlModel | UmlActivityShapeModel | UmlClassifierShapeModel | SwimLaneModel | DiagramShapeModel | ContainerModel; /** * Defines the size of the symbol preview * * @aspDefaultValueIgnore * @default undefined */ previewSize: SymbolSizeModel; /** * Defines the size of a drop symbol * * @aspDefaultValueIgnore * @default undefined */ dragSize: SymbolSizeModel; /** * Sets or gets the UI of a node * * @default null */ wrapper: GroupableView; /** * Enables/Disables certain features of nodes * * None - Disable all node Constraints * * Select - Enables node to be selected * * Drag - Enables node to be Dragged * * Rotate - Enables node to be Rotate * * Shadow - Enables node to display shadow * * PointerEvents - Enables node to provide pointer option * * Delete - Enables node to delete * * InConnect - Enables node to provide in connect option * * OutConnect - Enables node to provide out connect option * * Individual - Enables node to provide individual resize option * * Expandable - Enables node to provide Expandable option * * AllowDrop - Enables node to provide allow to drop option * * Inherit - Enables node to inherit the interaction option * * ResizeNorthEast - Enable ResizeNorthEast of the node * * ResizeEast - Enable ResizeEast of the node * * ResizeSouthEast - Enable ResizeSouthEast of the node * * ResizeSouth - Enable ResizeSouthWest of the node * * ResizeSouthWest - Enable ResizeSouthWest of the node * * ResizeSouth - Enable ResizeSouth of the node * * ResizeSouthWest - Enable ResizeSouthWest of the node * * ResizeWest - Enable ResizeWest of the node * * ResizeNorth - Enable ResizeNorth of the node * * Resize - Enables the Aspect ratio fo the node * * AspectRatio - Enables the Aspect ratio fo the node * * Tooltip - Enables or disables tool tip for the Nodes * * InheritTooltip - Enables or disables tool tip for the Nodes * * ReadOnly - Enables the ReadOnly support for Annotation * * @default 'Default' * @aspNumberEnum */ constraints: NodeConstraints; /** * Defines the shadow of a shape/path * * @default null */ shadow: ShadowModel; /** * Defines the children of group element * * @aspDefaultValueIgnore * @default undefined */ children: string[]; /** * Defines the space between the group node edges and its children * * @aspDefaultValueIgnore * @default 0 */ padding: MarginModel; /** * Defines the type of the container * * @aspDefaultValueIgnore * @default null */ container: ChildContainerModel; /** * Sets the horizontalAlignment of the node * * @default 'Stretch' */ horizontalAlignment: HorizontalAlignment; /** * Sets the verticalAlignment of the node * * @default 'Stretch' */ verticalAlignment: VerticalAlignment; /** * Used to define the rows for the grid container * * @aspDefaultValueIgnore * @default undefined */ rows: RowDefinition[]; /** * Used to define the column for the grid container * * @aspDefaultValueIgnore * @default undefined */ columns: ColumnDefinition[]; /** * Used to define a index of row in the grid * * @aspDefaultValueIgnore * @default undefined */ rowIndex: number; /** * Used to define a index of column in the grid * * @aspDefaultValueIgnore * @default undefined */ columnIndex: number; /** * Merge the row use the property in the grid container * * @aspDefaultValueIgnore * @default undefined */ rowSpan: number; /** * Merge the column use the property in the grid container * * @aspDefaultValueIgnore * @default undefined */ columnSpan: number; /** * Set the branch for the mind map * * @aspDefaultValueIgnore * @default '' */ branch: BranchTypes; /** @private */ oldGradientValue: Object; /** @private */ isCanvasUpdate: boolean; /** @private */ status: Status; /** @private */ parentId: string; /** @private */ showDefaultTooltipForPalette: boolean; /** @private */ processId: string; /** @private */ umlIndex: number; /** @private */ outEdges: string[]; /** @private */ inEdges: string[]; /** @private */ isHeader: boolean; /** @private */ isLane: boolean; /** @private */ isPhase: boolean; /** @private */ laneGrids: string[]; /** @private */ readonly actualSize: Size; constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean); /** * Allows to initialize the UI of a node */ /** @private */ init(diagram: any): DiagramElement; /** @private */ initContainer(): GroupableView; /** @private */ initPorts(accessibilityContent: Function | string, container: GroupableView): void; /** @private */ initPort(accessibilityContent: Function | string, container: GroupableView, port: Port): void; private getIconOffet; /** @private */ initIcons(accessibilityContent: Function | string, layout: LayoutModel, container: GroupableView, diagramId: string): void; /** @private */ initFixedUserHandles(fixedUserHandle: NodeFixedUserHandleModel | NodeFixedUserHandle, fixedUserHandleTemplate: string | Function, diagramId: string): DiagramElement; private getfixedUserHandleOffet; /** @private */ initAnnotations(accessibilityContent: Function | string, container: GroupableView, diagramId: string, virtualize?: boolean, annotationTemplate?: string | Function): void; /** @private */ initPortWrapper(ports: Port, Node?: NodeModel): DiagramElement; /** @private */ initAnnotationWrapper(annotation: Annotation, diagramId?: string, virtualize?: boolean, value?: number, annotationTemplate?: string | Function): DiagramElement; private initIconContainer; private initIconSymbol; /** * @private * * Returns the name of class Node */ getClassName(): string; } /** * Defines the behavior of header in swimLane */ export declare class Header extends ChildProperty { /** * Sets the id of the header * * @default '' */ id: string; /** * Sets the content of the header * * @default '' */ annotation: ShapeAnnotationModel; /** * Sets the style of the header * * @default '' */ style: TextStyleModel; /** * Sets the height of the header * * @default 50 */ height: number; /** * Sets the width of the header * * @default 50 */ width: number; } /** * Defines the behavior of lane in swimLane */ export declare class Lane extends ChildProperty { /** * Sets the id of the lane * * @default '' */ id: string; /** * Sets style of the lane * * @default '' */ style: ShapeStyleModel; /** * Defines the collection of child nodes * * @default [] */ children: NodeModel[]; /** * Defines the height of the lane * * @default 100 */ height: number; /** * Defines the height of the lane * * @default 100 */ width: number; /** * Defines the collection of header in the lane. * * @default new Header() */ header: HeaderModel; /** * Defines when the lane to be interchanged or not * * @default true */ canMove: boolean; /** * Allows the user to save custom information about lanes. Example: addInfo: {'lane': 'lane 1 info' } * * @aspDefaultValueIgnore * @default undefined */ addInfo: Object; /** * Returns the name of class Lane * * @private */ getClassName(): string; } /** * Defines the behavior of phase in swimLane */ export declare class Phase extends ChildProperty { /** * Sets the id of the phase * * @default '' */ id: string; /** * Sets the style of the phase * * @default '' */ style: ShapeStyleModel; /** * Sets the header collection of the phase * * @default new Header() */ header: HeaderModel; /** * Sets the offset of the phase * * @default 100 */ offset: number; /** * Sets the initial offset of the phase * * @default 100 * @private */ initialOffset: number; /** * Allows the user to save custom information about phases. Example: addInfo: {'phase': 'phase 1 info' } * * @aspDefaultValueIgnore * @default undefined */ addInfo: Object; /** * Returns the name of class Phase * * @private */ getClassName(): string; } /** * Defines the behavior of swimLane shape */ export declare class SwimLane extends Shape { /** * Defines the type of node shape. * * @default 'Basic' */ type: Shapes; /** * Defines the size of phase. * * @default 20 */ phaseSize: number; /** * Defines the collection of phases. * * @default 'undefined' */ phases: PhaseModel[]; /** * Defines the orientation of the swimLane * * @default 'Horizontal' */ orientation: Orientation; /** * Defines the collection of lanes * * @default 'undefined' */ lanes: LaneModel[]; /** * Defines the collection of header * * @default 'undefined' */ header: HeaderModel; /** * Defines the whether the shape is a lane or not * * @default false */ isLane: boolean; /** * Defines the whether the shape is a phase or not * * @default false */ isPhase: boolean; /** * Defines space between children and lane * * @private * */ padding: number; /** * Defines header by user or not * * @private * */ hasHeader: boolean; /** * Returns the name of class Phase * * @private */ getClassName(): string; } /** * Defines the behavior of swimLane shape */ export declare class Container extends Shape { /** * Defines the type of node shape. * * @default 'Basic' */ type: Shapes; /** * Defines the collection of header * * @default 'undefined' */ header: HeaderModel; /** * Defines the children of container element * * @aspDefaultValueIgnore * @default undefined */ children: string[]; /** * Defines header by user or not * * @private * */ hasHeader: boolean; getClassName(): string; } /** * Defines the behavior of container */ export declare class ChildContainer { /** * Defines the type of the container * * @aspDefaultValueIgnore * @default Canvas */ type: ContainerTypes; /** * Defines the type of the swimLane orientation. * * @aspDefaultValueIgnore * @default undefined */ orientation: Orientation; /** * Returns the name of class ChildContainer * * @private */ getClassName(): string; } /** * Defines the size and position of selected items and defines the appearance of selector */ export declare class Selector extends ChildProperty implements IElement { /** * Defines the size and position of the container * * @default null */ wrapper: GroupableView; /** * Defines the size of the resize handler * * @default 14 */ handleSize: number; /** * Defines the collection of selected nodes * */ nodes: NodeModel[]; /** * Defines the collection of selected connectors * */ connectors: ConnectorModel[]; /** * @private */ annotation: ShapeAnnotationModel | PathAnnotationModel; /** * Sets/Gets the width of the container * * @aspDefaultValueIgnore * @default undefined */ width: number; /** * Sets/Gets the height of the container * * @aspDefaultValueIgnore * @default undefined */ height: number; /** * Sets the rotate angle of the container * * @default 0 */ rotateAngle: number; /** * Sets the positionX of the container * * @default 0 */ offsetX: number; /** * Sets the positionY of the container * * @default 0 */ offsetY: number; /** * Sets the pivot of the selector * * @default { x: 0.5, y: 0.5 } */ pivot: PointModel; /** * Defines how to pick the objects to be selected using rubber band selection * * CompleteIntersect - Selects the objects that are contained within the selected region * * PartialIntersect - Selects the objects that are partially intersected with the selected region * * @default 'CompleteIntersect' */ rubberBandSelectionMode: RubberBandSelectionMode; /** * Defines the collection of user handle * ```html *
* ``` * ```typescript * let nodes: NodeModel[] = [{ * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100, * annotations: [{ content: 'Default Shape' }] * }, * { * id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100, * shape: { * type: 'Basic', shape: 'Ellipse' * }, * annotations: [{ content: 'Path Element' }] * } * ]; * let connectors: ConnectorModel[] = [{ * id: 'connector1', * type: 'Straight', * sourcePoint: { x: 100, y: 300 }, * targetPoint: { x: 200, y: 400 }, * }]; * let handle: UserHandleModel[] = [ * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0, * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z', * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center', * pathColor: 'yellow' }]; * let diagram: Diagram = new Diagram({ * ... * connectors: connectors, nodes: nodes, * selectedItems: { constraints: SelectorConstraints.All, userHandles: handle }, * ... * }); * diagram.appendTo('#diagram'); * ``` * * @default [] */ userHandles: UserHandleModel[]; /** * Controls the visibility of selector. * * None - Hides all the selector elements * * ConnectorSourceThumb - Shows/hides the source thumb of the connector * * ConnectorTargetThumb - Shows/hides the target thumb of the connector * * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector * * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector * * ResizeNorthEast - Shows/hides the top right resize handle of the selector * * ResizeNorthWest - Shows/hides the top left resize handle of the selector * * ResizeEast - Shows/hides the middle right resize handle of the selector * * ResizeWest - Shows/hides the middle left resize handle of the selector * * ResizeSouth - Shows/hides the bottom center resize handle of the selector * * ResizeNorth - Shows/hides the top center resize handle of the selector * * Rotate - Shows/hides the rotate handle of the selector * * UserHandles - Shows/hides the user handles of the selector * * Resize - Shows/hides all resize handles of the selector * * @default 'All' * @aspNumberEnum */ constraints: SelectorConstraints; /** * set the constraint of the container * * Rotate - Enable Rotate Thumb * * ConnectorSource - Enable Connector source point * * ConnectorTarget - Enable Connector target point * * ResizeNorthEast - Enable ResizeNorthEast Resize * * ResizeEast - Enable ResizeEast Resize * * ResizeSouthEast - Enable ResizeSouthEast Resize * * ResizeSouth - Enable ResizeSouth Resize * * ResizeSouthWest - Enable ResizeSouthWest Resize * * ResizeWest - Enable ResizeWest Resize * * ResizeNorthWest - Enable ResizeNorthWest Resize * * ResizeNorth - Enable ResizeNorth Resize * * @private * @aspNumberEnum */ thumbsConstraints: ThumbsConstraints; /** * setTooltipTemplate helps to customize the content of a tooltip * * @aspDefaultValueIgnore * @default undefined */ setTooltipTemplate: Function | string; /** * Defines the collection of selected nodes and connectors * @default [] */ selectedObjects: (NodeModel | ConnectorModel)[]; /** * Initializes the UI of the container */ init(diagram: Diagram): GroupableView; /** * Specifies whether the selection state of the diagram element should be toggled based on a mouse click at runtime. * The default value is false. * * @default false */ canToggleSelection: boolean; }