1 import entryFactory from 'bpmn-js-properties-panel/lib/factory/EntryFactory';
2 import cmdHelper from 'bpmn-js-properties-panel/lib/helper/CmdHelper';
5 IMPLEMENTATION_TYPE_VALUE
6 } from './implementationConstants';
8 const workflowActivity = (element, config, bpmnFactory, options, translate) => {
9 const { getImplementationType, getBusinessObject } = options;
11 const isWorkflowActivity = element =>
12 getImplementationType(element) === 'workflowActivity';
14 const workflowActivityEntry = entryFactory.selectBox({
16 label: translate('Activity Spec'),
17 selectOptions: config.activities,
19 modelProperty: 'workflowActivity',
21 get: function(element) {
22 var bo = getBusinessObject(element);
24 workflowActivity: bo.get(implementationType.ACTIVITY_RESOURCE)
28 set: function(element, values) {
29 var bo = getBusinessObject(element);
30 config.onChange(bo, values.workflowActivity);
32 const dataForUpdate = {};
33 dataForUpdate[implementationType.ACTIVITY_RESOURCE] =
34 values.workflowActivity;
36 implementationType.ACTIVITY
37 ] = IMPLEMENTATION_TYPE_VALUE;
39 cmdHelper.updateBusinessObject(element, bo, dataForUpdate)
44 validate: function(element, values) {
45 return isWorkflowActivity(element) && !values.workflowActivity
46 ? { workflowActivity: 'Must provide a value' }
50 hidden: function(element) {
51 return !isWorkflowActivity(element);
55 return [workflowActivityEntry];
58 export default workflowActivity;