From 537fe442d657a7345ea2586405fad75a87da80c9 Mon Sep 17 00:00:00 2001 From: Niklas Kiefer Date: Mon, 22 Feb 2021 16:02:46 +0100 Subject: [PATCH] feat(camunda-cloud): provide headers & input-output tabs for user tasks --- .../properties-provider/parts/HeadersProps.js | 16 +++++++++--- .../parts/implementation/Headers.js | 4 --- lib/camunda-cloud/helper/InputOutputHelper.js | 2 ++ .../helper/InputOutputHelperSpec.js | 26 +++++++++++++++++++ 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/lib/camunda-cloud/features/properties-provider/parts/HeadersProps.js b/lib/camunda-cloud/features/properties-provider/parts/HeadersProps.js index 2964adff..61a6649e 100644 --- a/lib/camunda-cloud/features/properties-provider/parts/HeadersProps.js +++ b/lib/camunda-cloud/features/properties-provider/parts/HeadersProps.js @@ -5,12 +5,12 @@ import elementHelper from 'bpmn-js-properties-panel/lib/helper/ElementHelper'; import cmdHelper from 'bpmn-js-properties-panel/lib/helper/CmdHelper'; import { - is -} from 'bpmn-js/lib/util/ModelUtil'; + isAny +} from 'bpmn-js/lib/features/modeling/util/ModelingUtil'; export default function(group, element, bpmnFactory, translate) { - if (!is(element, 'bpmn:ServiceTask')) { + if (!canHaveHeaders(element)) { return; } @@ -38,3 +38,13 @@ export default function(group, element, bpmnFactory, translate) { } } + + +// helpers //////////////// + +function canHaveHeaders(element) { + return isAny(element, [ + 'bpmn:ServiceTask', + 'bpmn:UserTask' + ]); +} diff --git a/lib/camunda-cloud/features/properties-provider/parts/implementation/Headers.js b/lib/camunda-cloud/features/properties-provider/parts/implementation/Headers.js index 4be7b58f..08995fe7 100644 --- a/lib/camunda-cloud/features/properties-provider/parts/implementation/Headers.js +++ b/lib/camunda-cloud/features/properties-provider/parts/implementation/Headers.js @@ -102,10 +102,6 @@ export default function(element, bpmnFactory, translate, options) { const bo = getBusinessObject(element); - if (!is(element, 'bpmn:ServiceTask')) { - return; - } - assign(options, { addLabel: translate('Add Header'), diff --git a/lib/camunda-cloud/helper/InputOutputHelper.js b/lib/camunda-cloud/helper/InputOutputHelper.js index b2e2f279..e41c717a 100644 --- a/lib/camunda-cloud/helper/InputOutputHelper.js +++ b/lib/camunda-cloud/helper/InputOutputHelper.js @@ -103,6 +103,7 @@ export function isInputOutputSupported(element) { export function areInputParametersSupported(element) { return isAny(element, [ 'bpmn:ServiceTask', + 'bpmn:UserTask', 'bpmn:SubProcess', 'bpmn:CallActivity' ]); @@ -118,6 +119,7 @@ export function areInputParametersSupported(element) { export function areOutputParametersSupported(element) { return isAny(element, [ 'bpmn:ServiceTask', + 'bpmn:UserTask', 'bpmn:SubProcess', 'bpmn:ReceiveTask', 'bpmn:CallActivity', diff --git a/test/camunda-cloud/helper/InputOutputHelperSpec.js b/test/camunda-cloud/helper/InputOutputHelperSpec.js index e6dd416d..cf009253 100644 --- a/test/camunda-cloud/helper/InputOutputHelperSpec.js +++ b/test/camunda-cloud/helper/InputOutputHelperSpec.js @@ -80,6 +80,19 @@ describe('camunda-cloud/helper - input output helper', function() { }); + it('should support UserTask', function() { + + // given + const userTask = createElement('bpmn:UserTask'); + + // when + const supported = areInputParametersSupported(userTask); + + // then + expect(supported).to.be.true; + }); + + it('should NOT support ReceiveTask', function() { // given @@ -228,6 +241,19 @@ describe('camunda-cloud/helper - input output helper', function() { expect(!!supported).to.be.true; }); + + it('should support UserTask', function() { + + // given + const userTask = createElement('bpmn:UserTask'); + + // when + const supported = areOutputParametersSupported(userTask); + + // then + expect(supported).to.be.true; + }); + }); }); \ No newline at end of file