f14e359f71f0c7df349058f8494a0ef3d071f5a7
[sdc/sdc-workflow-designer.git] /
1 let inputOutputParameter = require('./InputOutputParameterProps');
2 let inputOutput = require('./InputOutputProps');
3 var is = require('bpmn-js/lib/util/ModelUtil').is;
4
5 var getInputOutputParameterLabel = function(param, translate) {
6     if (is(param, 'camunda:InputParameter')) {
7         return translate('Input Parameter');
8     }
9
10     if (is(param, 'camunda:OutputParameter')) {
11         return translate('Output Parameter');
12     }
13
14     return '';
15 };
16
17 export default function createInputOutputTabGroups(
18     element,
19     bpmnFactory,
20     elementRegistry,
21     translate
22 ) {
23     var inputOutputGroup = {
24         id: 'input-output',
25         label: translate('Parameters'),
26         entries: []
27     };
28
29     var options = inputOutput(
30         inputOutputGroup,
31         element,
32         bpmnFactory,
33         translate
34     );
35
36     var inputOutputParameterGroup = {
37         id: 'input-output-parameter',
38         entries: [],
39         enabled: function(element, node) {
40             return options.getSelectedParameter(element, node);
41         },
42         label: function(element, node) {
43             var param = options.getSelectedParameter(element, node);
44             return getInputOutputParameterLabel(param, translate);
45         }
46     };
47
48     inputOutputParameter(
49         inputOutputParameterGroup,
50         element,
51         bpmnFactory,
52         options,
53         translate
54     );
55
56     return [inputOutputGroup, inputOutputParameterGroup];
57 }