123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- 'use strict';
- var is = require('bpmn-js/lib/util/ModelUtil').is,
- isAny = require('bpmn-js/lib/features/modeling/util/ModelingUtil').isAny,
- getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject,
- eventDefinitionHelper = require('../../../helper/EventDefinitionHelper');
- var forEach = require('lodash/forEach');
- var message = require('./implementation/MessageEventDefinition'),
- signal = require('./implementation/SignalEventDefinition'),
- error = require('./implementation/ErrorEventDefinition'),
- escalation = require('./implementation/EscalationEventDefinition'),
- timer = require('./implementation/TimerEventDefinition'),
- compensation = require('./implementation/CompensateEventDefinition'),
- condition = require('./implementation/ConditionalEventDefinition');
- module.exports = function(group, element, bpmnFactory, elementRegistry, translate) {
- var events = [
- 'bpmn:StartEvent',
- 'bpmn:EndEvent',
- 'bpmn:IntermediateThrowEvent',
- 'bpmn:BoundaryEvent',
- 'bpmn:IntermediateCatchEvent'
- ];
- // Message and Signal Event Definition
- forEach(events, function(event) {
- if (is(element, event)) {
- var messageEventDefinition = eventDefinitionHelper.getMessageEventDefinition(element),
- signalEventDefinition = eventDefinitionHelper.getSignalEventDefinition(element);
- if (messageEventDefinition) {
- message(group, element, bpmnFactory, messageEventDefinition, translate);
- }
- if (signalEventDefinition) {
- signal(group, element, bpmnFactory, signalEventDefinition, translate);
- }
- }
- });
- // Special Case: Receive Task
- if (is(element, 'bpmn:ReceiveTask')) {
- message(group, element, bpmnFactory, getBusinessObject(element), translate);
- }
- // Error Event Definition
- var errorEvents = [
- 'bpmn:StartEvent',
- 'bpmn:BoundaryEvent',
- 'bpmn:EndEvent'
- ];
- forEach(errorEvents, function(event) {
- if (is(element, event)) {
- var errorEventDefinition = eventDefinitionHelper.getErrorEventDefinition(element);
- if (errorEventDefinition) {
- error(group, element, bpmnFactory, errorEventDefinition, translate);
- }
- }
- });
- // Escalation Event Definition
- var escalationEvents = [
- 'bpmn:StartEvent',
- 'bpmn:BoundaryEvent',
- 'bpmn:IntermediateThrowEvent',
- 'bpmn:EndEvent'
- ];
- forEach(escalationEvents, function(event) {
- if (is(element, event)) {
- var showEscalationCodeVariable = is(element, 'bpmn:StartEvent') || is(element, 'bpmn:BoundaryEvent');
- // get business object
- var escalationEventDefinition = eventDefinitionHelper.getEscalationEventDefinition(element);
- if (escalationEventDefinition) {
- escalation(group, element, bpmnFactory, escalationEventDefinition, showEscalationCodeVariable,
- translate);
- }
- }
- });
- // Timer Event Definition
- var timerEvents = [
- 'bpmn:StartEvent',
- 'bpmn:BoundaryEvent',
- 'bpmn:IntermediateCatchEvent'
- ];
- forEach(timerEvents, function(event) {
- if (is(element, event)) {
- // get business object
- var timerEventDefinition = eventDefinitionHelper.getTimerEventDefinition(element);
- if (timerEventDefinition) {
- timer(group, element, bpmnFactory, timerEventDefinition, translate);
- }
- }
- });
- // Compensate Event Definition
- var compensationEvents = [
- 'bpmn:EndEvent',
- 'bpmn:IntermediateThrowEvent'
- ];
- forEach(compensationEvents, function(event) {
- if (is(element, event)) {
- // get business object
- var compensateEventDefinition = eventDefinitionHelper.getCompensateEventDefinition(element);
- if (compensateEventDefinition) {
- compensation(group, element, bpmnFactory, compensateEventDefinition, elementRegistry, translate);
- }
- }
- });
- // Conditional Event Definition
- var conditionalEvents = [
- 'bpmn:StartEvent',
- 'bpmn:BoundaryEvent',
- 'bpmn:IntermediateThrowEvent',
- 'bpmn:IntermediateCatchEvent'
- ];
- if (isAny(element, conditionalEvents)) {
- // get business object
- var conditionalEventDefinition = eventDefinitionHelper.getConditionalEventDefinition(element);
- if (conditionalEventDefinition) {
- condition(group, element, bpmnFactory, conditionalEventDefinition, elementRegistry, translate);
- }
- }
- };
|