ErrorEventDefinition.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. 'use strict';
  2. var entryFactory = require('../../../../factory/EntryFactory'),
  3. cmdHelper = require('../../../../helper/CmdHelper'),
  4. elementReferenceProperty = require('../../../../provider/bpmn/parts/implementation/ElementReferenceProperty');
  5. module.exports = function(
  6. group, element, bpmnFactory, errorEventDefinition,
  7. showErrorCodeVariable, showErrorMessageVariable, translate
  8. ) {
  9. var getValue = function(modelProperty) {
  10. return function(element) {
  11. var modelPropertyValue = errorEventDefinition.get('activiti:' + modelProperty);
  12. var value = {};
  13. value[modelProperty] = modelPropertyValue;
  14. return value;
  15. };
  16. };
  17. var setValue = function(modelProperty) {
  18. return function(element, values) {
  19. var props = {};
  20. props['activiti:' + modelProperty] = values[modelProperty] || undefined;
  21. return cmdHelper.updateBusinessObject(element, errorEventDefinition, props);
  22. };
  23. };
  24. group.entries = group.entries.concat(
  25. elementReferenceProperty(element, errorEventDefinition, bpmnFactory, {
  26. id: 'error-element-message',
  27. label: translate('Error Message'),
  28. referenceProperty: 'errorRef',
  29. modelProperty: 'errorMessage'
  30. })
  31. );
  32. if (showErrorCodeVariable) {
  33. group.entries.push(entryFactory.textField({
  34. id: 'errorCodeVariable',
  35. label: translate('Error Code Variable'),
  36. modelProperty : 'errorCodeVariable',
  37. get: getValue('errorCodeVariable'),
  38. set: setValue('errorCodeVariable')
  39. }));
  40. }
  41. if (showErrorMessageVariable) {
  42. group.entries.push(entryFactory.textField({
  43. id: 'errorMessageVariable',
  44. label: translate('Error Message Variable'),
  45. modelProperty: 'errorMessageVariable',
  46. get: getValue('errorMessageVariable'),
  47. set: setValue('errorMessageVariable')
  48. }));
  49. }
  50. };