1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
import inherits from 'inherits';
import ImplementationTypeHelper from 'bpmn-js-properties-panel/lib/helper/ImplementationTypeHelper';
import ServiceTaskDelegateProps from 'bpmn-js-properties-panel/lib/provider/camunda/parts/ServiceTaskDelegateProps';
import workflowImplementationType from './implementation/WorkflowImplementationType';
import workflowActivity from './implementation/WorkflowActivity';
import {
implementationType as implementationTypeConst,
serviceTaskEntries
} from './implementation/implementationConstants';
import Delegate from './implementation/Delegate';
import ResultVariable from './implementation/ResultVariable';
const getImplementationType = element => {
let implementationType = ImplementationTypeHelper.getImplementationType(
element
);
if (!implementationType || implementationType === 'expression') {
const bo = getBusinessObject(element);
if (bo) {
if (
typeof bo.get(implementationTypeConst.ACTIVITY) !== 'undefined'
) {
return 'workflowActivity';
}
}
}
return implementationType;
};
const hideResultVariable = element => {
return getImplementationType(element) !== 'expression';
};
const getBusinessObject = element =>
ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element);
const isDmnCapable = element => ImplementationTypeHelper.isDmnCapable(element);
const isExternalCapable = element =>
ImplementationTypeHelper.isExternalCapable(element);
const isServiceTaskLike = element =>
ImplementationTypeHelper.isServiceTaskLike(element);
function WorkflowServiceTaskDelegateProps(
group,
element,
config,
bpmnFactory,
translate
) {
ServiceTaskDelegateProps.call(this, group, element, bpmnFactory, translate);
if (isServiceTaskLike(getBusinessObject(element))) {
group.entries = group.entries.filter(
entry =>
entry.id !== serviceTaskEntries.IMPLEMENTATION &&
entry.id !== serviceTaskEntries.DELEGATE &&
entry.id !== serviceTaskEntries.RESULT_VARIABLE
);
group.entries = group.entries.concat(
workflowImplementationType(
element,
bpmnFactory,
{
getBusinessObject: getBusinessObject,
getImplementationType: getImplementationType,
hasDmnSupport: isDmnCapable(element),
hasExternalSupport: isExternalCapable(
getBusinessObject(element)
),
hasServiceTaskLikeSupport: true
},
translate
)
);
group.entries = group.entries.concat(
workflowActivity(
element,
config,
bpmnFactory,
{
getBusinessObject: getBusinessObject,
getImplementationType: getImplementationType
},
translate
)
);
group.entries = group.entries.concat(
Delegate(
element,
bpmnFactory,
{
getBusinessObject: getBusinessObject,
getImplementationType: getImplementationType
},
translate
)
);
group.entries = group.entries.concat(
ResultVariable(
element,
bpmnFactory,
{
getBusinessObject: getBusinessObject,
getImplementationType: getImplementationType,
hideResultVariable: hideResultVariable
},
translate
)
);
}
}
inherits(WorkflowServiceTaskDelegateProps, ServiceTaskDelegateProps);
export default WorkflowServiceTaskDelegateProps;
|