BpmnRenderer.d.ts 5.0 KB

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