camunda-bpmn-js 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/diagram-js.css +1 -1
- package/dist/base-modeler.development.js +10 -3
- package/dist/base-modeler.production.min.js +2 -2
- package/dist/base-navigated-viewer.development.js +9 -2
- package/dist/base-navigated-viewer.production.min.js +1 -1
- package/dist/base-viewer.development.js +1 -1
- package/dist/base-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-modeler.development.js +1433 -1409
- package/dist/camunda-cloud-modeler.production.min.js +2 -2
- package/dist/camunda-cloud-navigated-viewer.development.js +9 -2
- package/dist/camunda-cloud-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-viewer.development.js +1 -1
- package/dist/camunda-cloud-viewer.production.min.js +1 -1
- package/dist/camunda-platform-modeler.development.js +1011 -1004
- package/dist/camunda-platform-modeler.production.min.js +2 -2
- package/dist/camunda-platform-navigated-viewer.development.js +9 -2
- package/dist/camunda-platform-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-platform-viewer.development.js +1 -1
- package/dist/camunda-platform-viewer.production.min.js +1 -1
- package/package.json +5 -5
|
@@ -2755,7 +2755,7 @@
|
|
|
2755
2755
|
* @return {string}
|
|
2756
2756
|
*/
|
|
2757
2757
|
function componentsToPath(elements) {
|
|
2758
|
-
return elements.flat().join(',').replace(/,?([A-z]),?/g, '$1');
|
|
2758
|
+
return elements.flat().join(',').replace(/,?([A-Za-z]),?/g, '$1');
|
|
2759
2759
|
}
|
|
2760
2760
|
|
|
2761
2761
|
/**
|
|
@@ -25387,7 +25387,7 @@
|
|
|
25387
25387
|
* `keyboard.bind=true|false` configuration option.
|
|
25388
25388
|
*
|
|
25389
25389
|
* @param {Object} config
|
|
25390
|
-
* @param {
|
|
25390
|
+
* @param {boolean} [config.bind]
|
|
25391
25391
|
* @param {EventBus} eventBus
|
|
25392
25392
|
*/
|
|
25393
25393
|
function Keyboard(config, eventBus) {
|
|
@@ -25463,10 +25463,17 @@
|
|
|
25463
25463
|
/**
|
|
25464
25464
|
* Bind keyboard events to the given DOM node.
|
|
25465
25465
|
*
|
|
25466
|
+
* @overlord
|
|
25467
|
+
* @deprecated No longer in use since version 15.0.0.
|
|
25468
|
+
*
|
|
25466
25469
|
* @param {EventTarget} node
|
|
25467
25470
|
*/
|
|
25471
|
+
/**
|
|
25472
|
+
* Bind keyboard events to the canvas node.
|
|
25473
|
+
*/
|
|
25468
25474
|
Keyboard.prototype.bind = function(node) {
|
|
25469
25475
|
|
|
25476
|
+
// legacy <node> argument provided
|
|
25470
25477
|
if (node) {
|
|
25471
25478
|
console.error('unsupported argument <node>', new Error(compatMessage));
|
|
25472
25479
|
}
|
|
@@ -104358,7 +104365,7 @@
|
|
|
104358
104365
|
this._tooltipConfig = tooltipConfig;
|
|
104359
104366
|
this._feelPopupContainer = feelPopupContainer;
|
|
104360
104367
|
this._getFeelPopupLinks = getFeelPopupLinks;
|
|
104361
|
-
this._container = domify$1('<div style="height: 100%" class="bio-properties-panel-container"></div>');
|
|
104368
|
+
this._container = domify$1('<div style="height: 100%" tabindex="-1" class="bio-properties-panel-container"></div>');
|
|
104362
104369
|
var commandStack = injector.get('commandStack', false);
|
|
104363
104370
|
commandStack && setupKeyboard(this._container, eventBus, commandStack);
|
|
104364
104371
|
eventBus.on('diagram.init', () => {
|
|
@@ -115970,1035 +115977,1035 @@
|
|
|
115970
115977
|
Modeler$1.prototype._extensionModules
|
|
115971
115978
|
);
|
|
115972
115979
|
|
|
115973
|
-
const WILDCARD = '*';
|
|
115974
|
-
|
|
115975
|
-
|
|
115976
|
-
class CopyPasteBehavior {
|
|
115977
|
-
constructor(eventBus) {
|
|
115978
|
-
eventBus.on('moddleCopy.canCopyProperty', (context) => {
|
|
115979
|
-
const {
|
|
115980
|
-
parent,
|
|
115981
|
-
property
|
|
115982
|
-
} = context;
|
|
115983
|
-
|
|
115984
|
-
return this.canCopyProperty(property, parent);
|
|
115985
|
-
});
|
|
115986
|
-
}
|
|
115987
|
-
|
|
115988
|
-
/**
|
|
115989
|
-
* Check wether to disallow copying property.
|
|
115990
|
-
*/
|
|
115991
|
-
canCopyProperty(property, parent) {
|
|
115992
|
-
|
|
115993
|
-
// (1) check wether property is allowed in parent
|
|
115994
|
-
if (isObject$1(property) && !isAllowedInParent(property, parent)) {
|
|
115995
|
-
|
|
115996
|
-
return false;
|
|
115997
|
-
}
|
|
115998
|
-
|
|
115999
|
-
// (2) check more complex scenarios
|
|
116000
|
-
if (is$5(property, 'camunda:InputOutput') && !this.canHostInputOutput(parent)) {
|
|
116001
|
-
return false;
|
|
116002
|
-
}
|
|
116003
|
-
|
|
116004
|
-
if (isAny$1(property, [ 'camunda:Connector', 'camunda:Field' ]) && !this.canHostConnector(parent)) {
|
|
116005
|
-
return false;
|
|
116006
|
-
}
|
|
116007
|
-
|
|
116008
|
-
if (is$5(property, 'camunda:In') && !this.canHostIn(parent)) {
|
|
116009
|
-
return false;
|
|
116010
|
-
}
|
|
116011
|
-
}
|
|
116012
|
-
|
|
116013
|
-
canHostInputOutput(parent) {
|
|
116014
|
-
|
|
116015
|
-
// allowed in camunda:Connector
|
|
116016
|
-
const connector = getParent(parent, 'camunda:Connector');
|
|
116017
|
-
|
|
116018
|
-
if (connector) {
|
|
116019
|
-
return true;
|
|
116020
|
-
}
|
|
116021
|
-
|
|
116022
|
-
// special rules inside bpmn:FlowNode
|
|
116023
|
-
const flowNode = getParent(parent, 'bpmn:FlowNode');
|
|
116024
|
-
|
|
116025
|
-
if (!flowNode) {
|
|
116026
|
-
return false;
|
|
116027
|
-
}
|
|
116028
|
-
|
|
116029
|
-
if (isAny$1(flowNode, [ 'bpmn:StartEvent', 'bpmn:Gateway', 'bpmn:BoundaryEvent' ])) {
|
|
116030
|
-
return false;
|
|
116031
|
-
}
|
|
116032
|
-
|
|
116033
|
-
if (is$5(flowNode, 'bpmn:SubProcess') && flowNode.get('triggeredByEvent')) {
|
|
116034
|
-
return false;
|
|
116035
|
-
}
|
|
116036
|
-
|
|
116037
|
-
return true;
|
|
116038
|
-
}
|
|
116039
|
-
|
|
116040
|
-
canHostConnector(parent) {
|
|
116041
|
-
const serviceTaskLike = getParent(parent, 'camunda:ServiceTaskLike');
|
|
116042
|
-
|
|
116043
|
-
if (is$5(serviceTaskLike, 'bpmn:MessageEventDefinition')) {
|
|
116044
|
-
|
|
116045
|
-
// only allow on throw and end events
|
|
116046
|
-
return (
|
|
116047
|
-
getParent(parent, 'bpmn:IntermediateThrowEvent')
|
|
116048
|
-
|| getParent(parent, 'bpmn:EndEvent')
|
|
116049
|
-
);
|
|
116050
|
-
}
|
|
116051
|
-
|
|
116052
|
-
return true;
|
|
116053
|
-
}
|
|
116054
|
-
|
|
116055
|
-
canHostIn(parent) {
|
|
116056
|
-
const callActivity = getParent(parent, 'bpmn:CallActivity');
|
|
116057
|
-
|
|
116058
|
-
if (callActivity) {
|
|
116059
|
-
return true;
|
|
116060
|
-
}
|
|
116061
|
-
|
|
116062
|
-
const signalEventDefinition = getParent(parent, 'bpmn:SignalEventDefinition');
|
|
116063
|
-
|
|
116064
|
-
if (signalEventDefinition) {
|
|
116065
|
-
|
|
116066
|
-
// only allow on throw and end events
|
|
116067
|
-
return (
|
|
116068
|
-
getParent(parent, 'bpmn:IntermediateThrowEvent')
|
|
116069
|
-
|| getParent(parent, 'bpmn:EndEvent')
|
|
116070
|
-
);
|
|
116071
|
-
}
|
|
116072
|
-
|
|
116073
|
-
return true;
|
|
116074
|
-
}
|
|
116075
|
-
}
|
|
116076
|
-
|
|
116077
|
-
CopyPasteBehavior.$inject = [ 'eventBus' ];
|
|
116078
|
-
|
|
116079
|
-
|
|
116080
|
-
// helpers //////////
|
|
116081
|
-
|
|
116082
|
-
function getParent(element, type) {
|
|
116083
|
-
if (!type) {
|
|
116084
|
-
return element.$parent;
|
|
116085
|
-
}
|
|
116086
|
-
|
|
116087
|
-
if (is$5(element, type)) {
|
|
116088
|
-
return element;
|
|
116089
|
-
}
|
|
116090
|
-
|
|
116091
|
-
if (!element.$parent) {
|
|
116092
|
-
return;
|
|
116093
|
-
}
|
|
116094
|
-
|
|
116095
|
-
return getParent(element.$parent, type);
|
|
116096
|
-
}
|
|
116097
|
-
|
|
116098
|
-
function isAllowedInParent(property, parent) {
|
|
116099
|
-
|
|
116100
|
-
// (1) find property descriptor
|
|
116101
|
-
var descriptor = property.$type && property.$model.getTypeDescriptor(property.$type);
|
|
116102
|
-
|
|
116103
|
-
var allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn;
|
|
116104
|
-
|
|
116105
|
-
if (!allowedIn || isWildcard(allowedIn)) {
|
|
116106
|
-
return true;
|
|
116107
|
-
}
|
|
116108
|
-
|
|
116109
|
-
// (2) check wether property has parent of allowed type
|
|
116110
|
-
return some$1(allowedIn, function(type) {
|
|
116111
|
-
return getParent(parent, type);
|
|
116112
|
-
});
|
|
116113
|
-
}
|
|
116114
|
-
|
|
116115
|
-
function isWildcard(allowedIn) {
|
|
116116
|
-
return allowedIn.includes(WILDCARD);
|
|
116117
|
-
}
|
|
116118
|
-
|
|
116119
|
-
const LOW_PRIORITY$3 = 500;
|
|
116120
|
-
|
|
116121
|
-
|
|
116122
|
-
/**
|
|
116123
|
-
* Add referenced root elements (bpmn:Error) if they don't exist.
|
|
116124
|
-
* Copy referenced root elements on copy & paste.
|
|
116125
|
-
*/
|
|
116126
|
-
class CopyPasteRootElementBehavior extends CommandInterceptor$1 {
|
|
116127
|
-
constructor(bpmnFactory, bpmnjs, eventBus, moddleCopy) {
|
|
116128
|
-
super(eventBus);
|
|
116129
|
-
|
|
116130
|
-
function hasRootElement(rootElement) {
|
|
116131
|
-
const definitions = bpmnjs.getDefinitions(),
|
|
116132
|
-
rootElements = definitions.get('rootElements');
|
|
116133
|
-
|
|
116134
|
-
return !!find$2(rootElements, matchPattern({ id: rootElement.get('id') }));
|
|
116135
|
-
}
|
|
116136
|
-
|
|
116137
|
-
// create shape
|
|
116138
|
-
this.executed('shape.create', (context) => {
|
|
116139
|
-
const { shape } = context;
|
|
116140
|
-
|
|
116141
|
-
const businessObject = getBusinessObject$1(shape);
|
|
116142
|
-
|
|
116143
|
-
if (!canHaveNestedRootElementReference(businessObject)) {
|
|
116144
|
-
return;
|
|
116145
|
-
}
|
|
116146
|
-
|
|
116147
|
-
const referencedRootElements = getRootElements(businessObject, getReferencingElement(shape)),
|
|
116148
|
-
rootElements = bpmnjs.getDefinitions().get('rootElements');
|
|
116149
|
-
|
|
116150
|
-
context.addedRootElements = [];
|
|
116151
|
-
|
|
116152
|
-
referencedRootElements.forEach((reference) => {
|
|
116153
|
-
const { referencedElement } = reference;
|
|
116154
|
-
|
|
116155
|
-
if (referencedElement && !hasRootElement(referencedElement)) {
|
|
116156
|
-
|
|
116157
|
-
// add root element
|
|
116158
|
-
add$2(rootElements, referencedElement);
|
|
116159
|
-
|
|
116160
|
-
context.addedRootElements.push(referencedElement);
|
|
116161
|
-
}
|
|
116162
|
-
});
|
|
116163
|
-
}, true);
|
|
116164
|
-
|
|
116165
|
-
this.reverted('shape.create', (context) => {
|
|
116166
|
-
const { addedRootElements } = context;
|
|
116167
|
-
|
|
116168
|
-
if (!addedRootElements) {
|
|
116169
|
-
return;
|
|
116170
|
-
}
|
|
116171
|
-
|
|
116172
|
-
const rootElements = bpmnjs.getDefinitions().get('rootElements');
|
|
116173
|
-
|
|
116174
|
-
// remove root elements
|
|
116175
|
-
addedRootElements.forEach((addedRootElement) => {
|
|
116176
|
-
remove$2(rootElements, addedRootElement);
|
|
116177
|
-
});
|
|
116178
|
-
}, true);
|
|
116179
|
-
|
|
116180
|
-
eventBus.on('copyPaste.copyElement', function(context) {
|
|
116181
|
-
const {
|
|
116182
|
-
descriptor,
|
|
116183
|
-
element
|
|
116184
|
-
} = context;
|
|
116185
|
-
|
|
116186
|
-
const businessObject = getBusinessObject$1(element);
|
|
116187
|
-
|
|
116188
|
-
if (element.labelTarget || !canHaveNestedRootElementReference(businessObject)) {
|
|
116189
|
-
return;
|
|
116190
|
-
}
|
|
116191
|
-
|
|
116192
|
-
const rootElements = getRootElements(businessObject, getReferencingElement(element));
|
|
116193
|
-
|
|
116194
|
-
if (rootElements) {
|
|
116195
|
-
descriptor.referencedRootElements = rootElements;
|
|
116196
|
-
}
|
|
116197
|
-
});
|
|
116198
|
-
|
|
116199
|
-
eventBus.on('copyPaste.pasteElement', LOW_PRIORITY$3, (context) => {
|
|
116200
|
-
const { descriptor } = context;
|
|
116201
|
-
|
|
116202
|
-
const {
|
|
116203
|
-
businessObject,
|
|
116204
|
-
referencedRootElements
|
|
116205
|
-
} = descriptor;
|
|
116206
|
-
|
|
116207
|
-
if (!referencedRootElements) {
|
|
116208
|
-
return;
|
|
116209
|
-
}
|
|
116210
|
-
|
|
116211
|
-
referencedRootElements.forEach((reference) => {
|
|
116212
|
-
let {
|
|
116213
|
-
idx,
|
|
116214
|
-
referencedElement
|
|
116215
|
-
} = reference;
|
|
116216
|
-
|
|
116217
|
-
if (!referencedElement) {
|
|
116218
|
-
return;
|
|
116219
|
-
}
|
|
116220
|
-
|
|
116221
|
-
if (!hasRootElement(referencedElement)) {
|
|
116222
|
-
referencedElement = moddleCopy.copyElement(
|
|
116223
|
-
referencedElement,
|
|
116224
|
-
bpmnFactory.create(referencedElement.$type)
|
|
116225
|
-
);
|
|
116226
|
-
}
|
|
116227
|
-
|
|
116228
|
-
setRootElement(businessObject, referencedElement, idx);
|
|
116229
|
-
});
|
|
116230
|
-
|
|
116231
|
-
delete descriptor.referencedRootElements;
|
|
116232
|
-
});
|
|
116233
|
-
}
|
|
116234
|
-
}
|
|
116235
|
-
|
|
116236
|
-
CopyPasteRootElementBehavior.$inject = [
|
|
116237
|
-
'bpmnFactory',
|
|
116238
|
-
'bpmnjs',
|
|
116239
|
-
'eventBus',
|
|
116240
|
-
'moddleCopy'
|
|
116241
|
-
];
|
|
116242
|
-
|
|
116243
|
-
|
|
116244
|
-
// helpers //////////
|
|
116245
|
-
|
|
116246
|
-
function getReferencingElement(element) {
|
|
116247
|
-
if (is$5(element, 'bpmn:ServiceTask')) {
|
|
116248
|
-
return 'camunda:ErrorEventDefinition';
|
|
116249
|
-
}
|
|
116250
|
-
}
|
|
116251
|
-
|
|
116252
|
-
function getRootElementReferencePropertyName(bo) {
|
|
116253
|
-
if (is$5(bo, 'camunda:ErrorEventDefinition')) {
|
|
116254
|
-
return 'errorRef';
|
|
116255
|
-
}
|
|
116256
|
-
}
|
|
116257
|
-
|
|
116258
|
-
function canHaveNestedRootElementReference(businessObject) {
|
|
116259
|
-
return is$5(businessObject, 'bpmn:ServiceTask') && businessObject.get('type') === 'external';
|
|
116260
|
-
}
|
|
116261
|
-
|
|
116262
|
-
/**
|
|
116263
|
-
* Retrieves a list of to-be copied references for the extension elements
|
|
116264
|
-
* of a given element in the following form.
|
|
116265
|
-
*
|
|
116266
|
-
* [
|
|
116267
|
-
* {
|
|
116268
|
-
* idx: 0, // position of extension in the list of extension elements
|
|
116269
|
-
* referencedElement: {ModdleElement} // reference to root element
|
|
116270
|
-
* }
|
|
116271
|
-
* ]
|
|
116272
|
-
*
|
|
116273
|
-
*
|
|
116274
|
-
* @param {ModdleElement} businessObject
|
|
116275
|
-
* @param {String} extensionElementType
|
|
116276
|
-
*
|
|
116277
|
-
* @returns {Array}
|
|
116278
|
-
*/
|
|
116279
|
-
function getRootElements(businessObject, extensionElementType) {
|
|
116280
|
-
const extensionElements = businessObject.get('extensionElements');
|
|
116281
|
-
|
|
116282
|
-
if (!extensionElements) {
|
|
116283
|
-
return [];
|
|
116284
|
-
}
|
|
116285
|
-
|
|
116286
|
-
return extensionElements
|
|
116287
|
-
.get('values')
|
|
116288
|
-
.filter((element) => is$5(element, extensionElementType))
|
|
116289
|
-
.reduce((result, element) => {
|
|
116290
|
-
const referencedElement = element.get(getRootElementReferencePropertyName(element));
|
|
116291
|
-
|
|
116292
|
-
if (referencedElement) {
|
|
116293
|
-
result.push({
|
|
116294
|
-
idx: getExtensionElementId(businessObject, element),
|
|
116295
|
-
referencedElement
|
|
116296
|
-
});
|
|
116297
|
-
}
|
|
116298
|
-
|
|
116299
|
-
return result;
|
|
116300
|
-
}, []);
|
|
116301
|
-
}
|
|
116302
|
-
|
|
116303
|
-
function setRootElement(businessObject, rootElement, index) {
|
|
116304
|
-
const extensionElement = businessObject.get('extensionElements').get('values')[ index ];
|
|
116305
|
-
|
|
116306
|
-
extensionElement.set(getRootElementReferencePropertyName(extensionElement), rootElement);
|
|
116307
|
-
}
|
|
116308
|
-
|
|
116309
|
-
function getExtensionElementId(businessObject, extensionElement) {
|
|
116310
|
-
const extensionElements = businessObject.get('extensionElements');
|
|
116311
|
-
|
|
116312
|
-
if (!extensionElements) {
|
|
116313
|
-
return -1;
|
|
116314
|
-
}
|
|
116315
|
-
|
|
116316
|
-
return extensionElements.get('values').indexOf(extensionElement);
|
|
116317
|
-
}
|
|
116318
|
-
|
|
116319
|
-
/**
|
|
116320
|
-
* Get extension elements of business object. Optionally filter by type.
|
|
116321
|
-
*
|
|
116322
|
-
* @param {djs.model.Base|ModdleElement} element
|
|
116323
|
-
* @param {String} [type=undefined]
|
|
116324
|
-
* @returns {Array<ModdleElement>}
|
|
116325
|
-
*/
|
|
116326
|
-
function getExtensionElementsList(element, type = undefined) {
|
|
116327
|
-
const businessObject = getBusinessObject$1(element),
|
|
116328
|
-
extensionElements = businessObject.get('extensionElements');
|
|
116329
|
-
|
|
116330
|
-
if (!extensionElements) {
|
|
116331
|
-
return [];
|
|
116332
|
-
}
|
|
116333
|
-
|
|
116334
|
-
const values = extensionElements.get('values');
|
|
116335
|
-
|
|
116336
|
-
if (!values || !values.length) {
|
|
116337
|
-
return [];
|
|
116338
|
-
}
|
|
116339
|
-
|
|
116340
|
-
if (type) {
|
|
116341
|
-
return values.filter(value => is$5(value, type));
|
|
116342
|
-
}
|
|
116343
|
-
|
|
116344
|
-
return values;
|
|
116345
|
-
}
|
|
116346
|
-
|
|
116347
|
-
/**
|
|
116348
|
-
* Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
|
|
116349
|
-
*
|
|
116350
|
-
* @param {ModdleElement} element
|
|
116351
|
-
* @param {ModdleElement} businessObject
|
|
116352
|
-
* @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
|
|
116353
|
-
* @param {CommandStack} commandStack
|
|
116354
|
-
*/
|
|
116355
|
-
function removeExtensionElements(element, businessObject, extensionElementsToRemove, commandStack) {
|
|
116356
|
-
if (!isArray$4(extensionElementsToRemove)) {
|
|
116357
|
-
extensionElementsToRemove = [ extensionElementsToRemove ];
|
|
116358
|
-
}
|
|
116359
|
-
|
|
116360
|
-
const extensionElements = businessObject.get('extensionElements'),
|
|
116361
|
-
values = extensionElements.get('values').filter(value => !extensionElementsToRemove.includes(value));
|
|
116362
|
-
|
|
116363
|
-
commandStack.execute('element.updateModdleProperties', {
|
|
116364
|
-
element,
|
|
116365
|
-
moddleElement: extensionElements,
|
|
116366
|
-
properties: {
|
|
116367
|
-
values
|
|
116368
|
-
}
|
|
116369
|
-
});
|
|
116370
|
-
}
|
|
116371
|
-
|
|
116372
|
-
const HIGH_PRIORITY$3 = 5000;
|
|
116373
|
-
|
|
116374
|
-
|
|
116375
|
-
/**
|
|
116376
|
-
* Camunda BPMN specific behavior ensuring camunda:ErrorEventDefinition extension elements are removed
|
|
116377
|
-
* if type of e.g. bpmn:ServiceTask is set to something other than external.
|
|
116378
|
-
*/
|
|
116379
|
-
class DeleteErrorEventDefinitionBehavior extends CommandInterceptor$1 {
|
|
116380
|
-
constructor(commandStack, eventBus) {
|
|
116381
|
-
super(eventBus);
|
|
116382
|
-
|
|
116383
|
-
this.postExecute([
|
|
116384
|
-
'element.updateProperties',
|
|
116385
|
-
'element.updateModdleProperties'
|
|
116386
|
-
], HIGH_PRIORITY$3, function(context) {
|
|
116387
|
-
const {
|
|
116388
|
-
element,
|
|
116389
|
-
moddleElement,
|
|
116390
|
-
properties
|
|
116391
|
-
} = context;
|
|
116392
|
-
|
|
116393
|
-
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116394
|
-
|
|
116395
|
-
if (is$5(element, 'camunda:ExternalCapable')
|
|
116396
|
-
&& is$5(businessObject, 'camunda:ExternalCapable')
|
|
116397
|
-
&& properties[ 'camunda:type' ] !== 'external'
|
|
116398
|
-
) {
|
|
116399
|
-
const errorEventDefinitions = getExtensionElementsList(businessObject, 'camunda:ErrorEventDefinition');
|
|
116400
|
-
|
|
116401
|
-
if (errorEventDefinitions.length) {
|
|
116402
|
-
removeExtensionElements(element, businessObject, errorEventDefinitions, commandStack);
|
|
116403
|
-
}
|
|
116404
|
-
}
|
|
116405
|
-
}, true);
|
|
116406
|
-
|
|
116407
|
-
}
|
|
115980
|
+
const WILDCARD = '*';
|
|
115981
|
+
|
|
115982
|
+
|
|
115983
|
+
class CopyPasteBehavior {
|
|
115984
|
+
constructor(eventBus) {
|
|
115985
|
+
eventBus.on('moddleCopy.canCopyProperty', (context) => {
|
|
115986
|
+
const {
|
|
115987
|
+
parent,
|
|
115988
|
+
property
|
|
115989
|
+
} = context;
|
|
115990
|
+
|
|
115991
|
+
return this.canCopyProperty(property, parent);
|
|
115992
|
+
});
|
|
115993
|
+
}
|
|
115994
|
+
|
|
115995
|
+
/**
|
|
115996
|
+
* Check wether to disallow copying property.
|
|
115997
|
+
*/
|
|
115998
|
+
canCopyProperty(property, parent) {
|
|
115999
|
+
|
|
116000
|
+
// (1) check wether property is allowed in parent
|
|
116001
|
+
if (isObject$1(property) && !isAllowedInParent(property, parent)) {
|
|
116002
|
+
|
|
116003
|
+
return false;
|
|
116004
|
+
}
|
|
116005
|
+
|
|
116006
|
+
// (2) check more complex scenarios
|
|
116007
|
+
if (is$5(property, 'camunda:InputOutput') && !this.canHostInputOutput(parent)) {
|
|
116008
|
+
return false;
|
|
116009
|
+
}
|
|
116010
|
+
|
|
116011
|
+
if (isAny$1(property, [ 'camunda:Connector', 'camunda:Field' ]) && !this.canHostConnector(parent)) {
|
|
116012
|
+
return false;
|
|
116013
|
+
}
|
|
116014
|
+
|
|
116015
|
+
if (is$5(property, 'camunda:In') && !this.canHostIn(parent)) {
|
|
116016
|
+
return false;
|
|
116017
|
+
}
|
|
116018
|
+
}
|
|
116019
|
+
|
|
116020
|
+
canHostInputOutput(parent) {
|
|
116021
|
+
|
|
116022
|
+
// allowed in camunda:Connector
|
|
116023
|
+
const connector = getParent(parent, 'camunda:Connector');
|
|
116024
|
+
|
|
116025
|
+
if (connector) {
|
|
116026
|
+
return true;
|
|
116027
|
+
}
|
|
116028
|
+
|
|
116029
|
+
// special rules inside bpmn:FlowNode
|
|
116030
|
+
const flowNode = getParent(parent, 'bpmn:FlowNode');
|
|
116031
|
+
|
|
116032
|
+
if (!flowNode) {
|
|
116033
|
+
return false;
|
|
116034
|
+
}
|
|
116035
|
+
|
|
116036
|
+
if (isAny$1(flowNode, [ 'bpmn:StartEvent', 'bpmn:Gateway', 'bpmn:BoundaryEvent' ])) {
|
|
116037
|
+
return false;
|
|
116038
|
+
}
|
|
116039
|
+
|
|
116040
|
+
if (is$5(flowNode, 'bpmn:SubProcess') && flowNode.get('triggeredByEvent')) {
|
|
116041
|
+
return false;
|
|
116042
|
+
}
|
|
116043
|
+
|
|
116044
|
+
return true;
|
|
116045
|
+
}
|
|
116046
|
+
|
|
116047
|
+
canHostConnector(parent) {
|
|
116048
|
+
const serviceTaskLike = getParent(parent, 'camunda:ServiceTaskLike');
|
|
116049
|
+
|
|
116050
|
+
if (is$5(serviceTaskLike, 'bpmn:MessageEventDefinition')) {
|
|
116051
|
+
|
|
116052
|
+
// only allow on throw and end events
|
|
116053
|
+
return (
|
|
116054
|
+
getParent(parent, 'bpmn:IntermediateThrowEvent')
|
|
116055
|
+
|| getParent(parent, 'bpmn:EndEvent')
|
|
116056
|
+
);
|
|
116057
|
+
}
|
|
116058
|
+
|
|
116059
|
+
return true;
|
|
116060
|
+
}
|
|
116061
|
+
|
|
116062
|
+
canHostIn(parent) {
|
|
116063
|
+
const callActivity = getParent(parent, 'bpmn:CallActivity');
|
|
116064
|
+
|
|
116065
|
+
if (callActivity) {
|
|
116066
|
+
return true;
|
|
116067
|
+
}
|
|
116068
|
+
|
|
116069
|
+
const signalEventDefinition = getParent(parent, 'bpmn:SignalEventDefinition');
|
|
116070
|
+
|
|
116071
|
+
if (signalEventDefinition) {
|
|
116072
|
+
|
|
116073
|
+
// only allow on throw and end events
|
|
116074
|
+
return (
|
|
116075
|
+
getParent(parent, 'bpmn:IntermediateThrowEvent')
|
|
116076
|
+
|| getParent(parent, 'bpmn:EndEvent')
|
|
116077
|
+
);
|
|
116078
|
+
}
|
|
116079
|
+
|
|
116080
|
+
return true;
|
|
116081
|
+
}
|
|
116082
|
+
}
|
|
116083
|
+
|
|
116084
|
+
CopyPasteBehavior.$inject = [ 'eventBus' ];
|
|
116085
|
+
|
|
116086
|
+
|
|
116087
|
+
// helpers //////////
|
|
116088
|
+
|
|
116089
|
+
function getParent(element, type) {
|
|
116090
|
+
if (!type) {
|
|
116091
|
+
return element.$parent;
|
|
116092
|
+
}
|
|
116093
|
+
|
|
116094
|
+
if (is$5(element, type)) {
|
|
116095
|
+
return element;
|
|
116096
|
+
}
|
|
116097
|
+
|
|
116098
|
+
if (!element.$parent) {
|
|
116099
|
+
return;
|
|
116100
|
+
}
|
|
116101
|
+
|
|
116102
|
+
return getParent(element.$parent, type);
|
|
116103
|
+
}
|
|
116104
|
+
|
|
116105
|
+
function isAllowedInParent(property, parent) {
|
|
116106
|
+
|
|
116107
|
+
// (1) find property descriptor
|
|
116108
|
+
var descriptor = property.$type && property.$model.getTypeDescriptor(property.$type);
|
|
116109
|
+
|
|
116110
|
+
var allowedIn = descriptor && descriptor.meta && descriptor.meta.allowedIn;
|
|
116111
|
+
|
|
116112
|
+
if (!allowedIn || isWildcard(allowedIn)) {
|
|
116113
|
+
return true;
|
|
116114
|
+
}
|
|
116115
|
+
|
|
116116
|
+
// (2) check wether property has parent of allowed type
|
|
116117
|
+
return some$1(allowedIn, function(type) {
|
|
116118
|
+
return getParent(parent, type);
|
|
116119
|
+
});
|
|
116120
|
+
}
|
|
116121
|
+
|
|
116122
|
+
function isWildcard(allowedIn) {
|
|
116123
|
+
return allowedIn.includes(WILDCARD);
|
|
116408
116124
|
}
|
|
116409
116125
|
|
|
116410
|
-
|
|
116411
|
-
|
|
116412
|
-
|
|
116413
|
-
|
|
116414
|
-
|
|
116415
|
-
|
|
116416
|
-
|
|
116417
|
-
|
|
116418
|
-
|
|
116419
|
-
|
|
116420
|
-
|
|
116421
|
-
|
|
116422
|
-
|
|
116423
|
-
|
|
116424
|
-
|
|
116425
|
-
|
|
116426
|
-
|
|
116427
|
-
|
|
116428
|
-
|
|
116429
|
-
|
|
116430
|
-
|
|
116431
|
-
|
|
116432
|
-
|
|
116433
|
-
|
|
116434
|
-
|
|
116435
|
-
|
|
116436
|
-
|
|
116437
|
-
|
|
116438
|
-
|
|
116439
|
-
|
|
116440
|
-
|
|
116441
|
-
|
|
116442
|
-
|
|
116443
|
-
|
|
116444
|
-
|
|
116445
|
-
|
|
116446
|
-
|
|
116447
|
-
|
|
116448
|
-
|
|
116126
|
+
const LOW_PRIORITY$3 = 500;
|
|
116127
|
+
|
|
116128
|
+
|
|
116129
|
+
/**
|
|
116130
|
+
* Add referenced root elements (bpmn:Error) if they don't exist.
|
|
116131
|
+
* Copy referenced root elements on copy & paste.
|
|
116132
|
+
*/
|
|
116133
|
+
class CopyPasteRootElementBehavior extends CommandInterceptor$1 {
|
|
116134
|
+
constructor(bpmnFactory, bpmnjs, eventBus, moddleCopy) {
|
|
116135
|
+
super(eventBus);
|
|
116136
|
+
|
|
116137
|
+
function hasRootElement(rootElement) {
|
|
116138
|
+
const definitions = bpmnjs.getDefinitions(),
|
|
116139
|
+
rootElements = definitions.get('rootElements');
|
|
116140
|
+
|
|
116141
|
+
return !!find$2(rootElements, matchPattern({ id: rootElement.get('id') }));
|
|
116142
|
+
}
|
|
116143
|
+
|
|
116144
|
+
// create shape
|
|
116145
|
+
this.executed('shape.create', (context) => {
|
|
116146
|
+
const { shape } = context;
|
|
116147
|
+
|
|
116148
|
+
const businessObject = getBusinessObject$1(shape);
|
|
116149
|
+
|
|
116150
|
+
if (!canHaveNestedRootElementReference(businessObject)) {
|
|
116151
|
+
return;
|
|
116152
|
+
}
|
|
116153
|
+
|
|
116154
|
+
const referencedRootElements = getRootElements(businessObject, getReferencingElement(shape)),
|
|
116155
|
+
rootElements = bpmnjs.getDefinitions().get('rootElements');
|
|
116156
|
+
|
|
116157
|
+
context.addedRootElements = [];
|
|
116158
|
+
|
|
116159
|
+
referencedRootElements.forEach((reference) => {
|
|
116160
|
+
const { referencedElement } = reference;
|
|
116161
|
+
|
|
116162
|
+
if (referencedElement && !hasRootElement(referencedElement)) {
|
|
116163
|
+
|
|
116164
|
+
// add root element
|
|
116165
|
+
add$2(rootElements, referencedElement);
|
|
116166
|
+
|
|
116167
|
+
context.addedRootElements.push(referencedElement);
|
|
116168
|
+
}
|
|
116169
|
+
});
|
|
116170
|
+
}, true);
|
|
116171
|
+
|
|
116172
|
+
this.reverted('shape.create', (context) => {
|
|
116173
|
+
const { addedRootElements } = context;
|
|
116174
|
+
|
|
116175
|
+
if (!addedRootElements) {
|
|
116176
|
+
return;
|
|
116177
|
+
}
|
|
116178
|
+
|
|
116179
|
+
const rootElements = bpmnjs.getDefinitions().get('rootElements');
|
|
116180
|
+
|
|
116181
|
+
// remove root elements
|
|
116182
|
+
addedRootElements.forEach((addedRootElement) => {
|
|
116183
|
+
remove$2(rootElements, addedRootElement);
|
|
116184
|
+
});
|
|
116185
|
+
}, true);
|
|
116186
|
+
|
|
116187
|
+
eventBus.on('copyPaste.copyElement', function(context) {
|
|
116188
|
+
const {
|
|
116189
|
+
descriptor,
|
|
116190
|
+
element
|
|
116191
|
+
} = context;
|
|
116192
|
+
|
|
116193
|
+
const businessObject = getBusinessObject$1(element);
|
|
116194
|
+
|
|
116195
|
+
if (element.labelTarget || !canHaveNestedRootElementReference(businessObject)) {
|
|
116196
|
+
return;
|
|
116197
|
+
}
|
|
116198
|
+
|
|
116199
|
+
const rootElements = getRootElements(businessObject, getReferencingElement(element));
|
|
116200
|
+
|
|
116201
|
+
if (rootElements) {
|
|
116202
|
+
descriptor.referencedRootElements = rootElements;
|
|
116203
|
+
}
|
|
116204
|
+
});
|
|
116205
|
+
|
|
116206
|
+
eventBus.on('copyPaste.pasteElement', LOW_PRIORITY$3, (context) => {
|
|
116207
|
+
const { descriptor } = context;
|
|
116208
|
+
|
|
116209
|
+
const {
|
|
116210
|
+
businessObject,
|
|
116211
|
+
referencedRootElements
|
|
116212
|
+
} = descriptor;
|
|
116213
|
+
|
|
116214
|
+
if (!referencedRootElements) {
|
|
116215
|
+
return;
|
|
116216
|
+
}
|
|
116217
|
+
|
|
116218
|
+
referencedRootElements.forEach((reference) => {
|
|
116219
|
+
let {
|
|
116220
|
+
idx,
|
|
116221
|
+
referencedElement
|
|
116222
|
+
} = reference;
|
|
116223
|
+
|
|
116224
|
+
if (!referencedElement) {
|
|
116225
|
+
return;
|
|
116226
|
+
}
|
|
116227
|
+
|
|
116228
|
+
if (!hasRootElement(referencedElement)) {
|
|
116229
|
+
referencedElement = moddleCopy.copyElement(
|
|
116230
|
+
referencedElement,
|
|
116231
|
+
bpmnFactory.create(referencedElement.$type)
|
|
116232
|
+
);
|
|
116233
|
+
}
|
|
116234
|
+
|
|
116235
|
+
setRootElement(businessObject, referencedElement, idx);
|
|
116236
|
+
});
|
|
116237
|
+
|
|
116238
|
+
delete descriptor.referencedRootElements;
|
|
116239
|
+
});
|
|
116240
|
+
}
|
|
116241
|
+
}
|
|
116242
|
+
|
|
116243
|
+
CopyPasteRootElementBehavior.$inject = [
|
|
116244
|
+
'bpmnFactory',
|
|
116245
|
+
'bpmnjs',
|
|
116246
|
+
'eventBus',
|
|
116247
|
+
'moddleCopy'
|
|
116248
|
+
];
|
|
116249
|
+
|
|
116250
|
+
|
|
116251
|
+
// helpers //////////
|
|
116252
|
+
|
|
116253
|
+
function getReferencingElement(element) {
|
|
116254
|
+
if (is$5(element, 'bpmn:ServiceTask')) {
|
|
116255
|
+
return 'camunda:ErrorEventDefinition';
|
|
116256
|
+
}
|
|
116257
|
+
}
|
|
116258
|
+
|
|
116259
|
+
function getRootElementReferencePropertyName(bo) {
|
|
116260
|
+
if (is$5(bo, 'camunda:ErrorEventDefinition')) {
|
|
116261
|
+
return 'errorRef';
|
|
116262
|
+
}
|
|
116263
|
+
}
|
|
116264
|
+
|
|
116265
|
+
function canHaveNestedRootElementReference(businessObject) {
|
|
116266
|
+
return is$5(businessObject, 'bpmn:ServiceTask') && businessObject.get('type') === 'external';
|
|
116267
|
+
}
|
|
116268
|
+
|
|
116269
|
+
/**
|
|
116270
|
+
* Retrieves a list of to-be copied references for the extension elements
|
|
116271
|
+
* of a given element in the following form.
|
|
116272
|
+
*
|
|
116273
|
+
* [
|
|
116274
|
+
* {
|
|
116275
|
+
* idx: 0, // position of extension in the list of extension elements
|
|
116276
|
+
* referencedElement: {ModdleElement} // reference to root element
|
|
116277
|
+
* }
|
|
116278
|
+
* ]
|
|
116279
|
+
*
|
|
116280
|
+
*
|
|
116281
|
+
* @param {ModdleElement} businessObject
|
|
116282
|
+
* @param {String} extensionElementType
|
|
116283
|
+
*
|
|
116284
|
+
* @returns {Array}
|
|
116285
|
+
*/
|
|
116286
|
+
function getRootElements(businessObject, extensionElementType) {
|
|
116287
|
+
const extensionElements = businessObject.get('extensionElements');
|
|
116288
|
+
|
|
116289
|
+
if (!extensionElements) {
|
|
116290
|
+
return [];
|
|
116291
|
+
}
|
|
116292
|
+
|
|
116293
|
+
return extensionElements
|
|
116294
|
+
.get('values')
|
|
116295
|
+
.filter((element) => is$5(element, extensionElementType))
|
|
116296
|
+
.reduce((result, element) => {
|
|
116297
|
+
const referencedElement = element.get(getRootElementReferencePropertyName(element));
|
|
116298
|
+
|
|
116299
|
+
if (referencedElement) {
|
|
116300
|
+
result.push({
|
|
116301
|
+
idx: getExtensionElementId(businessObject, element),
|
|
116302
|
+
referencedElement
|
|
116303
|
+
});
|
|
116304
|
+
}
|
|
116305
|
+
|
|
116306
|
+
return result;
|
|
116307
|
+
}, []);
|
|
116308
|
+
}
|
|
116309
|
+
|
|
116310
|
+
function setRootElement(businessObject, rootElement, index) {
|
|
116311
|
+
const extensionElement = businessObject.get('extensionElements').get('values')[ index ];
|
|
116312
|
+
|
|
116313
|
+
extensionElement.set(getRootElementReferencePropertyName(extensionElement), rootElement);
|
|
116314
|
+
}
|
|
116315
|
+
|
|
116316
|
+
function getExtensionElementId(businessObject, extensionElement) {
|
|
116317
|
+
const extensionElements = businessObject.get('extensionElements');
|
|
116318
|
+
|
|
116319
|
+
if (!extensionElements) {
|
|
116320
|
+
return -1;
|
|
116321
|
+
}
|
|
116322
|
+
|
|
116323
|
+
return extensionElements.get('values').indexOf(extensionElement);
|
|
116449
116324
|
}
|
|
116450
116325
|
|
|
116451
|
-
|
|
116452
|
-
|
|
116453
|
-
|
|
116454
|
-
|
|
116455
|
-
]
|
|
116456
|
-
|
|
116457
|
-
|
|
116458
|
-
|
|
116459
|
-
|
|
116460
|
-
|
|
116461
|
-
|
|
116462
|
-
|
|
116463
|
-
|
|
116464
|
-
|
|
116465
|
-
|
|
116466
|
-
|
|
116467
|
-
|
|
116468
|
-
|
|
116469
|
-
|
|
116470
|
-
|
|
116471
|
-
|
|
116472
|
-
|
|
116473
|
-
|
|
116474
|
-
|
|
116475
|
-
|
|
116476
|
-
|
|
116477
|
-
|
|
116478
|
-
|
|
116479
|
-
|
|
116480
|
-
|
|
116481
|
-
|
|
116482
|
-
|
|
116483
|
-
|
|
116484
|
-
|
|
116485
|
-
|
|
116486
|
-
|
|
116487
|
-
|
|
116488
|
-
|
|
116489
|
-
|
|
116490
|
-
|
|
116491
|
-
|
|
116492
|
-
|
|
116493
|
-
|
|
116494
|
-
|
|
116495
|
-
|
|
116496
|
-
|
|
116497
|
-
|
|
116498
|
-
|
|
116499
|
-
|
|
116500
|
-
|
|
116501
|
-
}
|
|
116326
|
+
/**
|
|
116327
|
+
* Get extension elements of business object. Optionally filter by type.
|
|
116328
|
+
*
|
|
116329
|
+
* @param {djs.model.Base|ModdleElement} element
|
|
116330
|
+
* @param {String} [type=undefined]
|
|
116331
|
+
* @returns {Array<ModdleElement>}
|
|
116332
|
+
*/
|
|
116333
|
+
function getExtensionElementsList(element, type = undefined) {
|
|
116334
|
+
const businessObject = getBusinessObject$1(element),
|
|
116335
|
+
extensionElements = businessObject.get('extensionElements');
|
|
116336
|
+
|
|
116337
|
+
if (!extensionElements) {
|
|
116338
|
+
return [];
|
|
116339
|
+
}
|
|
116340
|
+
|
|
116341
|
+
const values = extensionElements.get('values');
|
|
116342
|
+
|
|
116343
|
+
if (!values || !values.length) {
|
|
116344
|
+
return [];
|
|
116345
|
+
}
|
|
116346
|
+
|
|
116347
|
+
if (type) {
|
|
116348
|
+
return values.filter(value => is$5(value, type));
|
|
116349
|
+
}
|
|
116350
|
+
|
|
116351
|
+
return values;
|
|
116352
|
+
}
|
|
116353
|
+
|
|
116354
|
+
/**
|
|
116355
|
+
* Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
|
|
116356
|
+
*
|
|
116357
|
+
* @param {ModdleElement} element
|
|
116358
|
+
* @param {ModdleElement} businessObject
|
|
116359
|
+
* @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
|
|
116360
|
+
* @param {CommandStack} commandStack
|
|
116361
|
+
*/
|
|
116362
|
+
function removeExtensionElements(element, businessObject, extensionElementsToRemove, commandStack) {
|
|
116363
|
+
if (!isArray$4(extensionElementsToRemove)) {
|
|
116364
|
+
extensionElementsToRemove = [ extensionElementsToRemove ];
|
|
116365
|
+
}
|
|
116366
|
+
|
|
116367
|
+
const extensionElements = businessObject.get('extensionElements'),
|
|
116368
|
+
values = extensionElements.get('values').filter(value => !extensionElementsToRemove.includes(value));
|
|
116369
|
+
|
|
116370
|
+
commandStack.execute('element.updateModdleProperties', {
|
|
116371
|
+
element,
|
|
116372
|
+
moddleElement: extensionElements,
|
|
116373
|
+
properties: {
|
|
116374
|
+
values
|
|
116375
|
+
}
|
|
116376
|
+
});
|
|
116502
116377
|
}
|
|
116503
116378
|
|
|
116504
|
-
|
|
116505
|
-
|
|
116506
|
-
|
|
116379
|
+
const HIGH_PRIORITY$3 = 5000;
|
|
116380
|
+
|
|
116381
|
+
|
|
116382
|
+
/**
|
|
116383
|
+
* Camunda BPMN specific behavior ensuring camunda:ErrorEventDefinition extension elements are removed
|
|
116384
|
+
* if type of e.g. bpmn:ServiceTask is set to something other than external.
|
|
116385
|
+
*/
|
|
116386
|
+
class DeleteErrorEventDefinitionBehavior extends CommandInterceptor$1 {
|
|
116387
|
+
constructor(commandStack, eventBus) {
|
|
116388
|
+
super(eventBus);
|
|
116389
|
+
|
|
116390
|
+
this.postExecute([
|
|
116391
|
+
'element.updateProperties',
|
|
116392
|
+
'element.updateModdleProperties'
|
|
116393
|
+
], HIGH_PRIORITY$3, function(context) {
|
|
116394
|
+
const {
|
|
116395
|
+
element,
|
|
116396
|
+
moddleElement,
|
|
116397
|
+
properties
|
|
116398
|
+
} = context;
|
|
116399
|
+
|
|
116400
|
+
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116401
|
+
|
|
116402
|
+
if (is$5(element, 'camunda:ExternalCapable')
|
|
116403
|
+
&& is$5(businessObject, 'camunda:ExternalCapable')
|
|
116404
|
+
&& properties[ 'camunda:type' ] !== 'external'
|
|
116405
|
+
) {
|
|
116406
|
+
const errorEventDefinitions = getExtensionElementsList(businessObject, 'camunda:ErrorEventDefinition');
|
|
116407
|
+
|
|
116408
|
+
if (errorEventDefinitions.length) {
|
|
116409
|
+
removeExtensionElements(element, businessObject, errorEventDefinitions, commandStack);
|
|
116410
|
+
}
|
|
116411
|
+
}
|
|
116412
|
+
}, true);
|
|
116413
|
+
|
|
116414
|
+
}
|
|
116415
|
+
}
|
|
116416
|
+
|
|
116417
|
+
DeleteErrorEventDefinitionBehavior.$inject = [
|
|
116418
|
+
'commandStack',
|
|
116419
|
+
'eventBus'
|
|
116507
116420
|
];
|
|
116508
116421
|
|
|
116509
|
-
|
|
116510
|
-
|
|
116511
|
-
|
|
116512
|
-
|
|
116513
|
-
|
|
116514
|
-
|
|
116515
|
-
|
|
116516
|
-
|
|
116517
|
-
|
|
116518
|
-
|
|
116519
|
-
|
|
116520
|
-
|
|
116521
|
-
|
|
116522
|
-
|
|
116523
|
-
|
|
116524
|
-
|
|
116525
|
-
|
|
116526
|
-
|
|
116527
|
-
|
|
116528
|
-
|
|
116529
|
-
|
|
116530
|
-
|
|
116531
|
-
|
|
116532
|
-
|
|
116533
|
-
|
|
116534
|
-
|
|
116535
|
-
|
|
116536
|
-
|
|
116537
|
-
|
|
116538
|
-
|
|
116539
|
-
|
|
116540
|
-
|
|
116541
|
-
|
|
116542
|
-
|
|
116543
|
-
|
|
116544
|
-
|
|
116545
|
-
|
|
116546
|
-
|
|
116547
|
-
|
|
116548
|
-
|
|
116549
|
-
|
|
116550
|
-
this.postExecuted([ 'shape.create','shape.move' ], (context) => {
|
|
116551
|
-
const {
|
|
116552
|
-
shape,
|
|
116553
|
-
parent,
|
|
116554
|
-
newParent = parent
|
|
116555
|
-
} = context;
|
|
116556
|
-
|
|
116557
|
-
const businessObject = getBusinessObject$1(shape);
|
|
116558
|
-
|
|
116559
|
-
if (is$5(shape, 'bpmn:StartEvent') && isDefined(businessObject.get('camunda:initiator'))) {
|
|
116560
|
-
if ((is$5(newParent || parent, 'bpmn:SubProcess'))) {
|
|
116561
|
-
modeling.updateProperties(shape, { 'camunda:initiator': undefined });
|
|
116562
|
-
}
|
|
116563
|
-
}
|
|
116564
|
-
}, true);
|
|
116565
|
-
}
|
|
116566
|
-
}
|
|
116567
|
-
|
|
116568
|
-
RemoveInitiatorBehaviour.$inject = [
|
|
116569
|
-
'eventBus',
|
|
116570
|
-
'modeling'
|
|
116422
|
+
const LOW_PRIORITY$2 = 250;
|
|
116423
|
+
|
|
116424
|
+
/**
|
|
116425
|
+
* Camunda-specific behavior ensuring `isExecutable` is kept after deleting
|
|
116426
|
+
* the last participant.
|
|
116427
|
+
*/
|
|
116428
|
+
class DeleteParticipantBehaviour extends CommandInterceptor$1 {
|
|
116429
|
+
constructor(eventBus, canvas, modeling) {
|
|
116430
|
+
super(eventBus);
|
|
116431
|
+
|
|
116432
|
+
this.postExecuted('shape.delete', LOW_PRIORITY$2, function(context) {
|
|
116433
|
+
const {
|
|
116434
|
+
collaborationRoot,
|
|
116435
|
+
shape
|
|
116436
|
+
} = context;
|
|
116437
|
+
|
|
116438
|
+
const newRoot = canvas.getRootElement();
|
|
116439
|
+
|
|
116440
|
+
if (is$5(shape, 'bpmn:Participant') &&
|
|
116441
|
+
collaborationRoot &&
|
|
116442
|
+
!collaborationRoot.businessObject.get('participants').length &&
|
|
116443
|
+
is$5(newRoot, 'bpmn:Process')) {
|
|
116444
|
+
|
|
116445
|
+
const oldProcessBusinessObject = shape.businessObject.get('processRef');
|
|
116446
|
+
|
|
116447
|
+
if (!oldProcessBusinessObject) {
|
|
116448
|
+
return;
|
|
116449
|
+
}
|
|
116450
|
+
|
|
116451
|
+
modeling.updateProperties(newRoot, { isExecutable: oldProcessBusinessObject.get('isExecutable') });
|
|
116452
|
+
}
|
|
116453
|
+
|
|
116454
|
+
}, true);
|
|
116455
|
+
}
|
|
116456
|
+
}
|
|
116457
|
+
|
|
116458
|
+
DeleteParticipantBehaviour.$inject = [
|
|
116459
|
+
'eventBus',
|
|
116460
|
+
'canvas',
|
|
116461
|
+
'modeling'
|
|
116571
116462
|
];
|
|
116572
116463
|
|
|
116573
|
-
|
|
116574
|
-
|
|
116575
|
-
|
|
116576
|
-
|
|
116577
|
-
|
|
116578
|
-
|
|
116579
|
-
|
|
116580
|
-
|
|
116581
|
-
|
|
116582
|
-
|
|
116583
|
-
|
|
116584
|
-
|
|
116585
|
-
|
|
116586
|
-
|
|
116587
|
-
|
|
116588
|
-
|
|
116589
|
-
|
|
116590
|
-
|
|
116591
|
-
|
|
116592
|
-
|
|
116593
|
-
|
|
116594
|
-
|
|
116595
|
-
|
|
116596
|
-
|
|
116597
|
-
|
|
116598
|
-
|
|
116599
|
-
|
|
116600
|
-
|
|
116601
|
-
|
|
116602
|
-
|
|
116603
|
-
|
|
116604
|
-
|
|
116605
|
-
|
|
116606
|
-
|
|
116607
|
-
|
|
116608
|
-
|
|
116609
|
-
|
|
116610
|
-
|
|
116611
|
-
|
|
116612
|
-
|
|
116613
|
-
|
|
116614
|
-
|
|
116615
|
-
|
|
116616
|
-
|
|
116617
|
-
|
|
116618
|
-
|
|
116619
|
-
|
|
116620
|
-
|
|
116621
|
-
|
|
116622
|
-
|
|
116623
|
-
|
|
116624
|
-
|
|
116625
|
-
|
|
116626
|
-
|
|
116627
|
-
|
|
116464
|
+
const HIGH_PRIORITY$2 = 5000;
|
|
116465
|
+
|
|
116466
|
+
|
|
116467
|
+
/**
|
|
116468
|
+
* Camunda BPMN specific behavior ensuring camunda:FailedJobRetryTimeCycle is
|
|
116469
|
+
* removed when both camunda:asyncAfter and camunda:asyncBefore set to false.
|
|
116470
|
+
* Doesn't apply if element has bpmn:TimerEventDefinition.
|
|
116471
|
+
*/
|
|
116472
|
+
class DeleteRetryTimeCycleBehavior extends CommandInterceptor$1 {
|
|
116473
|
+
constructor(commandStack, eventBus) {
|
|
116474
|
+
super(eventBus);
|
|
116475
|
+
|
|
116476
|
+
this.postExecute([
|
|
116477
|
+
'element.updateProperties',
|
|
116478
|
+
'element.updateModdleProperties'
|
|
116479
|
+
], HIGH_PRIORITY$2, function(context) {
|
|
116480
|
+
const {
|
|
116481
|
+
element,
|
|
116482
|
+
moddleElement,
|
|
116483
|
+
properties = {}
|
|
116484
|
+
} = context;
|
|
116485
|
+
|
|
116486
|
+
const asyncAfter = properties[ 'camunda:asyncAfter' ],
|
|
116487
|
+
asyncBefore = properties[ 'camunda:asyncBefore' ];
|
|
116488
|
+
|
|
116489
|
+
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116490
|
+
|
|
116491
|
+
const failedJobRetryTimeCycle = getFailedJobRetryTimeCycle(element);
|
|
116492
|
+
|
|
116493
|
+
if (
|
|
116494
|
+
!is$5(element, 'camunda:AsyncCapable')
|
|
116495
|
+
|| !is$5(businessObject, 'camunda:AsyncCapable')
|
|
116496
|
+
|| (asyncAfter !== false && asyncBefore !== false)
|
|
116497
|
+
|| !failedJobRetryTimeCycle
|
|
116498
|
+
|| getTimerEventDefinition(element)
|
|
116499
|
+
|| isAsyncBefore$1(businessObject)
|
|
116500
|
+
|| isAsyncAfter$1(businessObject)
|
|
116501
|
+
) {
|
|
116502
|
+
return;
|
|
116503
|
+
}
|
|
116504
|
+
|
|
116505
|
+
removeExtensionElements(element, businessObject, failedJobRetryTimeCycle, commandStack);
|
|
116506
|
+
}, true);
|
|
116507
|
+
|
|
116508
|
+
}
|
|
116509
|
+
}
|
|
116510
|
+
|
|
116511
|
+
DeleteRetryTimeCycleBehavior.$inject = [
|
|
116512
|
+
'commandStack',
|
|
116513
|
+
'eventBus'
|
|
116514
|
+
];
|
|
116515
|
+
|
|
116516
|
+
|
|
116517
|
+
// helpers //////////
|
|
116518
|
+
|
|
116519
|
+
function isAsyncBefore$1(businessObject) {
|
|
116520
|
+
return !!(businessObject.get('camunda:asyncBefore') || businessObject.get('camunda:async'));
|
|
116521
|
+
}
|
|
116522
|
+
|
|
116523
|
+
function isAsyncAfter$1(businessObject) {
|
|
116524
|
+
return !!businessObject.get('camunda:asyncAfter');
|
|
116525
|
+
}
|
|
116526
|
+
|
|
116527
|
+
function getFailedJobRetryTimeCycle(element) {
|
|
116528
|
+
return getExtensionElementsList(element, 'camunda:FailedJobRetryTimeCycle')[ 0 ];
|
|
116529
|
+
}
|
|
116530
|
+
|
|
116531
|
+
function getTimerEventDefinition(element) {
|
|
116532
|
+
return getEventDefinition$1(element, 'bpmn:TimerEventDefinition');
|
|
116533
|
+
}
|
|
116534
|
+
|
|
116535
|
+
function getEventDefinition$1(element, type) {
|
|
116536
|
+
const businessObject = getBusinessObject$1(element);
|
|
116537
|
+
|
|
116538
|
+
const eventDefinitions = businessObject.get('eventDefinitions');
|
|
116539
|
+
|
|
116540
|
+
if (!eventDefinitions || !eventDefinitions.length) {
|
|
116541
|
+
return;
|
|
116542
|
+
}
|
|
116543
|
+
|
|
116544
|
+
return eventDefinitions.find((eventDefinition) => {
|
|
116545
|
+
return is$5(eventDefinition, type);
|
|
116546
|
+
});
|
|
116628
116547
|
}
|
|
116629
116548
|
|
|
116630
|
-
|
|
116631
|
-
|
|
116632
|
-
|
|
116633
|
-
|
|
116634
|
-
|
|
116549
|
+
/**
|
|
116550
|
+
* Camunda BPMN specific behavior ensuring camunda:initiator property is removed
|
|
116551
|
+
* when start event is created in or moved to sub process.
|
|
116552
|
+
*/
|
|
116553
|
+
class RemoveInitiatorBehaviour extends CommandInterceptor$1 {
|
|
116554
|
+
constructor(eventBus, modeling) {
|
|
116555
|
+
super(eventBus);
|
|
116556
|
+
|
|
116557
|
+
this.postExecuted([ 'shape.create','shape.move' ], (context) => {
|
|
116558
|
+
const {
|
|
116559
|
+
shape,
|
|
116560
|
+
parent,
|
|
116561
|
+
newParent = parent
|
|
116562
|
+
} = context;
|
|
116563
|
+
|
|
116564
|
+
const businessObject = getBusinessObject$1(shape);
|
|
116565
|
+
|
|
116566
|
+
if (is$5(shape, 'bpmn:StartEvent') && isDefined(businessObject.get('camunda:initiator'))) {
|
|
116567
|
+
if ((is$5(newParent || parent, 'bpmn:SubProcess'))) {
|
|
116568
|
+
modeling.updateProperties(shape, { 'camunda:initiator': undefined });
|
|
116569
|
+
}
|
|
116570
|
+
}
|
|
116571
|
+
}, true);
|
|
116572
|
+
}
|
|
116573
|
+
}
|
|
116574
|
+
|
|
116575
|
+
RemoveInitiatorBehaviour.$inject = [
|
|
116576
|
+
'eventBus',
|
|
116577
|
+
'modeling'
|
|
116635
116578
|
];
|
|
116636
116579
|
|
|
116637
|
-
|
|
116638
|
-
|
|
116639
|
-
|
|
116640
|
-
|
|
116641
|
-
|
|
116642
|
-
|
|
116643
|
-
|
|
116644
|
-
|
|
116645
|
-
|
|
116646
|
-
|
|
116647
|
-
|
|
116648
|
-
|
|
116649
|
-
|
|
116650
|
-
|
|
116651
|
-
|
|
116652
|
-
const
|
|
116653
|
-
|
|
116654
|
-
|
|
116655
|
-
|
|
116656
|
-
|
|
116657
|
-
|
|
116658
|
-
|
|
116659
|
-
|
|
116660
|
-
|
|
116661
|
-
|
|
116662
|
-
|
|
116663
|
-
|
|
116664
|
-
|
|
116665
|
-
|
|
116666
|
-
|
|
116667
|
-
|
|
116668
|
-
|
|
116669
|
-
|
|
116670
|
-
|
|
116671
|
-
|
|
116672
|
-
|
|
116673
|
-
|
|
116674
|
-
|
|
116675
|
-
|
|
116676
|
-
|
|
116677
|
-
|
|
116678
|
-
|
|
116679
|
-
|
|
116680
|
-
|
|
116681
|
-
|
|
116580
|
+
/**
|
|
116581
|
+
* Camunda BPMN specific behavior ensuring camunda:variableEvents property is
|
|
116582
|
+
* removed when start event is moved out of event sub process.
|
|
116583
|
+
*/
|
|
116584
|
+
class RemoveVariableEventBehaviour extends CommandInterceptor$1 {
|
|
116585
|
+
constructor(bpmnFactory, eventBus, moddleCopy, modeling) {
|
|
116586
|
+
super(eventBus);
|
|
116587
|
+
|
|
116588
|
+
this.postExecuted([ 'shape.create', 'shape.move' ], (context) => {
|
|
116589
|
+
const {
|
|
116590
|
+
parent,
|
|
116591
|
+
newParent = parent,
|
|
116592
|
+
shape
|
|
116593
|
+
} = context;
|
|
116594
|
+
|
|
116595
|
+
const newParentBusinessObject = getBusinessObject$1(newParent),
|
|
116596
|
+
shapeBusinessObject = getBusinessObject$1(shape);
|
|
116597
|
+
|
|
116598
|
+
if (is$5(shape, 'bpmn:StartEvent')) {
|
|
116599
|
+
|
|
116600
|
+
if (!(is$5(newParent, 'bpmn:SubProcess') && newParentBusinessObject.get('triggeredByEvent'))) {
|
|
116601
|
+
const eventDefinitions = shapeBusinessObject.get('eventDefinitions').slice();
|
|
116602
|
+
|
|
116603
|
+
const update = eventDefinitions.reduce((update, eventDefinition, index) => {
|
|
116604
|
+
if (!is$5(eventDefinition, 'bpmn:ConditionalEventDefinition')) {
|
|
116605
|
+
return;
|
|
116606
|
+
}
|
|
116607
|
+
|
|
116608
|
+
if (eventDefinition.get('camunda:variableEvents')) {
|
|
116609
|
+
const conditionalEventDefinition = bpmnFactory.create('bpmn:ConditionalEventDefinition');
|
|
116610
|
+
|
|
116611
|
+
moddleCopy.copyElement(eventDefinition, conditionalEventDefinition);
|
|
116612
|
+
|
|
116613
|
+
conditionalEventDefinition.$parent = eventDefinition.$parent;
|
|
116614
|
+
|
|
116615
|
+
// remove camunda:variableEvents property
|
|
116616
|
+
conditionalEventDefinition.variableEvents = undefined;
|
|
116617
|
+
|
|
116618
|
+
eventDefinitions[ index ] = conditionalEventDefinition;
|
|
116619
|
+
|
|
116620
|
+
return true;
|
|
116621
|
+
}
|
|
116622
|
+
|
|
116623
|
+
return update;
|
|
116624
|
+
}, false);
|
|
116625
|
+
|
|
116626
|
+
if (update) {
|
|
116627
|
+
modeling.updateProperties(shape, {
|
|
116628
|
+
eventDefinitions: eventDefinitions
|
|
116629
|
+
});
|
|
116630
|
+
}
|
|
116631
|
+
}
|
|
116632
|
+
}
|
|
116633
|
+
}, true);
|
|
116634
|
+
}
|
|
116635
|
+
}
|
|
116636
|
+
|
|
116637
|
+
RemoveVariableEventBehaviour.$inject = [
|
|
116638
|
+
'bpmnFactory',
|
|
116639
|
+
'eventBus',
|
|
116640
|
+
'moddleCopy',
|
|
116641
|
+
'modeling'
|
|
116682
116642
|
];
|
|
116683
116643
|
|
|
116684
|
-
|
|
116685
|
-
|
|
116686
|
-
|
|
116687
|
-
|
|
116688
|
-
|
|
116689
|
-
|
|
116690
|
-
|
|
116691
|
-
|
|
116692
|
-
|
|
116693
|
-
|
|
116694
|
-
|
|
116695
|
-
|
|
116696
|
-
|
|
116697
|
-
|
|
116698
|
-
|
|
116699
|
-
|
|
116700
|
-
|
|
116701
|
-
|
|
116702
|
-
|
|
116703
|
-
|
|
116704
|
-
|
|
116705
|
-
|
|
116706
|
-
|
|
116707
|
-
|
|
116708
|
-
|
|
116709
|
-
|
|
116710
|
-
|
|
116711
|
-
|
|
116712
|
-
|
|
116713
|
-
|
|
116714
|
-
|
|
116715
|
-
|
|
116716
|
-
|
|
116717
|
-
|
|
116718
|
-
|
|
116719
|
-
|
|
116720
|
-
|
|
116721
|
-
|
|
116722
|
-
|
|
116723
|
-
|
|
116724
|
-
|
|
116725
|
-
|
|
116726
|
-
|
|
116727
|
-
|
|
116728
|
-
|
|
116729
|
-
|
|
116730
|
-
|
|
116731
|
-
|
|
116732
|
-
|
|
116733
|
-
|
|
116734
|
-
|
|
116735
|
-
|
|
116736
|
-
|
|
116737
|
-
|
|
116738
|
-
|
|
116644
|
+
const HIGH_PRIORITY$1 = 5000;
|
|
116645
|
+
|
|
116646
|
+
|
|
116647
|
+
/**
|
|
116648
|
+
* Camunda BPMN specific behavior ensuring camunda:exclusive is set to true if
|
|
116649
|
+
* camunda:asyncBefore or camunda:asyncAfter is set to false.
|
|
116650
|
+
*/
|
|
116651
|
+
class UpdateCamundaExclusiveBehavior extends CommandInterceptor$1 {
|
|
116652
|
+
constructor(eventBus) {
|
|
116653
|
+
super(eventBus);
|
|
116654
|
+
|
|
116655
|
+
this.preExecute([
|
|
116656
|
+
'element.updateProperties',
|
|
116657
|
+
'element.updateModdleProperties',
|
|
116658
|
+
], HIGH_PRIORITY$1, function(context) {
|
|
116659
|
+
const {
|
|
116660
|
+
element,
|
|
116661
|
+
moddleElement,
|
|
116662
|
+
properties = {}
|
|
116663
|
+
} = context;
|
|
116664
|
+
|
|
116665
|
+
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116666
|
+
|
|
116667
|
+
const asyncAfter = properties[ 'camunda:asyncAfter' ],
|
|
116668
|
+
asyncBefore = properties[ 'camunda:asyncBefore' ];
|
|
116669
|
+
|
|
116670
|
+
if (!is$5(element, 'camunda:AsyncCapable')
|
|
116671
|
+
|| !is$5(businessObject, 'camunda:AsyncCapable')
|
|
116672
|
+
|| (asyncAfter !== false && asyncBefore !== false)
|
|
116673
|
+
|| isExclusive(businessObject)
|
|
116674
|
+
|| (isAsyncAfter(businessObject) && asyncAfter !== false)
|
|
116675
|
+
|| (isAsyncBefore(businessObject) && asyncBefore !== false)
|
|
116676
|
+
|| (asyncAfter === true || asyncBefore === true)
|
|
116677
|
+
) {
|
|
116678
|
+
return;
|
|
116679
|
+
}
|
|
116680
|
+
|
|
116681
|
+
properties[ 'camunda:exclusive' ] = true;
|
|
116682
|
+
}, true);
|
|
116683
|
+
|
|
116684
|
+
}
|
|
116685
|
+
}
|
|
116686
|
+
|
|
116687
|
+
UpdateCamundaExclusiveBehavior.$inject = [
|
|
116688
|
+
'eventBus'
|
|
116689
|
+
];
|
|
116690
|
+
|
|
116691
|
+
|
|
116692
|
+
// helpers //////////
|
|
116693
|
+
|
|
116694
|
+
function isAsyncBefore(businessObject) {
|
|
116695
|
+
return !!(businessObject.get('camunda:asyncBefore') || businessObject.get('camunda:async'));
|
|
116696
|
+
}
|
|
116697
|
+
|
|
116698
|
+
function isAsyncAfter(businessObject) {
|
|
116699
|
+
return !!businessObject.get('camunda:asyncAfter');
|
|
116700
|
+
}
|
|
116701
|
+
|
|
116702
|
+
function isExclusive(businessObject) {
|
|
116703
|
+
return !!businessObject.get('camunda:exclusive');
|
|
116739
116704
|
}
|
|
116740
116705
|
|
|
116741
|
-
|
|
116742
|
-
'
|
|
116743
|
-
|
|
116744
|
-
|
|
116745
|
-
|
|
116746
|
-
|
|
116747
|
-
|
|
116748
|
-
|
|
116749
|
-
|
|
116750
|
-
|
|
116751
|
-
|
|
116752
|
-
|
|
116753
|
-
|
|
116754
|
-
constructor(eventBus) {
|
|
116755
|
-
super(eventBus);
|
|
116756
|
-
|
|
116757
|
-
this.preExecute([
|
|
116758
|
-
'element.updateProperties',
|
|
116759
|
-
'element.updateModdleProperties'
|
|
116760
|
-
], HIGH_PRIORITY, function(context) {
|
|
116761
|
-
const {
|
|
116762
|
-
element,
|
|
116763
|
-
moddleElement,
|
|
116764
|
-
properties
|
|
116765
|
-
} = context;
|
|
116766
|
-
|
|
116767
|
-
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116768
|
-
|
|
116769
|
-
if (
|
|
116770
|
-
is$5(element, 'camunda:DmnCapable')
|
|
116771
|
-
&& is$5(businessObject, 'camunda:DmnCapable')
|
|
116772
|
-
&& has$2(properties, 'camunda:resultVariable')
|
|
116773
|
-
&& isEmpty(properties[ 'camunda:resultVariable' ])
|
|
116774
|
-
) {
|
|
116775
|
-
properties[ 'camunda:mapDecisionResult' ] = undefined;
|
|
116776
|
-
}
|
|
116777
|
-
}, true);
|
|
116778
|
-
|
|
116779
|
-
}
|
|
116706
|
+
function getInputParameters$1(inputOutput) {
|
|
116707
|
+
return inputOutput.get('inputParameters');
|
|
116708
|
+
}
|
|
116709
|
+
|
|
116710
|
+
function getOutputParameters$1(inputOutput) {
|
|
116711
|
+
return inputOutput.get('outputParameters');
|
|
116712
|
+
}
|
|
116713
|
+
|
|
116714
|
+
function isInputOutputEmpty(inputOutput) {
|
|
116715
|
+
const inputParameters = getInputParameters$1(inputOutput);
|
|
116716
|
+
const outputParameters = getOutputParameters$1(inputOutput);
|
|
116717
|
+
|
|
116718
|
+
return !inputParameters.length && !outputParameters.length;
|
|
116780
116719
|
}
|
|
116781
116720
|
|
|
116782
|
-
|
|
116783
|
-
|
|
116721
|
+
const LOW_PRIORITY$1 = 250;
|
|
116722
|
+
|
|
116723
|
+
|
|
116724
|
+
/**
|
|
116725
|
+
* Camunda BPMN specific behavior ensuring empty camunda:InputOutput is removed.
|
|
116726
|
+
*/
|
|
116727
|
+
class UpdateInputOutputBehavior extends CommandInterceptor$1 {
|
|
116728
|
+
constructor(commandStack, eventBus) {
|
|
116729
|
+
super(eventBus);
|
|
116730
|
+
|
|
116731
|
+
this.postExecuted('element.updateModdleProperties', LOW_PRIORITY$1, function(context) {
|
|
116732
|
+
const {
|
|
116733
|
+
element,
|
|
116734
|
+
moddleElement
|
|
116735
|
+
} = context;
|
|
116736
|
+
|
|
116737
|
+
if (!is$5(moddleElement, 'camunda:InputOutput')) {
|
|
116738
|
+
return;
|
|
116739
|
+
}
|
|
116740
|
+
|
|
116741
|
+
if (isInputOutputEmpty(moddleElement)) {
|
|
116742
|
+
removeExtensionElements(element, getBusinessObject$1(element), moddleElement, commandStack);
|
|
116743
|
+
}
|
|
116744
|
+
}, true);
|
|
116745
|
+
}
|
|
116746
|
+
}
|
|
116747
|
+
|
|
116748
|
+
UpdateInputOutputBehavior.$inject = [
|
|
116749
|
+
'commandStack',
|
|
116750
|
+
'eventBus'
|
|
116784
116751
|
];
|
|
116785
116752
|
|
|
116786
|
-
|
|
116787
|
-
|
|
116788
|
-
|
|
116789
|
-
|
|
116753
|
+
const HIGH_PRIORITY = 5000;
|
|
116754
|
+
|
|
116755
|
+
|
|
116756
|
+
/**
|
|
116757
|
+
* Camunda BPMN specific camunda:resultVariable behavior ensuring
|
|
116758
|
+
* camunda:mapDecisionResult is removed when camunda:resultVariable is removed.
|
|
116759
|
+
*/
|
|
116760
|
+
class UpdateResultVariableBehavior extends CommandInterceptor$1 {
|
|
116761
|
+
constructor(eventBus) {
|
|
116762
|
+
super(eventBus);
|
|
116763
|
+
|
|
116764
|
+
this.preExecute([
|
|
116765
|
+
'element.updateProperties',
|
|
116766
|
+
'element.updateModdleProperties'
|
|
116767
|
+
], HIGH_PRIORITY, function(context) {
|
|
116768
|
+
const {
|
|
116769
|
+
element,
|
|
116770
|
+
moddleElement,
|
|
116771
|
+
properties
|
|
116772
|
+
} = context;
|
|
116773
|
+
|
|
116774
|
+
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116775
|
+
|
|
116776
|
+
if (
|
|
116777
|
+
is$5(element, 'camunda:DmnCapable')
|
|
116778
|
+
&& is$5(businessObject, 'camunda:DmnCapable')
|
|
116779
|
+
&& has$2(properties, 'camunda:resultVariable')
|
|
116780
|
+
&& isEmpty(properties[ 'camunda:resultVariable' ])
|
|
116781
|
+
) {
|
|
116782
|
+
properties[ 'camunda:mapDecisionResult' ] = undefined;
|
|
116783
|
+
}
|
|
116784
|
+
}, true);
|
|
116785
|
+
|
|
116786
|
+
}
|
|
116787
|
+
}
|
|
116788
|
+
|
|
116789
|
+
UpdateResultVariableBehavior.$inject = [
|
|
116790
|
+
'eventBus'
|
|
116791
|
+
];
|
|
116792
|
+
|
|
116793
|
+
// helpers //////////
|
|
116794
|
+
|
|
116795
|
+
function isEmpty(value) {
|
|
116796
|
+
return value == undefined || value === '';
|
|
116790
116797
|
}
|
|
116791
116798
|
|
|
116792
|
-
/**
|
|
116793
|
-
* Camunda BPMN specific user task forms behavior.
|
|
116794
|
-
*/
|
|
116795
|
-
let UserTaskFormsBehavior$1 = class UserTaskFormsBehavior extends CommandInterceptor$1 {
|
|
116796
|
-
constructor(eventBus) {
|
|
116797
|
-
super(eventBus);
|
|
116798
|
-
|
|
116799
|
-
/**
|
|
116800
|
-
* Ensure that only one of the following options is configured:
|
|
116801
|
-
*
|
|
116802
|
-
* 1. embedded, external or Camunda forms using camunda:formKey
|
|
116803
|
-
* 2. Camunda forms using camunda:formRef
|
|
116804
|
-
*/
|
|
116805
|
-
this.preExecute([
|
|
116806
|
-
'element.updateProperties',
|
|
116807
|
-
'element.updateModdleProperties'
|
|
116808
|
-
], function(context) {
|
|
116809
|
-
const {
|
|
116810
|
-
element,
|
|
116811
|
-
moddleElement,
|
|
116812
|
-
properties
|
|
116813
|
-
} = context;
|
|
116814
|
-
|
|
116815
|
-
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116816
|
-
|
|
116817
|
-
if (has$2(properties, 'camunda:formKey')) {
|
|
116818
|
-
Object.assign(properties, {
|
|
116819
|
-
'camunda:formRef': undefined,
|
|
116820
|
-
'camunda:formRefBinding': undefined,
|
|
116821
|
-
'camunda:formRefVersion': undefined
|
|
116822
|
-
});
|
|
116823
|
-
} else if (has$2(properties, 'camunda:formRef')) {
|
|
116824
|
-
Object.assign(properties, {
|
|
116825
|
-
'camunda:formKey': undefined
|
|
116826
|
-
});
|
|
116827
|
-
|
|
116828
|
-
if (isUndefined$4(properties[ 'camunda:formRef' ])) {
|
|
116829
|
-
Object.assign(properties, {
|
|
116830
|
-
'camunda:formRefBinding': undefined,
|
|
116831
|
-
'camunda:formRefVersion': undefined
|
|
116832
|
-
});
|
|
116833
|
-
}
|
|
116834
|
-
|
|
116835
|
-
if (!has$2(properties, 'camunda:formRefBinding') && isUndefined$4(businessObject.get('camunda:formRefBinding'))) {
|
|
116836
|
-
Object.assign(properties, {
|
|
116837
|
-
'camunda:formRefBinding': 'latest'
|
|
116838
|
-
});
|
|
116839
|
-
}
|
|
116840
|
-
}
|
|
116841
|
-
|
|
116842
|
-
if (has$2(properties, 'camunda:formRefBinding') && properties[ 'camunda:formRefBinding' ] !== 'version') {
|
|
116843
|
-
Object.assign(properties, {
|
|
116844
|
-
'camunda:formRefVersion': undefined
|
|
116845
|
-
});
|
|
116846
|
-
}
|
|
116847
|
-
}, true);
|
|
116848
|
-
|
|
116849
|
-
}
|
|
116850
|
-
};
|
|
116851
|
-
|
|
116799
|
+
/**
|
|
116800
|
+
* Camunda BPMN specific user task forms behavior.
|
|
116801
|
+
*/
|
|
116802
|
+
let UserTaskFormsBehavior$1 = class UserTaskFormsBehavior extends CommandInterceptor$1 {
|
|
116803
|
+
constructor(eventBus) {
|
|
116804
|
+
super(eventBus);
|
|
116805
|
+
|
|
116806
|
+
/**
|
|
116807
|
+
* Ensure that only one of the following options is configured:
|
|
116808
|
+
*
|
|
116809
|
+
* 1. embedded, external or Camunda forms using camunda:formKey
|
|
116810
|
+
* 2. Camunda forms using camunda:formRef
|
|
116811
|
+
*/
|
|
116812
|
+
this.preExecute([
|
|
116813
|
+
'element.updateProperties',
|
|
116814
|
+
'element.updateModdleProperties'
|
|
116815
|
+
], function(context) {
|
|
116816
|
+
const {
|
|
116817
|
+
element,
|
|
116818
|
+
moddleElement,
|
|
116819
|
+
properties
|
|
116820
|
+
} = context;
|
|
116821
|
+
|
|
116822
|
+
const businessObject = moddleElement || getBusinessObject$1(element);
|
|
116823
|
+
|
|
116824
|
+
if (has$2(properties, 'camunda:formKey')) {
|
|
116825
|
+
Object.assign(properties, {
|
|
116826
|
+
'camunda:formRef': undefined,
|
|
116827
|
+
'camunda:formRefBinding': undefined,
|
|
116828
|
+
'camunda:formRefVersion': undefined
|
|
116829
|
+
});
|
|
116830
|
+
} else if (has$2(properties, 'camunda:formRef')) {
|
|
116831
|
+
Object.assign(properties, {
|
|
116832
|
+
'camunda:formKey': undefined
|
|
116833
|
+
});
|
|
116834
|
+
|
|
116835
|
+
if (isUndefined$4(properties[ 'camunda:formRef' ])) {
|
|
116836
|
+
Object.assign(properties, {
|
|
116837
|
+
'camunda:formRefBinding': undefined,
|
|
116838
|
+
'camunda:formRefVersion': undefined
|
|
116839
|
+
});
|
|
116840
|
+
}
|
|
116841
|
+
|
|
116842
|
+
if (!has$2(properties, 'camunda:formRefBinding') && isUndefined$4(businessObject.get('camunda:formRefBinding'))) {
|
|
116843
|
+
Object.assign(properties, {
|
|
116844
|
+
'camunda:formRefBinding': 'latest'
|
|
116845
|
+
});
|
|
116846
|
+
}
|
|
116847
|
+
}
|
|
116848
|
+
|
|
116849
|
+
if (has$2(properties, 'camunda:formRefBinding') && properties[ 'camunda:formRefBinding' ] !== 'version') {
|
|
116850
|
+
Object.assign(properties, {
|
|
116851
|
+
'camunda:formRefVersion': undefined
|
|
116852
|
+
});
|
|
116853
|
+
}
|
|
116854
|
+
}, true);
|
|
116855
|
+
|
|
116856
|
+
}
|
|
116857
|
+
};
|
|
116858
|
+
|
|
116852
116859
|
UserTaskFormsBehavior$1.$inject = [ 'eventBus' ];
|
|
116853
116860
|
|
|
116854
|
-
/**
|
|
116855
|
-
* Camunda BPMN specific user task generated forms behavior.
|
|
116856
|
-
*
|
|
116857
|
-
* 1. Removes camunda:FormField#values if camunda:FormField#type is changed to something other than enum.
|
|
116858
|
-
* 2. Updates camunda:FormData#businessKey if camunda:FormField#id is changed.
|
|
116859
|
-
* 3. Removes camunda:FormData#businessKey if camunda:FormField is removed.
|
|
116860
|
-
*/
|
|
116861
|
-
class UserTaskFormsBehavior extends CommandInterceptor$1 {
|
|
116862
|
-
constructor(eventBus, modeling) {
|
|
116863
|
-
super(eventBus);
|
|
116864
|
-
|
|
116865
|
-
/**
|
|
116866
|
-
* Remove camunda:FormField#values if camunda:FormField#type is changed to
|
|
116867
|
-
* something other than enum.
|
|
116868
|
-
*/
|
|
116869
|
-
this.preExecute('element.updateModdleProperties', function(context) {
|
|
116870
|
-
const {
|
|
116871
|
-
moddleElement,
|
|
116872
|
-
properties
|
|
116873
|
-
} = context;
|
|
116874
|
-
|
|
116875
|
-
if (!is$5(moddleElement, 'camunda:FormField')) {
|
|
116876
|
-
return;
|
|
116877
|
-
}
|
|
116878
|
-
|
|
116879
|
-
if (
|
|
116880
|
-
('type' in properties && properties[ 'type' ] !== 'enum')
|
|
116881
|
-
|| 'camunda:type' in properties && properties[ 'camunda:type' ] !== 'enum'
|
|
116882
|
-
) {
|
|
116883
|
-
properties[ 'camunda:values' ] = undefined;
|
|
116884
|
-
}
|
|
116885
|
-
}, true);
|
|
116886
|
-
|
|
116887
|
-
/**
|
|
116888
|
-
* Update camunda:FormData#businessKey if camunda:FormField#id is changed.
|
|
116889
|
-
*/
|
|
116890
|
-
this.preExecute('element.updateModdleProperties', function(context) {
|
|
116891
|
-
const {
|
|
116892
|
-
element,
|
|
116893
|
-
moddleElement,
|
|
116894
|
-
properties
|
|
116895
|
-
} = context;
|
|
116896
|
-
|
|
116897
|
-
if (!is$5(moddleElement, 'camunda:FormField')
|
|
116898
|
-
|| (!has$2(properties, 'id') && !has$2(properties, 'camunda:id'))
|
|
116899
|
-
) {
|
|
116900
|
-
return;
|
|
116901
|
-
}
|
|
116902
|
-
|
|
116903
|
-
const formData = getFormData(element);
|
|
116904
|
-
|
|
116905
|
-
const businessKey = formData.get('camunda:businessKey');
|
|
116906
|
-
|
|
116907
|
-
if (!businessKey) {
|
|
116908
|
-
return;
|
|
116909
|
-
}
|
|
116910
|
-
|
|
116911
|
-
if (isBusinessKey(moddleElement, formData)) {
|
|
116912
|
-
modeling.updateModdleProperties(element, formData, {
|
|
116913
|
-
'camunda:businessKey': has$2(properties, 'id') ? properties.id : properties[ 'camunda:id' ]
|
|
116914
|
-
});
|
|
116915
|
-
}
|
|
116916
|
-
}, true);
|
|
116917
|
-
|
|
116918
|
-
/**
|
|
116919
|
-
* Remove camunda:FormData#businessKey if camunda:FormField is removed.
|
|
116920
|
-
*/
|
|
116921
|
-
this.postExecute('element.updateModdleProperties', function(context) {
|
|
116922
|
-
const {
|
|
116923
|
-
element,
|
|
116924
|
-
moddleElement,
|
|
116925
|
-
properties
|
|
116926
|
-
} = context;
|
|
116927
|
-
|
|
116928
|
-
if (!is$5(moddleElement, 'camunda:FormData') || !has$2(properties, 'fields')) {
|
|
116929
|
-
return;
|
|
116930
|
-
}
|
|
116931
|
-
|
|
116932
|
-
const businessKey = moddleElement.get('camunda:businessKey');
|
|
116933
|
-
|
|
116934
|
-
if (!businessKey) {
|
|
116935
|
-
return;
|
|
116936
|
-
}
|
|
116937
|
-
|
|
116938
|
-
const fieldWithBusinessKey = moddleElement.get('fields').find(field => {
|
|
116939
|
-
return field.get('camunda:id') === businessKey;
|
|
116940
|
-
});
|
|
116941
|
-
|
|
116942
|
-
if (!fieldWithBusinessKey) {
|
|
116943
|
-
modeling.updateModdleProperties(element, moddleElement, {
|
|
116944
|
-
'camunda:businessKey': undefined
|
|
116945
|
-
});
|
|
116946
|
-
}
|
|
116947
|
-
}, true);
|
|
116948
|
-
}
|
|
116949
|
-
}
|
|
116950
|
-
|
|
116951
|
-
|
|
116952
|
-
UserTaskFormsBehavior.$inject = [ 'eventBus', 'modeling' ];
|
|
116953
|
-
|
|
116954
|
-
// helpers //////////
|
|
116955
|
-
|
|
116956
|
-
function isBusinessKey(formField, formData) {
|
|
116957
|
-
return formField.get('camunda:id') === formData.get('camunda:businessKey');
|
|
116958
|
-
}
|
|
116959
|
-
|
|
116960
|
-
function getFormData(element) {
|
|
116961
|
-
const businessObject = getBusinessObject$1(element),
|
|
116962
|
-
extensionElements = businessObject.get('extensionElements');
|
|
116963
|
-
|
|
116964
|
-
if (!extensionElements) {
|
|
116965
|
-
return;
|
|
116966
|
-
}
|
|
116967
|
-
|
|
116968
|
-
const values = extensionElements.get('values');
|
|
116969
|
-
|
|
116970
|
-
return values.find((value) => {
|
|
116971
|
-
return is$5(value, 'camunda:FormData');
|
|
116972
|
-
});
|
|
116861
|
+
/**
|
|
116862
|
+
* Camunda BPMN specific user task generated forms behavior.
|
|
116863
|
+
*
|
|
116864
|
+
* 1. Removes camunda:FormField#values if camunda:FormField#type is changed to something other than enum.
|
|
116865
|
+
* 2. Updates camunda:FormData#businessKey if camunda:FormField#id is changed.
|
|
116866
|
+
* 3. Removes camunda:FormData#businessKey if camunda:FormField is removed.
|
|
116867
|
+
*/
|
|
116868
|
+
class UserTaskFormsBehavior extends CommandInterceptor$1 {
|
|
116869
|
+
constructor(eventBus, modeling) {
|
|
116870
|
+
super(eventBus);
|
|
116871
|
+
|
|
116872
|
+
/**
|
|
116873
|
+
* Remove camunda:FormField#values if camunda:FormField#type is changed to
|
|
116874
|
+
* something other than enum.
|
|
116875
|
+
*/
|
|
116876
|
+
this.preExecute('element.updateModdleProperties', function(context) {
|
|
116877
|
+
const {
|
|
116878
|
+
moddleElement,
|
|
116879
|
+
properties
|
|
116880
|
+
} = context;
|
|
116881
|
+
|
|
116882
|
+
if (!is$5(moddleElement, 'camunda:FormField')) {
|
|
116883
|
+
return;
|
|
116884
|
+
}
|
|
116885
|
+
|
|
116886
|
+
if (
|
|
116887
|
+
('type' in properties && properties[ 'type' ] !== 'enum')
|
|
116888
|
+
|| 'camunda:type' in properties && properties[ 'camunda:type' ] !== 'enum'
|
|
116889
|
+
) {
|
|
116890
|
+
properties[ 'camunda:values' ] = undefined;
|
|
116891
|
+
}
|
|
116892
|
+
}, true);
|
|
116893
|
+
|
|
116894
|
+
/**
|
|
116895
|
+
* Update camunda:FormData#businessKey if camunda:FormField#id is changed.
|
|
116896
|
+
*/
|
|
116897
|
+
this.preExecute('element.updateModdleProperties', function(context) {
|
|
116898
|
+
const {
|
|
116899
|
+
element,
|
|
116900
|
+
moddleElement,
|
|
116901
|
+
properties
|
|
116902
|
+
} = context;
|
|
116903
|
+
|
|
116904
|
+
if (!is$5(moddleElement, 'camunda:FormField')
|
|
116905
|
+
|| (!has$2(properties, 'id') && !has$2(properties, 'camunda:id'))
|
|
116906
|
+
) {
|
|
116907
|
+
return;
|
|
116908
|
+
}
|
|
116909
|
+
|
|
116910
|
+
const formData = getFormData(element);
|
|
116911
|
+
|
|
116912
|
+
const businessKey = formData.get('camunda:businessKey');
|
|
116913
|
+
|
|
116914
|
+
if (!businessKey) {
|
|
116915
|
+
return;
|
|
116916
|
+
}
|
|
116917
|
+
|
|
116918
|
+
if (isBusinessKey(moddleElement, formData)) {
|
|
116919
|
+
modeling.updateModdleProperties(element, formData, {
|
|
116920
|
+
'camunda:businessKey': has$2(properties, 'id') ? properties.id : properties[ 'camunda:id' ]
|
|
116921
|
+
});
|
|
116922
|
+
}
|
|
116923
|
+
}, true);
|
|
116924
|
+
|
|
116925
|
+
/**
|
|
116926
|
+
* Remove camunda:FormData#businessKey if camunda:FormField is removed.
|
|
116927
|
+
*/
|
|
116928
|
+
this.postExecute('element.updateModdleProperties', function(context) {
|
|
116929
|
+
const {
|
|
116930
|
+
element,
|
|
116931
|
+
moddleElement,
|
|
116932
|
+
properties
|
|
116933
|
+
} = context;
|
|
116934
|
+
|
|
116935
|
+
if (!is$5(moddleElement, 'camunda:FormData') || !has$2(properties, 'fields')) {
|
|
116936
|
+
return;
|
|
116937
|
+
}
|
|
116938
|
+
|
|
116939
|
+
const businessKey = moddleElement.get('camunda:businessKey');
|
|
116940
|
+
|
|
116941
|
+
if (!businessKey) {
|
|
116942
|
+
return;
|
|
116943
|
+
}
|
|
116944
|
+
|
|
116945
|
+
const fieldWithBusinessKey = moddleElement.get('fields').find(field => {
|
|
116946
|
+
return field.get('camunda:id') === businessKey;
|
|
116947
|
+
});
|
|
116948
|
+
|
|
116949
|
+
if (!fieldWithBusinessKey) {
|
|
116950
|
+
modeling.updateModdleProperties(element, moddleElement, {
|
|
116951
|
+
'camunda:businessKey': undefined
|
|
116952
|
+
});
|
|
116953
|
+
}
|
|
116954
|
+
}, true);
|
|
116955
|
+
}
|
|
116956
|
+
}
|
|
116957
|
+
|
|
116958
|
+
|
|
116959
|
+
UserTaskFormsBehavior.$inject = [ 'eventBus', 'modeling' ];
|
|
116960
|
+
|
|
116961
|
+
// helpers //////////
|
|
116962
|
+
|
|
116963
|
+
function isBusinessKey(formField, formData) {
|
|
116964
|
+
return formField.get('camunda:id') === formData.get('camunda:businessKey');
|
|
116965
|
+
}
|
|
116966
|
+
|
|
116967
|
+
function getFormData(element) {
|
|
116968
|
+
const businessObject = getBusinessObject$1(element),
|
|
116969
|
+
extensionElements = businessObject.get('extensionElements');
|
|
116970
|
+
|
|
116971
|
+
if (!extensionElements) {
|
|
116972
|
+
return;
|
|
116973
|
+
}
|
|
116974
|
+
|
|
116975
|
+
const values = extensionElements.get('values');
|
|
116976
|
+
|
|
116977
|
+
return values.find((value) => {
|
|
116978
|
+
return is$5(value, 'camunda:FormData');
|
|
116979
|
+
});
|
|
116973
116980
|
}
|
|
116974
116981
|
|
|
116975
|
-
var behaviorsModule = {
|
|
116976
|
-
__init__: [
|
|
116977
|
-
'copyPasteBehavior',
|
|
116978
|
-
'copyPasteRootElementBehavior',
|
|
116979
|
-
'deleteErrorEventDefinitionBehavior',
|
|
116980
|
-
'deleteParticipantBehaviour',
|
|
116981
|
-
'deleteRetryTimeCycleBehavior',
|
|
116982
|
-
'removeInitiatorBehaviour',
|
|
116983
|
-
'removeVariableEventBehaviour',
|
|
116984
|
-
'updateCamundaExclusiveBehavior',
|
|
116985
|
-
'updateResultVariableBehavior',
|
|
116986
|
-
'updateInputOutputBehavior',
|
|
116987
|
-
'userTaskFormsBehavior',
|
|
116988
|
-
'userTaskGeneratedFormsBehavior'
|
|
116989
|
-
],
|
|
116990
|
-
copyPasteBehavior: [ 'type', CopyPasteBehavior ],
|
|
116991
|
-
copyPasteRootElementBehavior: [ 'type', CopyPasteRootElementBehavior ],
|
|
116992
|
-
deleteErrorEventDefinitionBehavior: [ 'type', DeleteErrorEventDefinitionBehavior ],
|
|
116993
|
-
deleteParticipantBehaviour: [ 'type', DeleteParticipantBehaviour ],
|
|
116994
|
-
deleteRetryTimeCycleBehavior: [ 'type', DeleteRetryTimeCycleBehavior ],
|
|
116995
|
-
removeInitiatorBehaviour: [ 'type', RemoveInitiatorBehaviour ],
|
|
116996
|
-
removeVariableEventBehaviour: [ 'type', RemoveVariableEventBehaviour ],
|
|
116997
|
-
updateCamundaExclusiveBehavior: [ 'type', UpdateCamundaExclusiveBehavior ],
|
|
116998
|
-
updateResultVariableBehavior: [ 'type', UpdateResultVariableBehavior ],
|
|
116999
|
-
updateInputOutputBehavior: [ 'type', UpdateInputOutputBehavior ],
|
|
117000
|
-
userTaskFormsBehavior: [ 'type', UserTaskFormsBehavior$1 ],
|
|
117001
|
-
userTaskGeneratedFormsBehavior: [ 'type', UserTaskFormsBehavior ]
|
|
116982
|
+
var behaviorsModule = {
|
|
116983
|
+
__init__: [
|
|
116984
|
+
'copyPasteBehavior',
|
|
116985
|
+
'copyPasteRootElementBehavior',
|
|
116986
|
+
'deleteErrorEventDefinitionBehavior',
|
|
116987
|
+
'deleteParticipantBehaviour',
|
|
116988
|
+
'deleteRetryTimeCycleBehavior',
|
|
116989
|
+
'removeInitiatorBehaviour',
|
|
116990
|
+
'removeVariableEventBehaviour',
|
|
116991
|
+
'updateCamundaExclusiveBehavior',
|
|
116992
|
+
'updateResultVariableBehavior',
|
|
116993
|
+
'updateInputOutputBehavior',
|
|
116994
|
+
'userTaskFormsBehavior',
|
|
116995
|
+
'userTaskGeneratedFormsBehavior'
|
|
116996
|
+
],
|
|
116997
|
+
copyPasteBehavior: [ 'type', CopyPasteBehavior ],
|
|
116998
|
+
copyPasteRootElementBehavior: [ 'type', CopyPasteRootElementBehavior ],
|
|
116999
|
+
deleteErrorEventDefinitionBehavior: [ 'type', DeleteErrorEventDefinitionBehavior ],
|
|
117000
|
+
deleteParticipantBehaviour: [ 'type', DeleteParticipantBehaviour ],
|
|
117001
|
+
deleteRetryTimeCycleBehavior: [ 'type', DeleteRetryTimeCycleBehavior ],
|
|
117002
|
+
removeInitiatorBehaviour: [ 'type', RemoveInitiatorBehaviour ],
|
|
117003
|
+
removeVariableEventBehaviour: [ 'type', RemoveVariableEventBehaviour ],
|
|
117004
|
+
updateCamundaExclusiveBehavior: [ 'type', UpdateCamundaExclusiveBehavior ],
|
|
117005
|
+
updateResultVariableBehavior: [ 'type', UpdateResultVariableBehavior ],
|
|
117006
|
+
updateInputOutputBehavior: [ 'type', UpdateInputOutputBehavior ],
|
|
117007
|
+
userTaskFormsBehavior: [ 'type', UserTaskFormsBehavior$1 ],
|
|
117008
|
+
userTaskGeneratedFormsBehavior: [ 'type', UserTaskFormsBehavior ]
|
|
117002
117009
|
};
|
|
117003
117010
|
|
|
117004
117011
|
/**
|