ExecutableProps.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. 'use strict';
  2. var is = require('bpmn-js/lib/util/ModelUtil').is,
  3. getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject;
  4. var entryFactory = require('../../../factory/EntryFactory');
  5. var participantHelper = require('../../../helper/ParticipantHelper');
  6. module.exports = function(group, element, translate) {
  7. var bo = getBusinessObject(element);
  8. if (!bo) {
  9. return;
  10. }
  11. if (is(element, 'bpmn:Process') || (is(element, 'bpmn:Participant') && bo.get('processRef'))) {
  12. var executableEntry = entryFactory.checkbox({
  13. id: 'process-is-executable',
  14. label: translate('Executable'),
  15. modelProperty: 'isExecutable'
  16. });
  17. // in participants we have to change the default behavior of set and get
  18. if (is(element, 'bpmn:Participant')) {
  19. executableEntry.get = function(element) {
  20. return participantHelper.getProcessBusinessObject(element, 'isExecutable');
  21. };
  22. executableEntry.set = function(element, values) {
  23. return participantHelper.modifyProcessBusinessObject(element, 'isExecutable', values);
  24. };
  25. }
  26. group.entries.push(executableEntry);
  27. }
  28. };