Migrate sdc-sdc-workflow-designer docs
[sdc/sdc-workflow-designer.git] / workflow-designer-ui / src / main / frontend / src / features / version / composition / custom-properties-provider / provider / camunda / parts / createInputOutputTabGroups.js
1 import inputOutputParameter from './InputOutputParameterProps';
2 import inputOutput from './InputOutputProps';
3 const 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     config
23 ) {
24     var inputOutputGroup = {
25         id: 'input-output',
26         label: translate('Parameters'),
27         entries: []
28     };
29
30     var options = inputOutput(
31         inputOutputGroup,
32         element,
33         bpmnFactory,
34         translate
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         config
55     );
56
57     return [inputOutputGroup, inputOutputParameterGroup];
58 }