UNPKG

5.09 kBTypeScriptView Raw
1/**
2 * A renderer for BPMN elements
3 *
4 */
5export default class BpmnRenderer extends BaseRenderer {
6 static $inject: string[];
7
8 /**
9 * @param config
10 * @param eventBus
11 * @param styles
12 * @param pathMap
13 * @param canvas
14 * @param textRenderer
15 * @param priority
16 */
17 constructor(config: BpmnRendererConfig, eventBus: import('diagram-js/lib/core/EventBus').default, styles: import('diagram-js/lib/draw/Styles').default, pathMap: import('./PathMap').default, canvas: import('diagram-js/lib/core/Canvas').default, textRenderer: import('./TextRenderer').default, priority?: number);
18
19 handlers: {
20 'bpmn:AdHocSubProcess': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
21 'bpmn:Association': (parentGfx: any, element: any, attrs?: {}) => SVGElement;
22 'bpmn:BoundaryEvent': (parentGfx: any, element: any, attrs?: {}) => SVGCircleElement;
23 'bpmn:BusinessRuleTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
24 'bpmn:CallActivity': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
25 'bpmn:ComplexGateway': (parentGfx: any, element: any, attrs?: {}) => SVGPolygonElement;
26 'bpmn:DataInput': (parentGfx: any, element: any, attrs?: {}) => SVGPathElement;
27 'bpmn:DataInputAssociation': (parentGfx: any, element: any, attrs?: {}) => SVGElement;
28 'bpmn:DataObject': (parentGfx: any, element: any, attrs?: {}) => SVGPathElement;
29 'bpmn:DataObjectReference': (parentGfx: any, element: any, attrs: any) => any;
30 'bpmn:DataOutput': (parentGfx: any, element: any, attrs?: {}) => SVGPathElement;
31 'bpmn:DataOutputAssociation': (parentGfx: any, element: any, attrs?: {}) => SVGElement;
32 'bpmn:DataStoreReference': (parentGfx: any, element: any, attrs?: {}) => SVGPathElement;
33 'bpmn:EndEvent': (parentGfx: any, element: any, attrs?: {}) => SVGCircleElement;
34 'bpmn:EventBasedGateway': (parentGfx: any, element: any, attrs?: {}) => SVGPolygonElement;
35 'bpmn:ExclusiveGateway': (parentGfx: any, element: any, attrs?: {}) => SVGPolygonElement;
36 'bpmn:Gateway': (parentGfx: any, element: any, attrs?: {}) => SVGPolygonElement;
37 'bpmn:Group': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
38 'bpmn:InclusiveGateway': (parentGfx: any, element: any, attrs?: {}) => SVGPolygonElement;
39 'bpmn:IntermediateEvent': (parentGfx: any, element: any, attrs?: {}) => SVGCircleElement;
40 'bpmn:IntermediateCatchEvent': (parentGfx: any, element: any, attrs: any) => any;
41 'bpmn:IntermediateThrowEvent': (parentGfx: any, element: any, attrs: any) => any;
42 'bpmn:Lane': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
43 'bpmn:ManualTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
44 'bpmn:MessageFlow': (parentGfx: any, element: any, attrs?: {}) => SVGElement;
45 'bpmn:ParallelGateway': (parentGfx: any, element: any, attrs?: {}) => SVGPolygonElement;
46 'bpmn:Participant': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
47 'bpmn:ReceiveTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
48 'bpmn:ScriptTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
49 'bpmn:SendTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
50 'bpmn:SequenceFlow': (parentGfx: any, element: any, attrs?: {}) => SVGElement;
51 'bpmn:ServiceTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
52 'bpmn:StartEvent': (parentGfx: any, element: any, attrs?: {}) => SVGCircleElement;
53 'bpmn:SubProcess': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
54 'bpmn:Task': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
55 'bpmn:TextAnnotation': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
56 'bpmn:Transaction': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
57 'bpmn:UserTask': (parentGfx: any, element: any, attrs?: {}) => SVGRectElement;
58 label: (parentGfx: any, element: any, attrs?: {}) => SVGElement;
59 };
60
61 /**
62 * @param element
63 *
64 * @return
65 */
66 canRender(element: Element): boolean;
67
68 /**
69 * Draw shape into parentGfx.
70 *
71 * @param parentGfx
72 * @param element
73 * @param attrs
74 *
75 * @return mainGfx
76 */
77 drawShape(parentGfx: SVGElement, element: Element, attrs?: Attrs): SVGElement;
78
79 /**
80 * Draw connection into parentGfx.
81 *
82 * @param parentGfx
83 * @param element
84 * @param attrs
85 *
86 * @return mainGfx
87 */
88 drawConnection(parentGfx: SVGElement, element: Element, attrs?: Attrs): SVGElement;
89
90 /**
91 * Get shape path.
92 *
93 * @param element
94 *
95 * @return path
96 */
97 getShapePath(element: Element): string;
98}
99
100export type BpmnRendererConfig = Partial<{
101 defaultFillColor: string;
102 defaultStrokeColor: string;
103 defaultLabelColor: string;
104}>;
105
106export type Attrs = Partial<{
107 fill: string;
108 stroke: string;
109 width: string;
110 height: string;
111}>;
112
113type Element = import('../model/Types').Element;
114import BaseRenderer from 'diagram-js/lib/draw/BaseRenderer';