bpmn-js-properties-panel
Version:
A simple properties panel for bpmn-js
58 lines (42 loc) • 1.86 kB
JavaScript
;
var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject,
is = require('bpmn-js/lib/util/ModelUtil').is,
forEach = require('lodash/collection/forEach');
var EventDefinitionHelper = {};
module.exports = EventDefinitionHelper;
EventDefinitionHelper.getEventDefinition = function(element, eventType) {
var bo = getBusinessObject(element),
eventDefinition = null;
if (bo.eventDefinitions) {
forEach(bo.eventDefinitions, function(event) {
if (is(event, eventType)) {
eventDefinition = event;
}
});
}
return eventDefinition;
};
EventDefinitionHelper.getTimerEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:TimerEventDefinition');
};
EventDefinitionHelper.getMessageEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:MessageEventDefinition');
};
EventDefinitionHelper.getSignalEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:SignalEventDefinition');
};
EventDefinitionHelper.getErrorEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:ErrorEventDefinition');
};
EventDefinitionHelper.getEscalationEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:EscalationEventDefinition');
};
EventDefinitionHelper.getCompensateEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:CompensateEventDefinition');
};
EventDefinitionHelper.getLinkEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:LinkEventDefinition');
};
EventDefinitionHelper.getConditionalEventDefinition = function(element) {
return this.getEventDefinition(element, 'bpmn:ConditionalEventDefinition');
};