'use strict'; var entryFactory = require('../../../../factory/EntryFactory'), cmdHelper = require('../../../../helper/CmdHelper'); var eventDefinitionReference = require('./EventDefinitionReference'), elementReferenceProperty = require('./ElementReferenceProperty'); module.exports = function(group, element, bpmnFactory, escalationEventDefinition, showEscalationCodeVariable, translate) { group.entries = group.entries.concat(eventDefinitionReference(element, escalationEventDefinition, bpmnFactory, { label: translate('Escalation'), elementName: 'escalation', elementType: 'bpmn:Escalation', referenceProperty: 'escalationRef', newElementIdPrefix: 'Escalation_' })); group.entries = group.entries.concat(elementReferenceProperty(element, escalationEventDefinition, bpmnFactory, { id: 'escalation-element-name', label: translate('Escalation Name'), referenceProperty: 'escalationRef', modelProperty: 'name', shouldValidate: true })); group.entries = group.entries.concat(elementReferenceProperty(element, escalationEventDefinition, bpmnFactory, { id: 'escalation-element-code', label: translate('Escalation Code'), referenceProperty: 'escalationRef', modelProperty: 'escalationCode' })); if (showEscalationCodeVariable) { group.entries.push(entryFactory.textField({ id : 'escalationCodeVariable', label : translate('Escalation Code Variable'), modelProperty : 'escalationCodeVariable', get: function(element) { var codeVariable = escalationEventDefinition.get('camunda:escalationCodeVariable'); return { escalationCodeVariable: codeVariable }; }, set: function(element, values) { return cmdHelper.updateBusinessObject(element, escalationEventDefinition, { 'camunda:escalationCodeVariable': values.escalationCodeVariable || undefined }); } })); } };