Skip to content

Commit 6208169

Browse files
authored
check all of the extension properties for service task parameters w/ burnettk (#128)
Co-authored-by: jasquat <[email protected]>
1 parent 74db55f commit 6208169

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

app/spiffworkflow/extensions/propertiesPanel/ExtensionsPropertiesProvider.jsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { SpiffExtensionTextInput } from './SpiffExtensionTextInput';
2323
import { SpiffExtensionCheckboxEntry } from './SpiffExtensionCheckboxEntry';
2424
import { hasEventDefinition } from 'bpmn-js/lib/util/DiUtil';
2525
import { setExtensionValue } from '../extensionHelpers';
26+
import { checkIfServiceTaskHasParameters } from '../../helpers'
2627

2728
const LOW_PRIORITY = 500;
2829

@@ -34,7 +35,7 @@ export default function ExtensionsPropertiesProvider(
3435
elementRegistry,
3536
) {
3637
this.getGroups = function (element) {
37-
return function(groups) {
38+
return function (groups) {
3839
if (is(element, 'bpmn:ScriptTask')) {
3940
groups.push(
4041
createScriptGroup(element, translate, moddle, commandStack),
@@ -88,7 +89,7 @@ export default function ExtensionsPropertiesProvider(
8889
createSignalButtonGroup(element, translate, moddle, commandStack),
8990
);
9091
}
91-
92+
9293
if (is(element, 'bpmn:ServiceTask')) {
9394
groups.push(
9495
createServiceGroup(element, translate, moddle, commandStack),
@@ -451,8 +452,8 @@ function createServiceGroup(element, translate, moddle, commandStack) {
451452
translate,
452453
},
453454
];
454-
if (typeof(element.businessObject.extensionElements) !== 'undefined' &&
455-
typeof(element.businessObject.extensionElements.values[0].parameterList.parameters) !== 'undefined') {
455+
if (typeof (element.businessObject.extensionElements) !== 'undefined' &&
456+
checkIfServiceTaskHasParameters(element.businessObject.extensionElements)) {
456457
entries.push({
457458
id: 'serviceTaskParameters',
458459
label: translate('Parameters'),

app/spiffworkflow/extensions/propertiesPanel/SpiffExtensionServiceProperties.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function getServiceTaskParameterModdleElements(shapeElement) {
6666
getServiceTaskOperatorModdleElement(shapeElement);
6767
if (serviceTaskOperatorModdleElement) {
6868
const { parameterList } = serviceTaskOperatorModdleElement;
69-
if (parameterList && typeof(parameterList.parameters) !== 'undefined') {
69+
if (parameterList && "parameters" in parameterList && typeof (parameterList.parameters) !== 'undefined') {
7070
return parameterList.parameters;
7171
}
7272
}

app/spiffworkflow/helpers.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,14 @@ export function processId(id) {
4545
alert('ID should not contain spaces. It has been adjusted.');
4646
}
4747
return processedId;
48-
}
48+
}
49+
50+
export function checkIfServiceTaskHasParameters(extensionElements) {
51+
let hasParameters = false;
52+
extensionElements.values.forEach((item) => {
53+
if ("parameterList" in item && "parameters" in item.parameterList && typeof (item.parameterList.parameters) !== "undefined") {
54+
hasParameters = true
55+
}
56+
})
57+
return hasParameters;
58+
}

0 commit comments

Comments
 (0)