ScriptTaskProps.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. 'use strict';
  2. var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject,
  3. is = require('bpmn-js/lib/util/ModelUtil').is,
  4. entryFactory = require('../../../factory/EntryFactory'),
  5. cmdHelper = require('../../../helper/CmdHelper'),
  6. scriptImplementation = require('./implementation/Script');
  7. module.exports = function(group, element, bpmnFactory, translate) {
  8. var bo;
  9. if (is(element, 'bpmn:ScriptTask')) {
  10. bo = getBusinessObject(element);
  11. }
  12. if (!bo) {
  13. return;
  14. }
  15. var script = scriptImplementation('scriptFormat', 'script', false, translate);
  16. group.entries.push({
  17. id: 'script-implementation',
  18. label: translate('Script'),
  19. html: script.template,
  20. get: function(element) {
  21. return script.get(element, bo);
  22. },
  23. set: function(element, values, containerElement) {
  24. var properties = script.set(element, values, containerElement);
  25. return cmdHelper.updateProperties(element, properties);
  26. },
  27. validate: function(element, values) {
  28. return script.validate(element, values);
  29. },
  30. script : script,
  31. cssClasses: ['bpp-textfield']
  32. });
  33. group.entries.push(entryFactory.textField({
  34. id : 'scriptResultVariable',
  35. label : translate('Result Variable'),
  36. modelProperty : 'scriptResultVariable',
  37. get: function(element, propertyName) {
  38. var boResultVariable = bo.get('activiti:resultVariable');
  39. return { scriptResultVariable : boResultVariable };
  40. },
  41. set: function(element, values, containerElement) {
  42. return cmdHelper.updateProperties(element, {
  43. 'activiti:resultVariable': values.scriptResultVariable.length
  44. ? values.scriptResultVariable
  45. : undefined
  46. });
  47. }
  48. }));
  49. };