External.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. 'use strict';
  2. var entryFactory = require('../../../../factory/EntryFactory'),
  3. cmdHelper = require('../../../../helper/CmdHelper');
  4. module.exports = function(element, bpmnFactory, options, translate) {
  5. var getImplementationType = options.getImplementationType,
  6. getBusinessObject = options.getBusinessObject;
  7. function isExternal(element) {
  8. return getImplementationType(element) === 'external';
  9. }
  10. var topicEntry = entryFactory.textField({
  11. id: 'externalTopic',
  12. label: translate('Topic'),
  13. modelProperty: 'externalTopic',
  14. get: function(element, node) {
  15. var bo = getBusinessObject(element);
  16. return { externalTopic: bo.get('activiti:topic') };
  17. },
  18. set: function(element, values, node) {
  19. var bo = getBusinessObject(element);
  20. return cmdHelper.updateBusinessObject(element, bo, {
  21. 'activiti:topic': values.externalTopic
  22. });
  23. },
  24. validate: function(element, values, node) {
  25. return isExternal(element) && !values.externalTopic ? { externalTopic: translate('Must provide a value') } : {};
  26. },
  27. hidden: function(element, node) {
  28. return !isExternal(element);
  29. }
  30. });
  31. return [ topicEntry ];
  32. };