bpmn-js
Version:
A bpmn 2.0 toolkit and web modeler
127 lines (118 loc) • 6.05 kB
TypeScript
/**
* A renderer for BPMN elements
*
*/
export default class BpmnRenderer extends BaseRenderer {
static $inject: string[];
/**
* @param config
* @param eventBus
* @param styles
* @param pathMap
* @param canvas
* @param textRenderer
* @param priority
*/
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);
handlers: {
'bpmn:Event': (parentGfx: any, element: any, attrs: any) => SVGCircleElement;
'bpmn:StartEvent': (parentGfx: any, element: any) => any;
'bpmn:MessageEventDefinition': (parentGfx: any, element: any, isThrowing: any) => SVGPathElement;
'bpmn:TimerEventDefinition': (parentGfx: any, element: any) => SVGCircleElement;
'bpmn:EscalationEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:ConditionalEventDefinition': (parentGfx: any, event: any) => SVGPathElement;
'bpmn:LinkEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:ErrorEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:CancelEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:CompensateEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:SignalEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:MultipleEventDefinition': (parentGfx: any, event: any, isThrowing: any) => SVGPathElement;
'bpmn:ParallelMultipleEventDefinition': (parentGfx: any, event: any) => SVGPathElement;
'bpmn:EndEvent': (parentGfx: any, element: any) => any;
'bpmn:TerminateEventDefinition': (parentGfx: any, element: any) => SVGCircleElement;
'bpmn:IntermediateEvent': (parentGfx: any, element: any) => any;
'bpmn:IntermediateCatchEvent': (parentGfx: any, element: any) => any;
'bpmn:IntermediateThrowEvent': (parentGfx: any, element: any) => any;
'bpmn:Activity': (parentGfx: any, element: any, attrs: any) => SVGRectElement;
'bpmn:Task': (parentGfx: any, element: any) => any;
'bpmn:ServiceTask': (parentGfx: any, element: any) => any;
'bpmn:UserTask': (parentGfx: any, element: any) => any;
'bpmn:ManualTask': (parentGfx: any, element: any) => any;
'bpmn:SendTask': (parentGfx: any, element: any) => any;
'bpmn:ReceiveTask': (parentGfx: any, element: any) => any;
'bpmn:ScriptTask': (parentGfx: any, element: any) => any;
'bpmn:BusinessRuleTask': (parentGfx: any, element: any) => any;
'bpmn:SubProcess': (parentGfx: any, element: any, attrs: any) => any;
'bpmn:AdHocSubProcess': (parentGfx: any, element: any) => any;
'bpmn:Transaction': (parentGfx: any, element: any) => any;
'bpmn:CallActivity': (parentGfx: any, element: any) => any;
'bpmn:Participant': (parentGfx: any, element: any) => any;
'bpmn:Lane': (parentGfx: any, element: any, attrs: any) => SVGRectElement;
'bpmn:InclusiveGateway': (parentGfx: any, element: any) => any;
'bpmn:ExclusiveGateway': (parentGfx: any, element: any) => any;
'bpmn:ComplexGateway': (parentGfx: any, element: any) => any;
'bpmn:ParallelGateway': (parentGfx: any, element: any) => any;
'bpmn:EventBasedGateway': (parentGfx: any, element: any) => any;
'bpmn:Gateway': (parentGfx: any, element: any) => SVGPolygonElement;
'bpmn:SequenceFlow': (parentGfx: any, element: any) => SVGElement;
'bpmn:Association': (parentGfx: any, element: any, attrs: any) => SVGElement;
'bpmn:DataInputAssociation': (parentGfx: any, element: any) => any;
'bpmn:DataOutputAssociation': (parentGfx: any, element: any) => any;
'bpmn:MessageFlow': (parentGfx: any, element: any) => SVGElement;
'bpmn:DataObject': (parentGfx: any, element: any) => SVGPathElement;
'bpmn:DataObjectReference': (parentGfx: any, element: any) => any;
'bpmn:DataInput': (parentGfx: any, element: any) => any;
'bpmn:DataOutput': (parentGfx: any, element: any) => any;
'bpmn:DataStoreReference': (parentGfx: any, element: any) => SVGPathElement;
'bpmn:BoundaryEvent': (parentGfx: any, element: any) => any;
'bpmn:Group': (parentGfx: any, element: any) => SVGRectElement;
label: (parentGfx: any, element: any) => SVGElement;
'bpmn:TextAnnotation': (parentGfx: any, element: any) => SVGRectElement;
ParticipantMultiplicityMarker: (parentGfx: any, element: any) => void;
SubProcessMarker: (parentGfx: any, element: any) => void;
ParallelMarker: (parentGfx: any, element: any, position: any) => void;
SequentialMarker: (parentGfx: any, element: any, position: any) => void;
CompensationMarker: (parentGfx: any, element: any, position: any) => void;
LoopMarker: (parentGfx: any, element: any, position: any) => void;
AdhocMarker: (parentGfx: any, element: any, position: any) => void;
};
/**
* @param element
*
* @return
*/
canRender(element: Element): boolean;
/**
* Draw shape into parentGfx.
*
* @param parentGfx
* @param element
*
* @return mainGfx
*/
drawShape(parentGfx: SVGElement, element: Element): SVGElement;
/**
* Draw connection into parentGfx.
*
* @param parentGfx
* @param element
*
* @return mainGfx
*/
drawConnection(parentGfx: SVGElement, element: Element): SVGElement;
/**
* Get shape path.
*
* @param element
*
* @return path
*/
getShapePath(element: Element): string;
}
export type BpmnRendererConfig = Partial<{
defaultFillColor: string;
defaultStrokeColor: string;
defaultLabelColor: string;
}>;
type Element = import('../model/Types').Element;
import BaseRenderer from 'diagram-js/lib/draw/BaseRenderer';