fix(modeling): do not remove sequence flow condition on type change

* do not remove sequence flow condition when changing type to intermediate catch

Closes #1199
This commit is contained in:
ssoorriiin 2019-09-25 01:06:12 +03:00 committed by Philipp Fromme
parent 2e80209820
commit b290078600
2 changed files with 13 additions and 5 deletions

View File

@ -19,6 +19,10 @@ import {
is
} from '../../util/ModelUtil';
import {
isAny
} from './util/ModelingUtil';
import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
/**
@ -248,10 +252,13 @@ export default function BpmnUpdater(
// on reconnectEnd -> conditional flow
if (oldTarget && (businessObject.conditionExpression) &&
!(is(newTarget, 'bpmn:Activity') ||
is(newTarget, 'bpmn:EndEvent') ||
is(newTarget, 'bpmn:Gateway') ||
is(newTarget, 'bpmn:IntermediateThrowEvent'))) {
!isAny(newTarget, [
'bpmn:Activity',
'bpmn:EndEvent',
'bpmn:Gateway',
'bpmn:IntermediateThrowEvent',
'bpmn:IntermediateCatchEvent'
])) {
context.conditionExpression = businessObject.conditionExpression;
businessObject.conditionExpression = undefined;
}

View File

@ -1817,7 +1817,8 @@ describe('features/popup-menu - replace menu provider', function() {
[
'bpmn:Activity',
'bpmn:EndEvent',
'bpmn:IntermediateThrowEvent'
'bpmn:IntermediateThrowEvent',
'bpmn:IntermediateCatchEvent'
].forEach(function(type) {
it('should keep ConditionalFlow when changing target to ' + type,