EventDefinitionHelper.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. 'use strict';
  2. var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject,
  3. is = require('bpmn-js/lib/util/ModelUtil').is,
  4. forEach = require('lodash/forEach');
  5. var EventDefinitionHelper = {};
  6. module.exports = EventDefinitionHelper;
  7. EventDefinitionHelper.getEventDefinition = function(element, eventType) {
  8. var bo = getBusinessObject(element),
  9. eventDefinition = null;
  10. if (bo.eventDefinitions) {
  11. forEach(bo.eventDefinitions, function(event) {
  12. if (is(event, eventType)) {
  13. eventDefinition = event;
  14. }
  15. });
  16. }
  17. return eventDefinition;
  18. };
  19. EventDefinitionHelper.getTimerEventDefinition = function(element) {
  20. return this.getEventDefinition(element, 'bpmn:TimerEventDefinition');
  21. };
  22. EventDefinitionHelper.getMessageEventDefinition = function(element) {
  23. return this.getEventDefinition(element, 'bpmn:MessageEventDefinition');
  24. };
  25. EventDefinitionHelper.getSignalEventDefinition = function(element) {
  26. return this.getEventDefinition(element, 'bpmn:SignalEventDefinition');
  27. };
  28. EventDefinitionHelper.getErrorEventDefinition = function(element) {
  29. return this.getEventDefinition(element, 'bpmn:ErrorEventDefinition');
  30. };
  31. EventDefinitionHelper.getEscalationEventDefinition = function(element) {
  32. return this.getEventDefinition(element, 'bpmn:EscalationEventDefinition');
  33. };
  34. EventDefinitionHelper.getCompensateEventDefinition = function(element) {
  35. return this.getEventDefinition(element, 'bpmn:CompensateEventDefinition');
  36. };
  37. EventDefinitionHelper.getLinkEventDefinition = function(element) {
  38. return this.getEventDefinition(element, 'bpmn:LinkEventDefinition');
  39. };
  40. EventDefinitionHelper.getConditionalEventDefinition = function(element) {
  41. return this.getEventDefinition(element, 'bpmn:ConditionalEventDefinition');
  42. };