all files / lib/util/ DiUtil.js

100% Statements 19/19
100% Branches 14/14
100% Functions 8/8
100% Lines 19/19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62                        13465× 26×     13439× 4169×     9270× 2197×     7073×       60×       3977×       169× 169×   169× 68× 68×         169×       61×       54×       54×    
import {
  is,
  getBusinessObject
} from './ModelUtil';
 
import {
  forEach
} from 'min-dash';
 
 
export function isExpanded(element) {
 
  if (is(element, 'bpmn:CallActivity')) {
    return false;
  }
 
  if (is(element, 'bpmn:SubProcess')) {
    return !!getBusinessObject(element).di.isExpanded;
  }
 
  if (is(element, 'bpmn:Participant')) {
    return !!getBusinessObject(element).processRef;
  }
 
  return true;
}
 
export function isInterrupting(element) {
  return element && getBusinessObject(element).isInterrupting !== false;
}
 
export function isEventSubProcess(element) {
  return element && !!getBusinessObject(element).triggeredByEvent;
}
 
export function hasEventDefinition(element, eventType) {
  var bo = getBusinessObject(element),
      hasEventDefinition = false;
 
  if (bo.eventDefinitions) {
    forEach(bo.eventDefinitions, function(event) {
      if (is(event, eventType)) {
        hasEventDefinition = true;
      }
    });
  }
 
  return hasEventDefinition;
}
 
export function hasErrorEventDefinition(element) {
  return hasEventDefinition(element, 'bpmn:ErrorEventDefinition');
}
 
export function hasEscalationEventDefinition(element) {
  return hasEventDefinition(element, 'bpmn:EscalationEventDefinition');
}
 
export function hasCompensateEventDefinition(element) {
  return hasEventDefinition(element, 'bpmn:CompensateEventDefinition');
}