bpmn-js 8.8.2 → 8.10.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/CHANGELOG.md +27 -0
- package/dist/assets/diagram-js.css +82 -78
- package/dist/bpmn-modeler.development.js +168 -146
- package/dist/bpmn-modeler.production.min.js +6 -6
- package/dist/bpmn-navigated-viewer.development.js +41 -29
- package/dist/bpmn-navigated-viewer.production.min.js +2 -2
- package/dist/bpmn-viewer.development.js +41 -29
- package/dist/bpmn-viewer.production.min.js +2 -2
- package/lib/features/label-editing/LabelEditingProvider.js +1 -1
- package/lib/features/modeling/BpmnFactory.js +6 -1
- package/lib/features/modeling/behavior/CreateParticipantBehavior.js +59 -84
- package/lib/features/modeling/behavior/DropOnFlowBehavior.js +2 -2
- package/lib/features/modeling/behavior/UnclaimIdBehavior.js +3 -1
- package/lib/features/modeling/cmd/SetColorHandler.js +20 -6
- package/lib/features/modeling/util/ModelingUtil.js +2 -20
- package/lib/features/palette/PaletteProvider.js +1 -1
- package/lib/features/popup-menu/ReplaceMenuProvider.js +1 -1
- package/lib/util/ModelUtil.js +32 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* bpmn-js - bpmn-modeler v8.
|
|
2
|
+
* bpmn-js - bpmn-modeler v8.10.0
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) 2014-present, camunda Services GmbH
|
|
5
5
|
*
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Source Code: https://github.com/bpmn-io/bpmn-js
|
|
10
10
|
*
|
|
11
|
-
* Date:
|
|
11
|
+
* Date: 2022-02-17
|
|
12
12
|
*/
|
|
13
13
|
(function (global, factory) {
|
|
14
14
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -2337,13 +2337,14 @@
|
|
|
2337
2337
|
eventBus.on([ 'render.shape', 'render.connection' ], renderPriority, function(evt, context) {
|
|
2338
2338
|
var type = evt.type,
|
|
2339
2339
|
element = context.element,
|
|
2340
|
-
visuals = context.gfx
|
|
2340
|
+
visuals = context.gfx,
|
|
2341
|
+
attrs = context.attrs;
|
|
2341
2342
|
|
|
2342
2343
|
if (self.canRender(element)) {
|
|
2343
2344
|
if (type === 'render.shape') {
|
|
2344
|
-
return self.drawShape(visuals, element);
|
|
2345
|
+
return self.drawShape(visuals, element, attrs);
|
|
2345
2346
|
} else {
|
|
2346
|
-
return self.drawConnection(visuals, element);
|
|
2347
|
+
return self.drawConnection(visuals, element, attrs);
|
|
2347
2348
|
}
|
|
2348
2349
|
}
|
|
2349
2350
|
});
|
|
@@ -2803,7 +2804,7 @@
|
|
|
2803
2804
|
return true;
|
|
2804
2805
|
};
|
|
2805
2806
|
|
|
2806
|
-
DefaultRenderer.prototype.drawShape = function drawShape(visuals, element) {
|
|
2807
|
+
DefaultRenderer.prototype.drawShape = function drawShape(visuals, element, attrs) {
|
|
2807
2808
|
var rect = create$1('rect');
|
|
2808
2809
|
|
|
2809
2810
|
attr(rect, {
|
|
@@ -2814,9 +2815,9 @@
|
|
|
2814
2815
|
});
|
|
2815
2816
|
|
|
2816
2817
|
if (isFrameElement$1(element)) {
|
|
2817
|
-
attr(rect, this.FRAME_STYLE);
|
|
2818
|
+
attr(rect, assign({}, this.FRAME_STYLE, attrs || {}));
|
|
2818
2819
|
} else {
|
|
2819
|
-
attr(rect, this.SHAPE_STYLE);
|
|
2820
|
+
attr(rect, assign({}, this.SHAPE_STYLE, attrs || {}));
|
|
2820
2821
|
}
|
|
2821
2822
|
|
|
2822
2823
|
append(visuals, rect);
|
|
@@ -2824,9 +2825,9 @@
|
|
|
2824
2825
|
return rect;
|
|
2825
2826
|
};
|
|
2826
2827
|
|
|
2827
|
-
DefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection) {
|
|
2828
|
+
DefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection, attrs) {
|
|
2828
2829
|
|
|
2829
|
-
var line = createLine(connection.waypoints, this.CONNECTION_STYLE);
|
|
2830
|
+
var line = createLine(connection.waypoints, assign({}, this.CONNECTION_STYLE, attrs || {}));
|
|
2830
2831
|
append(visuals, line);
|
|
2831
2832
|
|
|
2832
2833
|
return line;
|
|
@@ -4365,6 +4366,10 @@
|
|
|
4365
4366
|
var BASE_LAYER = 'base';
|
|
4366
4367
|
var HIDDEN_MARKER = 'djs-element-hidden';
|
|
4367
4368
|
|
|
4369
|
+
// render plane contents behind utility layers
|
|
4370
|
+
var PLANE_LAYER_INDEX = 0;
|
|
4371
|
+
var UTILITY_LAYER_INDEX = 1;
|
|
4372
|
+
|
|
4368
4373
|
|
|
4369
4374
|
var REQUIRED_MODEL_ATTRS = {
|
|
4370
4375
|
shape: [ 'x', 'y', 'width', 'height' ],
|
|
@@ -4463,7 +4468,8 @@
|
|
|
4463
4468
|
'connection.added',
|
|
4464
4469
|
'shape.removed',
|
|
4465
4470
|
'connection.removed',
|
|
4466
|
-
'elements.changed'
|
|
4471
|
+
'elements.changed',
|
|
4472
|
+
'plane.set'
|
|
4467
4473
|
], function() {
|
|
4468
4474
|
delete this._cachedViewbox;
|
|
4469
4475
|
}, this);
|
|
@@ -4524,7 +4530,7 @@
|
|
|
4524
4530
|
* @returns {SVGElement}
|
|
4525
4531
|
*/
|
|
4526
4532
|
Canvas.prototype.getDefaultLayer = function() {
|
|
4527
|
-
return this.getLayer(BASE_LAYER);
|
|
4533
|
+
return this.getLayer(BASE_LAYER, PLANE_LAYER_INDEX);
|
|
4528
4534
|
};
|
|
4529
4535
|
|
|
4530
4536
|
/**
|
|
@@ -4573,8 +4579,8 @@
|
|
|
4573
4579
|
*/
|
|
4574
4580
|
Canvas.prototype._createLayer = function(name, index) {
|
|
4575
4581
|
|
|
4576
|
-
if (
|
|
4577
|
-
index =
|
|
4582
|
+
if (typeof index === 'undefined') {
|
|
4583
|
+
index = UTILITY_LAYER_INDEX;
|
|
4578
4584
|
}
|
|
4579
4585
|
|
|
4580
4586
|
var childIndex = reduce(this._layers, function(childIndex, layer) {
|
|
@@ -4604,9 +4610,7 @@
|
|
|
4604
4610
|
throw new Error('must specify a name');
|
|
4605
4611
|
}
|
|
4606
4612
|
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
return plane;
|
|
4613
|
+
return this._planes[name];
|
|
4610
4614
|
};
|
|
4611
4615
|
|
|
4612
4616
|
/**
|
|
@@ -4635,7 +4639,7 @@
|
|
|
4635
4639
|
};
|
|
4636
4640
|
}
|
|
4637
4641
|
|
|
4638
|
-
var svgLayer = this.getLayer(name);
|
|
4642
|
+
var svgLayer = this.getLayer(name, PLANE_LAYER_INDEX);
|
|
4639
4643
|
classes(svgLayer).add(HIDDEN_MARKER);
|
|
4640
4644
|
|
|
4641
4645
|
var plane = this._planes[name] = {
|
|
@@ -5244,9 +5248,10 @@
|
|
|
5244
5248
|
if (!box) {
|
|
5245
5249
|
|
|
5246
5250
|
// compute the inner box based on the
|
|
5247
|
-
// diagrams
|
|
5251
|
+
// diagrams active plane. This allows us to exclude
|
|
5248
5252
|
// external components, such as overlays
|
|
5249
|
-
|
|
5253
|
+
|
|
5254
|
+
innerBox = (this._activePlane && this._activePlane.layer.getBBox()) || {};
|
|
5250
5255
|
|
|
5251
5256
|
transform = transform$1(viewport);
|
|
5252
5257
|
matrix = transform ? transform.matrix : createMatrix();
|
|
@@ -5262,10 +5267,10 @@
|
|
|
5262
5267
|
height: outerBox.height / scale,
|
|
5263
5268
|
scale: scale,
|
|
5264
5269
|
inner: {
|
|
5265
|
-
width: innerBox.width,
|
|
5266
|
-
height: innerBox.height,
|
|
5267
|
-
x: innerBox.x,
|
|
5268
|
-
y: innerBox.y
|
|
5270
|
+
width: innerBox.width || 0,
|
|
5271
|
+
height: innerBox.height || 0,
|
|
5272
|
+
x: innerBox.x || 0,
|
|
5273
|
+
y: innerBox.y || 0
|
|
5269
5274
|
},
|
|
5270
5275
|
outer: outerBox
|
|
5271
5276
|
};
|
|
@@ -5318,13 +5323,17 @@
|
|
|
5318
5323
|
* Scrolls the viewbox to contain the given element.
|
|
5319
5324
|
* Optionally specify a padding to be applied to the edges.
|
|
5320
5325
|
*
|
|
5321
|
-
* @param {Object} [element] the element to scroll to.
|
|
5326
|
+
* @param {Object|String} [element] the element to scroll to.
|
|
5322
5327
|
* @param {Object|Number} [padding=100] the padding to be applied. Can also specify top, bottom, left and right.
|
|
5323
5328
|
*
|
|
5324
5329
|
*/
|
|
5325
5330
|
Canvas.prototype.scrollToElement = function(element, padding) {
|
|
5326
5331
|
var defaultPadding = 100;
|
|
5327
5332
|
|
|
5333
|
+
if (typeof element === 'string') {
|
|
5334
|
+
element = this._elementRegistry.get(element);
|
|
5335
|
+
}
|
|
5336
|
+
|
|
5328
5337
|
// switch to correct Plane
|
|
5329
5338
|
var targetPlane = this.findPlane(element);
|
|
5330
5339
|
if (targetPlane !== this._activePlane) {
|
|
@@ -16442,6 +16451,20 @@
|
|
|
16442
16451
|
}
|
|
16443
16452
|
|
|
16444
16453
|
|
|
16454
|
+
/**
|
|
16455
|
+
* Return true if element has any of the given types.
|
|
16456
|
+
*
|
|
16457
|
+
* @param {djs.model.Base} element
|
|
16458
|
+
* @param {Array<string>} types
|
|
16459
|
+
*
|
|
16460
|
+
* @return {boolean}
|
|
16461
|
+
*/
|
|
16462
|
+
function isAny(element, types) {
|
|
16463
|
+
return some(types, function(t) {
|
|
16464
|
+
return is$1(element, t);
|
|
16465
|
+
});
|
|
16466
|
+
}
|
|
16467
|
+
|
|
16445
16468
|
/**
|
|
16446
16469
|
* Return the business object for a given element.
|
|
16447
16470
|
*
|
|
@@ -21491,22 +21514,26 @@
|
|
|
21491
21514
|
|
|
21492
21515
|
Overlays.prototype._updateOverlayVisibilty = function(overlay, viewbox) {
|
|
21493
21516
|
var show = overlay.show,
|
|
21517
|
+
plane = overlay.plane,
|
|
21494
21518
|
minZoom = show && show.minZoom,
|
|
21495
21519
|
maxZoom = show && show.maxZoom,
|
|
21496
21520
|
htmlContainer = overlay.htmlContainer,
|
|
21521
|
+
activePlane = this._canvas.getActivePlane(),
|
|
21497
21522
|
visible = true;
|
|
21498
21523
|
|
|
21499
|
-
if (
|
|
21524
|
+
if (plane !== activePlane) {
|
|
21525
|
+
visible = false;
|
|
21526
|
+
} else if (show) {
|
|
21500
21527
|
if (
|
|
21501
21528
|
(isDefined(minZoom) && minZoom > viewbox.scale) ||
|
|
21502
21529
|
(isDefined(maxZoom) && maxZoom < viewbox.scale)
|
|
21503
21530
|
) {
|
|
21504
21531
|
visible = false;
|
|
21505
21532
|
}
|
|
21506
|
-
|
|
21507
|
-
setVisible$1(htmlContainer, visible);
|
|
21508
21533
|
}
|
|
21509
21534
|
|
|
21535
|
+
setVisible$1(htmlContainer, visible);
|
|
21536
|
+
|
|
21510
21537
|
this._updateOverlayScale(overlay, viewbox);
|
|
21511
21538
|
};
|
|
21512
21539
|
|
|
@@ -25500,14 +25527,23 @@
|
|
|
25500
25527
|
// the touch recognizer
|
|
25501
25528
|
var recognizer;
|
|
25502
25529
|
|
|
25503
|
-
function handler(type) {
|
|
25530
|
+
function handler(type, buttonType) {
|
|
25504
25531
|
|
|
25505
25532
|
return function(event) {
|
|
25506
25533
|
|
|
25507
|
-
|
|
25534
|
+
var gfx = getGfx(event.target),
|
|
25535
|
+
element = gfx && elementRegistry.get(gfx);
|
|
25536
|
+
|
|
25537
|
+
// translate into an actual mouse click event
|
|
25538
|
+
if (buttonType) {
|
|
25539
|
+
event.srcEvent.button = buttonType;
|
|
25540
|
+
}
|
|
25541
|
+
|
|
25542
|
+
return interactionEvents.fire(type, event, element);
|
|
25508
25543
|
};
|
|
25509
25544
|
}
|
|
25510
25545
|
|
|
25546
|
+
|
|
25511
25547
|
function getGfx(target) {
|
|
25512
25548
|
var node = closest(target, 'svg, .djs-element', true);
|
|
25513
25549
|
return node;
|
|
@@ -25518,10 +25554,6 @@
|
|
|
25518
25554
|
// touch recognizer
|
|
25519
25555
|
recognizer = createTouchRecognizer(svg);
|
|
25520
25556
|
|
|
25521
|
-
recognizer.on('doubletap', handler('element.dblclick'));
|
|
25522
|
-
|
|
25523
|
-
recognizer.on('tap', handler('element.click'));
|
|
25524
|
-
|
|
25525
25557
|
function startGrabCanvas(event) {
|
|
25526
25558
|
|
|
25527
25559
|
var lx = 0, ly = 0;
|
|
@@ -25589,6 +25621,9 @@
|
|
|
25589
25621
|
recognizer.on('pinchcancel', end);
|
|
25590
25622
|
}
|
|
25591
25623
|
|
|
25624
|
+
recognizer.on('tap', handler('element.click'));
|
|
25625
|
+
recognizer.on('doubletap', handler('element.dblclick', 1));
|
|
25626
|
+
|
|
25592
25627
|
recognizer.on('panstart', startGrab);
|
|
25593
25628
|
recognizer.on('press', startGrab);
|
|
25594
25629
|
|
|
@@ -26326,21 +26361,6 @@
|
|
|
26326
26361
|
autoPlaceSelectionBehavior: [ 'type', AutoPlaceSelectionBehavior ]
|
|
26327
26362
|
};
|
|
26328
26363
|
|
|
26329
|
-
/**
|
|
26330
|
-
* Return true if element has any of the given types.
|
|
26331
|
-
*
|
|
26332
|
-
* @param {djs.model.Base} element
|
|
26333
|
-
* @param {Array<string>} types
|
|
26334
|
-
*
|
|
26335
|
-
* @return {boolean}
|
|
26336
|
-
*/
|
|
26337
|
-
function isAny(element, types) {
|
|
26338
|
-
return some(types, function(t) {
|
|
26339
|
-
return is$1(element, t);
|
|
26340
|
-
});
|
|
26341
|
-
}
|
|
26342
|
-
|
|
26343
|
-
|
|
26344
26364
|
/**
|
|
26345
26365
|
* Return the parent of the element with any of the given types.
|
|
26346
26366
|
*
|
|
@@ -35185,7 +35205,7 @@
|
|
|
35185
35205
|
return this._createEntries(element, DATA_OBJECT_REFERENCE);
|
|
35186
35206
|
}
|
|
35187
35207
|
|
|
35188
|
-
if (is$1(businessObject, 'bpmn:DataStoreReference')) {
|
|
35208
|
+
if (is$1(businessObject, 'bpmn:DataStoreReference') && !is$1(element.parent, 'bpmn:Collaboration')) {
|
|
35189
35209
|
return this._createEntries(element, DATA_STORE_REFERENCE);
|
|
35190
35210
|
}
|
|
35191
35211
|
|
|
@@ -39186,7 +39206,7 @@
|
|
|
39186
39206
|
|
|
39187
39207
|
function activateDirectEdit(element, force) {
|
|
39188
39208
|
if (force ||
|
|
39189
|
-
isAny(element, [ 'bpmn:Task', 'bpmn:TextAnnotation'
|
|
39209
|
+
isAny(element, [ 'bpmn:Task', 'bpmn:TextAnnotation' ]) ||
|
|
39190
39210
|
isCollapsedSubProcess(element)) {
|
|
39191
39211
|
|
|
39192
39212
|
directEditing.activate(element);
|
|
@@ -40528,122 +40548,97 @@
|
|
|
40528
40548
|
}
|
|
40529
40549
|
});
|
|
40530
40550
|
|
|
40531
|
-
|
|
40532
|
-
|
|
40533
|
-
collaboration;
|
|
40534
|
-
|
|
40551
|
+
// turn process into collaboration when creating first participant
|
|
40552
|
+
function getOrCreateCollaboration() {
|
|
40535
40553
|
var rootElement = canvas.getRootElement();
|
|
40536
40554
|
|
|
40537
40555
|
if (is$1(rootElement, 'bpmn:Collaboration')) {
|
|
40538
|
-
|
|
40539
|
-
} else {
|
|
40540
|
-
|
|
40541
|
-
// update root element by making collaboration
|
|
40542
|
-
collaboration = modeling.makeCollaboration();
|
|
40543
|
-
|
|
40544
|
-
// re-use process when creating first participant
|
|
40545
|
-
context.process = parent;
|
|
40556
|
+
return rootElement;
|
|
40546
40557
|
}
|
|
40547
40558
|
|
|
40548
|
-
|
|
40559
|
+
return modeling.makeCollaboration();
|
|
40549
40560
|
}
|
|
40550
40561
|
|
|
40551
|
-
//
|
|
40552
|
-
|
|
40553
|
-
|
|
40554
|
-
|
|
40555
|
-
|
|
40556
|
-
|
|
40557
|
-
|
|
40558
|
-
}
|
|
40559
|
-
}, true);
|
|
40560
|
-
|
|
40561
|
-
this.execute('shape.create', function(context) {
|
|
40562
|
-
var process = context.process,
|
|
40563
|
-
shape = context.shape;
|
|
40564
|
-
|
|
40565
|
-
if (process) {
|
|
40566
|
-
context.oldProcessRef = shape.businessObject.processRef;
|
|
40567
|
-
|
|
40568
|
-
// re-use process when creating first participant
|
|
40569
|
-
shape.businessObject.processRef = process.businessObject;
|
|
40570
|
-
}
|
|
40571
|
-
}, true);
|
|
40562
|
+
// when creating mutliple elements through `elements.create` parent must be set to collaboration
|
|
40563
|
+
// and passed to `shape.create` as hint
|
|
40564
|
+
this.preExecute('elements.create', HIGH_PRIORITY$a, function(context) {
|
|
40565
|
+
var elements = context.elements,
|
|
40566
|
+
parent = context.parent,
|
|
40567
|
+
participant = findParticipant(elements),
|
|
40568
|
+
hints;
|
|
40572
40569
|
|
|
40573
|
-
|
|
40574
|
-
|
|
40575
|
-
shape = context.shape;
|
|
40570
|
+
if (participant && is$1(parent, 'bpmn:Process')) {
|
|
40571
|
+
context.parent = getOrCreateCollaboration();
|
|
40576
40572
|
|
|
40577
|
-
|
|
40573
|
+
hints = context.hints = context.hints || {};
|
|
40578
40574
|
|
|
40579
|
-
|
|
40580
|
-
|
|
40575
|
+
hints.participant = participant;
|
|
40576
|
+
hints.process = parent;
|
|
40577
|
+
hints.processRef = getBusinessObject(participant).get('processRef');
|
|
40581
40578
|
}
|
|
40582
40579
|
}, true);
|
|
40583
40580
|
|
|
40584
|
-
|
|
40585
|
-
|
|
40581
|
+
// when creating single shape through `shape.create` parent must be set to collaboration
|
|
40582
|
+
// unless it was already set through `elements.create`
|
|
40583
|
+
this.preExecute('shape.create', function(context) {
|
|
40584
|
+
var parent = context.parent,
|
|
40586
40585
|
shape = context.shape;
|
|
40587
40586
|
|
|
40588
|
-
if (
|
|
40589
|
-
|
|
40590
|
-
// move children from process to participant
|
|
40591
|
-
var processChildren = process.children.slice();
|
|
40587
|
+
if (is$1(shape, 'bpmn:Participant') && is$1(parent, 'bpmn:Process')) {
|
|
40588
|
+
context.parent = getOrCreateCollaboration();
|
|
40592
40589
|
|
|
40593
|
-
|
|
40590
|
+
context.process = parent;
|
|
40591
|
+
context.processRef = getBusinessObject(shape).get('processRef');
|
|
40594
40592
|
}
|
|
40595
|
-
|
|
40596
40593
|
}, true);
|
|
40597
40594
|
|
|
40598
|
-
//
|
|
40599
|
-
this.
|
|
40600
|
-
var
|
|
40601
|
-
|
|
40602
|
-
|
|
40603
|
-
|
|
40604
|
-
var hasParticipants = findParticipant(elements);
|
|
40605
|
-
|
|
40606
|
-
if (hasParticipants && is$1(parent, 'bpmn:Process')) {
|
|
40607
|
-
ensureCollaboration(context);
|
|
40608
|
-
|
|
40609
|
-
participant = findParticipant(elements);
|
|
40595
|
+
// #execute necessary because #preExecute not called on CommandStack#redo
|
|
40596
|
+
this.execute('shape.create', function(context) {
|
|
40597
|
+
var hints = context.hints || {},
|
|
40598
|
+
process = context.process || hints.process,
|
|
40599
|
+
shape = context.shape,
|
|
40600
|
+
participant = hints.participant;
|
|
40610
40601
|
|
|
40611
|
-
|
|
40602
|
+
// both shape.create and elements.create must be handled
|
|
40603
|
+
if (process && (!participant || shape === participant)) {
|
|
40612
40604
|
|
|
40613
|
-
//
|
|
40614
|
-
|
|
40605
|
+
// monkey-patch process ref
|
|
40606
|
+
getBusinessObject(shape).set('processRef', getBusinessObject(process));
|
|
40615
40607
|
}
|
|
40616
40608
|
}, true);
|
|
40617
40609
|
|
|
40618
|
-
this.revert('
|
|
40619
|
-
var
|
|
40620
|
-
process = context.process,
|
|
40621
|
-
|
|
40610
|
+
this.revert('shape.create', function(context) {
|
|
40611
|
+
var hints = context.hints || {},
|
|
40612
|
+
process = context.process || hints.process,
|
|
40613
|
+
processRef = context.processRef || hints.processRef,
|
|
40614
|
+
shape = context.shape,
|
|
40615
|
+
participant = hints.participant;
|
|
40622
40616
|
|
|
40623
|
-
|
|
40624
|
-
|
|
40617
|
+
// both shape.create and elements.create must be handled
|
|
40618
|
+
if (process && (!participant || shape === participant)) {
|
|
40625
40619
|
|
|
40626
|
-
//
|
|
40627
|
-
|
|
40620
|
+
// monkey-patch process ref
|
|
40621
|
+
getBusinessObject(shape).set('processRef', processRef);
|
|
40628
40622
|
}
|
|
40629
40623
|
}, true);
|
|
40630
40624
|
|
|
40631
|
-
this.postExecute('
|
|
40632
|
-
var
|
|
40633
|
-
process = context.process,
|
|
40634
|
-
|
|
40625
|
+
this.postExecute('shape.create', function(context) {
|
|
40626
|
+
var hints = context.hints || {},
|
|
40627
|
+
process = context.process || context.hints.process,
|
|
40628
|
+
shape = context.shape,
|
|
40629
|
+
participant = hints.participant;
|
|
40635
40630
|
|
|
40636
40631
|
if (process) {
|
|
40637
|
-
|
|
40632
|
+
var children = process.children.slice();
|
|
40638
40633
|
|
|
40639
|
-
//
|
|
40640
|
-
|
|
40641
|
-
|
|
40642
|
-
|
|
40634
|
+
// both shape.create and elements.create must be handled
|
|
40635
|
+
if (!participant) {
|
|
40636
|
+
modeling.moveElements(children, { x: 0, y: 0 }, shape);
|
|
40637
|
+
} else if (shape === participant) {
|
|
40638
|
+
modeling.moveElements(children, { x: 0, y: 0 }, participant);
|
|
40639
|
+
}
|
|
40643
40640
|
}
|
|
40644
|
-
|
|
40645
40641
|
}, true);
|
|
40646
|
-
|
|
40647
40642
|
}
|
|
40648
40643
|
|
|
40649
40644
|
CreateParticipantBehavior.$inject = [
|
|
@@ -41292,12 +41287,12 @@
|
|
|
41292
41287
|
dockingPoint = intersection.bendpoint ? waypoints[intersection.index] : mid;
|
|
41293
41288
|
|
|
41294
41289
|
// if last waypointBefore is inside shape's bounds, ignore docking point
|
|
41295
|
-
if (!isPointInsideBBox(shape, waypointsBefore[waypointsBefore.length-1])) {
|
|
41290
|
+
if (waypointsBefore.length === 1 || !isPointInsideBBox(shape, waypointsBefore[waypointsBefore.length-1])) {
|
|
41296
41291
|
waypointsBefore.push(copy(dockingPoint));
|
|
41297
41292
|
}
|
|
41298
41293
|
|
|
41299
41294
|
// if first waypointAfter is inside shape's bounds, ignore docking point
|
|
41300
|
-
if (!isPointInsideBBox(shape, waypointsAfter[0])) {
|
|
41295
|
+
if (waypointsAfter.length === 1 || !isPointInsideBBox(shape, waypointsAfter[0])) {
|
|
41301
41296
|
waypointsAfter.unshift(copy(dockingPoint));
|
|
41302
41297
|
}
|
|
41303
41298
|
}
|
|
@@ -44064,7 +44059,9 @@
|
|
|
44064
44059
|
var rootElement = canvas.getRootElement(),
|
|
44065
44060
|
rootElementBo = rootElement.businessObject;
|
|
44066
44061
|
|
|
44067
|
-
|
|
44062
|
+
if (is$1(rootElement, 'bpmn:Collaboration')) {
|
|
44063
|
+
moddle.ids.unclaim(rootElementBo.id);
|
|
44064
|
+
}
|
|
44068
44065
|
});
|
|
44069
44066
|
}
|
|
44070
44067
|
|
|
@@ -48012,6 +48009,10 @@
|
|
|
48012
48009
|
};
|
|
48013
48010
|
|
|
48014
48011
|
BpmnFactory.prototype._ensureId = function(element) {
|
|
48012
|
+
if (element.id) {
|
|
48013
|
+
this._model.ids.claim(element.id, element);
|
|
48014
|
+
return;
|
|
48015
|
+
}
|
|
48015
48016
|
|
|
48016
48017
|
// generate semantic ids for elements
|
|
48017
48018
|
// bpmn:SequenceFlow -> SequenceFlow_ID
|
|
@@ -48082,7 +48083,8 @@
|
|
|
48082
48083
|
|
|
48083
48084
|
BpmnFactory.prototype.createDiEdge = function(semantic, waypoints, attrs) {
|
|
48084
48085
|
return this.create('bpmndi:BPMNEdge', assign({
|
|
48085
|
-
bpmnElement: semantic
|
|
48086
|
+
bpmnElement: semantic,
|
|
48087
|
+
waypoint: this.createDiWaypoints(waypoints)
|
|
48086
48088
|
}, attrs));
|
|
48087
48089
|
};
|
|
48088
48090
|
|
|
@@ -52267,12 +52269,26 @@
|
|
|
52267
52269
|
// TODO @barmac: remove once we drop bpmn.io properties
|
|
52268
52270
|
ensureLegacySupport(assignedDi);
|
|
52269
52271
|
|
|
52270
|
-
|
|
52271
|
-
|
|
52272
|
-
|
|
52273
|
-
|
|
52274
|
-
|
|
52275
|
-
|
|
52272
|
+
if (element.labelTarget) {
|
|
52273
|
+
|
|
52274
|
+
// set label colors as bpmndi:BPMNLabel#color
|
|
52275
|
+
self._commandStack.execute('element.updateModdleProperties', {
|
|
52276
|
+
element: element,
|
|
52277
|
+
moddleElement: element.businessObject.di.label,
|
|
52278
|
+
properties: {
|
|
52279
|
+
color: di['background-color']
|
|
52280
|
+
}
|
|
52281
|
+
});
|
|
52282
|
+
} else {
|
|
52283
|
+
|
|
52284
|
+
// set colors bpmndi:BPMNEdge or bpmndi:BPMNShape
|
|
52285
|
+
self._commandStack.execute('element.updateProperties', {
|
|
52286
|
+
element: element,
|
|
52287
|
+
properties: {
|
|
52288
|
+
di: assignedDi
|
|
52289
|
+
}
|
|
52290
|
+
});
|
|
52291
|
+
}
|
|
52276
52292
|
});
|
|
52277
52293
|
|
|
52278
52294
|
};
|
|
@@ -54382,7 +54398,9 @@
|
|
|
54382
54398
|
ENTRY_SELECTOR = '.entry',
|
|
54383
54399
|
ELEMENT_SELECTOR = TOGGLE_SELECTOR + ', ' + ENTRY_SELECTOR;
|
|
54384
54400
|
|
|
54385
|
-
var
|
|
54401
|
+
var PALETTE_PREFIX = 'djs-palette-',
|
|
54402
|
+
PALETTE_SHOWN_CLS = 'shown',
|
|
54403
|
+
PALETTE_OPEN_CLS = 'open',
|
|
54386
54404
|
PALETTE_TWO_COLUMN_CLS = 'two-column';
|
|
54387
54405
|
|
|
54388
54406
|
var DEFAULT_PRIORITY = 1000;
|
|
@@ -54500,6 +54518,7 @@
|
|
|
54500
54518
|
var container = this._container = domify(Palette.HTML_MARKUP);
|
|
54501
54519
|
|
|
54502
54520
|
parentContainer.appendChild(container);
|
|
54521
|
+
classes$1(parentContainer).add(PALETTE_PREFIX + PALETTE_SHOWN_CLS);
|
|
54503
54522
|
|
|
54504
54523
|
delegate.bind(container, ELEMENT_SELECTOR, 'click', function(event) {
|
|
54505
54524
|
|
|
@@ -54557,7 +54576,8 @@
|
|
|
54557
54576
|
|
|
54558
54577
|
var twoColumn;
|
|
54559
54578
|
|
|
54560
|
-
var cls = classes$1(container)
|
|
54579
|
+
var cls = classes$1(container),
|
|
54580
|
+
parentCls = classes$1(parent);
|
|
54561
54581
|
|
|
54562
54582
|
if ('twoColumn' in state) {
|
|
54563
54583
|
twoColumn = state.twoColumn;
|
|
@@ -54567,9 +54587,11 @@
|
|
|
54567
54587
|
|
|
54568
54588
|
// always update two column
|
|
54569
54589
|
cls.toggle(PALETTE_TWO_COLUMN_CLS, twoColumn);
|
|
54590
|
+
parentCls.toggle(PALETTE_PREFIX + PALETTE_TWO_COLUMN_CLS, twoColumn);
|
|
54570
54591
|
|
|
54571
54592
|
if ('open' in state) {
|
|
54572
54593
|
cls.toggle(PALETTE_OPEN_CLS, state.open);
|
|
54594
|
+
parentCls.toggle(PALETTE_PREFIX + PALETTE_OPEN_CLS, state.open);
|
|
54573
54595
|
}
|
|
54574
54596
|
|
|
54575
54597
|
eventBus.fire('palette.changed', {
|
|
@@ -55476,7 +55498,7 @@
|
|
|
55476
55498
|
|
|
55477
55499
|
create.start(event, [ subProcess, startEvent ], {
|
|
55478
55500
|
hints: {
|
|
55479
|
-
autoSelect: [
|
|
55501
|
+
autoSelect: [ subProcess ]
|
|
55480
55502
|
}
|
|
55481
55503
|
});
|
|
55482
55504
|
}
|