bpmn-js 8.8.1 → 9.0.0-subprocesses.2
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 +9 -0
- package/dist/assets/bpmn-js.css +57 -0
- package/dist/assets/diagram-js.css +2 -0
- package/dist/bpmn-modeler.development.js +1289 -795
- package/dist/bpmn-modeler.production.min.js +8 -7
- package/dist/bpmn-navigated-viewer.development.js +20635 -19973
- package/dist/bpmn-navigated-viewer.production.min.js +22 -20
- package/dist/bpmn-viewer.development.js +19836 -19174
- package/dist/bpmn-viewer.production.min.js +22 -20
- package/lib/BaseViewer.js +0 -13
- package/lib/Viewer.js +3 -1
- package/lib/draw/BpmnRenderUtil.js +6 -4
- package/lib/draw/BpmnRenderer.js +363 -296
- package/lib/features/context-pad/ContextPadProvider.js +1 -1
- package/lib/features/copy-paste/BpmnCopyPaste.js +13 -13
- package/lib/features/copy-paste/ModdleCopy.js +15 -3
- package/lib/features/di-ordering/BpmnDiOrdering.js +2 -3
- package/lib/features/drilldown/DrilldownCentering.js +41 -0
- package/lib/features/drilldown/DrilldownOverlays.js +109 -0
- package/lib/features/drilldown/SubprocessCompatibility.js +193 -0
- package/lib/features/drilldown/index.js +14 -0
- package/lib/features/label-editing/LabelEditingPreview.js +3 -3
- package/lib/features/label-editing/cmd/UpdateLabelHandler.js +2 -1
- package/lib/features/modeling/BpmnFactory.js +8 -8
- package/lib/features/modeling/BpmnUpdater.js +35 -27
- package/lib/features/modeling/ElementFactory.js +60 -37
- package/lib/features/modeling/behavior/DataStoreBehavior.js +3 -1
- package/lib/features/modeling/behavior/IsHorizontalFix.js +7 -4
- package/lib/features/modeling/behavior/LabelBehavior.js +8 -7
- package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +6 -6
- package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +8 -6
- package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +19 -12
- package/lib/features/modeling/cmd/UpdateSemanticParentHandler.js +5 -3
- package/lib/features/palette/PaletteProvider.js +3 -1
- package/lib/features/popup-menu/ReplaceMenuProvider.js +5 -5
- package/lib/features/popup-menu/util/TypeUtil.js +1 -1
- package/lib/features/replace/BpmnReplace.js +29 -29
- package/lib/import/BpmnImporter.js +27 -22
- package/lib/import/BpmnTreeWalker.js +19 -17
- package/lib/import/Importer.js +17 -6
- package/lib/util/CompatibilityUtil.js +21 -1
- package/lib/util/DiUtil.js +10 -3
- package/lib/util/LabelUtil.js +2 -3
- package/lib/util/ModelUtil.js +11 -0
- package/package.json +2 -2
- package/test/matchers/BoundsMatchers.js +10 -10
- package/test/matchers/ConnectionMatchers.js +5 -5
- package/test/util/MockEvents.js +10 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* bpmn-js - bpmn-modeler
|
|
2
|
+
* bpmn-js - bpmn-modeler v9.0.0-subprocesses.2
|
|
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: 2021-
|
|
11
|
+
* Date: 2021-11-05
|
|
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,9 @@
|
|
|
4365
4366
|
var BASE_LAYER = 'base';
|
|
4366
4367
|
var HIDDEN_MARKER = 'djs-element-hidden';
|
|
4367
4368
|
|
|
4369
|
+
// render plane contents behind additional layers
|
|
4370
|
+
var PLANE_LAYER_INDEX = -10;
|
|
4371
|
+
|
|
4368
4372
|
|
|
4369
4373
|
var REQUIRED_MODEL_ATTRS = {
|
|
4370
4374
|
shape: [ 'x', 'y', 'width', 'height' ],
|
|
@@ -4463,7 +4467,8 @@
|
|
|
4463
4467
|
'connection.added',
|
|
4464
4468
|
'shape.removed',
|
|
4465
4469
|
'connection.removed',
|
|
4466
|
-
'elements.changed'
|
|
4470
|
+
'elements.changed',
|
|
4471
|
+
'plane.set'
|
|
4467
4472
|
], function() {
|
|
4468
4473
|
delete this._cachedViewbox;
|
|
4469
4474
|
}, this);
|
|
@@ -4604,9 +4609,7 @@
|
|
|
4604
4609
|
throw new Error('must specify a name');
|
|
4605
4610
|
}
|
|
4606
4611
|
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
return plane;
|
|
4612
|
+
return this._planes[name];
|
|
4610
4613
|
};
|
|
4611
4614
|
|
|
4612
4615
|
/**
|
|
@@ -4635,7 +4638,7 @@
|
|
|
4635
4638
|
};
|
|
4636
4639
|
}
|
|
4637
4640
|
|
|
4638
|
-
var svgLayer = this.getLayer(name);
|
|
4641
|
+
var svgLayer = this.getLayer(name, PLANE_LAYER_INDEX);
|
|
4639
4642
|
classes(svgLayer).add(HIDDEN_MARKER);
|
|
4640
4643
|
|
|
4641
4644
|
var plane = this._planes[name] = {
|
|
@@ -5244,9 +5247,10 @@
|
|
|
5244
5247
|
if (!box) {
|
|
5245
5248
|
|
|
5246
5249
|
// compute the inner box based on the
|
|
5247
|
-
// diagrams
|
|
5250
|
+
// diagrams active plane. This allows us to exclude
|
|
5248
5251
|
// external components, such as overlays
|
|
5249
|
-
|
|
5252
|
+
|
|
5253
|
+
innerBox = (this._activePlane && this._activePlane.layer.getBBox()) || {};
|
|
5250
5254
|
|
|
5251
5255
|
transform = transform$1(viewport);
|
|
5252
5256
|
matrix = transform ? transform.matrix : createMatrix();
|
|
@@ -5262,10 +5266,10 @@
|
|
|
5262
5266
|
height: outerBox.height / scale,
|
|
5263
5267
|
scale: scale,
|
|
5264
5268
|
inner: {
|
|
5265
|
-
width: innerBox.width,
|
|
5266
|
-
height: innerBox.height,
|
|
5267
|
-
x: innerBox.x,
|
|
5268
|
-
y: innerBox.y
|
|
5269
|
+
width: innerBox.width || 0,
|
|
5270
|
+
height: innerBox.height || 0,
|
|
5271
|
+
x: innerBox.x || 0,
|
|
5272
|
+
y: innerBox.y || 0
|
|
5269
5273
|
},
|
|
5270
5274
|
outer: outerBox
|
|
5271
5275
|
};
|
|
@@ -14940,10 +14944,74 @@
|
|
|
14940
14944
|
return '<' + e.$type + (e.id ? ' id="' + e.id : '') + '" />';
|
|
14941
14945
|
}
|
|
14942
14946
|
|
|
14943
|
-
|
|
14944
|
-
|
|
14945
|
-
|
|
14946
|
-
|
|
14947
|
+
// TODO(nikku): remove with future bpmn-js version
|
|
14948
|
+
|
|
14949
|
+
/**
|
|
14950
|
+
* Wraps APIs to check:
|
|
14951
|
+
*
|
|
14952
|
+
* 1) If a callback is passed -> Warn users about callback deprecation.
|
|
14953
|
+
* 2) If Promise class is implemented in current environment.
|
|
14954
|
+
*
|
|
14955
|
+
* @private
|
|
14956
|
+
*/
|
|
14957
|
+
function wrapForCompatibility(api) {
|
|
14958
|
+
|
|
14959
|
+
return function() {
|
|
14960
|
+
|
|
14961
|
+
if (!window.Promise) {
|
|
14962
|
+
throw new Error('Promises is not supported in this environment. Please polyfill Promise.');
|
|
14963
|
+
}
|
|
14964
|
+
|
|
14965
|
+
var argLen = arguments.length;
|
|
14966
|
+
if (argLen >= 1 && isFunction(arguments[argLen - 1])) {
|
|
14967
|
+
|
|
14968
|
+
var callback = arguments[argLen - 1];
|
|
14969
|
+
|
|
14970
|
+
console.warn(new Error(
|
|
14971
|
+
'Passing callbacks to ' + api.name + ' is deprecated and will be removed in a future major release. ' +
|
|
14972
|
+
'Please switch to promises: https://bpmn.io/l/moving-to-promises.html'
|
|
14973
|
+
));
|
|
14974
|
+
|
|
14975
|
+
var argsWithoutCallback = Array.prototype.slice.call(arguments, 0, -1);
|
|
14976
|
+
|
|
14977
|
+
api.apply(this, argsWithoutCallback).then(function(result) {
|
|
14978
|
+
|
|
14979
|
+
var firstKey = Object.keys(result)[0];
|
|
14980
|
+
|
|
14981
|
+
// The APIs we are wrapping all resolve a single item depending on the API.
|
|
14982
|
+
// For instance, importXML resolves { warnings } and saveXML returns { xml }.
|
|
14983
|
+
// That's why we can call the callback with the first item of result.
|
|
14984
|
+
return callback(null, result[firstKey]);
|
|
14985
|
+
|
|
14986
|
+
// Passing a second paramter instead of catch because we don't want to
|
|
14987
|
+
// catch errors thrown by callback().
|
|
14988
|
+
}, function(err) {
|
|
14989
|
+
|
|
14990
|
+
return callback(err, err.warnings);
|
|
14991
|
+
});
|
|
14992
|
+
} else {
|
|
14993
|
+
|
|
14994
|
+
return api.apply(this, arguments);
|
|
14995
|
+
}
|
|
14996
|
+
};
|
|
14997
|
+
}
|
|
14998
|
+
|
|
14999
|
+
|
|
15000
|
+
// TODO(nikku): remove with future bpmn-js version
|
|
15001
|
+
|
|
15002
|
+
var DI_ERROR_MESSAGE = 'Tried to access di from the businessObject. The di is available through the diagram element only. For more information, see https://github.com/bpmn-io/bpmn-js/issues/1472';
|
|
15003
|
+
|
|
15004
|
+
function ensureCompatDiRef(businessObject) {
|
|
15005
|
+
|
|
15006
|
+
// bpmnElement can have multiple independent DIs
|
|
15007
|
+
if (!has(businessObject, 'di')) {
|
|
15008
|
+
Object.defineProperty(businessObject, 'di', {
|
|
15009
|
+
get: function() {
|
|
15010
|
+
throw new Error(DI_ERROR_MESSAGE);
|
|
15011
|
+
}
|
|
15012
|
+
});
|
|
15013
|
+
}
|
|
15014
|
+
}
|
|
14947
15015
|
|
|
14948
15016
|
/**
|
|
14949
15017
|
* Returns true if an element has the given meta-model type
|
|
@@ -14978,6 +15046,8 @@
|
|
|
14978
15046
|
// prerequisites are drawn
|
|
14979
15047
|
var deferred = [];
|
|
14980
15048
|
|
|
15049
|
+
var diMap = {};
|
|
15050
|
+
|
|
14981
15051
|
// Helpers //////////////////////
|
|
14982
15052
|
|
|
14983
15053
|
function contextual(fn, ctx) {
|
|
@@ -15006,17 +15076,17 @@
|
|
|
15006
15076
|
}
|
|
15007
15077
|
|
|
15008
15078
|
// call handler
|
|
15009
|
-
return handler.element(element, ctx);
|
|
15079
|
+
return handler.element(element, diMap[element.id], ctx);
|
|
15010
15080
|
}
|
|
15011
15081
|
|
|
15012
15082
|
function visitRoot(element, diagram) {
|
|
15013
|
-
return handler.root(element, diagram);
|
|
15083
|
+
return handler.root(element, diMap[element.id], diagram);
|
|
15014
15084
|
}
|
|
15015
15085
|
|
|
15016
15086
|
function visitIfDi(element, ctx) {
|
|
15017
15087
|
|
|
15018
15088
|
try {
|
|
15019
|
-
var gfx = element.
|
|
15089
|
+
var gfx = diMap[element.id] && visit(element, ctx);
|
|
15020
15090
|
|
|
15021
15091
|
handled(element);
|
|
15022
15092
|
|
|
@@ -15039,7 +15109,7 @@
|
|
|
15039
15109
|
var bpmnElement = di.bpmnElement;
|
|
15040
15110
|
|
|
15041
15111
|
if (bpmnElement) {
|
|
15042
|
-
if (bpmnElement.
|
|
15112
|
+
if (diMap[bpmnElement.id]) {
|
|
15043
15113
|
logError(
|
|
15044
15114
|
translate('multiple DI elements defined for {element}', {
|
|
15045
15115
|
element: elementToString(bpmnElement)
|
|
@@ -15047,8 +15117,9 @@
|
|
|
15047
15117
|
{ element: bpmnElement }
|
|
15048
15118
|
);
|
|
15049
15119
|
} else {
|
|
15050
|
-
|
|
15051
|
-
|
|
15120
|
+
diMap[bpmnElement.id] = di;
|
|
15121
|
+
|
|
15122
|
+
ensureCompatDiRef(bpmnElement);
|
|
15052
15123
|
}
|
|
15053
15124
|
} else {
|
|
15054
15125
|
logError(
|
|
@@ -15105,6 +15176,7 @@
|
|
|
15105
15176
|
}
|
|
15106
15177
|
|
|
15107
15178
|
// load DI from selected diagram only
|
|
15179
|
+
diMap = {};
|
|
15108
15180
|
handleDiagram(diagram);
|
|
15109
15181
|
|
|
15110
15182
|
|
|
@@ -15144,10 +15216,10 @@
|
|
|
15144
15216
|
|
|
15145
15217
|
var ctx = visitRoot(rootElement, plane);
|
|
15146
15218
|
|
|
15147
|
-
if (is$2(rootElement, 'bpmn:Process')) {
|
|
15219
|
+
if (is$2(rootElement, 'bpmn:Process') || is$2(rootElement, 'bpmn:SubProcess')) {
|
|
15148
15220
|
handleProcess(rootElement, ctx);
|
|
15149
15221
|
} else if (is$2(rootElement, 'bpmn:Collaboration')) {
|
|
15150
|
-
handleCollaboration(rootElement);
|
|
15222
|
+
handleCollaboration(rootElement, ctx);
|
|
15151
15223
|
|
|
15152
15224
|
// force drawing of everything not yet drawn that is part of the target DI
|
|
15153
15225
|
handleUnhandledProcesses(definitions.rootElements, ctx);
|
|
@@ -15354,15 +15426,15 @@
|
|
|
15354
15426
|
}
|
|
15355
15427
|
}
|
|
15356
15428
|
|
|
15357
|
-
function handleCollaboration(collaboration) {
|
|
15429
|
+
function handleCollaboration(collaboration, context) {
|
|
15358
15430
|
|
|
15359
|
-
forEach(collaboration.participants, contextual(handleParticipant));
|
|
15431
|
+
forEach(collaboration.participants, contextual(handleParticipant, context));
|
|
15360
15432
|
|
|
15361
|
-
handleArtifacts(collaboration.artifacts);
|
|
15433
|
+
handleArtifacts(collaboration.artifacts, context);
|
|
15362
15434
|
|
|
15363
15435
|
// handle message flows latest in the process
|
|
15364
15436
|
deferred.push(function() {
|
|
15365
|
-
handleMessageFlows(collaboration.messageFlows);
|
|
15437
|
+
handleMessageFlows(collaboration.messageFlows, context);
|
|
15366
15438
|
});
|
|
15367
15439
|
}
|
|
15368
15440
|
|
|
@@ -15421,7 +15493,8 @@
|
|
|
15421
15493
|
|
|
15422
15494
|
var importer,
|
|
15423
15495
|
eventBus,
|
|
15424
|
-
translate
|
|
15496
|
+
translate,
|
|
15497
|
+
canvas;
|
|
15425
15498
|
|
|
15426
15499
|
var error,
|
|
15427
15500
|
warnings = [];
|
|
@@ -15437,12 +15510,12 @@
|
|
|
15437
15510
|
|
|
15438
15511
|
var visitor = {
|
|
15439
15512
|
|
|
15440
|
-
root: function(element) {
|
|
15441
|
-
return importer.add(element);
|
|
15513
|
+
root: function(element, di) {
|
|
15514
|
+
return importer.add(element, di);
|
|
15442
15515
|
},
|
|
15443
15516
|
|
|
15444
|
-
element: function(element, parentShape) {
|
|
15445
|
-
return importer.add(element, parentShape);
|
|
15517
|
+
element: function(element, di, parentShape) {
|
|
15518
|
+
return importer.add(element, di, parentShape);
|
|
15446
15519
|
},
|
|
15447
15520
|
|
|
15448
15521
|
error: function(message, context) {
|
|
@@ -15454,7 +15527,16 @@
|
|
|
15454
15527
|
|
|
15455
15528
|
// traverse BPMN 2.0 document model,
|
|
15456
15529
|
// starting at definitions
|
|
15457
|
-
|
|
15530
|
+
if (!bpmnDiagram && definitions.diagrams) {
|
|
15531
|
+
for (var i = 0; i < definitions.diagrams.length; i++) {
|
|
15532
|
+
walker.handleDefinitions(definitions, definitions.diagrams[i]);
|
|
15533
|
+
}
|
|
15534
|
+
} else {
|
|
15535
|
+
walker.handleDefinitions(definitions, bpmnDiagram);
|
|
15536
|
+
}
|
|
15537
|
+
|
|
15538
|
+
var mainDiagram = bpmnDiagram || definitions.diagrams[0];
|
|
15539
|
+
canvas.setActivePlane(mainDiagram.plane.bpmnElement.id);
|
|
15458
15540
|
}
|
|
15459
15541
|
|
|
15460
15542
|
return new Promise(function(resolve, reject) {
|
|
@@ -15462,6 +15544,7 @@
|
|
|
15462
15544
|
importer = diagram.get('bpmnImporter');
|
|
15463
15545
|
eventBus = diagram.get('eventBus');
|
|
15464
15546
|
translate = diagram.get('translate');
|
|
15547
|
+
canvas = diagram.get('canvas');
|
|
15465
15548
|
|
|
15466
15549
|
eventBus.fire('import.render.start', { definitions: definitions });
|
|
15467
15550
|
|
|
@@ -15481,58 +15564,6 @@
|
|
|
15481
15564
|
});
|
|
15482
15565
|
}
|
|
15483
15566
|
|
|
15484
|
-
// TODO(nikku): remove with future bpmn-js version
|
|
15485
|
-
|
|
15486
|
-
/**
|
|
15487
|
-
* Wraps APIs to check:
|
|
15488
|
-
*
|
|
15489
|
-
* 1) If a callback is passed -> Warn users about callback deprecation.
|
|
15490
|
-
* 2) If Promise class is implemented in current environment.
|
|
15491
|
-
*
|
|
15492
|
-
* @private
|
|
15493
|
-
*/
|
|
15494
|
-
function wrapForCompatibility(api) {
|
|
15495
|
-
|
|
15496
|
-
return function() {
|
|
15497
|
-
|
|
15498
|
-
if (!window.Promise) {
|
|
15499
|
-
throw new Error('Promises is not supported in this environment. Please polyfill Promise.');
|
|
15500
|
-
}
|
|
15501
|
-
|
|
15502
|
-
var argLen = arguments.length;
|
|
15503
|
-
if (argLen >= 1 && isFunction(arguments[argLen - 1])) {
|
|
15504
|
-
|
|
15505
|
-
var callback = arguments[argLen - 1];
|
|
15506
|
-
|
|
15507
|
-
console.warn(new Error(
|
|
15508
|
-
'Passing callbacks to ' + api.name + ' is deprecated and will be removed in a future major release. ' +
|
|
15509
|
-
'Please switch to promises: https://bpmn.io/l/moving-to-promises.html'
|
|
15510
|
-
));
|
|
15511
|
-
|
|
15512
|
-
var argsWithoutCallback = Array.prototype.slice.call(arguments, 0, -1);
|
|
15513
|
-
|
|
15514
|
-
api.apply(this, argsWithoutCallback).then(function(result) {
|
|
15515
|
-
|
|
15516
|
-
var firstKey = Object.keys(result)[0];
|
|
15517
|
-
|
|
15518
|
-
// The APIs we are wrapping all resolve a single item depending on the API.
|
|
15519
|
-
// For instance, importXML resolves { warnings } and saveXML returns { xml }.
|
|
15520
|
-
// That's why we can call the callback with the first item of result.
|
|
15521
|
-
return callback(null, result[firstKey]);
|
|
15522
|
-
|
|
15523
|
-
// Passing a second paramter instead of catch because we don't want to
|
|
15524
|
-
// catch errors thrown by callback().
|
|
15525
|
-
}, function(err) {
|
|
15526
|
-
|
|
15527
|
-
return callback(err, err.warnings);
|
|
15528
|
-
});
|
|
15529
|
-
} else {
|
|
15530
|
-
|
|
15531
|
-
return api.apply(this, arguments);
|
|
15532
|
-
}
|
|
15533
|
-
};
|
|
15534
|
-
}
|
|
15535
|
-
|
|
15536
15567
|
/**
|
|
15537
15568
|
* This file must not be changed or exchanged.
|
|
15538
15569
|
*
|
|
@@ -16112,19 +16143,6 @@
|
|
|
16112
16143
|
return;
|
|
16113
16144
|
}
|
|
16114
16145
|
|
|
16115
|
-
// remove businessObject#di binding
|
|
16116
|
-
//
|
|
16117
|
-
// this is necessary, as we establish the bindings
|
|
16118
|
-
// in the BpmnTreeWalker (and assume none are given
|
|
16119
|
-
// on reimport)
|
|
16120
|
-
this.get('elementRegistry').forEach(function(element) {
|
|
16121
|
-
var bo = element.businessObject;
|
|
16122
|
-
|
|
16123
|
-
if (bo && bo.di) {
|
|
16124
|
-
delete bo.di;
|
|
16125
|
-
}
|
|
16126
|
-
});
|
|
16127
|
-
|
|
16128
16146
|
// remove drawn elements
|
|
16129
16147
|
Diagram.prototype.clear.call(this);
|
|
16130
16148
|
};
|
|
@@ -16453,14 +16471,31 @@
|
|
|
16453
16471
|
return (element && element.businessObject) || element;
|
|
16454
16472
|
}
|
|
16455
16473
|
|
|
16456
|
-
|
|
16474
|
+
/**
|
|
16475
|
+
* Return the di object for a given element.
|
|
16476
|
+
*
|
|
16477
|
+
* @param {djs.model.Base} element
|
|
16478
|
+
*
|
|
16479
|
+
* @return {ModdleElement}
|
|
16480
|
+
*/
|
|
16481
|
+
function getDi(element) {
|
|
16482
|
+
return element && element.di;
|
|
16483
|
+
}
|
|
16484
|
+
|
|
16485
|
+
function isExpanded(element, di) {
|
|
16457
16486
|
|
|
16458
16487
|
if (is$1(element, 'bpmn:CallActivity')) {
|
|
16459
16488
|
return false;
|
|
16460
16489
|
}
|
|
16461
16490
|
|
|
16462
16491
|
if (is$1(element, 'bpmn:SubProcess')) {
|
|
16463
|
-
|
|
16492
|
+
di = di || getDi(element);
|
|
16493
|
+
|
|
16494
|
+
if (di && is$1(di, 'bpmndi:BPMNPlane')) {
|
|
16495
|
+
return true;
|
|
16496
|
+
}
|
|
16497
|
+
|
|
16498
|
+
return di && !!di.isExpanded;
|
|
16464
16499
|
}
|
|
16465
16500
|
|
|
16466
16501
|
if (is$1(element, 'bpmn:Participant')) {
|
|
@@ -16605,10 +16640,6 @@
|
|
|
16605
16640
|
return element.isCollection || (dataObject && dataObject.isCollection);
|
|
16606
16641
|
}
|
|
16607
16642
|
|
|
16608
|
-
function getDi(element) {
|
|
16609
|
-
return element.businessObject.di;
|
|
16610
|
-
}
|
|
16611
|
-
|
|
16612
16643
|
function getSemantic(element) {
|
|
16613
16644
|
return element.businessObject;
|
|
16614
16645
|
}
|
|
@@ -17041,8 +17072,8 @@
|
|
|
17041
17072
|
}
|
|
17042
17073
|
|
|
17043
17074
|
function as(type) {
|
|
17044
|
-
return function(parentGfx, element) {
|
|
17045
|
-
return handlers[type](parentGfx, element);
|
|
17075
|
+
return function(parentGfx, element, attrs) {
|
|
17076
|
+
return handlers[type](parentGfx, element, attrs);
|
|
17046
17077
|
};
|
|
17047
17078
|
}
|
|
17048
17079
|
|
|
@@ -17050,58 +17081,58 @@
|
|
|
17050
17081
|
return handlers[type];
|
|
17051
17082
|
}
|
|
17052
17083
|
|
|
17053
|
-
function renderEventContent(element, parentGfx) {
|
|
17084
|
+
function renderEventContent(element, parentGfx, attrs) {
|
|
17054
17085
|
|
|
17055
17086
|
var event = getSemantic(element);
|
|
17056
17087
|
var isThrowing = isThrowEvent(event);
|
|
17057
17088
|
|
|
17058
17089
|
if (event.eventDefinitions && event.eventDefinitions.length>1) {
|
|
17059
17090
|
if (event.parallelMultiple) {
|
|
17060
|
-
return renderer('bpmn:ParallelMultipleEventDefinition')(parentGfx, element, isThrowing);
|
|
17091
|
+
return renderer('bpmn:ParallelMultipleEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17061
17092
|
}
|
|
17062
17093
|
else {
|
|
17063
|
-
return renderer('bpmn:MultipleEventDefinition')(parentGfx, element, isThrowing);
|
|
17094
|
+
return renderer('bpmn:MultipleEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17064
17095
|
}
|
|
17065
17096
|
}
|
|
17066
17097
|
|
|
17067
17098
|
if (isTypedEvent(event, 'bpmn:MessageEventDefinition')) {
|
|
17068
|
-
return renderer('bpmn:MessageEventDefinition')(parentGfx, element, isThrowing);
|
|
17099
|
+
return renderer('bpmn:MessageEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17069
17100
|
}
|
|
17070
17101
|
|
|
17071
17102
|
if (isTypedEvent(event, 'bpmn:TimerEventDefinition')) {
|
|
17072
|
-
return renderer('bpmn:TimerEventDefinition')(parentGfx, element, isThrowing);
|
|
17103
|
+
return renderer('bpmn:TimerEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17073
17104
|
}
|
|
17074
17105
|
|
|
17075
17106
|
if (isTypedEvent(event, 'bpmn:ConditionalEventDefinition')) {
|
|
17076
|
-
return renderer('bpmn:ConditionalEventDefinition')(parentGfx, element);
|
|
17107
|
+
return renderer('bpmn:ConditionalEventDefinition')(parentGfx, element, attrs);
|
|
17077
17108
|
}
|
|
17078
17109
|
|
|
17079
17110
|
if (isTypedEvent(event, 'bpmn:SignalEventDefinition')) {
|
|
17080
|
-
return renderer('bpmn:SignalEventDefinition')(parentGfx, element, isThrowing);
|
|
17111
|
+
return renderer('bpmn:SignalEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17081
17112
|
}
|
|
17082
17113
|
|
|
17083
17114
|
if (isTypedEvent(event, 'bpmn:EscalationEventDefinition')) {
|
|
17084
|
-
return renderer('bpmn:EscalationEventDefinition')(parentGfx, element, isThrowing);
|
|
17115
|
+
return renderer('bpmn:EscalationEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17085
17116
|
}
|
|
17086
17117
|
|
|
17087
17118
|
if (isTypedEvent(event, 'bpmn:LinkEventDefinition')) {
|
|
17088
|
-
return renderer('bpmn:LinkEventDefinition')(parentGfx, element, isThrowing);
|
|
17119
|
+
return renderer('bpmn:LinkEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17089
17120
|
}
|
|
17090
17121
|
|
|
17091
17122
|
if (isTypedEvent(event, 'bpmn:ErrorEventDefinition')) {
|
|
17092
|
-
return renderer('bpmn:ErrorEventDefinition')(parentGfx, element, isThrowing);
|
|
17123
|
+
return renderer('bpmn:ErrorEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17093
17124
|
}
|
|
17094
17125
|
|
|
17095
17126
|
if (isTypedEvent(event, 'bpmn:CancelEventDefinition')) {
|
|
17096
|
-
return renderer('bpmn:CancelEventDefinition')(parentGfx, element, isThrowing);
|
|
17127
|
+
return renderer('bpmn:CancelEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17097
17128
|
}
|
|
17098
17129
|
|
|
17099
17130
|
if (isTypedEvent(event, 'bpmn:CompensateEventDefinition')) {
|
|
17100
|
-
return renderer('bpmn:CompensateEventDefinition')(parentGfx, element, isThrowing);
|
|
17131
|
+
return renderer('bpmn:CompensateEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17101
17132
|
}
|
|
17102
17133
|
|
|
17103
17134
|
if (isTypedEvent(event, 'bpmn:TerminateEventDefinition')) {
|
|
17104
|
-
return renderer('bpmn:TerminateEventDefinition')(parentGfx, element, isThrowing);
|
|
17135
|
+
return renderer('bpmn:TerminateEventDefinition')(parentGfx, element, attrs, isThrowing);
|
|
17105
17136
|
}
|
|
17106
17137
|
|
|
17107
17138
|
return null;
|
|
@@ -17124,20 +17155,20 @@
|
|
|
17124
17155
|
return text;
|
|
17125
17156
|
}
|
|
17126
17157
|
|
|
17127
|
-
function renderEmbeddedLabel(parentGfx, element, align) {
|
|
17158
|
+
function renderEmbeddedLabel(parentGfx, element, align, attrs) {
|
|
17128
17159
|
var semantic = getSemantic(element);
|
|
17129
17160
|
|
|
17130
17161
|
return renderLabel(parentGfx, semantic.name, {
|
|
17131
17162
|
box: element,
|
|
17132
17163
|
align: align,
|
|
17133
17164
|
padding: 5,
|
|
17134
|
-
style: {
|
|
17165
|
+
style: assign({
|
|
17135
17166
|
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
17136
|
-
}
|
|
17167
|
+
}, attrs)
|
|
17137
17168
|
});
|
|
17138
17169
|
}
|
|
17139
17170
|
|
|
17140
|
-
function renderExternalLabel(parentGfx, element) {
|
|
17171
|
+
function renderExternalLabel(parentGfx, element, attrs) {
|
|
17141
17172
|
|
|
17142
17173
|
var box = {
|
|
17143
17174
|
width: 90,
|
|
@@ -17154,21 +17185,22 @@
|
|
|
17154
17185
|
textRenderer.getExternalStyle(),
|
|
17155
17186
|
{
|
|
17156
17187
|
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
17157
|
-
}
|
|
17188
|
+
},
|
|
17189
|
+
attrs
|
|
17158
17190
|
)
|
|
17159
17191
|
});
|
|
17160
17192
|
}
|
|
17161
17193
|
|
|
17162
|
-
function renderLaneLabel(parentGfx, text, element) {
|
|
17194
|
+
function renderLaneLabel(parentGfx, text, element, attrs) {
|
|
17163
17195
|
var textBox = renderLabel(parentGfx, text, {
|
|
17164
17196
|
box: {
|
|
17165
17197
|
height: 30,
|
|
17166
17198
|
width: element.height
|
|
17167
17199
|
},
|
|
17168
17200
|
align: 'center-middle',
|
|
17169
|
-
style: {
|
|
17201
|
+
style: assign({
|
|
17170
17202
|
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
17171
|
-
}
|
|
17203
|
+
}, attrs)
|
|
17172
17204
|
});
|
|
17173
17205
|
|
|
17174
17206
|
var top = -1 * element.height;
|
|
@@ -17195,11 +17227,11 @@
|
|
|
17195
17227
|
|
|
17196
17228
|
return drawCircle(parentGfx, element.width, element.height, attrs);
|
|
17197
17229
|
},
|
|
17198
|
-
'bpmn:StartEvent': function(parentGfx, element) {
|
|
17199
|
-
|
|
17230
|
+
'bpmn:StartEvent': function(parentGfx, element, attrs) {
|
|
17231
|
+
attrs = assign({
|
|
17200
17232
|
fill: getFillColor(element, defaultFillColor),
|
|
17201
17233
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17202
|
-
};
|
|
17234
|
+
}, attrs);
|
|
17203
17235
|
|
|
17204
17236
|
var semantic = getSemantic(element);
|
|
17205
17237
|
|
|
@@ -17218,7 +17250,7 @@
|
|
|
17218
17250
|
|
|
17219
17251
|
return circle;
|
|
17220
17252
|
},
|
|
17221
|
-
'bpmn:MessageEventDefinition': function(parentGfx, element, isThrowing) {
|
|
17253
|
+
'bpmn:MessageEventDefinition': function(parentGfx, element, attrs, isThrowing) {
|
|
17222
17254
|
var pathData = pathMap.getScaledPath('EVENT_MESSAGE', {
|
|
17223
17255
|
xScaleFactor: 0.9,
|
|
17224
17256
|
yScaleFactor: 0.9,
|
|
@@ -17233,20 +17265,24 @@
|
|
|
17233
17265
|
var fill = isThrowing ? getStrokeColor$1(element, defaultStrokeColor) : getFillColor(element, defaultFillColor);
|
|
17234
17266
|
var stroke = isThrowing ? getFillColor(element, defaultFillColor) : getStrokeColor$1(element, defaultStrokeColor);
|
|
17235
17267
|
|
|
17236
|
-
|
|
17268
|
+
attrs = assign({
|
|
17237
17269
|
strokeWidth: 1,
|
|
17238
17270
|
fill: fill,
|
|
17239
17271
|
stroke: stroke
|
|
17240
|
-
});
|
|
17272
|
+
}, attrs);
|
|
17273
|
+
|
|
17274
|
+
var messagePath = drawPath(parentGfx, pathData, attrs);
|
|
17241
17275
|
|
|
17242
17276
|
return messagePath;
|
|
17243
17277
|
},
|
|
17244
|
-
'bpmn:TimerEventDefinition': function(parentGfx, element) {
|
|
17245
|
-
var
|
|
17278
|
+
'bpmn:TimerEventDefinition': function(parentGfx, element, attrs) {
|
|
17279
|
+
var outerAttrs = assign({
|
|
17246
17280
|
strokeWidth: 2,
|
|
17247
17281
|
fill: getFillColor(element, defaultFillColor),
|
|
17248
17282
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17249
|
-
});
|
|
17283
|
+
}, attrs);
|
|
17284
|
+
|
|
17285
|
+
var circle = drawCircle(parentGfx, element.width, element.height, 0.2 * element.height, outerAttrs);
|
|
17250
17286
|
|
|
17251
17287
|
var pathData = pathMap.getScaledPath('EVENT_TIMER_WH', {
|
|
17252
17288
|
xScaleFactor: 0.75,
|
|
@@ -17259,11 +17295,13 @@
|
|
|
17259
17295
|
}
|
|
17260
17296
|
});
|
|
17261
17297
|
|
|
17262
|
-
|
|
17298
|
+
var innerAttrs = assign({
|
|
17263
17299
|
strokeWidth: 2,
|
|
17264
17300
|
strokeLinecap: 'square',
|
|
17265
17301
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17266
|
-
});
|
|
17302
|
+
}, attrs);
|
|
17303
|
+
|
|
17304
|
+
drawPath(parentGfx, pathData, innerAttrs);
|
|
17267
17305
|
|
|
17268
17306
|
for (var i = 0;i < 12; i++) {
|
|
17269
17307
|
|
|
@@ -17281,17 +17319,25 @@
|
|
|
17281
17319
|
var width = element.width / 2;
|
|
17282
17320
|
var height = element.height / 2;
|
|
17283
17321
|
|
|
17284
|
-
|
|
17322
|
+
var lineAttrs = assign({
|
|
17285
17323
|
strokeWidth: 1,
|
|
17286
17324
|
strokeLinecap: 'square',
|
|
17287
17325
|
transform: 'rotate(' + (i * 30) + ',' + height + ',' + width + ')',
|
|
17288
17326
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17289
|
-
});
|
|
17327
|
+
}, attrs);
|
|
17328
|
+
|
|
17329
|
+
drawPath(parentGfx, linePathData, lineAttrs);
|
|
17290
17330
|
}
|
|
17291
17331
|
|
|
17292
17332
|
return circle;
|
|
17293
17333
|
},
|
|
17294
|
-
'bpmn:EscalationEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17334
|
+
'bpmn:EscalationEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17335
|
+
attrs = assign({
|
|
17336
|
+
strokeWidth: 1,
|
|
17337
|
+
fill: fill,
|
|
17338
|
+
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17339
|
+
}, attrs);
|
|
17340
|
+
|
|
17295
17341
|
var pathData = pathMap.getScaledPath('EVENT_ESCALATION', {
|
|
17296
17342
|
xScaleFactor: 1,
|
|
17297
17343
|
yScaleFactor: 1,
|
|
@@ -17305,13 +17351,14 @@
|
|
|
17305
17351
|
|
|
17306
17352
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17307
17353
|
|
|
17308
|
-
return drawPath(parentGfx, pathData,
|
|
17354
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17355
|
+
},
|
|
17356
|
+
'bpmn:ConditionalEventDefinition': function(parentGfx, event, attrs) {
|
|
17357
|
+
attrs = assign({
|
|
17309
17358
|
strokeWidth: 1,
|
|
17310
|
-
fill: fill,
|
|
17311
17359
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17312
|
-
});
|
|
17313
|
-
|
|
17314
|
-
'bpmn:ConditionalEventDefinition': function(parentGfx, event) {
|
|
17360
|
+
}, attrs);
|
|
17361
|
+
|
|
17315
17362
|
var pathData = pathMap.getScaledPath('EVENT_CONDITIONAL', {
|
|
17316
17363
|
xScaleFactor: 1,
|
|
17317
17364
|
yScaleFactor: 1,
|
|
@@ -17323,12 +17370,9 @@
|
|
|
17323
17370
|
}
|
|
17324
17371
|
});
|
|
17325
17372
|
|
|
17326
|
-
return drawPath(parentGfx, pathData,
|
|
17327
|
-
strokeWidth: 1,
|
|
17328
|
-
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17329
|
-
});
|
|
17373
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17330
17374
|
},
|
|
17331
|
-
'bpmn:LinkEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17375
|
+
'bpmn:LinkEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17332
17376
|
var pathData = pathMap.getScaledPath('EVENT_LINK', {
|
|
17333
17377
|
xScaleFactor: 1,
|
|
17334
17378
|
yScaleFactor: 1,
|
|
@@ -17342,13 +17386,15 @@
|
|
|
17342
17386
|
|
|
17343
17387
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17344
17388
|
|
|
17345
|
-
|
|
17389
|
+
attrs = assign({
|
|
17346
17390
|
strokeWidth: 1,
|
|
17347
17391
|
fill: fill,
|
|
17348
17392
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17349
|
-
});
|
|
17393
|
+
}, attrs);
|
|
17394
|
+
|
|
17395
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17350
17396
|
},
|
|
17351
|
-
'bpmn:ErrorEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17397
|
+
'bpmn:ErrorEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17352
17398
|
var pathData = pathMap.getScaledPath('EVENT_ERROR', {
|
|
17353
17399
|
xScaleFactor: 1.1,
|
|
17354
17400
|
yScaleFactor: 1.1,
|
|
@@ -17362,13 +17408,15 @@
|
|
|
17362
17408
|
|
|
17363
17409
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17364
17410
|
|
|
17365
|
-
|
|
17411
|
+
attrs = assign({
|
|
17366
17412
|
strokeWidth: 1,
|
|
17367
17413
|
fill: fill,
|
|
17368
17414
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17369
|
-
});
|
|
17415
|
+
}, attrs);
|
|
17416
|
+
|
|
17417
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17370
17418
|
},
|
|
17371
|
-
'bpmn:CancelEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17419
|
+
'bpmn:CancelEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17372
17420
|
var pathData = pathMap.getScaledPath('EVENT_CANCEL_45', {
|
|
17373
17421
|
xScaleFactor: 1.0,
|
|
17374
17422
|
yScaleFactor: 1.0,
|
|
@@ -17382,17 +17430,19 @@
|
|
|
17382
17430
|
|
|
17383
17431
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17384
17432
|
|
|
17385
|
-
|
|
17433
|
+
attrs = assign({
|
|
17386
17434
|
strokeWidth: 1,
|
|
17387
17435
|
fill: fill,
|
|
17388
17436
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17389
|
-
});
|
|
17437
|
+
}, attrs);
|
|
17438
|
+
|
|
17439
|
+
var path = drawPath(parentGfx, pathData, attrs);
|
|
17390
17440
|
|
|
17391
17441
|
rotate(path, 45);
|
|
17392
17442
|
|
|
17393
17443
|
return path;
|
|
17394
17444
|
},
|
|
17395
|
-
'bpmn:CompensateEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17445
|
+
'bpmn:CompensateEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17396
17446
|
var pathData = pathMap.getScaledPath('EVENT_COMPENSATION', {
|
|
17397
17447
|
xScaleFactor: 1,
|
|
17398
17448
|
yScaleFactor: 1,
|
|
@@ -17406,13 +17456,15 @@
|
|
|
17406
17456
|
|
|
17407
17457
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17408
17458
|
|
|
17409
|
-
|
|
17459
|
+
attrs = assign({
|
|
17410
17460
|
strokeWidth: 1,
|
|
17411
17461
|
fill: fill,
|
|
17412
17462
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17413
|
-
});
|
|
17463
|
+
}, attrs);
|
|
17464
|
+
|
|
17465
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17414
17466
|
},
|
|
17415
|
-
'bpmn:SignalEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17467
|
+
'bpmn:SignalEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17416
17468
|
var pathData = pathMap.getScaledPath('EVENT_SIGNAL', {
|
|
17417
17469
|
xScaleFactor: 0.9,
|
|
17418
17470
|
yScaleFactor: 0.9,
|
|
@@ -17426,13 +17478,15 @@
|
|
|
17426
17478
|
|
|
17427
17479
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17428
17480
|
|
|
17429
|
-
|
|
17481
|
+
attrs = assign({
|
|
17430
17482
|
strokeWidth: 1,
|
|
17431
17483
|
fill: fill,
|
|
17432
17484
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17433
|
-
});
|
|
17485
|
+
}, attrs);
|
|
17486
|
+
|
|
17487
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17434
17488
|
},
|
|
17435
|
-
'bpmn:MultipleEventDefinition': function(parentGfx, event, isThrowing) {
|
|
17489
|
+
'bpmn:MultipleEventDefinition': function(parentGfx, event, attrs, isThrowing) {
|
|
17436
17490
|
var pathData = pathMap.getScaledPath('EVENT_MULTIPLE', {
|
|
17437
17491
|
xScaleFactor: 1.1,
|
|
17438
17492
|
yScaleFactor: 1.1,
|
|
@@ -17446,12 +17500,14 @@
|
|
|
17446
17500
|
|
|
17447
17501
|
var fill = isThrowing ? getStrokeColor$1(event, defaultStrokeColor) : 'none';
|
|
17448
17502
|
|
|
17449
|
-
|
|
17503
|
+
attrs = assign({
|
|
17450
17504
|
strokeWidth: 1,
|
|
17451
17505
|
fill: fill
|
|
17452
|
-
});
|
|
17506
|
+
}, attrs);
|
|
17507
|
+
|
|
17508
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17453
17509
|
},
|
|
17454
|
-
'bpmn:ParallelMultipleEventDefinition': function(parentGfx, event) {
|
|
17510
|
+
'bpmn:ParallelMultipleEventDefinition': function(parentGfx, event, attrs) {
|
|
17455
17511
|
var pathData = pathMap.getScaledPath('EVENT_PARALLEL_MULTIPLE', {
|
|
17456
17512
|
xScaleFactor: 1.2,
|
|
17457
17513
|
yScaleFactor: 1.2,
|
|
@@ -17463,47 +17519,54 @@
|
|
|
17463
17519
|
}
|
|
17464
17520
|
});
|
|
17465
17521
|
|
|
17466
|
-
|
|
17522
|
+
attrs = assign({
|
|
17467
17523
|
strokeWidth: 1,
|
|
17468
17524
|
fill: getStrokeColor$1(event, defaultStrokeColor),
|
|
17469
17525
|
stroke: getStrokeColor$1(event, defaultStrokeColor)
|
|
17470
|
-
});
|
|
17526
|
+
}, attrs);
|
|
17527
|
+
|
|
17528
|
+
|
|
17529
|
+
return drawPath(parentGfx, pathData, attrs);
|
|
17471
17530
|
},
|
|
17472
|
-
'bpmn:EndEvent': function(parentGfx, element) {
|
|
17473
|
-
var
|
|
17531
|
+
'bpmn:EndEvent': function(parentGfx, element, attrs) {
|
|
17532
|
+
var outerAttrs = assign({
|
|
17474
17533
|
strokeWidth: 4,
|
|
17475
17534
|
fill: getFillColor(element, defaultFillColor),
|
|
17476
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17477
|
-
});
|
|
17535
|
+
stroke: getStrokeColor$1(element, defaultStrokeColor),
|
|
17536
|
+
}, attrs);
|
|
17478
17537
|
|
|
17479
|
-
|
|
17538
|
+
var circle = renderer('bpmn:Event')(parentGfx, element, outerAttrs);
|
|
17539
|
+
|
|
17540
|
+
renderEventContent(element, parentGfx, attrs);
|
|
17480
17541
|
|
|
17481
17542
|
return circle;
|
|
17482
17543
|
},
|
|
17483
|
-
'bpmn:TerminateEventDefinition': function(parentGfx, element) {
|
|
17484
|
-
|
|
17485
|
-
|
|
17486
|
-
|
|
17487
|
-
|
|
17488
|
-
});
|
|
17544
|
+
'bpmn:TerminateEventDefinition': function(parentGfx, element, attrs) {
|
|
17545
|
+
attrs = assign({
|
|
17546
|
+
fill: getFillColor(element, defaultFillColor),
|
|
17547
|
+
stroke: getStrokeColor$1(element, defaultStrokeColor),
|
|
17548
|
+
strokeWidth: 4
|
|
17549
|
+
}, attrs);
|
|
17550
|
+
|
|
17551
|
+
var circle = drawCircle(parentGfx, element.width, element.height, 8, attrs);
|
|
17489
17552
|
|
|
17490
17553
|
return circle;
|
|
17491
17554
|
},
|
|
17492
|
-
'bpmn:IntermediateEvent': function(parentGfx, element) {
|
|
17493
|
-
var
|
|
17555
|
+
'bpmn:IntermediateEvent': function(parentGfx, element, attrs) {
|
|
17556
|
+
var outerAttrs = assign({
|
|
17494
17557
|
strokeWidth: 1,
|
|
17495
17558
|
fill: getFillColor(element, defaultFillColor),
|
|
17496
17559
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17497
|
-
});
|
|
17560
|
+
}, attrs);
|
|
17561
|
+
|
|
17562
|
+
var outer = renderer('bpmn:Event')(parentGfx, element, outerAttrs);
|
|
17498
17563
|
|
|
17499
17564
|
/* inner */
|
|
17500
|
-
drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, {
|
|
17501
|
-
strokeWidth: 1,
|
|
17565
|
+
drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, assign({}, outerAttrs, {
|
|
17502
17566
|
fill: getFillColor(element, 'none'),
|
|
17503
|
-
|
|
17504
|
-
});
|
|
17567
|
+
}));
|
|
17505
17568
|
|
|
17506
|
-
renderEventContent(element, parentGfx);
|
|
17569
|
+
renderEventContent(element, parentGfx, attrs);
|
|
17507
17570
|
|
|
17508
17571
|
return outer;
|
|
17509
17572
|
},
|
|
@@ -17521,21 +17584,21 @@
|
|
|
17521
17584
|
return drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS, attrs);
|
|
17522
17585
|
},
|
|
17523
17586
|
|
|
17524
|
-
'bpmn:Task': function(parentGfx, element) {
|
|
17525
|
-
|
|
17587
|
+
'bpmn:Task': function(parentGfx, element, attrs) {
|
|
17588
|
+
attrs = assign({
|
|
17526
17589
|
fill: getFillColor(element, defaultFillColor),
|
|
17527
17590
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17528
|
-
};
|
|
17591
|
+
}, attrs);
|
|
17529
17592
|
|
|
17530
17593
|
var rect = renderer('bpmn:Activity')(parentGfx, element, attrs);
|
|
17531
17594
|
|
|
17532
17595
|
renderEmbeddedLabel(parentGfx, element, 'center-middle');
|
|
17533
|
-
attachTaskMarkers(parentGfx, element);
|
|
17596
|
+
attachTaskMarkers(parentGfx, element, attrs);
|
|
17534
17597
|
|
|
17535
17598
|
return rect;
|
|
17536
17599
|
},
|
|
17537
|
-
'bpmn:ServiceTask': function(parentGfx, element) {
|
|
17538
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17600
|
+
'bpmn:ServiceTask': function(parentGfx, element, attrs) {
|
|
17601
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17539
17602
|
|
|
17540
17603
|
var pathDataBG = pathMap.getScaledPath('TASK_TYPE_SERVICE', {
|
|
17541
17604
|
abspos: {
|
|
@@ -17544,11 +17607,12 @@
|
|
|
17544
17607
|
}
|
|
17545
17608
|
});
|
|
17546
17609
|
|
|
17547
|
-
|
|
17610
|
+
var serviceAttrs = assign({
|
|
17548
17611
|
strokeWidth: 1,
|
|
17549
17612
|
fill: getFillColor(element, defaultFillColor),
|
|
17550
17613
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17551
|
-
});
|
|
17614
|
+
}, attrs);
|
|
17615
|
+
/* service bg */ drawPath(parentGfx, pathDataBG, serviceAttrs);
|
|
17552
17616
|
|
|
17553
17617
|
var fillPathData = pathMap.getScaledPath('TASK_TYPE_SERVICE_FILL', {
|
|
17554
17618
|
abspos: {
|
|
@@ -17557,10 +17621,11 @@
|
|
|
17557
17621
|
}
|
|
17558
17622
|
});
|
|
17559
17623
|
|
|
17560
|
-
|
|
17624
|
+
var fillAttrs = assign({
|
|
17561
17625
|
strokeWidth: 0,
|
|
17562
17626
|
fill: getFillColor(element, defaultFillColor)
|
|
17563
|
-
});
|
|
17627
|
+
}, attrs);
|
|
17628
|
+
/* service fill */ drawPath(parentGfx, fillPathData, fillAttrs);
|
|
17564
17629
|
|
|
17565
17630
|
var pathData = pathMap.getScaledPath('TASK_TYPE_SERVICE', {
|
|
17566
17631
|
abspos: {
|
|
@@ -17569,16 +17634,12 @@
|
|
|
17569
17634
|
}
|
|
17570
17635
|
});
|
|
17571
17636
|
|
|
17572
|
-
/* service */ drawPath(parentGfx, pathData,
|
|
17573
|
-
strokeWidth: 1,
|
|
17574
|
-
fill: getFillColor(element, defaultFillColor),
|
|
17575
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17576
|
-
});
|
|
17637
|
+
/* service */ drawPath(parentGfx, pathData, serviceAttrs);
|
|
17577
17638
|
|
|
17578
17639
|
return task;
|
|
17579
17640
|
},
|
|
17580
|
-
'bpmn:UserTask': function(parentGfx, element) {
|
|
17581
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17641
|
+
'bpmn:UserTask': function(parentGfx, element, attrs) {
|
|
17642
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17582
17643
|
|
|
17583
17644
|
var x = 15;
|
|
17584
17645
|
var y = 12;
|
|
@@ -17590,11 +17651,12 @@
|
|
|
17590
17651
|
}
|
|
17591
17652
|
});
|
|
17592
17653
|
|
|
17593
|
-
|
|
17654
|
+
var userAttrs = assign({
|
|
17594
17655
|
strokeWidth: 0.5,
|
|
17595
17656
|
fill: getFillColor(element, defaultFillColor),
|
|
17596
17657
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17597
|
-
});
|
|
17658
|
+
}, attrs);
|
|
17659
|
+
/* user path */ drawPath(parentGfx, pathData, userAttrs);
|
|
17598
17660
|
|
|
17599
17661
|
var pathData2 = pathMap.getScaledPath('TASK_TYPE_USER_2', {
|
|
17600
17662
|
abspos: {
|
|
@@ -17603,11 +17665,7 @@
|
|
|
17603
17665
|
}
|
|
17604
17666
|
});
|
|
17605
17667
|
|
|
17606
|
-
/* user2 path */ drawPath(parentGfx, pathData2,
|
|
17607
|
-
strokeWidth: 0.5,
|
|
17608
|
-
fill: getFillColor(element, defaultFillColor),
|
|
17609
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17610
|
-
});
|
|
17668
|
+
/* user2 path */ drawPath(parentGfx, pathData2, userAttrs);
|
|
17611
17669
|
|
|
17612
17670
|
var pathData3 = pathMap.getScaledPath('TASK_TYPE_USER_3', {
|
|
17613
17671
|
abspos: {
|
|
@@ -17616,16 +17674,12 @@
|
|
|
17616
17674
|
}
|
|
17617
17675
|
});
|
|
17618
17676
|
|
|
17619
|
-
/* user3 path */ drawPath(parentGfx, pathData3,
|
|
17620
|
-
strokeWidth: 0.5,
|
|
17621
|
-
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
17622
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17623
|
-
});
|
|
17677
|
+
/* user3 path */ drawPath(parentGfx, pathData3, userAttrs);
|
|
17624
17678
|
|
|
17625
17679
|
return task;
|
|
17626
17680
|
},
|
|
17627
|
-
'bpmn:ManualTask': function(parentGfx, element) {
|
|
17628
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17681
|
+
'bpmn:ManualTask': function(parentGfx, element, attrs) {
|
|
17682
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17629
17683
|
|
|
17630
17684
|
var pathData = pathMap.getScaledPath('TASK_TYPE_MANUAL', {
|
|
17631
17685
|
abspos: {
|
|
@@ -17634,16 +17688,17 @@
|
|
|
17634
17688
|
}
|
|
17635
17689
|
});
|
|
17636
17690
|
|
|
17637
|
-
|
|
17691
|
+
var manualAttrs = assign({
|
|
17638
17692
|
strokeWidth: 0.5, // 0.25,
|
|
17639
17693
|
fill: getFillColor(element, defaultFillColor),
|
|
17640
17694
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17641
|
-
});
|
|
17695
|
+
}, attrs);
|
|
17696
|
+
/* manual path */ drawPath(parentGfx, pathData, manualAttrs);
|
|
17642
17697
|
|
|
17643
17698
|
return task;
|
|
17644
17699
|
},
|
|
17645
|
-
'bpmn:SendTask': function(parentGfx, element) {
|
|
17646
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17700
|
+
'bpmn:SendTask': function(parentGfx, element, attrs) {
|
|
17701
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17647
17702
|
|
|
17648
17703
|
var pathData = pathMap.getScaledPath('TASK_TYPE_SEND', {
|
|
17649
17704
|
xScaleFactor: 1,
|
|
@@ -17656,22 +17711,25 @@
|
|
|
17656
17711
|
}
|
|
17657
17712
|
});
|
|
17658
17713
|
|
|
17659
|
-
/* send path */
|
|
17714
|
+
/* send path */
|
|
17715
|
+
var pathAttrs = assign({
|
|
17660
17716
|
strokeWidth: 1,
|
|
17661
17717
|
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
17662
17718
|
stroke: getFillColor(element, defaultFillColor)
|
|
17663
|
-
});
|
|
17719
|
+
}, attrs);
|
|
17720
|
+
|
|
17721
|
+
drawPath(parentGfx, pathData, pathAttrs);
|
|
17664
17722
|
|
|
17665
17723
|
return task;
|
|
17666
17724
|
},
|
|
17667
|
-
'bpmn:ReceiveTask' : function(parentGfx, element) {
|
|
17725
|
+
'bpmn:ReceiveTask' : function(parentGfx, element, attrs) {
|
|
17668
17726
|
var semantic = getSemantic(element);
|
|
17669
17727
|
|
|
17670
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17728
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17671
17729
|
var pathData;
|
|
17672
17730
|
|
|
17673
17731
|
if (semantic.instantiate) {
|
|
17674
|
-
drawCircle(parentGfx, 28, 28, 20 * 0.22, { strokeWidth: 1 });
|
|
17732
|
+
drawCircle(parentGfx, 28, 28, 20 * 0.22, assign({ strokeWidth: 1 }, attrs));
|
|
17675
17733
|
|
|
17676
17734
|
pathData = pathMap.getScaledPath('TASK_TYPE_INSTANTIATING_SEND', {
|
|
17677
17735
|
abspos: {
|
|
@@ -17693,16 +17751,18 @@
|
|
|
17693
17751
|
});
|
|
17694
17752
|
}
|
|
17695
17753
|
|
|
17696
|
-
|
|
17754
|
+
var receiveAttrs = assign({
|
|
17697
17755
|
strokeWidth: 1,
|
|
17698
17756
|
fill: getFillColor(element, defaultFillColor),
|
|
17699
17757
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17700
|
-
});
|
|
17758
|
+
}, attrs);
|
|
17759
|
+
|
|
17760
|
+
/* receive path */ drawPath(parentGfx, pathData, receiveAttrs);
|
|
17701
17761
|
|
|
17702
17762
|
return task;
|
|
17703
17763
|
},
|
|
17704
|
-
'bpmn:ScriptTask': function(parentGfx, element) {
|
|
17705
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17764
|
+
'bpmn:ScriptTask': function(parentGfx, element, attrs) {
|
|
17765
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17706
17766
|
|
|
17707
17767
|
var pathData = pathMap.getScaledPath('TASK_TYPE_SCRIPT', {
|
|
17708
17768
|
abspos: {
|
|
@@ -17711,15 +17771,16 @@
|
|
|
17711
17771
|
}
|
|
17712
17772
|
});
|
|
17713
17773
|
|
|
17714
|
-
|
|
17774
|
+
var scriptAttrs = assign({
|
|
17715
17775
|
strokeWidth: 1,
|
|
17716
17776
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17717
|
-
});
|
|
17777
|
+
}, attrs);
|
|
17778
|
+
/* script path */ drawPath(parentGfx, pathData, scriptAttrs);
|
|
17718
17779
|
|
|
17719
17780
|
return task;
|
|
17720
17781
|
},
|
|
17721
|
-
'bpmn:BusinessRuleTask': function(parentGfx, element) {
|
|
17722
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
17782
|
+
'bpmn:BusinessRuleTask': function(parentGfx, element, attrs) {
|
|
17783
|
+
var task = renderer('bpmn:Task')(parentGfx, element, attrs);
|
|
17723
17784
|
|
|
17724
17785
|
var headerPathData = pathMap.getScaledPath('TASK_TYPE_BUSINESS_RULE_HEADER', {
|
|
17725
17786
|
abspos: {
|
|
@@ -17728,12 +17789,12 @@
|
|
|
17728
17789
|
}
|
|
17729
17790
|
});
|
|
17730
17791
|
|
|
17731
|
-
var
|
|
17732
|
-
attr(businessHeaderPath, {
|
|
17792
|
+
var headerAttrs = assign({
|
|
17733
17793
|
strokeWidth: 1,
|
|
17734
17794
|
fill: getFillColor(element, '#aaaaaa'),
|
|
17735
17795
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17736
|
-
});
|
|
17796
|
+
}, attrs);
|
|
17797
|
+
drawPath(parentGfx, headerPathData, headerAttrs);
|
|
17737
17798
|
|
|
17738
17799
|
var headerData = pathMap.getScaledPath('TASK_TYPE_BUSINESS_RULE_MAIN', {
|
|
17739
17800
|
abspos: {
|
|
@@ -17742,11 +17803,11 @@
|
|
|
17742
17803
|
}
|
|
17743
17804
|
});
|
|
17744
17805
|
|
|
17745
|
-
var
|
|
17746
|
-
attr(businessPath, {
|
|
17806
|
+
var businessAttrs = assign({
|
|
17747
17807
|
strokeWidth: 1,
|
|
17748
17808
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17749
|
-
});
|
|
17809
|
+
}, attrs);
|
|
17810
|
+
drawPath(parentGfx, headerData, businessAttrs);
|
|
17750
17811
|
|
|
17751
17812
|
return task;
|
|
17752
17813
|
},
|
|
@@ -17769,41 +17830,42 @@
|
|
|
17769
17830
|
renderEmbeddedLabel(parentGfx, element, expanded ? 'center-top' : 'center-middle');
|
|
17770
17831
|
|
|
17771
17832
|
if (expanded) {
|
|
17772
|
-
attachTaskMarkers(parentGfx, element);
|
|
17833
|
+
attachTaskMarkers(parentGfx, element, attrs);
|
|
17773
17834
|
} else {
|
|
17774
|
-
attachTaskMarkers(parentGfx, element, ['SubProcessMarker']);
|
|
17835
|
+
attachTaskMarkers(parentGfx, element, attrs, ['SubProcessMarker']);
|
|
17775
17836
|
}
|
|
17776
17837
|
|
|
17777
17838
|
return rect;
|
|
17778
17839
|
},
|
|
17779
|
-
'bpmn:AdHocSubProcess': function(parentGfx, element) {
|
|
17780
|
-
return renderer('bpmn:SubProcess')(parentGfx, element);
|
|
17840
|
+
'bpmn:AdHocSubProcess': function(parentGfx, element, attrs) {
|
|
17841
|
+
return renderer('bpmn:SubProcess')(parentGfx, element, attrs);
|
|
17781
17842
|
},
|
|
17782
|
-
'bpmn:Transaction': function(parentGfx, element) {
|
|
17783
|
-
var outer = renderer('bpmn:SubProcess')(parentGfx, element);
|
|
17843
|
+
'bpmn:Transaction': function(parentGfx, element, attrs) {
|
|
17844
|
+
var outer = renderer('bpmn:SubProcess')(parentGfx, element, attrs);
|
|
17784
17845
|
|
|
17785
17846
|
var innerAttrs = styles.style([ 'no-fill', 'no-events' ], {
|
|
17786
17847
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17787
17848
|
});
|
|
17788
17849
|
|
|
17789
|
-
/* inner path */ drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS - 2, INNER_OUTER_DIST, innerAttrs);
|
|
17850
|
+
/* inner path */ drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS - 2, INNER_OUTER_DIST, assign(innerAttrs, attrs));
|
|
17790
17851
|
|
|
17791
17852
|
return outer;
|
|
17792
17853
|
},
|
|
17793
|
-
'bpmn:CallActivity': function(parentGfx, element) {
|
|
17794
|
-
|
|
17854
|
+
'bpmn:CallActivity': function(parentGfx, element, attrs) {
|
|
17855
|
+
attrs = assign({
|
|
17795
17856
|
strokeWidth: 5
|
|
17796
|
-
});
|
|
17797
|
-
},
|
|
17798
|
-
'bpmn:Participant': function(parentGfx, element) {
|
|
17857
|
+
}, attrs);
|
|
17799
17858
|
|
|
17800
|
-
|
|
17859
|
+
return renderer('bpmn:SubProcess')(parentGfx, element, attrs);
|
|
17860
|
+
},
|
|
17861
|
+
'bpmn:Participant': function(parentGfx, element, attrs) {
|
|
17862
|
+
var outerAttrs = assign({
|
|
17801
17863
|
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
17802
17864
|
fill: getFillColor(element, defaultFillColor),
|
|
17803
17865
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17804
|
-
};
|
|
17866
|
+
}, attrs);
|
|
17805
17867
|
|
|
17806
|
-
var lane = renderer('bpmn:Lane')(parentGfx, element,
|
|
17868
|
+
var lane = renderer('bpmn:Lane')(parentGfx, element, outerAttrs);
|
|
17807
17869
|
|
|
17808
17870
|
var expandedPool = isExpanded(element);
|
|
17809
17871
|
|
|
@@ -17811,9 +17873,9 @@
|
|
|
17811
17873
|
drawLine(parentGfx, [
|
|
17812
17874
|
{ x: 30, y: 0 },
|
|
17813
17875
|
{ x: 30, y: element.height }
|
|
17814
|
-
], {
|
|
17876
|
+
], assign({
|
|
17815
17877
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17816
|
-
});
|
|
17878
|
+
}, attrs));
|
|
17817
17879
|
var text = getSemantic(element).name;
|
|
17818
17880
|
renderLaneLabel(parentGfx, text, element);
|
|
17819
17881
|
} else {
|
|
@@ -17831,7 +17893,7 @@
|
|
|
17831
17893
|
var participantMultiplicity = !!(getSemantic(element).participantMultiplicity);
|
|
17832
17894
|
|
|
17833
17895
|
if (participantMultiplicity) {
|
|
17834
|
-
renderer('ParticipantMultiplicityMarker')(parentGfx, element);
|
|
17896
|
+
renderer('ParticipantMultiplicityMarker')(parentGfx, element, attrs);
|
|
17835
17897
|
}
|
|
17836
17898
|
|
|
17837
17899
|
return lane;
|
|
@@ -17852,20 +17914,23 @@
|
|
|
17852
17914
|
|
|
17853
17915
|
return rect;
|
|
17854
17916
|
},
|
|
17855
|
-
'bpmn:InclusiveGateway': function(parentGfx, element) {
|
|
17856
|
-
var diamond = renderer('bpmn:Gateway')(parentGfx, element);
|
|
17917
|
+
'bpmn:InclusiveGateway': function(parentGfx, element, attrs) {
|
|
17918
|
+
var diamond = renderer('bpmn:Gateway')(parentGfx, element, attrs);
|
|
17857
17919
|
|
|
17858
|
-
|
|
17859
|
-
|
|
17920
|
+
|
|
17921
|
+
var circleAttrs = assign({
|
|
17860
17922
|
strokeWidth: 2.5,
|
|
17861
17923
|
fill: getFillColor(element, defaultFillColor),
|
|
17862
17924
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17863
|
-
});
|
|
17925
|
+
}, attrs);
|
|
17926
|
+
|
|
17927
|
+
/* circle path */
|
|
17928
|
+
drawCircle(parentGfx, element.width, element.height, element.height * 0.24, circleAttrs);
|
|
17864
17929
|
|
|
17865
17930
|
return diamond;
|
|
17866
17931
|
},
|
|
17867
|
-
'bpmn:ExclusiveGateway': function(parentGfx, element) {
|
|
17868
|
-
var diamond = renderer('bpmn:Gateway')(parentGfx, element);
|
|
17932
|
+
'bpmn:ExclusiveGateway': function(parentGfx, element, attrs) {
|
|
17933
|
+
var diamond = renderer('bpmn:Gateway')(parentGfx, element, attrs);
|
|
17869
17934
|
|
|
17870
17935
|
var pathData = pathMap.getScaledPath('GATEWAY_EXCLUSIVE', {
|
|
17871
17936
|
xScaleFactor: 0.4,
|
|
@@ -17879,17 +17944,17 @@
|
|
|
17879
17944
|
});
|
|
17880
17945
|
|
|
17881
17946
|
if ((getDi(element).isMarkerVisible)) {
|
|
17882
|
-
drawPath(parentGfx, pathData, {
|
|
17947
|
+
drawPath(parentGfx, pathData, assign({
|
|
17883
17948
|
strokeWidth: 1,
|
|
17884
17949
|
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
17885
17950
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17886
|
-
});
|
|
17951
|
+
}, attrs));
|
|
17887
17952
|
}
|
|
17888
17953
|
|
|
17889
17954
|
return diamond;
|
|
17890
17955
|
},
|
|
17891
|
-
'bpmn:ComplexGateway': function(parentGfx, element) {
|
|
17892
|
-
var diamond = renderer('bpmn:Gateway')(parentGfx, element);
|
|
17956
|
+
'bpmn:ComplexGateway': function(parentGfx, element, attrs) {
|
|
17957
|
+
var diamond = renderer('bpmn:Gateway')(parentGfx, element, attrs);
|
|
17893
17958
|
|
|
17894
17959
|
var pathData = pathMap.getScaledPath('GATEWAY_COMPLEX', {
|
|
17895
17960
|
xScaleFactor: 0.5,
|
|
@@ -17902,16 +17967,17 @@
|
|
|
17902
17967
|
}
|
|
17903
17968
|
});
|
|
17904
17969
|
|
|
17905
|
-
|
|
17970
|
+
var innerAttrs = assign({
|
|
17906
17971
|
strokeWidth: 1,
|
|
17907
17972
|
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
17908
17973
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17909
|
-
});
|
|
17974
|
+
}, attrs);
|
|
17975
|
+
/* complex path */ drawPath(parentGfx, pathData, innerAttrs);
|
|
17910
17976
|
|
|
17911
17977
|
return diamond;
|
|
17912
17978
|
},
|
|
17913
|
-
'bpmn:ParallelGateway': function(parentGfx, element) {
|
|
17914
|
-
var diamond = renderer('bpmn:Gateway')(parentGfx, element);
|
|
17979
|
+
'bpmn:ParallelGateway': function(parentGfx, element, attrs) {
|
|
17980
|
+
var diamond = renderer('bpmn:Gateway')(parentGfx, element, attrs);
|
|
17915
17981
|
|
|
17916
17982
|
var pathData = pathMap.getScaledPath('GATEWAY_PARALLEL', {
|
|
17917
17983
|
xScaleFactor: 0.6,
|
|
@@ -17924,25 +17990,27 @@
|
|
|
17924
17990
|
}
|
|
17925
17991
|
});
|
|
17926
17992
|
|
|
17927
|
-
|
|
17993
|
+
var innerAttrs = assign({
|
|
17928
17994
|
strokeWidth: 1,
|
|
17929
17995
|
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
17930
17996
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17931
|
-
});
|
|
17997
|
+
}, attrs);
|
|
17998
|
+
/* parallel path */ drawPath(parentGfx, pathData, innerAttrs);
|
|
17932
17999
|
|
|
17933
18000
|
return diamond;
|
|
17934
18001
|
},
|
|
17935
|
-
'bpmn:EventBasedGateway': function(parentGfx, element) {
|
|
18002
|
+
'bpmn:EventBasedGateway': function(parentGfx, element, attrs) {
|
|
17936
18003
|
|
|
17937
18004
|
var semantic = getSemantic(element);
|
|
17938
18005
|
|
|
17939
|
-
var diamond = renderer('bpmn:Gateway')(parentGfx, element);
|
|
18006
|
+
var diamond = renderer('bpmn:Gateway')(parentGfx, element, attrs);
|
|
17940
18007
|
|
|
17941
|
-
|
|
18008
|
+
var outerAttrs = assign({
|
|
17942
18009
|
strokeWidth: 1,
|
|
17943
18010
|
fill: 'none',
|
|
17944
18011
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17945
|
-
});
|
|
18012
|
+
}, attrs);
|
|
18013
|
+
/* outer circle path */ drawCircle(parentGfx, element.width, element.height, element.height * 0.20, outerAttrs);
|
|
17946
18014
|
|
|
17947
18015
|
var type = semantic.eventGatewayType;
|
|
17948
18016
|
var instantiate = !!semantic.instantiate;
|
|
@@ -17960,13 +18028,12 @@
|
|
|
17960
18028
|
}
|
|
17961
18029
|
});
|
|
17962
18030
|
|
|
17963
|
-
var
|
|
18031
|
+
var innerAttrs = assign({
|
|
17964
18032
|
strokeWidth: 2,
|
|
17965
18033
|
fill: getFillColor(element, 'none'),
|
|
17966
18034
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17967
|
-
};
|
|
17968
|
-
|
|
17969
|
-
/* event path */ drawPath(parentGfx, pathData, attrs);
|
|
18035
|
+
}, attrs);
|
|
18036
|
+
/* event path */ drawPath(parentGfx, pathData, innerAttrs);
|
|
17970
18037
|
}
|
|
17971
18038
|
|
|
17972
18039
|
if (type === 'Parallel') {
|
|
@@ -17982,7 +18049,7 @@
|
|
|
17982
18049
|
}
|
|
17983
18050
|
});
|
|
17984
18051
|
|
|
17985
|
-
var parallelPath = drawPath(parentGfx, pathData);
|
|
18052
|
+
var parallelPath = drawPath(parentGfx, pathData, attrs);
|
|
17986
18053
|
attr(parallelPath, {
|
|
17987
18054
|
strokeWidth: 1,
|
|
17988
18055
|
fill: 'none'
|
|
@@ -17990,12 +18057,12 @@
|
|
|
17990
18057
|
} else if (type === 'Exclusive') {
|
|
17991
18058
|
|
|
17992
18059
|
if (!instantiate) {
|
|
17993
|
-
var
|
|
17994
|
-
attr(innerCircle, {
|
|
18060
|
+
var innerCircleAttrs = assign({
|
|
17995
18061
|
strokeWidth: 1,
|
|
17996
18062
|
fill: 'none',
|
|
17997
18063
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
17998
|
-
});
|
|
18064
|
+
}, attrs);
|
|
18065
|
+
drawCircle(parentGfx, element.width, element.height, element.height * 0.26, innerCircleAttrs);
|
|
17999
18066
|
}
|
|
18000
18067
|
|
|
18001
18068
|
drawEvent();
|
|
@@ -18004,26 +18071,28 @@
|
|
|
18004
18071
|
|
|
18005
18072
|
return diamond;
|
|
18006
18073
|
},
|
|
18007
|
-
'bpmn:Gateway': function(parentGfx, element) {
|
|
18008
|
-
|
|
18074
|
+
'bpmn:Gateway': function(parentGfx, element, attrs) {
|
|
18075
|
+
attrs = assign({
|
|
18009
18076
|
fill: getFillColor(element, defaultFillColor),
|
|
18010
18077
|
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
18011
18078
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18012
|
-
};
|
|
18079
|
+
}, attrs);
|
|
18013
18080
|
|
|
18014
18081
|
return drawDiamond(parentGfx, element.width, element.height, attrs);
|
|
18015
18082
|
},
|
|
18016
|
-
'bpmn:SequenceFlow': function(parentGfx, element) {
|
|
18083
|
+
'bpmn:SequenceFlow': function(parentGfx, element, attrs) {
|
|
18084
|
+
attrs = attrs || {};
|
|
18085
|
+
|
|
18017
18086
|
var pathData = createPathFromConnection(element);
|
|
18018
18087
|
|
|
18019
|
-
var fill = getFillColor(element, defaultFillColor),
|
|
18020
|
-
stroke = getStrokeColor$1(element, defaultStrokeColor);
|
|
18088
|
+
var fill = attrs.fill || getFillColor(element, defaultFillColor),
|
|
18089
|
+
stroke = attrs.stroke || getStrokeColor$1(element, defaultStrokeColor);
|
|
18021
18090
|
|
|
18022
|
-
|
|
18091
|
+
attrs = assign({
|
|
18023
18092
|
strokeLinejoin: 'round',
|
|
18024
18093
|
markerEnd: marker('sequenceflow-end', fill, stroke),
|
|
18025
18094
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18026
|
-
};
|
|
18095
|
+
}, attrs || {});
|
|
18027
18096
|
|
|
18028
18097
|
var path = drawPath(parentGfx, pathData, attrs);
|
|
18029
18098
|
|
|
@@ -18077,41 +18146,52 @@
|
|
|
18077
18146
|
|
|
18078
18147
|
return drawLine(parentGfx, element.waypoints, attrs);
|
|
18079
18148
|
},
|
|
18080
|
-
'bpmn:DataInputAssociation': function(parentGfx, element) {
|
|
18081
|
-
|
|
18082
|
-
stroke = getStrokeColor$1(element, defaultStrokeColor);
|
|
18149
|
+
'bpmn:DataInputAssociation': function(parentGfx, element, attrs) {
|
|
18150
|
+
attrs = attrs || {};
|
|
18083
18151
|
|
|
18084
|
-
|
|
18152
|
+
var fill = attrs.fill || getFillColor(element, defaultFillColor),
|
|
18153
|
+
stroke = attrs.stroke || getStrokeColor$1(element, defaultStrokeColor);
|
|
18154
|
+
|
|
18155
|
+
attrs = assign({
|
|
18085
18156
|
markerEnd: marker('association-end', fill, stroke)
|
|
18086
|
-
});
|
|
18157
|
+
}, attrs);
|
|
18158
|
+
|
|
18159
|
+
return renderer('bpmn:Association')(parentGfx, element, attrs);
|
|
18087
18160
|
},
|
|
18088
|
-
'bpmn:DataOutputAssociation': function(parentGfx, element) {
|
|
18089
|
-
|
|
18090
|
-
stroke = getStrokeColor$1(element, defaultStrokeColor);
|
|
18161
|
+
'bpmn:DataOutputAssociation': function(parentGfx, element, attrs) {
|
|
18162
|
+
attrs = attrs || {};
|
|
18091
18163
|
|
|
18092
|
-
|
|
18164
|
+
var fill = attrs.fill || getFillColor(element, defaultFillColor),
|
|
18165
|
+
stroke = attrs.stroke || getStrokeColor$1(element, defaultStrokeColor);
|
|
18166
|
+
|
|
18167
|
+
|
|
18168
|
+
attrs = assign({
|
|
18093
18169
|
markerEnd: marker('association-end', fill, stroke)
|
|
18094
|
-
});
|
|
18170
|
+
}, attrs);
|
|
18171
|
+
|
|
18172
|
+
return renderer('bpmn:Association')(parentGfx, element, attrs);
|
|
18095
18173
|
},
|
|
18096
|
-
'bpmn:MessageFlow': function(parentGfx, element) {
|
|
18174
|
+
'bpmn:MessageFlow': function(parentGfx, element, attrs) {
|
|
18175
|
+
attrs = attrs || {};
|
|
18097
18176
|
|
|
18098
18177
|
var semantic = getSemantic(element),
|
|
18099
18178
|
di = getDi(element);
|
|
18100
18179
|
|
|
18101
|
-
var fill = getFillColor(element, defaultFillColor),
|
|
18102
|
-
stroke = getStrokeColor$1(element, defaultStrokeColor);
|
|
18180
|
+
var fill = attrs.fill || getFillColor(element, defaultFillColor),
|
|
18181
|
+
stroke = attrs.stroke || getStrokeColor$1(element, defaultStrokeColor);
|
|
18103
18182
|
|
|
18104
18183
|
var pathData = createPathFromConnection(element);
|
|
18105
18184
|
|
|
18106
|
-
|
|
18185
|
+
|
|
18186
|
+
attrs = assign({
|
|
18107
18187
|
markerEnd: marker('messageflow-end', fill, stroke),
|
|
18108
18188
|
markerStart: marker('messageflow-start', fill, stroke),
|
|
18109
18189
|
strokeDasharray: '10, 12',
|
|
18110
18190
|
strokeLinecap: 'round',
|
|
18111
18191
|
strokeLinejoin: 'round',
|
|
18112
18192
|
strokeWidth: '1.5px',
|
|
18113
|
-
stroke:
|
|
18114
|
-
};
|
|
18193
|
+
stroke: stroke
|
|
18194
|
+
}, attrs);
|
|
18115
18195
|
|
|
18116
18196
|
var path = drawPath(parentGfx, pathData, attrs);
|
|
18117
18197
|
|
|
@@ -18158,7 +18238,7 @@
|
|
|
18158
18238
|
|
|
18159
18239
|
return path;
|
|
18160
18240
|
},
|
|
18161
|
-
'bpmn:DataObject': function(parentGfx, element) {
|
|
18241
|
+
'bpmn:DataObject': function(parentGfx, element, attrs) {
|
|
18162
18242
|
var pathData = pathMap.getScaledPath('DATA_OBJECT_PATH', {
|
|
18163
18243
|
xScaleFactor: 1,
|
|
18164
18244
|
yScaleFactor: 1,
|
|
@@ -18170,46 +18250,56 @@
|
|
|
18170
18250
|
}
|
|
18171
18251
|
});
|
|
18172
18252
|
|
|
18173
|
-
var
|
|
18253
|
+
var outerAttrs = assign({
|
|
18174
18254
|
fill: getFillColor(element, defaultFillColor),
|
|
18175
18255
|
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
18176
18256
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18177
|
-
});
|
|
18257
|
+
}, attrs);
|
|
18258
|
+
var elementObject = drawPath(parentGfx, pathData, outerAttrs);
|
|
18178
18259
|
|
|
18179
18260
|
var semantic = getSemantic(element);
|
|
18180
18261
|
|
|
18181
18262
|
if (isCollection(semantic)) {
|
|
18182
|
-
renderDataItemCollection(parentGfx, element);
|
|
18263
|
+
renderDataItemCollection(parentGfx, element, attrs);
|
|
18183
18264
|
}
|
|
18184
18265
|
|
|
18185
18266
|
return elementObject;
|
|
18186
18267
|
},
|
|
18187
18268
|
'bpmn:DataObjectReference': as('bpmn:DataObject'),
|
|
18188
|
-
'bpmn:DataInput': function(parentGfx, element) {
|
|
18269
|
+
'bpmn:DataInput': function(parentGfx, element, attrs) {
|
|
18189
18270
|
|
|
18190
18271
|
var arrowPathData = pathMap.getRawPath('DATA_ARROW');
|
|
18191
18272
|
|
|
18192
18273
|
// page
|
|
18193
|
-
var elementObject = renderer('bpmn:DataObject')(parentGfx, element);
|
|
18274
|
+
var elementObject = renderer('bpmn:DataObject')(parentGfx, element, attrs);
|
|
18194
18275
|
|
|
18195
|
-
|
|
18276
|
+
var innerAttrs = assign({ strokeWidth: 1 }, attrs);
|
|
18277
|
+
/* input arrow path */ drawPath(parentGfx, arrowPathData, innerAttrs);
|
|
18196
18278
|
|
|
18197
18279
|
return elementObject;
|
|
18198
18280
|
},
|
|
18199
|
-
'bpmn:DataOutput': function(parentGfx, element) {
|
|
18281
|
+
'bpmn:DataOutput': function(parentGfx, element, attrs) {
|
|
18200
18282
|
var arrowPathData = pathMap.getRawPath('DATA_ARROW');
|
|
18201
18283
|
|
|
18202
18284
|
// page
|
|
18203
|
-
var elementObject = renderer('bpmn:DataObject')(parentGfx, element);
|
|
18285
|
+
var elementObject = renderer('bpmn:DataObject')(parentGfx, element, attrs);
|
|
18204
18286
|
|
|
18205
|
-
|
|
18287
|
+
var arrowAttrs = assign({
|
|
18206
18288
|
strokeWidth: 1,
|
|
18207
18289
|
fill: 'black'
|
|
18208
|
-
});
|
|
18290
|
+
}, attrs);
|
|
18291
|
+
/* output arrow path */ drawPath(parentGfx, arrowPathData, arrowAttrs);
|
|
18209
18292
|
|
|
18210
18293
|
return elementObject;
|
|
18211
18294
|
},
|
|
18212
|
-
'bpmn:DataStoreReference': function(parentGfx, element) {
|
|
18295
|
+
'bpmn:DataStoreReference': function(parentGfx, element, attrs) {
|
|
18296
|
+
attrs = assign({
|
|
18297
|
+
strokeWidth: 2,
|
|
18298
|
+
fill: getFillColor(element, defaultFillColor),
|
|
18299
|
+
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
18300
|
+
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18301
|
+
}, attrs);
|
|
18302
|
+
|
|
18213
18303
|
var DATA_STORE_PATH = pathMap.getScaledPath('DATA_STORE', {
|
|
18214
18304
|
xScaleFactor: 1,
|
|
18215
18305
|
yScaleFactor: 1,
|
|
@@ -18221,25 +18311,20 @@
|
|
|
18221
18311
|
}
|
|
18222
18312
|
});
|
|
18223
18313
|
|
|
18224
|
-
var elementStore = drawPath(parentGfx, DATA_STORE_PATH,
|
|
18225
|
-
strokeWidth: 2,
|
|
18226
|
-
fill: getFillColor(element, defaultFillColor),
|
|
18227
|
-
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
18228
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18229
|
-
});
|
|
18314
|
+
var elementStore = drawPath(parentGfx, DATA_STORE_PATH, attrs);
|
|
18230
18315
|
|
|
18231
18316
|
return elementStore;
|
|
18232
18317
|
},
|
|
18233
|
-
'bpmn:BoundaryEvent': function(parentGfx, element) {
|
|
18318
|
+
'bpmn:BoundaryEvent': function(parentGfx, element, attrs) {
|
|
18234
18319
|
|
|
18235
18320
|
var semantic = getSemantic(element),
|
|
18236
18321
|
cancel = semantic.cancelActivity;
|
|
18237
18322
|
|
|
18238
|
-
|
|
18323
|
+
attrs = assign({
|
|
18239
18324
|
strokeWidth: 1,
|
|
18240
18325
|
fill: getFillColor(element, defaultFillColor),
|
|
18241
18326
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18242
|
-
};
|
|
18327
|
+
}, attrs);
|
|
18243
18328
|
|
|
18244
18329
|
if (!cancel) {
|
|
18245
18330
|
attrs.strokeDasharray = '6';
|
|
@@ -18260,30 +18345,32 @@
|
|
|
18260
18345
|
|
|
18261
18346
|
/* inner path */ drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, innerAttrs);
|
|
18262
18347
|
|
|
18263
|
-
renderEventContent(element, parentGfx);
|
|
18348
|
+
renderEventContent(element, parentGfx, attrs);
|
|
18264
18349
|
|
|
18265
18350
|
return outer;
|
|
18266
18351
|
},
|
|
18267
|
-
'bpmn:Group': function(parentGfx, element) {
|
|
18352
|
+
'bpmn:Group': function(parentGfx, element, attrs) {
|
|
18268
18353
|
|
|
18269
|
-
|
|
18354
|
+
attrs = assign({
|
|
18270
18355
|
stroke: getStrokeColor$1(element, defaultStrokeColor),
|
|
18271
18356
|
strokeWidth: 1,
|
|
18272
18357
|
strokeDasharray: '8,3,1,3',
|
|
18273
18358
|
fill: 'none',
|
|
18274
18359
|
pointerEvents: 'none'
|
|
18275
|
-
});
|
|
18360
|
+
}, attrs);
|
|
18361
|
+
|
|
18362
|
+
var group = drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS, attrs);
|
|
18276
18363
|
|
|
18277
18364
|
return group;
|
|
18278
18365
|
},
|
|
18279
18366
|
'label': function(parentGfx, element) {
|
|
18280
18367
|
return renderExternalLabel(parentGfx, element);
|
|
18281
18368
|
},
|
|
18282
|
-
'bpmn:TextAnnotation': function(parentGfx, element) {
|
|
18283
|
-
var style = {
|
|
18369
|
+
'bpmn:TextAnnotation': function(parentGfx, element, attrs) {
|
|
18370
|
+
var style = assign({}, attrs, {
|
|
18284
18371
|
'fill': 'none',
|
|
18285
18372
|
'stroke': 'none'
|
|
18286
|
-
};
|
|
18373
|
+
});
|
|
18287
18374
|
|
|
18288
18375
|
var textElement = drawRect(parentGfx, element.width, element.height, 0, 0, style);
|
|
18289
18376
|
|
|
@@ -18298,9 +18385,10 @@
|
|
|
18298
18385
|
}
|
|
18299
18386
|
});
|
|
18300
18387
|
|
|
18301
|
-
|
|
18388
|
+
var pathAttrs = assign({
|
|
18302
18389
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18303
|
-
});
|
|
18390
|
+
}, attrs);
|
|
18391
|
+
drawPath(parentGfx, textPathData, pathAttrs);
|
|
18304
18392
|
|
|
18305
18393
|
var text = getSemantic(element).text || '';
|
|
18306
18394
|
renderLabel(parentGfx, text, {
|
|
@@ -18314,7 +18402,13 @@
|
|
|
18314
18402
|
|
|
18315
18403
|
return textElement;
|
|
18316
18404
|
},
|
|
18317
|
-
'ParticipantMultiplicityMarker': function(parentGfx, element) {
|
|
18405
|
+
'ParticipantMultiplicityMarker': function(parentGfx, element, attrs) {
|
|
18406
|
+
attrs = assign({
|
|
18407
|
+
strokeWidth: 2,
|
|
18408
|
+
fill: getFillColor(element, defaultFillColor),
|
|
18409
|
+
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18410
|
+
}, attrs);
|
|
18411
|
+
|
|
18318
18412
|
var markerPath = pathMap.getScaledPath('MARKER_PARALLEL', {
|
|
18319
18413
|
xScaleFactor: 1,
|
|
18320
18414
|
yScaleFactor: 1,
|
|
@@ -18326,18 +18420,15 @@
|
|
|
18326
18420
|
}
|
|
18327
18421
|
});
|
|
18328
18422
|
|
|
18329
|
-
drawMarker('participant-multiplicity', parentGfx, markerPath,
|
|
18330
|
-
strokeWidth: 2,
|
|
18331
|
-
fill: getFillColor(element, defaultFillColor),
|
|
18332
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18333
|
-
});
|
|
18423
|
+
drawMarker('participant-multiplicity', parentGfx, markerPath, attrs);
|
|
18334
18424
|
},
|
|
18335
|
-
'SubProcessMarker': function(parentGfx, element) {
|
|
18336
|
-
|
|
18337
|
-
strokeWidth: 1,
|
|
18425
|
+
'SubProcessMarker': function(parentGfx, element, attrs) {
|
|
18426
|
+
attrs = assign({
|
|
18338
18427
|
fill: getFillColor(element, defaultFillColor),
|
|
18339
18428
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18340
|
-
});
|
|
18429
|
+
}, attrs);
|
|
18430
|
+
|
|
18431
|
+
var markerRect = drawRect(parentGfx, 14, 14, 0, assign({ strokeWidth: 1 }, attrs));
|
|
18341
18432
|
|
|
18342
18433
|
// Process marker is placed in the middle of the box
|
|
18343
18434
|
// therefore fixed values can be used here
|
|
@@ -18354,12 +18445,14 @@
|
|
|
18354
18445
|
}
|
|
18355
18446
|
});
|
|
18356
18447
|
|
|
18357
|
-
drawMarker('sub-process', parentGfx, markerPath,
|
|
18448
|
+
drawMarker('sub-process', parentGfx, markerPath, attrs);
|
|
18449
|
+
},
|
|
18450
|
+
'ParallelMarker': function(parentGfx, element, attrs, position) {
|
|
18451
|
+
attrs = assign({
|
|
18358
18452
|
fill: getFillColor(element, defaultFillColor),
|
|
18359
18453
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18360
|
-
});
|
|
18361
|
-
|
|
18362
|
-
'ParallelMarker': function(parentGfx, element, position) {
|
|
18454
|
+
}, attrs);
|
|
18455
|
+
|
|
18363
18456
|
var markerPath = pathMap.getScaledPath('MARKER_PARALLEL', {
|
|
18364
18457
|
xScaleFactor: 1,
|
|
18365
18458
|
yScaleFactor: 1,
|
|
@@ -18371,12 +18464,13 @@
|
|
|
18371
18464
|
}
|
|
18372
18465
|
});
|
|
18373
18466
|
|
|
18374
|
-
drawMarker('parallel', parentGfx, markerPath,
|
|
18467
|
+
drawMarker('parallel', parentGfx, markerPath, attrs);
|
|
18468
|
+
},
|
|
18469
|
+
'SequentialMarker': function(parentGfx, element, attrs, position) {
|
|
18470
|
+
attrs = assign({
|
|
18375
18471
|
fill: getFillColor(element, defaultFillColor),
|
|
18376
18472
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18377
|
-
});
|
|
18378
|
-
},
|
|
18379
|
-
'SequentialMarker': function(parentGfx, element, position) {
|
|
18473
|
+
}, attrs);
|
|
18380
18474
|
var markerPath = pathMap.getScaledPath('MARKER_SEQUENTIAL', {
|
|
18381
18475
|
xScaleFactor: 1,
|
|
18382
18476
|
yScaleFactor: 1,
|
|
@@ -18388,12 +18482,15 @@
|
|
|
18388
18482
|
}
|
|
18389
18483
|
});
|
|
18390
18484
|
|
|
18391
|
-
drawMarker('sequential', parentGfx, markerPath,
|
|
18485
|
+
drawMarker('sequential', parentGfx, markerPath, attrs);
|
|
18486
|
+
},
|
|
18487
|
+
'CompensationMarker': function(parentGfx, element, attrs, position) {
|
|
18488
|
+
attrs = assign({
|
|
18489
|
+
strokeWidth: 1,
|
|
18392
18490
|
fill: getFillColor(element, defaultFillColor),
|
|
18393
18491
|
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18394
|
-
});
|
|
18395
|
-
|
|
18396
|
-
'CompensationMarker': function(parentGfx, element, position) {
|
|
18492
|
+
}, attrs);
|
|
18493
|
+
|
|
18397
18494
|
var markerMath = pathMap.getScaledPath('MARKER_COMPENSATION', {
|
|
18398
18495
|
xScaleFactor: 1,
|
|
18399
18496
|
yScaleFactor: 1,
|
|
@@ -18405,13 +18502,17 @@
|
|
|
18405
18502
|
}
|
|
18406
18503
|
});
|
|
18407
18504
|
|
|
18408
|
-
drawMarker('compensation', parentGfx, markerMath,
|
|
18505
|
+
drawMarker('compensation', parentGfx, markerMath, attrs);
|
|
18506
|
+
},
|
|
18507
|
+
'LoopMarker': function(parentGfx, element, attrs, position) {
|
|
18508
|
+
attrs = assign({
|
|
18409
18509
|
strokeWidth: 1,
|
|
18410
18510
|
fill: getFillColor(element, defaultFillColor),
|
|
18411
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18412
|
-
|
|
18413
|
-
|
|
18414
|
-
|
|
18511
|
+
stroke: getStrokeColor$1(element, defaultStrokeColor),
|
|
18512
|
+
strokeLinecap: 'round',
|
|
18513
|
+
strokeMiterlimit: 0.5
|
|
18514
|
+
}, attrs);
|
|
18515
|
+
|
|
18415
18516
|
var markerPath = pathMap.getScaledPath('MARKER_LOOP', {
|
|
18416
18517
|
xScaleFactor: 1,
|
|
18417
18518
|
yScaleFactor: 1,
|
|
@@ -18423,15 +18524,15 @@
|
|
|
18423
18524
|
}
|
|
18424
18525
|
});
|
|
18425
18526
|
|
|
18426
|
-
drawMarker('loop', parentGfx, markerPath,
|
|
18427
|
-
strokeWidth: 1,
|
|
18428
|
-
fill: getFillColor(element, defaultFillColor),
|
|
18429
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor),
|
|
18430
|
-
strokeLinecap: 'round',
|
|
18431
|
-
strokeMiterlimit: 0.5
|
|
18432
|
-
});
|
|
18527
|
+
drawMarker('loop', parentGfx, markerPath, attrs);
|
|
18433
18528
|
},
|
|
18434
|
-
'AdhocMarker': function(parentGfx, element, position) {
|
|
18529
|
+
'AdhocMarker': function(parentGfx, element, attrs, position) {
|
|
18530
|
+
attrs = assign({
|
|
18531
|
+
strokeWidth: 1,
|
|
18532
|
+
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
18533
|
+
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18534
|
+
}, attrs);
|
|
18535
|
+
|
|
18435
18536
|
var markerPath = pathMap.getScaledPath('MARKER_ADHOC', {
|
|
18436
18537
|
xScaleFactor: 1,
|
|
18437
18538
|
yScaleFactor: 1,
|
|
@@ -18443,15 +18544,11 @@
|
|
|
18443
18544
|
}
|
|
18444
18545
|
});
|
|
18445
18546
|
|
|
18446
|
-
drawMarker('adhoc', parentGfx, markerPath,
|
|
18447
|
-
strokeWidth: 1,
|
|
18448
|
-
fill: getStrokeColor$1(element, defaultStrokeColor),
|
|
18449
|
-
stroke: getStrokeColor$1(element, defaultStrokeColor)
|
|
18450
|
-
});
|
|
18547
|
+
drawMarker('adhoc', parentGfx, markerPath, attrs);
|
|
18451
18548
|
}
|
|
18452
18549
|
};
|
|
18453
18550
|
|
|
18454
|
-
function attachTaskMarkers(parentGfx, element, taskMarkers) {
|
|
18551
|
+
function attachTaskMarkers(parentGfx, element, attrs, taskMarkers) {
|
|
18455
18552
|
var obj = getSemantic(element);
|
|
18456
18553
|
|
|
18457
18554
|
var subprocess = taskMarkers && taskMarkers.indexOf('SubProcessMarker') !== -1;
|
|
@@ -18476,15 +18573,15 @@
|
|
|
18476
18573
|
}
|
|
18477
18574
|
|
|
18478
18575
|
forEach(taskMarkers, function(marker) {
|
|
18479
|
-
renderer(marker)(parentGfx, element, position);
|
|
18576
|
+
renderer(marker)(parentGfx, element, attrs, position);
|
|
18480
18577
|
});
|
|
18481
18578
|
|
|
18482
18579
|
if (obj.isForCompensation) {
|
|
18483
|
-
renderer('CompensationMarker')(parentGfx, element, position);
|
|
18580
|
+
renderer('CompensationMarker')(parentGfx, element, attrs, position);
|
|
18484
18581
|
}
|
|
18485
18582
|
|
|
18486
18583
|
if (obj.$type === 'bpmn:AdHocSubProcess') {
|
|
18487
|
-
renderer('AdhocMarker')(parentGfx, element, position);
|
|
18584
|
+
renderer('AdhocMarker')(parentGfx, element, attrs, position);
|
|
18488
18585
|
}
|
|
18489
18586
|
|
|
18490
18587
|
var loopCharacteristics = obj.loopCharacteristics,
|
|
@@ -18493,20 +18590,23 @@
|
|
|
18493
18590
|
if (loopCharacteristics) {
|
|
18494
18591
|
|
|
18495
18592
|
if (isSequential === undefined) {
|
|
18496
|
-
renderer('LoopMarker')(parentGfx, element, position);
|
|
18593
|
+
renderer('LoopMarker')(parentGfx, element, attrs, position);
|
|
18497
18594
|
}
|
|
18498
18595
|
|
|
18499
18596
|
if (isSequential === false) {
|
|
18500
|
-
renderer('ParallelMarker')(parentGfx, element, position);
|
|
18597
|
+
renderer('ParallelMarker')(parentGfx, element, attrs, position);
|
|
18501
18598
|
}
|
|
18502
18599
|
|
|
18503
18600
|
if (isSequential === true) {
|
|
18504
|
-
renderer('SequentialMarker')(parentGfx, element, position);
|
|
18601
|
+
renderer('SequentialMarker')(parentGfx, element, attrs, position);
|
|
18505
18602
|
}
|
|
18506
18603
|
}
|
|
18507
18604
|
}
|
|
18508
18605
|
|
|
18509
|
-
function renderDataItemCollection(parentGfx, element) {
|
|
18606
|
+
function renderDataItemCollection(parentGfx, element, attrs) {
|
|
18607
|
+
attrs = assign({
|
|
18608
|
+
strokeWidth: 2
|
|
18609
|
+
}, attrs);
|
|
18510
18610
|
|
|
18511
18611
|
var yPosition = (element.height - 18) / element.height;
|
|
18512
18612
|
|
|
@@ -18521,9 +18621,7 @@
|
|
|
18521
18621
|
}
|
|
18522
18622
|
});
|
|
18523
18623
|
|
|
18524
|
-
/* collection path */ drawPath(parentGfx, pathData,
|
|
18525
|
-
strokeWidth: 2
|
|
18526
|
-
});
|
|
18624
|
+
/* collection path */ drawPath(parentGfx, pathData, attrs);
|
|
18527
18625
|
}
|
|
18528
18626
|
|
|
18529
18627
|
|
|
@@ -18549,20 +18647,20 @@
|
|
|
18549
18647
|
return is$1(element, 'bpmn:BaseElement');
|
|
18550
18648
|
};
|
|
18551
18649
|
|
|
18552
|
-
BpmnRenderer.prototype.drawShape = function(parentGfx, element) {
|
|
18650
|
+
BpmnRenderer.prototype.drawShape = function(parentGfx, element, attrs) {
|
|
18553
18651
|
var type = element.type;
|
|
18554
18652
|
var h = this.handlers[type];
|
|
18555
18653
|
|
|
18556
18654
|
/* jshint -W040 */
|
|
18557
|
-
return h(parentGfx, element);
|
|
18655
|
+
return h(parentGfx, element, attrs);
|
|
18558
18656
|
};
|
|
18559
18657
|
|
|
18560
|
-
BpmnRenderer.prototype.drawConnection = function(parentGfx, element) {
|
|
18658
|
+
BpmnRenderer.prototype.drawConnection = function(parentGfx, element, attrs) {
|
|
18561
18659
|
var type = element.type;
|
|
18562
18660
|
var h = this.handlers[type];
|
|
18563
18661
|
|
|
18564
18662
|
/* jshint -W040 */
|
|
18565
|
-
return h(parentGfx, element);
|
|
18663
|
+
return h(parentGfx, element, attrs);
|
|
18566
18664
|
};
|
|
18567
18665
|
|
|
18568
18666
|
BpmnRenderer.prototype.getShapePath = function(element) {
|
|
@@ -19679,15 +19777,14 @@
|
|
|
19679
19777
|
* Returns the bounds of an elements label, parsed from the elements DI or
|
|
19680
19778
|
* generated from its bounds.
|
|
19681
19779
|
*
|
|
19682
|
-
* @param {
|
|
19780
|
+
* @param {BpmndDi} di
|
|
19683
19781
|
* @param {djs.model.Base} element
|
|
19684
19782
|
*/
|
|
19685
|
-
function getExternalLabelBounds(
|
|
19783
|
+
function getExternalLabelBounds(di, element) {
|
|
19686
19784
|
|
|
19687
19785
|
var mid,
|
|
19688
19786
|
size,
|
|
19689
19787
|
bounds,
|
|
19690
|
-
di = semantic.di,
|
|
19691
19788
|
label = di.label;
|
|
19692
19789
|
|
|
19693
19790
|
if (label && label.bounds) {
|
|
@@ -19719,17 +19816,18 @@
|
|
|
19719
19816
|
return element && !!element.labelTarget;
|
|
19720
19817
|
}
|
|
19721
19818
|
|
|
19722
|
-
function elementData(semantic, attrs) {
|
|
19819
|
+
function elementData(semantic, di, attrs) {
|
|
19723
19820
|
return assign({
|
|
19724
19821
|
id: semantic.id,
|
|
19725
19822
|
type: semantic.$type,
|
|
19726
|
-
businessObject: semantic
|
|
19823
|
+
businessObject: semantic,
|
|
19824
|
+
di: di
|
|
19727
19825
|
}, attrs);
|
|
19728
19826
|
}
|
|
19729
19827
|
|
|
19730
|
-
function getWaypoints(
|
|
19828
|
+
function getWaypoints(di, source, target) {
|
|
19731
19829
|
|
|
19732
|
-
var waypoints =
|
|
19830
|
+
var waypoints = di.waypoint;
|
|
19733
19831
|
|
|
19734
19832
|
if (!waypoints || waypoints.length < 2) {
|
|
19735
19833
|
return [ getMid(source), getMid(target) ];
|
|
@@ -19785,10 +19883,8 @@
|
|
|
19785
19883
|
* Add bpmn element (semantic) to the canvas onto the
|
|
19786
19884
|
* specified parent shape.
|
|
19787
19885
|
*/
|
|
19788
|
-
BpmnImporter.prototype.add = function(semantic, parentElement) {
|
|
19789
|
-
|
|
19790
|
-
var di = semantic.di,
|
|
19791
|
-
element,
|
|
19886
|
+
BpmnImporter.prototype.add = function(semantic, di, parentElement) {
|
|
19887
|
+
var element,
|
|
19792
19888
|
translate = this._translate,
|
|
19793
19889
|
hidden;
|
|
19794
19890
|
|
|
@@ -19796,25 +19892,31 @@
|
|
|
19796
19892
|
|
|
19797
19893
|
// ROOT ELEMENT
|
|
19798
19894
|
// handle the special case that we deal with a
|
|
19799
|
-
// invisible root element (process or collaboration)
|
|
19895
|
+
// invisible root element (process, subprocess or collaboration)
|
|
19800
19896
|
if (is$1(di, 'bpmndi:BPMNPlane')) {
|
|
19801
19897
|
|
|
19802
19898
|
// add a virtual element (not being drawn)
|
|
19803
|
-
element = this._elementFactory.createRoot(elementData(semantic));
|
|
19899
|
+
element = this._elementFactory.createRoot(elementData(semantic, di));
|
|
19804
19900
|
|
|
19805
|
-
|
|
19901
|
+
// for subprocesses, the id is already defined on the collapsed shape
|
|
19902
|
+
if (is$1(semantic, 'bpmn:SubProcess')) {
|
|
19903
|
+
element.id = element.id + '_plane';
|
|
19904
|
+
}
|
|
19905
|
+
|
|
19906
|
+
this._canvas.createPlane(semantic.id, element);
|
|
19806
19907
|
}
|
|
19807
19908
|
|
|
19808
19909
|
// SHAPE
|
|
19809
19910
|
else if (is$1(di, 'bpmndi:BPMNShape')) {
|
|
19810
19911
|
|
|
19811
|
-
var collapsed = !isExpanded(semantic),
|
|
19912
|
+
var collapsed = !isExpanded(semantic, di),
|
|
19812
19913
|
isFrame = isFrameElement(semantic);
|
|
19914
|
+
|
|
19813
19915
|
hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
|
|
19814
19916
|
|
|
19815
|
-
var bounds =
|
|
19917
|
+
var bounds = di.bounds;
|
|
19816
19918
|
|
|
19817
|
-
element = this._elementFactory.createShape(elementData(semantic, {
|
|
19919
|
+
element = this._elementFactory.createShape(elementData(semantic, di, {
|
|
19818
19920
|
collapsed: collapsed,
|
|
19819
19921
|
hidden: hidden,
|
|
19820
19922
|
x: Math.round(bounds.x),
|
|
@@ -19837,7 +19939,7 @@
|
|
|
19837
19939
|
|
|
19838
19940
|
// check whether data store is inside our outside of its semantic parent
|
|
19839
19941
|
if (!isPointInsideBBox$1(parentElement, getMid(bounds))) {
|
|
19840
|
-
parentElement = this._canvas.
|
|
19942
|
+
parentElement = this._canvas.findPlane(parentElement).rootElement;
|
|
19841
19943
|
}
|
|
19842
19944
|
}
|
|
19843
19945
|
|
|
@@ -19852,11 +19954,11 @@
|
|
|
19852
19954
|
|
|
19853
19955
|
hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
|
|
19854
19956
|
|
|
19855
|
-
element = this._elementFactory.createConnection(elementData(semantic, {
|
|
19957
|
+
element = this._elementFactory.createConnection(elementData(semantic, di, {
|
|
19856
19958
|
hidden: hidden,
|
|
19857
19959
|
source: source,
|
|
19858
19960
|
target: target,
|
|
19859
|
-
waypoints: getWaypoints(
|
|
19961
|
+
waypoints: getWaypoints(di, source, target)
|
|
19860
19962
|
}));
|
|
19861
19963
|
|
|
19862
19964
|
if (is$1(semantic, 'bpmn:DataAssociation')) {
|
|
@@ -19865,7 +19967,7 @@
|
|
|
19865
19967
|
// are rendered correctly across different "hacks" people
|
|
19866
19968
|
// love to model such as cross participant / sub process
|
|
19867
19969
|
// associations
|
|
19868
|
-
parentElement =
|
|
19970
|
+
parentElement = this._canvas.findPlane(parentElement).rootElement;
|
|
19869
19971
|
}
|
|
19870
19972
|
|
|
19871
19973
|
// insert sequence flows behind other flow nodes (cf. #727)
|
|
@@ -19883,7 +19985,7 @@
|
|
|
19883
19985
|
|
|
19884
19986
|
// (optional) LABEL
|
|
19885
19987
|
if (isLabelExternal(semantic) && getLabel(element)) {
|
|
19886
|
-
this.addLabel(semantic, element);
|
|
19988
|
+
this.addLabel(semantic, di, element);
|
|
19887
19989
|
}
|
|
19888
19990
|
|
|
19889
19991
|
|
|
@@ -19932,12 +20034,12 @@
|
|
|
19932
20034
|
/**
|
|
19933
20035
|
* add label for an element
|
|
19934
20036
|
*/
|
|
19935
|
-
BpmnImporter.prototype.addLabel = function(semantic, element) {
|
|
20037
|
+
BpmnImporter.prototype.addLabel = function(semantic, di, element) {
|
|
19936
20038
|
var bounds,
|
|
19937
20039
|
text,
|
|
19938
20040
|
label;
|
|
19939
20041
|
|
|
19940
|
-
bounds = getExternalLabelBounds(
|
|
20042
|
+
bounds = getExternalLabelBounds(di, element);
|
|
19941
20043
|
|
|
19942
20044
|
text = getLabel(element);
|
|
19943
20045
|
|
|
@@ -19947,7 +20049,7 @@
|
|
|
19947
20049
|
bounds = this._textRenderer.getExternalLabelBounds(bounds, text);
|
|
19948
20050
|
}
|
|
19949
20051
|
|
|
19950
|
-
label = this._elementFactory.createLabel(elementData(semantic, {
|
|
20052
|
+
label = this._elementFactory.createLabel(elementData(semantic, di, {
|
|
19951
20053
|
id: semantic.id + '_label',
|
|
19952
20054
|
labelTarget: element,
|
|
19953
20055
|
type: 'label',
|
|
@@ -21491,22 +21593,26 @@
|
|
|
21491
21593
|
|
|
21492
21594
|
Overlays.prototype._updateOverlayVisibilty = function(overlay, viewbox) {
|
|
21493
21595
|
var show = overlay.show,
|
|
21596
|
+
plane = overlay.plane,
|
|
21494
21597
|
minZoom = show && show.minZoom,
|
|
21495
21598
|
maxZoom = show && show.maxZoom,
|
|
21496
21599
|
htmlContainer = overlay.htmlContainer,
|
|
21600
|
+
activePlane = this._canvas.getActivePlane(),
|
|
21497
21601
|
visible = true;
|
|
21498
21602
|
|
|
21499
|
-
if (
|
|
21603
|
+
if (plane !== activePlane) {
|
|
21604
|
+
visible = false;
|
|
21605
|
+
} else if (show) {
|
|
21500
21606
|
if (
|
|
21501
21607
|
(isDefined(minZoom) && minZoom > viewbox.scale) ||
|
|
21502
21608
|
(isDefined(maxZoom) && maxZoom < viewbox.scale)
|
|
21503
21609
|
) {
|
|
21504
21610
|
visible = false;
|
|
21505
21611
|
}
|
|
21506
|
-
|
|
21507
|
-
setVisible$1(htmlContainer, visible);
|
|
21508
21612
|
}
|
|
21509
21613
|
|
|
21614
|
+
setVisible$1(htmlContainer, visible);
|
|
21615
|
+
|
|
21510
21616
|
this._updateOverlayScale(overlay, viewbox);
|
|
21511
21617
|
};
|
|
21512
21618
|
|
|
@@ -21677,6 +21783,544 @@
|
|
|
21677
21783
|
overlays: [ 'type', Overlays ]
|
|
21678
21784
|
};
|
|
21679
21785
|
|
|
21786
|
+
/**
|
|
21787
|
+
* Adds change support to the diagram, including
|
|
21788
|
+
*
|
|
21789
|
+
* <ul>
|
|
21790
|
+
* <li>redrawing shapes and connections on change</li>
|
|
21791
|
+
* </ul>
|
|
21792
|
+
*
|
|
21793
|
+
* @param {EventBus} eventBus
|
|
21794
|
+
* @param {Canvas} canvas
|
|
21795
|
+
* @param {ElementRegistry} elementRegistry
|
|
21796
|
+
* @param {GraphicsFactory} graphicsFactory
|
|
21797
|
+
*/
|
|
21798
|
+
function ChangeSupport(
|
|
21799
|
+
eventBus, canvas, elementRegistry,
|
|
21800
|
+
graphicsFactory) {
|
|
21801
|
+
|
|
21802
|
+
|
|
21803
|
+
// redraw shapes / connections on change
|
|
21804
|
+
|
|
21805
|
+
eventBus.on('element.changed', function(event) {
|
|
21806
|
+
|
|
21807
|
+
var element = event.element;
|
|
21808
|
+
|
|
21809
|
+
// element might have been deleted and replaced by new element with same ID
|
|
21810
|
+
// thus check for parent of element except for root element
|
|
21811
|
+
if (element.parent || element === canvas.getRootElement()) {
|
|
21812
|
+
event.gfx = elementRegistry.getGraphics(element);
|
|
21813
|
+
}
|
|
21814
|
+
|
|
21815
|
+
// shape + gfx may have been deleted
|
|
21816
|
+
if (!event.gfx) {
|
|
21817
|
+
return;
|
|
21818
|
+
}
|
|
21819
|
+
|
|
21820
|
+
eventBus.fire(getType(element) + '.changed', event);
|
|
21821
|
+
});
|
|
21822
|
+
|
|
21823
|
+
eventBus.on('elements.changed', function(event) {
|
|
21824
|
+
|
|
21825
|
+
var elements = event.elements;
|
|
21826
|
+
|
|
21827
|
+
elements.forEach(function(e) {
|
|
21828
|
+
eventBus.fire('element.changed', { element: e });
|
|
21829
|
+
});
|
|
21830
|
+
|
|
21831
|
+
graphicsFactory.updateContainments(elements);
|
|
21832
|
+
});
|
|
21833
|
+
|
|
21834
|
+
eventBus.on('shape.changed', function(event) {
|
|
21835
|
+
graphicsFactory.update('shape', event.element, event.gfx);
|
|
21836
|
+
});
|
|
21837
|
+
|
|
21838
|
+
eventBus.on('connection.changed', function(event) {
|
|
21839
|
+
graphicsFactory.update('connection', event.element, event.gfx);
|
|
21840
|
+
});
|
|
21841
|
+
}
|
|
21842
|
+
|
|
21843
|
+
ChangeSupport.$inject = [
|
|
21844
|
+
'eventBus',
|
|
21845
|
+
'canvas',
|
|
21846
|
+
'elementRegistry',
|
|
21847
|
+
'graphicsFactory'
|
|
21848
|
+
];
|
|
21849
|
+
|
|
21850
|
+
var ChangeSupportModule = {
|
|
21851
|
+
__init__: [ 'changeSupport'],
|
|
21852
|
+
changeSupport: [ 'type', ChangeSupport ]
|
|
21853
|
+
};
|
|
21854
|
+
|
|
21855
|
+
var css_escape = {exports: {}};
|
|
21856
|
+
|
|
21857
|
+
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */
|
|
21858
|
+
|
|
21859
|
+
(function (module, exports) {
|
|
21860
|
+
(function(root, factory) {
|
|
21861
|
+
// https://github.com/umdjs/umd/blob/master/returnExports.js
|
|
21862
|
+
{
|
|
21863
|
+
// For Node.js.
|
|
21864
|
+
module.exports = factory(root);
|
|
21865
|
+
}
|
|
21866
|
+
}(typeof commonjsGlobal != 'undefined' ? commonjsGlobal : commonjsGlobal, function(root) {
|
|
21867
|
+
|
|
21868
|
+
if (root.CSS && root.CSS.escape) {
|
|
21869
|
+
return root.CSS.escape;
|
|
21870
|
+
}
|
|
21871
|
+
|
|
21872
|
+
// https://drafts.csswg.org/cssom/#serialize-an-identifier
|
|
21873
|
+
var cssEscape = function(value) {
|
|
21874
|
+
if (arguments.length == 0) {
|
|
21875
|
+
throw new TypeError('`CSS.escape` requires an argument.');
|
|
21876
|
+
}
|
|
21877
|
+
var string = String(value);
|
|
21878
|
+
var length = string.length;
|
|
21879
|
+
var index = -1;
|
|
21880
|
+
var codeUnit;
|
|
21881
|
+
var result = '';
|
|
21882
|
+
var firstCodeUnit = string.charCodeAt(0);
|
|
21883
|
+
while (++index < length) {
|
|
21884
|
+
codeUnit = string.charCodeAt(index);
|
|
21885
|
+
// Note: there’s no need to special-case astral symbols, surrogate
|
|
21886
|
+
// pairs, or lone surrogates.
|
|
21887
|
+
|
|
21888
|
+
// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER
|
|
21889
|
+
// (U+FFFD).
|
|
21890
|
+
if (codeUnit == 0x0000) {
|
|
21891
|
+
result += '\uFFFD';
|
|
21892
|
+
continue;
|
|
21893
|
+
}
|
|
21894
|
+
|
|
21895
|
+
if (
|
|
21896
|
+
// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
|
|
21897
|
+
// U+007F, […]
|
|
21898
|
+
(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
|
|
21899
|
+
// If the character is the first character and is in the range [0-9]
|
|
21900
|
+
// (U+0030 to U+0039), […]
|
|
21901
|
+
(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
21902
|
+
// If the character is the second character and is in the range [0-9]
|
|
21903
|
+
// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
|
|
21904
|
+
(
|
|
21905
|
+
index == 1 &&
|
|
21906
|
+
codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
|
|
21907
|
+
firstCodeUnit == 0x002D
|
|
21908
|
+
)
|
|
21909
|
+
) {
|
|
21910
|
+
// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
|
|
21911
|
+
result += '\\' + codeUnit.toString(16) + ' ';
|
|
21912
|
+
continue;
|
|
21913
|
+
}
|
|
21914
|
+
|
|
21915
|
+
if (
|
|
21916
|
+
// If the character is the first character and is a `-` (U+002D), and
|
|
21917
|
+
// there is no second character, […]
|
|
21918
|
+
index == 0 &&
|
|
21919
|
+
length == 1 &&
|
|
21920
|
+
codeUnit == 0x002D
|
|
21921
|
+
) {
|
|
21922
|
+
result += '\\' + string.charAt(index);
|
|
21923
|
+
continue;
|
|
21924
|
+
}
|
|
21925
|
+
|
|
21926
|
+
// If the character is not handled by one of the above rules and is
|
|
21927
|
+
// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
|
|
21928
|
+
// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
|
|
21929
|
+
// U+005A), or [a-z] (U+0061 to U+007A), […]
|
|
21930
|
+
if (
|
|
21931
|
+
codeUnit >= 0x0080 ||
|
|
21932
|
+
codeUnit == 0x002D ||
|
|
21933
|
+
codeUnit == 0x005F ||
|
|
21934
|
+
codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
|
|
21935
|
+
codeUnit >= 0x0041 && codeUnit <= 0x005A ||
|
|
21936
|
+
codeUnit >= 0x0061 && codeUnit <= 0x007A
|
|
21937
|
+
) {
|
|
21938
|
+
// the character itself
|
|
21939
|
+
result += string.charAt(index);
|
|
21940
|
+
continue;
|
|
21941
|
+
}
|
|
21942
|
+
|
|
21943
|
+
// Otherwise, the escaped character.
|
|
21944
|
+
// https://drafts.csswg.org/cssom/#escape-a-character
|
|
21945
|
+
result += '\\' + string.charAt(index);
|
|
21946
|
+
|
|
21947
|
+
}
|
|
21948
|
+
return result;
|
|
21949
|
+
};
|
|
21950
|
+
|
|
21951
|
+
if (!root.CSS) {
|
|
21952
|
+
root.CSS = {};
|
|
21953
|
+
}
|
|
21954
|
+
|
|
21955
|
+
root.CSS.escape = cssEscape;
|
|
21956
|
+
return cssEscape;
|
|
21957
|
+
|
|
21958
|
+
}));
|
|
21959
|
+
}(css_escape));
|
|
21960
|
+
|
|
21961
|
+
var cssEscape = css_escape.exports;
|
|
21962
|
+
|
|
21963
|
+
var HTML_ESCAPE_MAP = {
|
|
21964
|
+
'&': '&',
|
|
21965
|
+
'<': '<',
|
|
21966
|
+
'>': '>',
|
|
21967
|
+
'"': '"',
|
|
21968
|
+
'\'': '''
|
|
21969
|
+
};
|
|
21970
|
+
|
|
21971
|
+
function escapeHTML(str) {
|
|
21972
|
+
str = '' + str;
|
|
21973
|
+
|
|
21974
|
+
return str && str.replace(/[&<>"']/g, function(match) {
|
|
21975
|
+
return HTML_ESCAPE_MAP[match];
|
|
21976
|
+
});
|
|
21977
|
+
}
|
|
21978
|
+
|
|
21979
|
+
var ARROW_DOWN_SVG = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M4.81801948,3.50735931 L10.4996894,9.1896894 L10.5,4 L12,4 L12,12 L4,12 L4,10.5 L9.6896894,10.4996894 L3.75735931,4.56801948 C3.46446609,4.27512627 3.46446609,3.80025253 3.75735931,3.50735931 C4.05025253,3.21446609 4.52512627,3.21446609 4.81801948,3.50735931 Z"/></svg>';
|
|
21980
|
+
|
|
21981
|
+
/**
|
|
21982
|
+
* Adds Overlays that allow switching planes on collapsed subprocesses.
|
|
21983
|
+
*
|
|
21984
|
+
* @param {eventBus} eventBus
|
|
21985
|
+
* @param {elementRegistry} elementRegistry
|
|
21986
|
+
* @param {overlays} overlays
|
|
21987
|
+
* @param {canvas} canvas
|
|
21988
|
+
*/
|
|
21989
|
+
function DrilldownOverlays(eventBus, elementRegistry, overlays, canvas) {
|
|
21990
|
+
var breadcrumbs = domify('<ul class="bjs-breadcrumbs djs-element-hidden"></ul>');
|
|
21991
|
+
var container = canvas.getContainer();
|
|
21992
|
+
container.appendChild(breadcrumbs);
|
|
21993
|
+
|
|
21994
|
+
function updateBreadcrumbs(plane) {
|
|
21995
|
+
var subProcess = elementRegistry.get(plane.name);
|
|
21996
|
+
var parents = getParentChain(subProcess);
|
|
21997
|
+
|
|
21998
|
+
var path = parents.map(function(el) {
|
|
21999
|
+
var title = escapeHTML(el.name || el.id);
|
|
22000
|
+
var link = domify('<li><span class="bjs-crumb"><a title="' + title + '">' + title + '</a></span></li>');
|
|
22001
|
+
|
|
22002
|
+
link.addEventListener('click', function() {
|
|
22003
|
+
if (canvas.getPlane(el.id)) {
|
|
22004
|
+
canvas.setActivePlane(el.id);
|
|
22005
|
+
} else {
|
|
22006
|
+
var plane = canvas.findPlane(el.id);
|
|
22007
|
+
canvas.setActivePlane(plane);
|
|
22008
|
+
}
|
|
22009
|
+
});
|
|
22010
|
+
|
|
22011
|
+
return link;
|
|
22012
|
+
});
|
|
22013
|
+
|
|
22014
|
+
breadcrumbs.innerHTML = '';
|
|
22015
|
+
|
|
22016
|
+
if (path.length > 1) {
|
|
22017
|
+
breadcrumbs.classList.remove('djs-element-hidden');
|
|
22018
|
+
} else {
|
|
22019
|
+
breadcrumbs.classList.add('djs-element-hidden');
|
|
22020
|
+
}
|
|
22021
|
+
|
|
22022
|
+
path.forEach(function(el) {
|
|
22023
|
+
breadcrumbs.appendChild(el);
|
|
22024
|
+
});
|
|
22025
|
+
}
|
|
22026
|
+
|
|
22027
|
+
eventBus.on('plane.set', function(event) {
|
|
22028
|
+
var plane = event.plane;
|
|
22029
|
+
|
|
22030
|
+
updateBreadcrumbs(plane);
|
|
22031
|
+
});
|
|
22032
|
+
|
|
22033
|
+
var createOverlay = function(element) {
|
|
22034
|
+
var html = domify('<button class="bjs-drilldown">' + ARROW_DOWN_SVG + '</button>');
|
|
22035
|
+
|
|
22036
|
+
html.addEventListener('click', function() {
|
|
22037
|
+
canvas.setActivePlane(element.id);
|
|
22038
|
+
});
|
|
22039
|
+
|
|
22040
|
+
overlays.add(element, {
|
|
22041
|
+
position: {
|
|
22042
|
+
bottom: -7,
|
|
22043
|
+
right: -8
|
|
22044
|
+
},
|
|
22045
|
+
html: html
|
|
22046
|
+
});
|
|
22047
|
+
};
|
|
22048
|
+
|
|
22049
|
+
var addOverlays = function(elements) {
|
|
22050
|
+
elements.forEach(function(element) {
|
|
22051
|
+
if (is$1(element, 'bpmn:SubProcess')
|
|
22052
|
+
&& element.collapsed
|
|
22053
|
+
&& canvas.getPlane(element.id)) {
|
|
22054
|
+
createOverlay(element);
|
|
22055
|
+
}
|
|
22056
|
+
});
|
|
22057
|
+
};
|
|
22058
|
+
|
|
22059
|
+
eventBus.on('import.done', function() {
|
|
22060
|
+
addOverlays(elementRegistry.filter(function(el) {
|
|
22061
|
+
return is$1(el, 'bpmn:SubProcess');
|
|
22062
|
+
}));
|
|
22063
|
+
});
|
|
22064
|
+
}
|
|
22065
|
+
|
|
22066
|
+
DrilldownOverlays.$inject = [ 'eventBus', 'elementRegistry', 'overlays', 'canvas' ];
|
|
22067
|
+
|
|
22068
|
+
|
|
22069
|
+
// helpers
|
|
22070
|
+
var getParentChain = function(child) {
|
|
22071
|
+
var bo = getBusinessObject(child);
|
|
22072
|
+
|
|
22073
|
+
var parents = [];
|
|
22074
|
+
|
|
22075
|
+
for (var element = bo; element; element = element.$parent) {
|
|
22076
|
+
if (is$1(element, 'bpmn:SubProcess') || is$1(element, 'bpmn:Process')) {
|
|
22077
|
+
parents.push(element);
|
|
22078
|
+
}
|
|
22079
|
+
}
|
|
22080
|
+
|
|
22081
|
+
return parents.reverse();
|
|
22082
|
+
};
|
|
22083
|
+
|
|
22084
|
+
/**
|
|
22085
|
+
* Move collapsed subprocesses into view when drilling down. Zoom and scroll
|
|
22086
|
+
* are saved in a session.
|
|
22087
|
+
*
|
|
22088
|
+
* @param {eventBus} eventBus
|
|
22089
|
+
* @param {canvas} canvas
|
|
22090
|
+
*/
|
|
22091
|
+
function DrilldownCentering(eventBus, canvas) {
|
|
22092
|
+
var currentPlane = 'base';
|
|
22093
|
+
var positionMap = {};
|
|
22094
|
+
|
|
22095
|
+
eventBus.on('plane.set', function(event) {
|
|
22096
|
+
var currentViewbox = canvas.viewbox();
|
|
22097
|
+
positionMap[currentPlane] = {
|
|
22098
|
+
x: currentViewbox.x,
|
|
22099
|
+
y: currentViewbox.y,
|
|
22100
|
+
zoom: currentViewbox.scale
|
|
22101
|
+
};
|
|
22102
|
+
|
|
22103
|
+
var planeId = event.plane.name;
|
|
22104
|
+
var storedViewbox = positionMap[planeId] || { x: 0, y: 0, zoom: 1 };
|
|
22105
|
+
|
|
22106
|
+
var dx = (currentViewbox.x - storedViewbox.x) * currentViewbox.scale,
|
|
22107
|
+
dy = (currentViewbox.y - storedViewbox.y) * currentViewbox.scale;
|
|
22108
|
+
|
|
22109
|
+
if (dx !== 0 || dy !== 0) {
|
|
22110
|
+
canvas.scroll({
|
|
22111
|
+
dx: dx,
|
|
22112
|
+
dy: dy
|
|
22113
|
+
});
|
|
22114
|
+
}
|
|
22115
|
+
|
|
22116
|
+
if (storedViewbox.zoom !== currentViewbox.scale) {
|
|
22117
|
+
canvas.zoom(storedViewbox.zoom, { x: 0, y: 0 });
|
|
22118
|
+
}
|
|
22119
|
+
|
|
22120
|
+
currentPlane = planeId;
|
|
22121
|
+
});
|
|
22122
|
+
}
|
|
22123
|
+
|
|
22124
|
+
DrilldownCentering.$inject = [ 'eventBus', 'canvas' ];
|
|
22125
|
+
|
|
22126
|
+
var DEFAULT_POSITION = {
|
|
22127
|
+
x: 180,
|
|
22128
|
+
y: 160
|
|
22129
|
+
};
|
|
22130
|
+
|
|
22131
|
+
/**
|
|
22132
|
+
* Hook into `import.render.start` and create new planes for diagrams with
|
|
22133
|
+
* collapsed subprocesses and all dis on the same plane.
|
|
22134
|
+
*
|
|
22135
|
+
* @param {eventBus} eventBus
|
|
22136
|
+
* @param {moddle} moddle
|
|
22137
|
+
*/
|
|
22138
|
+
function SubprocessCompatibility(eventBus, moddle) {
|
|
22139
|
+
this._eventBus = eventBus;
|
|
22140
|
+
this._moddle = moddle;
|
|
22141
|
+
|
|
22142
|
+
var self = this;
|
|
22143
|
+
|
|
22144
|
+
eventBus.on('import.render.start', 1500, function(e, context) {
|
|
22145
|
+
self.handleImport(context.definitions);
|
|
22146
|
+
});
|
|
22147
|
+
}
|
|
22148
|
+
|
|
22149
|
+
SubprocessCompatibility.prototype.handleImport = function(definitions) {
|
|
22150
|
+
if (!definitions.diagrams) {
|
|
22151
|
+
return;
|
|
22152
|
+
}
|
|
22153
|
+
|
|
22154
|
+
var self = this;
|
|
22155
|
+
this._definitions = definitions;
|
|
22156
|
+
this._processToDiagramMap = {};
|
|
22157
|
+
|
|
22158
|
+
definitions.diagrams.forEach(function(diagram) {
|
|
22159
|
+
if (!diagram.plane || !diagram.plane.bpmnElement) {
|
|
22160
|
+
return;
|
|
22161
|
+
}
|
|
22162
|
+
|
|
22163
|
+
self._processToDiagramMap[diagram.plane.bpmnElement.id] = diagram;
|
|
22164
|
+
});
|
|
22165
|
+
|
|
22166
|
+
var newDiagrams = [];
|
|
22167
|
+
definitions.diagrams.forEach(function(diagram) {
|
|
22168
|
+
var createdDiagrams = self.createNewDiagrams(diagram.plane);
|
|
22169
|
+
Array.prototype.push.apply(newDiagrams, createdDiagrams);
|
|
22170
|
+
});
|
|
22171
|
+
|
|
22172
|
+
newDiagrams.forEach(function(diagram) {
|
|
22173
|
+
self.movePlaneElementsToOrigin(diagram.plane);
|
|
22174
|
+
});
|
|
22175
|
+
};
|
|
22176
|
+
|
|
22177
|
+
|
|
22178
|
+
/**
|
|
22179
|
+
* Moves all DI elements from collapsed subprocesses to a new plane.
|
|
22180
|
+
*
|
|
22181
|
+
* @param {Object} plane
|
|
22182
|
+
* @return {Array} new diagrams created for the collapsed subprocesses
|
|
22183
|
+
*/
|
|
22184
|
+
SubprocessCompatibility.prototype.createNewDiagrams = function(plane) {
|
|
22185
|
+
var self = this;
|
|
22186
|
+
|
|
22187
|
+
var collapsedElements = [];
|
|
22188
|
+
var elementsToMove = [];
|
|
22189
|
+
|
|
22190
|
+
plane.get('planeElement').forEach(function(diElement) {
|
|
22191
|
+
var bo = diElement.bpmnElement;
|
|
22192
|
+
var parent = bo.$parent;
|
|
22193
|
+
|
|
22194
|
+
if (is$1(bo, 'bpmn:SubProcess') && !diElement.isExpanded) {
|
|
22195
|
+
collapsedElements.push(bo);
|
|
22196
|
+
}
|
|
22197
|
+
|
|
22198
|
+
if (is$1(parent, 'bpmn:SubProcess') && parent !== plane.bpmnElement) {
|
|
22199
|
+
|
|
22200
|
+
// don't change the array while we iterate over it
|
|
22201
|
+
elementsToMove.push({ diElement: diElement, parent: parent });
|
|
22202
|
+
}
|
|
22203
|
+
});
|
|
22204
|
+
|
|
22205
|
+
var newDiagrams = [];
|
|
22206
|
+
|
|
22207
|
+
elementsToMove.forEach(function(element) {
|
|
22208
|
+
var diElement = element.diElement;
|
|
22209
|
+
var parent = element.parent;
|
|
22210
|
+
|
|
22211
|
+
// parent is expanded, get nearest collapsed parent
|
|
22212
|
+
while (parent && !collapsedElements.includes(parent)) {
|
|
22213
|
+
parent = parent.$parent;
|
|
22214
|
+
}
|
|
22215
|
+
|
|
22216
|
+
// false positive, all parents are expanded
|
|
22217
|
+
if (!parent) {
|
|
22218
|
+
return;
|
|
22219
|
+
}
|
|
22220
|
+
|
|
22221
|
+
var diagram = self._processToDiagramMap[parent.id];
|
|
22222
|
+
if (!diagram) {
|
|
22223
|
+
diagram = self.createDiagram(parent);
|
|
22224
|
+
self._processToDiagramMap[parent.id] = diagram;
|
|
22225
|
+
newDiagrams.push(diagram);
|
|
22226
|
+
}
|
|
22227
|
+
|
|
22228
|
+
self.moveToDiPlane(diElement, diagram.plane);
|
|
22229
|
+
});
|
|
22230
|
+
|
|
22231
|
+
return newDiagrams;
|
|
22232
|
+
};
|
|
22233
|
+
|
|
22234
|
+
SubprocessCompatibility.prototype.movePlaneElementsToOrigin = function(plane) {
|
|
22235
|
+
var elements = plane.get('planeElement');
|
|
22236
|
+
|
|
22237
|
+
// get bounding box of all elements
|
|
22238
|
+
var planeBounds = getPlaneBounds(plane);
|
|
22239
|
+
|
|
22240
|
+
var offset = {
|
|
22241
|
+
x: planeBounds.x - DEFAULT_POSITION.x,
|
|
22242
|
+
y: planeBounds.y - DEFAULT_POSITION.y
|
|
22243
|
+
};
|
|
22244
|
+
|
|
22245
|
+
elements.forEach(function(diElement) {
|
|
22246
|
+
if (diElement.waypoint) {
|
|
22247
|
+
diElement.waypoint.forEach(function(waypoint) {
|
|
22248
|
+
waypoint.x = waypoint.x - offset.x;
|
|
22249
|
+
waypoint.y = waypoint.y - offset.y;
|
|
22250
|
+
});
|
|
22251
|
+
} else if (diElement.bounds) {
|
|
22252
|
+
diElement.bounds.x = diElement.bounds.x - offset.x;
|
|
22253
|
+
diElement.bounds.y = diElement.bounds.y - offset.y;
|
|
22254
|
+
}
|
|
22255
|
+
});
|
|
22256
|
+
};
|
|
22257
|
+
|
|
22258
|
+
|
|
22259
|
+
SubprocessCompatibility.prototype.moveToDiPlane = function(diElement, newPlane) {
|
|
22260
|
+
var containingDiagram = findRootDiagram(diElement);
|
|
22261
|
+
|
|
22262
|
+
// remove DI from old Plane and add it to the new one
|
|
22263
|
+
var parentPlaneElement = containingDiagram.plane.get('planeElement');
|
|
22264
|
+
parentPlaneElement.splice(parentPlaneElement.indexOf(diElement), 1);
|
|
22265
|
+
newPlane.get('planeElement').push(diElement);
|
|
22266
|
+
};
|
|
22267
|
+
|
|
22268
|
+
|
|
22269
|
+
SubprocessCompatibility.prototype.createDiagram = function(bo) {
|
|
22270
|
+
var plane = this._moddle.create('bpmndi:BPMNPlane', { bpmnElement: bo });
|
|
22271
|
+
var diagram = this._moddle.create('bpmndi:BPMNDiagram', {
|
|
22272
|
+
plane: plane
|
|
22273
|
+
});
|
|
22274
|
+
plane.$parent = diagram;
|
|
22275
|
+
plane.bpmnElement = bo;
|
|
22276
|
+
diagram.$parent = this._definitions;
|
|
22277
|
+
this._definitions.diagrams.push(diagram);
|
|
22278
|
+
return diagram;
|
|
22279
|
+
};
|
|
22280
|
+
|
|
22281
|
+
SubprocessCompatibility.$inject = [ 'eventBus', 'moddle' ];
|
|
22282
|
+
|
|
22283
|
+
|
|
22284
|
+
// helpers
|
|
22285
|
+
|
|
22286
|
+
function findRootDiagram(element) {
|
|
22287
|
+
if (is$1(element, 'bpmndi:BPMNDiagram')) {
|
|
22288
|
+
return element;
|
|
22289
|
+
} else {
|
|
22290
|
+
return findRootDiagram(element.$parent);
|
|
22291
|
+
}
|
|
22292
|
+
}
|
|
22293
|
+
|
|
22294
|
+
function getPlaneBounds(plane) {
|
|
22295
|
+
var planeTrbl = {
|
|
22296
|
+
top: Infinity,
|
|
22297
|
+
right: -Infinity,
|
|
22298
|
+
bottom: -Infinity,
|
|
22299
|
+
left: Infinity
|
|
22300
|
+
};
|
|
22301
|
+
|
|
22302
|
+
plane.planeElement.forEach(function(element) {
|
|
22303
|
+
if (!element.bounds) {
|
|
22304
|
+
return;
|
|
22305
|
+
}
|
|
22306
|
+
|
|
22307
|
+
var trbl = asTRBL(element.bounds);
|
|
22308
|
+
|
|
22309
|
+
planeTrbl.top = Math.min(trbl.top, planeTrbl.top);
|
|
22310
|
+
planeTrbl.left = Math.min(trbl.left, planeTrbl.left);
|
|
22311
|
+
});
|
|
22312
|
+
|
|
22313
|
+
return asBounds(planeTrbl);
|
|
22314
|
+
}
|
|
22315
|
+
|
|
22316
|
+
var DrilldownModdule = {
|
|
22317
|
+
__depends__: [ OverlaysModule, ChangeSupportModule ],
|
|
22318
|
+
__init__: [ 'drilldownOverlays', 'drilldownCentering', 'subprocessCompatibility'],
|
|
22319
|
+
drilldownOverlays: [ 'type', DrilldownOverlays ],
|
|
22320
|
+
drilldownCentering: [ 'type', DrilldownCentering ],
|
|
22321
|
+
subprocessCompatibility: [ 'type', SubprocessCompatibility ]
|
|
22322
|
+
};
|
|
22323
|
+
|
|
21680
22324
|
/**
|
|
21681
22325
|
* A viewer for BPMN 2.0 diagrams.
|
|
21682
22326
|
*
|
|
@@ -21735,7 +22379,8 @@
|
|
|
21735
22379
|
CoreModule,
|
|
21736
22380
|
translate,
|
|
21737
22381
|
SelectionModule,
|
|
21738
|
-
OverlaysModule
|
|
22382
|
+
OverlaysModule,
|
|
22383
|
+
DrilldownModdule
|
|
21739
22384
|
];
|
|
21740
22385
|
|
|
21741
22386
|
// default moddle extensions the viewer is composed of
|
|
@@ -28263,130 +28908,6 @@
|
|
|
28263
28908
|
calculateSegmentMoveRegion(segmentLengthYAxis);
|
|
28264
28909
|
}
|
|
28265
28910
|
|
|
28266
|
-
var css_escape = {exports: {}};
|
|
28267
|
-
|
|
28268
|
-
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */
|
|
28269
|
-
|
|
28270
|
-
(function (module, exports) {
|
|
28271
|
-
(function(root, factory) {
|
|
28272
|
-
// https://github.com/umdjs/umd/blob/master/returnExports.js
|
|
28273
|
-
{
|
|
28274
|
-
// For Node.js.
|
|
28275
|
-
module.exports = factory(root);
|
|
28276
|
-
}
|
|
28277
|
-
}(typeof commonjsGlobal != 'undefined' ? commonjsGlobal : commonjsGlobal, function(root) {
|
|
28278
|
-
|
|
28279
|
-
if (root.CSS && root.CSS.escape) {
|
|
28280
|
-
return root.CSS.escape;
|
|
28281
|
-
}
|
|
28282
|
-
|
|
28283
|
-
// https://drafts.csswg.org/cssom/#serialize-an-identifier
|
|
28284
|
-
var cssEscape = function(value) {
|
|
28285
|
-
if (arguments.length == 0) {
|
|
28286
|
-
throw new TypeError('`CSS.escape` requires an argument.');
|
|
28287
|
-
}
|
|
28288
|
-
var string = String(value);
|
|
28289
|
-
var length = string.length;
|
|
28290
|
-
var index = -1;
|
|
28291
|
-
var codeUnit;
|
|
28292
|
-
var result = '';
|
|
28293
|
-
var firstCodeUnit = string.charCodeAt(0);
|
|
28294
|
-
while (++index < length) {
|
|
28295
|
-
codeUnit = string.charCodeAt(index);
|
|
28296
|
-
// Note: there’s no need to special-case astral symbols, surrogate
|
|
28297
|
-
// pairs, or lone surrogates.
|
|
28298
|
-
|
|
28299
|
-
// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER
|
|
28300
|
-
// (U+FFFD).
|
|
28301
|
-
if (codeUnit == 0x0000) {
|
|
28302
|
-
result += '\uFFFD';
|
|
28303
|
-
continue;
|
|
28304
|
-
}
|
|
28305
|
-
|
|
28306
|
-
if (
|
|
28307
|
-
// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
|
|
28308
|
-
// U+007F, […]
|
|
28309
|
-
(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
|
|
28310
|
-
// If the character is the first character and is in the range [0-9]
|
|
28311
|
-
// (U+0030 to U+0039), […]
|
|
28312
|
-
(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
28313
|
-
// If the character is the second character and is in the range [0-9]
|
|
28314
|
-
// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
|
|
28315
|
-
(
|
|
28316
|
-
index == 1 &&
|
|
28317
|
-
codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
|
|
28318
|
-
firstCodeUnit == 0x002D
|
|
28319
|
-
)
|
|
28320
|
-
) {
|
|
28321
|
-
// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
|
|
28322
|
-
result += '\\' + codeUnit.toString(16) + ' ';
|
|
28323
|
-
continue;
|
|
28324
|
-
}
|
|
28325
|
-
|
|
28326
|
-
if (
|
|
28327
|
-
// If the character is the first character and is a `-` (U+002D), and
|
|
28328
|
-
// there is no second character, […]
|
|
28329
|
-
index == 0 &&
|
|
28330
|
-
length == 1 &&
|
|
28331
|
-
codeUnit == 0x002D
|
|
28332
|
-
) {
|
|
28333
|
-
result += '\\' + string.charAt(index);
|
|
28334
|
-
continue;
|
|
28335
|
-
}
|
|
28336
|
-
|
|
28337
|
-
// If the character is not handled by one of the above rules and is
|
|
28338
|
-
// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
|
|
28339
|
-
// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
|
|
28340
|
-
// U+005A), or [a-z] (U+0061 to U+007A), […]
|
|
28341
|
-
if (
|
|
28342
|
-
codeUnit >= 0x0080 ||
|
|
28343
|
-
codeUnit == 0x002D ||
|
|
28344
|
-
codeUnit == 0x005F ||
|
|
28345
|
-
codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
|
|
28346
|
-
codeUnit >= 0x0041 && codeUnit <= 0x005A ||
|
|
28347
|
-
codeUnit >= 0x0061 && codeUnit <= 0x007A
|
|
28348
|
-
) {
|
|
28349
|
-
// the character itself
|
|
28350
|
-
result += string.charAt(index);
|
|
28351
|
-
continue;
|
|
28352
|
-
}
|
|
28353
|
-
|
|
28354
|
-
// Otherwise, the escaped character.
|
|
28355
|
-
// https://drafts.csswg.org/cssom/#escape-a-character
|
|
28356
|
-
result += '\\' + string.charAt(index);
|
|
28357
|
-
|
|
28358
|
-
}
|
|
28359
|
-
return result;
|
|
28360
|
-
};
|
|
28361
|
-
|
|
28362
|
-
if (!root.CSS) {
|
|
28363
|
-
root.CSS = {};
|
|
28364
|
-
}
|
|
28365
|
-
|
|
28366
|
-
root.CSS.escape = cssEscape;
|
|
28367
|
-
return cssEscape;
|
|
28368
|
-
|
|
28369
|
-
}));
|
|
28370
|
-
}(css_escape));
|
|
28371
|
-
|
|
28372
|
-
var cssEscape = css_escape.exports;
|
|
28373
|
-
|
|
28374
|
-
var HTML_ESCAPE_MAP = {
|
|
28375
|
-
'&': '&',
|
|
28376
|
-
'<': '<',
|
|
28377
|
-
'>': '>',
|
|
28378
|
-
'"': '"',
|
|
28379
|
-
'\'': '''
|
|
28380
|
-
};
|
|
28381
|
-
|
|
28382
|
-
function escapeHTML(str) {
|
|
28383
|
-
str = '' + str;
|
|
28384
|
-
|
|
28385
|
-
return str && str.replace(/[&<>"']/g, function(match) {
|
|
28386
|
-
return HTML_ESCAPE_MAP[match];
|
|
28387
|
-
});
|
|
28388
|
-
}
|
|
28389
|
-
|
|
28390
28911
|
/**
|
|
28391
28912
|
* A service that adds editable bendpoints to connections.
|
|
28392
28913
|
*/
|
|
@@ -33447,23 +33968,13 @@
|
|
|
33447
33968
|
element = context.element;
|
|
33448
33969
|
|
|
33449
33970
|
var businessObject = descriptor.oldBusinessObject = getBusinessObject(element);
|
|
33971
|
+
var di = descriptor.oldDi = getDi(element);
|
|
33450
33972
|
|
|
33451
33973
|
descriptor.type = element.type;
|
|
33452
33974
|
|
|
33453
33975
|
copyProperties$1(businessObject, descriptor, 'name');
|
|
33454
33976
|
|
|
33455
|
-
|
|
33456
|
-
|
|
33457
|
-
// colors will be set to DI
|
|
33458
|
-
copyProperties$1(businessObject.di, descriptor.di, [
|
|
33459
|
-
'fill',
|
|
33460
|
-
'stroke',
|
|
33461
|
-
'background-color',
|
|
33462
|
-
'border-color',
|
|
33463
|
-
'color'
|
|
33464
|
-
]);
|
|
33465
|
-
|
|
33466
|
-
copyProperties$1(businessObject.di, descriptor, 'isExpanded');
|
|
33977
|
+
copyProperties$1(di, descriptor, 'isExpanded');
|
|
33467
33978
|
|
|
33468
33979
|
if (isLabel$3(descriptor)) {
|
|
33469
33980
|
return descriptor;
|
|
@@ -33537,11 +34048,13 @@
|
|
|
33537
34048
|
var cache = context.cache,
|
|
33538
34049
|
descriptor = context.descriptor,
|
|
33539
34050
|
oldBusinessObject = descriptor.oldBusinessObject,
|
|
33540
|
-
|
|
34051
|
+
oldDi = descriptor.oldDi,
|
|
34052
|
+
newBusinessObject, newDi;
|
|
33541
34053
|
|
|
33542
34054
|
// do NOT copy business object if external label
|
|
33543
34055
|
if (isLabel$3(descriptor)) {
|
|
33544
34056
|
descriptor.businessObject = getBusinessObject(cache[ descriptor.labelTarget ]);
|
|
34057
|
+
descriptor.di = getDi(cache[ descriptor.labelTarget ]);
|
|
33545
34058
|
|
|
33546
34059
|
return;
|
|
33547
34060
|
}
|
|
@@ -33553,6 +34066,13 @@
|
|
|
33553
34066
|
newBusinessObject
|
|
33554
34067
|
);
|
|
33555
34068
|
|
|
34069
|
+
newDi = bpmnFactory.create(oldDi.$type);
|
|
34070
|
+
|
|
34071
|
+
descriptor.di = moddleCopy.copyElement(
|
|
34072
|
+
oldDi,
|
|
34073
|
+
newDi
|
|
34074
|
+
);
|
|
34075
|
+
|
|
33556
34076
|
// resolve references e.g. default sequence flow
|
|
33557
34077
|
resolveReferences(descriptor, cache);
|
|
33558
34078
|
|
|
@@ -33789,9 +34309,9 @@
|
|
|
33789
34309
|
return;
|
|
33790
34310
|
}
|
|
33791
34311
|
|
|
33792
|
-
//
|
|
33793
|
-
if (propertyDescriptor.isId
|
|
33794
|
-
return;
|
|
34312
|
+
// copy id
|
|
34313
|
+
if (propertyDescriptor.isId) {
|
|
34314
|
+
return this._copyId(property, parent);
|
|
33795
34315
|
}
|
|
33796
34316
|
|
|
33797
34317
|
// copy arrays
|
|
@@ -33832,6 +34352,18 @@
|
|
|
33832
34352
|
return property;
|
|
33833
34353
|
};
|
|
33834
34354
|
|
|
34355
|
+
ModdleCopy.prototype._copyId = function(id, element) {
|
|
34356
|
+
|
|
34357
|
+
// disallow if already taken
|
|
34358
|
+
if (this._moddle.ids.assigned(id)) {
|
|
34359
|
+
return;
|
|
34360
|
+
} else {
|
|
34361
|
+
|
|
34362
|
+
this._moddle.ids.claim(id, element);
|
|
34363
|
+
return id;
|
|
34364
|
+
}
|
|
34365
|
+
};
|
|
34366
|
+
|
|
33835
34367
|
// helpers //////////
|
|
33836
34368
|
|
|
33837
34369
|
function getPropertyNames(descriptor, keepDefaultProperties) {
|
|
@@ -33932,6 +34464,7 @@
|
|
|
33932
34464
|
});
|
|
33933
34465
|
}
|
|
33934
34466
|
|
|
34467
|
+
|
|
33935
34468
|
var CUSTOM_PROPERTIES = [
|
|
33936
34469
|
'cancelActivity',
|
|
33937
34470
|
'instantiate',
|
|
@@ -33940,8 +34473,10 @@
|
|
|
33940
34473
|
'isInterrupting'
|
|
33941
34474
|
];
|
|
33942
34475
|
|
|
33943
|
-
|
|
33944
|
-
|
|
34476
|
+
/**
|
|
34477
|
+
* Check if element should be collapsed or expanded.
|
|
34478
|
+
*/
|
|
34479
|
+
function shouldToggleCollapsed(element, targetElement) {
|
|
33945
34480
|
|
|
33946
34481
|
var oldCollapsed = (
|
|
33947
34482
|
element && has(element, 'collapsed') ? element.collapsed : !isExpanded(element)
|
|
@@ -33949,11 +34484,11 @@
|
|
|
33949
34484
|
|
|
33950
34485
|
var targetCollapsed;
|
|
33951
34486
|
|
|
33952
|
-
if (
|
|
34487
|
+
if (targetElement && (has(targetElement, 'collapsed') || has(targetElement, 'isExpanded'))) {
|
|
33953
34488
|
|
|
33954
34489
|
// property is explicitly set so use it
|
|
33955
34490
|
targetCollapsed = (
|
|
33956
|
-
has(
|
|
34491
|
+
has(targetElement, 'collapsed') ? targetElement.collapsed : !targetElement.isExpanded
|
|
33957
34492
|
);
|
|
33958
34493
|
} else {
|
|
33959
34494
|
|
|
@@ -33962,7 +34497,6 @@
|
|
|
33962
34497
|
}
|
|
33963
34498
|
|
|
33964
34499
|
if (oldCollapsed !== targetCollapsed) {
|
|
33965
|
-
element.collapsed = oldCollapsed;
|
|
33966
34500
|
return true;
|
|
33967
34501
|
}
|
|
33968
34502
|
|
|
@@ -33970,7 +34504,6 @@
|
|
|
33970
34504
|
}
|
|
33971
34505
|
|
|
33972
34506
|
|
|
33973
|
-
|
|
33974
34507
|
/**
|
|
33975
34508
|
* This module takes care of replacing BPMN elements
|
|
33976
34509
|
*/
|
|
@@ -34001,15 +34534,13 @@
|
|
|
34001
34534
|
var type = target.type,
|
|
34002
34535
|
oldBusinessObject = element.businessObject;
|
|
34003
34536
|
|
|
34004
|
-
if (isSubProcess(oldBusinessObject)) {
|
|
34005
|
-
if (
|
|
34006
|
-
if (toggeling(element, target)) {
|
|
34537
|
+
if (isSubProcess(oldBusinessObject) && type === 'bpmn:SubProcess') {
|
|
34538
|
+
if (shouldToggleCollapsed(element, target)) {
|
|
34007
34539
|
|
|
34008
|
-
|
|
34009
|
-
|
|
34540
|
+
// expanding or collapsing process
|
|
34541
|
+
modeling.toggleCollapse(element);
|
|
34010
34542
|
|
|
34011
|
-
|
|
34012
|
-
}
|
|
34543
|
+
return element;
|
|
34013
34544
|
}
|
|
34014
34545
|
}
|
|
34015
34546
|
|
|
@@ -34017,9 +34548,20 @@
|
|
|
34017
34548
|
|
|
34018
34549
|
var newElement = {
|
|
34019
34550
|
type: type,
|
|
34020
|
-
businessObject: newBusinessObject
|
|
34551
|
+
businessObject: newBusinessObject,
|
|
34021
34552
|
};
|
|
34022
34553
|
|
|
34554
|
+
newElement.di = {};
|
|
34555
|
+
|
|
34556
|
+
// colors will be set to DI
|
|
34557
|
+
copyProperties(element.di, newElement.di, [
|
|
34558
|
+
'fill',
|
|
34559
|
+
'stroke',
|
|
34560
|
+
'background-color',
|
|
34561
|
+
'border-color',
|
|
34562
|
+
'color'
|
|
34563
|
+
]);
|
|
34564
|
+
|
|
34023
34565
|
var elementProps = getPropertyNames(oldBusinessObject.$descriptor),
|
|
34024
34566
|
newElementProps = getPropertyNames(newBusinessObject.$descriptor, true),
|
|
34025
34567
|
copyProps = intersection(elementProps, newElementProps);
|
|
@@ -34079,7 +34621,7 @@
|
|
|
34079
34621
|
if (isSubProcess(oldBusinessObject)) {
|
|
34080
34622
|
|
|
34081
34623
|
// no toggeling, so keep old state
|
|
34082
|
-
newElement.isExpanded = isExpanded(
|
|
34624
|
+
newElement.isExpanded = isExpanded(element);
|
|
34083
34625
|
}
|
|
34084
34626
|
|
|
34085
34627
|
// else if property is explicitly set, use it
|
|
@@ -34090,7 +34632,7 @@
|
|
|
34090
34632
|
// TODO: need also to respect min/max Size
|
|
34091
34633
|
// copy size, from an expanded subprocess to an expanded alternative subprocess
|
|
34092
34634
|
// except bpmn:Task, because Task is always expanded
|
|
34093
|
-
if ((isExpanded(
|
|
34635
|
+
if ((isExpanded(element) && !is$1(oldBusinessObject, 'bpmn:Task')) && newElement.isExpanded) {
|
|
34094
34636
|
newElement.width = element.width;
|
|
34095
34637
|
newElement.height = element.height;
|
|
34096
34638
|
}
|
|
@@ -34115,12 +34657,12 @@
|
|
|
34115
34657
|
|
|
34116
34658
|
// apply same width and default height
|
|
34117
34659
|
newElement.width = element.width;
|
|
34118
|
-
newElement.height = elementFactory.
|
|
34660
|
+
newElement.height = elementFactory.getDefaultSize(newElement).height;
|
|
34119
34661
|
}
|
|
34120
34662
|
|
|
34121
34663
|
if (!rules.allowed('shape.resize', { shape: newBusinessObject })) {
|
|
34122
|
-
newElement.height = elementFactory.
|
|
34123
|
-
newElement.width = elementFactory.
|
|
34664
|
+
newElement.height = elementFactory.getDefaultSize(newElement).height;
|
|
34665
|
+
newElement.width = elementFactory.getDefaultSize(newElement).width;
|
|
34124
34666
|
}
|
|
34125
34667
|
|
|
34126
34668
|
newBusinessObject.name = oldBusinessObject.name;
|
|
@@ -34158,16 +34700,6 @@
|
|
|
34158
34700
|
newElement.x = element.x + (element.width - newElement.width) / 2;
|
|
34159
34701
|
}
|
|
34160
34702
|
|
|
34161
|
-
newElement.di = {};
|
|
34162
|
-
|
|
34163
|
-
// colors will be set to DI
|
|
34164
|
-
copyProperties(oldBusinessObject.di, newElement.di, [
|
|
34165
|
-
'fill',
|
|
34166
|
-
'stroke',
|
|
34167
|
-
'background-color',
|
|
34168
|
-
'border-color',
|
|
34169
|
-
'color'
|
|
34170
|
-
]);
|
|
34171
34703
|
|
|
34172
34704
|
newElement = replace.replaceElement(element, newElement, hints);
|
|
34173
34705
|
|
|
@@ -34252,7 +34784,7 @@
|
|
|
34252
34784
|
|
|
34253
34785
|
var isExpandedEqual = (
|
|
34254
34786
|
target.isExpanded === undefined ||
|
|
34255
|
-
target.isExpanded === isExpanded(
|
|
34787
|
+
target.isExpanded === isExpanded(element)
|
|
34256
34788
|
);
|
|
34257
34789
|
|
|
34258
34790
|
return !isTypeEqual || !isEventDefinitionEqual || !isTriggeredByEventEqual || !isExpandedEqual;
|
|
@@ -35189,7 +35721,7 @@
|
|
|
35189
35721
|
if (is$1(businessObject, 'bpmn:Participant')) {
|
|
35190
35722
|
|
|
35191
35723
|
entries = filter(PARTICIPANT, function(entry) {
|
|
35192
|
-
return isExpanded(
|
|
35724
|
+
return isExpanded(element) !== entry.target.isExpanded;
|
|
35193
35725
|
});
|
|
35194
35726
|
|
|
35195
35727
|
return this._createEntries(element, entries);
|
|
@@ -35285,7 +35817,7 @@
|
|
|
35285
35817
|
}
|
|
35286
35818
|
|
|
35287
35819
|
// expanded event sub processes
|
|
35288
|
-
if (isEventSubProcess(businessObject) && isExpanded(
|
|
35820
|
+
if (isEventSubProcess(businessObject) && isExpanded(element)) {
|
|
35289
35821
|
|
|
35290
35822
|
entries = filter(EVENT_SUB_PROCESS, differentType);
|
|
35291
35823
|
|
|
@@ -35293,7 +35825,7 @@
|
|
|
35293
35825
|
}
|
|
35294
35826
|
|
|
35295
35827
|
// expanded sub processes
|
|
35296
|
-
if (is$1(businessObject, 'bpmn:SubProcess') && isExpanded(
|
|
35828
|
+
if (is$1(businessObject, 'bpmn:SubProcess') && isExpanded(element)) {
|
|
35297
35829
|
|
|
35298
35830
|
entries = filter(SUBPROCESS_EXPANDED, differentType);
|
|
35299
35831
|
|
|
@@ -35301,7 +35833,7 @@
|
|
|
35301
35833
|
}
|
|
35302
35834
|
|
|
35303
35835
|
// collapsed ad hoc sub processes
|
|
35304
|
-
if (is$1(businessObject, 'bpmn:AdHocSubProcess') && !isExpanded(
|
|
35836
|
+
if (is$1(businessObject, 'bpmn:AdHocSubProcess') && !isExpanded(element)) {
|
|
35305
35837
|
|
|
35306
35838
|
entries = filter(TASK, function(entry) {
|
|
35307
35839
|
|
|
@@ -35327,7 +35859,7 @@
|
|
|
35327
35859
|
entries = filter(TASK, differentType);
|
|
35328
35860
|
|
|
35329
35861
|
// collapsed SubProcess can not be replaced with itself
|
|
35330
|
-
if (is$1(businessObject, 'bpmn:SubProcess') && !isExpanded(
|
|
35862
|
+
if (is$1(businessObject, 'bpmn:SubProcess') && !isExpanded(element)) {
|
|
35331
35863
|
entries = filter(entries, function(entry) {
|
|
35332
35864
|
return entry.label !== 'Sub Process (collapsed)';
|
|
35333
35865
|
});
|
|
@@ -36233,7 +36765,7 @@
|
|
|
36233
36765
|
}
|
|
36234
36766
|
|
|
36235
36767
|
|
|
36236
|
-
if (isAny(businessObject, [ 'bpmn:Lane', 'bpmn:Participant' ]) && isExpanded(
|
|
36768
|
+
if (isAny(businessObject, [ 'bpmn:Lane', 'bpmn:Participant' ]) && isExpanded(element)) {
|
|
36237
36769
|
|
|
36238
36770
|
var childLanes = getChildLanes(element);
|
|
36239
36771
|
|
|
@@ -38460,75 +38992,6 @@
|
|
|
38460
38992
|
keyboardMoveSelection: [ 'type', KeyboardMoveSelection ]
|
|
38461
38993
|
};
|
|
38462
38994
|
|
|
38463
|
-
/**
|
|
38464
|
-
* Adds change support to the diagram, including
|
|
38465
|
-
*
|
|
38466
|
-
* <ul>
|
|
38467
|
-
* <li>redrawing shapes and connections on change</li>
|
|
38468
|
-
* </ul>
|
|
38469
|
-
*
|
|
38470
|
-
* @param {EventBus} eventBus
|
|
38471
|
-
* @param {Canvas} canvas
|
|
38472
|
-
* @param {ElementRegistry} elementRegistry
|
|
38473
|
-
* @param {GraphicsFactory} graphicsFactory
|
|
38474
|
-
*/
|
|
38475
|
-
function ChangeSupport(
|
|
38476
|
-
eventBus, canvas, elementRegistry,
|
|
38477
|
-
graphicsFactory) {
|
|
38478
|
-
|
|
38479
|
-
|
|
38480
|
-
// redraw shapes / connections on change
|
|
38481
|
-
|
|
38482
|
-
eventBus.on('element.changed', function(event) {
|
|
38483
|
-
|
|
38484
|
-
var element = event.element;
|
|
38485
|
-
|
|
38486
|
-
// element might have been deleted and replaced by new element with same ID
|
|
38487
|
-
// thus check for parent of element except for root element
|
|
38488
|
-
if (element.parent || element === canvas.getRootElement()) {
|
|
38489
|
-
event.gfx = elementRegistry.getGraphics(element);
|
|
38490
|
-
}
|
|
38491
|
-
|
|
38492
|
-
// shape + gfx may have been deleted
|
|
38493
|
-
if (!event.gfx) {
|
|
38494
|
-
return;
|
|
38495
|
-
}
|
|
38496
|
-
|
|
38497
|
-
eventBus.fire(getType(element) + '.changed', event);
|
|
38498
|
-
});
|
|
38499
|
-
|
|
38500
|
-
eventBus.on('elements.changed', function(event) {
|
|
38501
|
-
|
|
38502
|
-
var elements = event.elements;
|
|
38503
|
-
|
|
38504
|
-
elements.forEach(function(e) {
|
|
38505
|
-
eventBus.fire('element.changed', { element: e });
|
|
38506
|
-
});
|
|
38507
|
-
|
|
38508
|
-
graphicsFactory.updateContainments(elements);
|
|
38509
|
-
});
|
|
38510
|
-
|
|
38511
|
-
eventBus.on('shape.changed', function(event) {
|
|
38512
|
-
graphicsFactory.update('shape', event.element, event.gfx);
|
|
38513
|
-
});
|
|
38514
|
-
|
|
38515
|
-
eventBus.on('connection.changed', function(event) {
|
|
38516
|
-
graphicsFactory.update('connection', event.element, event.gfx);
|
|
38517
|
-
});
|
|
38518
|
-
}
|
|
38519
|
-
|
|
38520
|
-
ChangeSupport.$inject = [
|
|
38521
|
-
'eventBus',
|
|
38522
|
-
'canvas',
|
|
38523
|
-
'elementRegistry',
|
|
38524
|
-
'graphicsFactory'
|
|
38525
|
-
];
|
|
38526
|
-
|
|
38527
|
-
var ChangeSupportModule = {
|
|
38528
|
-
__init__: [ 'changeSupport'],
|
|
38529
|
-
changeSupport: [ 'type', ChangeSupport ]
|
|
38530
|
-
};
|
|
38531
|
-
|
|
38532
38995
|
var DEFAULT_MIN_WIDTH = 10;
|
|
38533
38996
|
|
|
38534
38997
|
|
|
@@ -39620,9 +40083,9 @@
|
|
|
39620
40083
|
// helpers ///////////////////
|
|
39621
40084
|
|
|
39622
40085
|
function getStrokeColor(element, defaultColor) {
|
|
39623
|
-
var
|
|
40086
|
+
var di = getDi(element);
|
|
39624
40087
|
|
|
39625
|
-
return
|
|
40088
|
+
return di.get('stroke') || defaultColor || 'black';
|
|
39626
40089
|
}
|
|
39627
40090
|
|
|
39628
40091
|
var LabelEditingModule = {
|
|
@@ -40833,21 +41296,23 @@
|
|
|
40833
41296
|
|
|
40834
41297
|
UpdateSemanticParentHandler.prototype.execute = function(context) {
|
|
40835
41298
|
var dataStoreBo = context.dataStoreBo,
|
|
41299
|
+
dataStoreDi = context.dataStoreDi,
|
|
40836
41300
|
newSemanticParent = context.newSemanticParent,
|
|
40837
41301
|
newDiParent = context.newDiParent;
|
|
40838
41302
|
|
|
40839
41303
|
context.oldSemanticParent = dataStoreBo.$parent;
|
|
40840
|
-
context.oldDiParent =
|
|
41304
|
+
context.oldDiParent = dataStoreDi.$parent;
|
|
40841
41305
|
|
|
40842
41306
|
// update semantic parent
|
|
40843
41307
|
this._bpmnUpdater.updateSemanticParent(dataStoreBo, newSemanticParent);
|
|
40844
41308
|
|
|
40845
41309
|
// update DI parent
|
|
40846
|
-
this._bpmnUpdater.updateDiParent(
|
|
41310
|
+
this._bpmnUpdater.updateDiParent(dataStoreDi, newDiParent);
|
|
40847
41311
|
};
|
|
40848
41312
|
|
|
40849
41313
|
UpdateSemanticParentHandler.prototype.revert = function(context) {
|
|
40850
41314
|
var dataStoreBo = context.dataStoreBo,
|
|
41315
|
+
dataStoreDi = context.dataStoreDi,
|
|
40851
41316
|
oldSemanticParent = context.oldSemanticParent,
|
|
40852
41317
|
oldDiParent = context.oldDiParent;
|
|
40853
41318
|
|
|
@@ -40855,7 +41320,7 @@
|
|
|
40855
41320
|
this._bpmnUpdater.updateSemanticParent(dataStoreBo, oldSemanticParent);
|
|
40856
41321
|
|
|
40857
41322
|
// update DI parent
|
|
40858
|
-
this._bpmnUpdater.updateDiParent(
|
|
41323
|
+
this._bpmnUpdater.updateDiParent(dataStoreDi, oldDiParent);
|
|
40859
41324
|
};
|
|
40860
41325
|
|
|
40861
41326
|
/**
|
|
@@ -40891,8 +41356,9 @@
|
|
|
40891
41356
|
|
|
40892
41357
|
commandStack.execute('dataStore.updateContainment', {
|
|
40893
41358
|
dataStoreBo: dataStoreBo,
|
|
41359
|
+
dataStoreDi: getDi(dataStore),
|
|
40894
41360
|
newSemanticParent: newDataStoreParentBo.processRef || newDataStoreParentBo,
|
|
40895
|
-
newDiParent:
|
|
41361
|
+
newDiParent: getDi(newDataStoreParent)
|
|
40896
41362
|
});
|
|
40897
41363
|
}
|
|
40898
41364
|
}
|
|
@@ -41832,12 +42298,14 @@
|
|
|
41832
42298
|
];
|
|
41833
42299
|
|
|
41834
42300
|
this.executed([ 'shape.move', 'shape.create', 'shape.resize' ], function(event) {
|
|
41835
|
-
var
|
|
42301
|
+
var shape = event.context.shape,
|
|
42302
|
+
bo = getBusinessObject(shape),
|
|
42303
|
+
di = getDi(shape);
|
|
41836
42304
|
|
|
41837
|
-
if (isAny(bo, elementTypesToUpdate) && !
|
|
42305
|
+
if (isAny(bo, elementTypesToUpdate) && !di.get('isHorizontal')) {
|
|
41838
42306
|
|
|
41839
42307
|
// set attribute directly to avoid modeling#updateProperty side effects
|
|
41840
|
-
|
|
42308
|
+
di.set('isHorizontal', true);
|
|
41841
42309
|
}
|
|
41842
42310
|
});
|
|
41843
42311
|
|
|
@@ -42643,27 +43111,27 @@
|
|
|
42643
43111
|
|
|
42644
43112
|
var context = event.context,
|
|
42645
43113
|
element = context.shape,
|
|
42646
|
-
|
|
43114
|
+
labelTarget = context.labelTarget,
|
|
42647
43115
|
di;
|
|
42648
43116
|
|
|
42649
43117
|
// we want to trigger on real labels only
|
|
42650
|
-
if (!
|
|
43118
|
+
if (!labelTarget) {
|
|
42651
43119
|
return;
|
|
42652
43120
|
}
|
|
42653
43121
|
|
|
42654
43122
|
// we want to trigger on BPMN elements only
|
|
42655
|
-
if (!is$1(
|
|
43123
|
+
if (!is$1(labelTarget, 'bpmn:BaseElement')) {
|
|
42656
43124
|
return;
|
|
42657
43125
|
}
|
|
42658
43126
|
|
|
42659
|
-
|
|
42660
|
-
di = businessObject.di;
|
|
42661
|
-
|
|
43127
|
+
di = getDi(labelTarget);
|
|
42662
43128
|
|
|
42663
43129
|
if (!di.label) {
|
|
42664
43130
|
di.label = bpmnFactory.create('bpmndi:BPMNLabel', {
|
|
42665
43131
|
bounds: bpmnFactory.create('dc:Bounds')
|
|
42666
43132
|
});
|
|
43133
|
+
|
|
43134
|
+
element.di = di;
|
|
42667
43135
|
}
|
|
42668
43136
|
|
|
42669
43137
|
assign(di.label.bounds, {
|
|
@@ -43949,11 +44417,11 @@
|
|
|
43949
44417
|
hideEmptyLabels(shape.children);
|
|
43950
44418
|
|
|
43951
44419
|
// remove collapsed marker
|
|
43952
|
-
|
|
44420
|
+
getDi(shape).isExpanded = true;
|
|
43953
44421
|
} else {
|
|
43954
44422
|
|
|
43955
44423
|
// place collapsed marker
|
|
43956
|
-
|
|
44424
|
+
getDi(shape).isExpanded = false;
|
|
43957
44425
|
}
|
|
43958
44426
|
});
|
|
43959
44427
|
|
|
@@ -43965,16 +44433,16 @@
|
|
|
43965
44433
|
|
|
43966
44434
|
// revert removing/placing collapsed marker
|
|
43967
44435
|
if (!shape.collapsed) {
|
|
43968
|
-
|
|
44436
|
+
getDi(shape).isExpanded = true;
|
|
43969
44437
|
|
|
43970
44438
|
} else {
|
|
43971
|
-
|
|
44439
|
+
getDi(shape).isExpanded = false;
|
|
43972
44440
|
}
|
|
43973
44441
|
});
|
|
43974
44442
|
|
|
43975
44443
|
this.postExecuted([ 'shape.toggleCollapse' ], LOW_PRIORITY$8, function(e) {
|
|
43976
44444
|
var shape = e.context.shape,
|
|
43977
|
-
defaultSize = elementFactory.
|
|
44445
|
+
defaultSize = elementFactory.getDefaultSize(shape),
|
|
43978
44446
|
newBounds;
|
|
43979
44447
|
|
|
43980
44448
|
if (shape.collapsed) {
|
|
@@ -45280,7 +45748,7 @@
|
|
|
45280
45748
|
|
|
45281
45749
|
function orderDi() {
|
|
45282
45750
|
var root = canvas.getRootElement(),
|
|
45283
|
-
rootDi =
|
|
45751
|
+
rootDi = getDi(root),
|
|
45284
45752
|
elements,
|
|
45285
45753
|
diElements;
|
|
45286
45754
|
|
|
@@ -48041,11 +48509,10 @@
|
|
|
48041
48509
|
};
|
|
48042
48510
|
|
|
48043
48511
|
|
|
48044
|
-
BpmnFactory.prototype.createDiShape = function(semantic,
|
|
48045
|
-
|
|
48512
|
+
BpmnFactory.prototype.createDiShape = function(semantic, attrs) {
|
|
48046
48513
|
return this.create('bpmndi:BPMNShape', assign({
|
|
48047
48514
|
bpmnElement: semantic,
|
|
48048
|
-
bounds: this.createDiBounds(
|
|
48515
|
+
bounds: this.createDiBounds()
|
|
48049
48516
|
}, attrs));
|
|
48050
48517
|
};
|
|
48051
48518
|
|
|
@@ -48068,16 +48535,17 @@
|
|
|
48068
48535
|
};
|
|
48069
48536
|
|
|
48070
48537
|
|
|
48071
|
-
BpmnFactory.prototype.createDiEdge = function(semantic,
|
|
48538
|
+
BpmnFactory.prototype.createDiEdge = function(semantic, attrs) {
|
|
48072
48539
|
return this.create('bpmndi:BPMNEdge', assign({
|
|
48073
|
-
bpmnElement: semantic
|
|
48540
|
+
bpmnElement: semantic,
|
|
48541
|
+
waypoints: this.createDiWaypoints([])
|
|
48074
48542
|
}, attrs));
|
|
48075
48543
|
};
|
|
48076
48544
|
|
|
48077
|
-
BpmnFactory.prototype.createDiPlane = function(semantic) {
|
|
48078
|
-
return this.create('bpmndi:BPMNPlane', {
|
|
48545
|
+
BpmnFactory.prototype.createDiPlane = function(semantic, attrs) {
|
|
48546
|
+
return this.create('bpmndi:BPMNPlane', assign({
|
|
48079
48547
|
bpmnElement: semantic
|
|
48080
|
-
});
|
|
48548
|
+
}, attrs));
|
|
48081
48549
|
};
|
|
48082
48550
|
|
|
48083
48551
|
/**
|
|
@@ -48362,8 +48830,9 @@
|
|
|
48362
48830
|
var parentShape = element.parent;
|
|
48363
48831
|
|
|
48364
48832
|
var businessObject = element.businessObject,
|
|
48833
|
+
di = getDi(element),
|
|
48365
48834
|
parentBusinessObject = parentShape && parentShape.businessObject,
|
|
48366
|
-
parentDi =
|
|
48835
|
+
parentDi = getDi(parentShape);
|
|
48367
48836
|
|
|
48368
48837
|
if (is$1(element, 'bpmn:FlowNode')) {
|
|
48369
48838
|
this.updateFlowNodeRefs(businessObject, parentBusinessObject, oldParent && oldParent.businessObject);
|
|
@@ -48391,13 +48860,13 @@
|
|
|
48391
48860
|
this.updateSemanticParent(businessObject.dataObjectRef, parentBusinessObject);
|
|
48392
48861
|
}
|
|
48393
48862
|
|
|
48394
|
-
this.updateDiParent(
|
|
48863
|
+
this.updateDiParent(di, parentDi);
|
|
48395
48864
|
};
|
|
48396
48865
|
|
|
48397
48866
|
|
|
48398
48867
|
BpmnUpdater.prototype.updateBounds = function(shape) {
|
|
48399
48868
|
|
|
48400
|
-
var di = shape
|
|
48869
|
+
var di = getDi(shape);
|
|
48401
48870
|
|
|
48402
48871
|
var target = (shape instanceof Label) ? this._getLabel(di) : di;
|
|
48403
48872
|
|
|
@@ -48437,14 +48906,17 @@
|
|
|
48437
48906
|
|
|
48438
48907
|
|
|
48439
48908
|
// update existing sourceElement and targetElement di information
|
|
48440
|
-
BpmnUpdater.prototype.updateDiConnection = function(
|
|
48909
|
+
BpmnUpdater.prototype.updateDiConnection = function(connection, newSource, newTarget) {
|
|
48910
|
+
var connectionDi = getDi(connection),
|
|
48911
|
+
newSourceDi = getDi(newSource),
|
|
48912
|
+
newTargetDi = getDi(newTarget);
|
|
48441
48913
|
|
|
48442
|
-
if (
|
|
48443
|
-
|
|
48914
|
+
if (connectionDi.sourceElement && connectionDi.sourceElement.bpmnElement !== getBusinessObject(newSource)) {
|
|
48915
|
+
connectionDi.sourceElement = newSource && newSourceDi;
|
|
48444
48916
|
}
|
|
48445
48917
|
|
|
48446
|
-
if (
|
|
48447
|
-
|
|
48918
|
+
if (connectionDi.targetElement && connectionDi.targetElement.bpmnElement !== getBusinessObject(newTarget)) {
|
|
48919
|
+
connectionDi.targetElement = newTarget && newTargetDi;
|
|
48448
48920
|
}
|
|
48449
48921
|
|
|
48450
48922
|
};
|
|
@@ -48669,69 +49141,72 @@
|
|
|
48669
49141
|
|
|
48670
49142
|
|
|
48671
49143
|
BpmnUpdater.prototype.updateConnectionWaypoints = function(connection) {
|
|
48672
|
-
|
|
49144
|
+
var di = getDi(connection);
|
|
49145
|
+
|
|
49146
|
+
di.set('waypoint', this._bpmnFactory.createDiWaypoints(connection.waypoints));
|
|
48673
49147
|
};
|
|
48674
49148
|
|
|
48675
49149
|
|
|
48676
49150
|
BpmnUpdater.prototype.updateConnection = function(context) {
|
|
48677
|
-
|
|
48678
49151
|
var connection = context.connection,
|
|
48679
49152
|
businessObject = getBusinessObject(connection),
|
|
48680
|
-
newSource =
|
|
48681
|
-
|
|
49153
|
+
newSource = connection.source,
|
|
49154
|
+
newSourceBo = getBusinessObject(newSource),
|
|
49155
|
+
newTarget = connection.target,
|
|
49156
|
+
newTargetBo = getBusinessObject(connection.target),
|
|
48682
49157
|
visualParent;
|
|
48683
49158
|
|
|
48684
49159
|
if (!is$1(businessObject, 'bpmn:DataAssociation')) {
|
|
48685
49160
|
|
|
48686
49161
|
var inverseSet = is$1(businessObject, 'bpmn:SequenceFlow');
|
|
48687
49162
|
|
|
48688
|
-
if (businessObject.sourceRef !==
|
|
49163
|
+
if (businessObject.sourceRef !== newSourceBo) {
|
|
48689
49164
|
if (inverseSet) {
|
|
48690
49165
|
remove(businessObject.sourceRef && businessObject.sourceRef.get('outgoing'), businessObject);
|
|
48691
49166
|
|
|
48692
|
-
if (
|
|
48693
|
-
|
|
49167
|
+
if (newSourceBo && newSourceBo.get('outgoing')) {
|
|
49168
|
+
newSourceBo.get('outgoing').push(businessObject);
|
|
48694
49169
|
}
|
|
48695
49170
|
}
|
|
48696
49171
|
|
|
48697
|
-
businessObject.sourceRef =
|
|
49172
|
+
businessObject.sourceRef = newSourceBo;
|
|
48698
49173
|
}
|
|
48699
49174
|
|
|
48700
|
-
if (businessObject.targetRef !==
|
|
49175
|
+
if (businessObject.targetRef !== newTargetBo) {
|
|
48701
49176
|
if (inverseSet) {
|
|
48702
49177
|
remove(businessObject.targetRef && businessObject.targetRef.get('incoming'), businessObject);
|
|
48703
49178
|
|
|
48704
|
-
if (
|
|
48705
|
-
|
|
49179
|
+
if (newTargetBo && newTargetBo.get('incoming')) {
|
|
49180
|
+
newTargetBo.get('incoming').push(businessObject);
|
|
48706
49181
|
}
|
|
48707
49182
|
}
|
|
48708
49183
|
|
|
48709
|
-
businessObject.targetRef =
|
|
49184
|
+
businessObject.targetRef = newTargetBo;
|
|
48710
49185
|
}
|
|
48711
49186
|
} else
|
|
48712
49187
|
|
|
48713
49188
|
if (is$1(businessObject, 'bpmn:DataInputAssociation')) {
|
|
48714
49189
|
|
|
48715
49190
|
// handle obnoxious isMsome sourceRef
|
|
48716
|
-
businessObject.get('sourceRef')[0] =
|
|
49191
|
+
businessObject.get('sourceRef')[0] = newSourceBo;
|
|
48717
49192
|
|
|
48718
|
-
visualParent = context.parent || context.newParent ||
|
|
49193
|
+
visualParent = context.parent || context.newParent || newTargetBo;
|
|
48719
49194
|
|
|
48720
|
-
this.updateSemanticParent(businessObject,
|
|
49195
|
+
this.updateSemanticParent(businessObject, newTargetBo, visualParent);
|
|
48721
49196
|
} else
|
|
48722
49197
|
|
|
48723
49198
|
if (is$1(businessObject, 'bpmn:DataOutputAssociation')) {
|
|
48724
|
-
visualParent = context.parent || context.newParent ||
|
|
49199
|
+
visualParent = context.parent || context.newParent || newSourceBo;
|
|
48725
49200
|
|
|
48726
|
-
this.updateSemanticParent(businessObject,
|
|
49201
|
+
this.updateSemanticParent(businessObject, newSourceBo, visualParent);
|
|
48727
49202
|
|
|
48728
49203
|
// targetRef = new target
|
|
48729
|
-
businessObject.targetRef =
|
|
49204
|
+
businessObject.targetRef = newTargetBo;
|
|
48730
49205
|
}
|
|
48731
49206
|
|
|
48732
49207
|
this.updateConnectionWaypoints(connection);
|
|
48733
49208
|
|
|
48734
|
-
this.updateDiConnection(
|
|
49209
|
+
this.updateDiConnection(connection, newSource, newTarget);
|
|
48735
49210
|
};
|
|
48736
49211
|
|
|
48737
49212
|
|
|
@@ -48793,7 +49268,8 @@
|
|
|
48793
49268
|
// we assume their businessObjects have already been created
|
|
48794
49269
|
// and wired via attrs
|
|
48795
49270
|
if (elementType === 'label') {
|
|
48796
|
-
|
|
49271
|
+
var di = attrs.di || this._bpmnFactory.createDiLabel();
|
|
49272
|
+
return this.baseCreate(elementType, assign({ type: 'label', di: di }, DEFAULT_LABEL_SIZE, attrs));
|
|
48797
49273
|
}
|
|
48798
49274
|
|
|
48799
49275
|
return this.createBpmnElement(elementType, attrs);
|
|
@@ -48805,7 +49281,8 @@
|
|
|
48805
49281
|
|
|
48806
49282
|
attrs = attrs || {};
|
|
48807
49283
|
|
|
48808
|
-
var businessObject = attrs.businessObject
|
|
49284
|
+
var businessObject = attrs.businessObject,
|
|
49285
|
+
di = attrs.di;
|
|
48809
49286
|
|
|
48810
49287
|
if (!businessObject) {
|
|
48811
49288
|
if (!attrs.type) {
|
|
@@ -48813,22 +49290,23 @@
|
|
|
48813
49290
|
}
|
|
48814
49291
|
|
|
48815
49292
|
businessObject = this._bpmnFactory.create(attrs.type);
|
|
49293
|
+
|
|
49294
|
+
ensureCompatDiRef(businessObject);
|
|
48816
49295
|
}
|
|
48817
49296
|
|
|
48818
|
-
if (!
|
|
49297
|
+
if (!isModdleDi(di)) {
|
|
49298
|
+
var diAttrs = assign(
|
|
49299
|
+
di || {},
|
|
49300
|
+
{ id: businessObject.id + '_di' }
|
|
49301
|
+
);
|
|
49302
|
+
|
|
48819
49303
|
if (elementType === 'root') {
|
|
48820
|
-
|
|
48821
|
-
id: businessObject.id + '_di'
|
|
48822
|
-
});
|
|
49304
|
+
di = this._bpmnFactory.createDiPlane(businessObject, diAttrs);
|
|
48823
49305
|
} else
|
|
48824
49306
|
if (elementType === 'connection') {
|
|
48825
|
-
|
|
48826
|
-
id: businessObject.id + '_di'
|
|
48827
|
-
});
|
|
49307
|
+
di = this._bpmnFactory.createDiEdge(businessObject, diAttrs);
|
|
48828
49308
|
} else {
|
|
48829
|
-
|
|
48830
|
-
id: businessObject.id + '_di'
|
|
48831
|
-
});
|
|
49309
|
+
di = this._bpmnFactory.createDiShape(businessObject, diAttrs);
|
|
48832
49310
|
}
|
|
48833
49311
|
}
|
|
48834
49312
|
|
|
@@ -48838,12 +49316,6 @@
|
|
|
48838
49316
|
}, attrs);
|
|
48839
49317
|
}
|
|
48840
49318
|
|
|
48841
|
-
if (attrs.di) {
|
|
48842
|
-
assign(businessObject.di, attrs.di);
|
|
48843
|
-
|
|
48844
|
-
delete attrs.di;
|
|
48845
|
-
}
|
|
48846
|
-
|
|
48847
49319
|
applyAttributes(businessObject, attrs, [
|
|
48848
49320
|
'processRef',
|
|
48849
49321
|
'isInterrupting',
|
|
@@ -48852,11 +49324,11 @@
|
|
|
48852
49324
|
]);
|
|
48853
49325
|
|
|
48854
49326
|
if (attrs.isExpanded) {
|
|
48855
|
-
applyAttribute(
|
|
49327
|
+
applyAttribute(di, attrs, 'isExpanded');
|
|
48856
49328
|
}
|
|
48857
49329
|
|
|
48858
49330
|
if (is$1(businessObject, 'bpmn:ExclusiveGateway')) {
|
|
48859
|
-
|
|
49331
|
+
di.isMarkerVisible = true;
|
|
48860
49332
|
}
|
|
48861
49333
|
|
|
48862
49334
|
var eventDefinitions,
|
|
@@ -48878,65 +49350,69 @@
|
|
|
48878
49350
|
delete attrs.eventDefinitionType;
|
|
48879
49351
|
}
|
|
48880
49352
|
|
|
48881
|
-
size = this.
|
|
49353
|
+
size = this.getDefaultSize(businessObject, di);
|
|
48882
49354
|
|
|
48883
49355
|
attrs = assign({
|
|
48884
|
-
businessObject: businessObject,
|
|
48885
49356
|
id: businessObject.id
|
|
48886
|
-
}, size, attrs
|
|
49357
|
+
}, size, attrs, {
|
|
49358
|
+
businessObject: businessObject,
|
|
49359
|
+
di: di
|
|
49360
|
+
});
|
|
48887
49361
|
|
|
48888
49362
|
return this.baseCreate(elementType, attrs);
|
|
48889
49363
|
};
|
|
48890
49364
|
|
|
48891
49365
|
|
|
48892
|
-
ElementFactory.prototype.
|
|
49366
|
+
ElementFactory.prototype.getDefaultSize = function(element, di) {
|
|
48893
49367
|
|
|
48894
|
-
|
|
49368
|
+
var bo = getBusinessObject(element);
|
|
49369
|
+
di = di || getDi(element);
|
|
48895
49370
|
|
|
48896
|
-
|
|
49371
|
+
if (is$1(bo, 'bpmn:SubProcess')) {
|
|
49372
|
+
if (isExpanded(bo, di)) {
|
|
48897
49373
|
return { width: 350, height: 200 };
|
|
48898
49374
|
} else {
|
|
48899
49375
|
return { width: 100, height: 80 };
|
|
48900
49376
|
}
|
|
48901
49377
|
}
|
|
48902
49378
|
|
|
48903
|
-
if (is$1(
|
|
49379
|
+
if (is$1(bo, 'bpmn:Task')) {
|
|
48904
49380
|
return { width: 100, height: 80 };
|
|
48905
49381
|
}
|
|
48906
49382
|
|
|
48907
|
-
if (is$1(
|
|
49383
|
+
if (is$1(bo, 'bpmn:Gateway')) {
|
|
48908
49384
|
return { width: 50, height: 50 };
|
|
48909
49385
|
}
|
|
48910
49386
|
|
|
48911
|
-
if (is$1(
|
|
49387
|
+
if (is$1(bo, 'bpmn:Event')) {
|
|
48912
49388
|
return { width: 36, height: 36 };
|
|
48913
49389
|
}
|
|
48914
49390
|
|
|
48915
|
-
if (is$1(
|
|
48916
|
-
if (isExpanded(
|
|
49391
|
+
if (is$1(bo, 'bpmn:Participant')) {
|
|
49392
|
+
if (isExpanded(bo, di)) {
|
|
48917
49393
|
return { width: 600, height: 250 };
|
|
48918
49394
|
} else {
|
|
48919
49395
|
return { width: 400, height: 60 };
|
|
48920
49396
|
}
|
|
48921
49397
|
}
|
|
48922
49398
|
|
|
48923
|
-
if (is$1(
|
|
49399
|
+
if (is$1(bo, 'bpmn:Lane')) {
|
|
48924
49400
|
return { width: 400, height: 100 };
|
|
48925
49401
|
}
|
|
48926
49402
|
|
|
48927
|
-
if (is$1(
|
|
49403
|
+
if (is$1(bo, 'bpmn:DataObjectReference')) {
|
|
48928
49404
|
return { width: 36, height: 50 };
|
|
48929
49405
|
}
|
|
48930
49406
|
|
|
48931
|
-
if (is$1(
|
|
49407
|
+
if (is$1(bo, 'bpmn:DataStoreReference')) {
|
|
48932
49408
|
return { width: 50, height: 50 };
|
|
48933
49409
|
}
|
|
48934
49410
|
|
|
48935
|
-
if (is$1(
|
|
49411
|
+
if (is$1(bo, 'bpmn:TextAnnotation')) {
|
|
48936
49412
|
return { width: 100, height: 30 };
|
|
48937
49413
|
}
|
|
48938
49414
|
|
|
48939
|
-
if (is$1(
|
|
49415
|
+
if (is$1(bo, 'bpmn:Group')) {
|
|
48940
49416
|
return { width: 300, height: 300 };
|
|
48941
49417
|
}
|
|
48942
49418
|
|
|
@@ -49001,6 +49477,16 @@
|
|
|
49001
49477
|
delete attrs[attributeName];
|
|
49002
49478
|
}
|
|
49003
49479
|
|
|
49480
|
+
|
|
49481
|
+
function isModdleDi(element) {
|
|
49482
|
+
return isAny(element, [
|
|
49483
|
+
'bpmndi:BPMNShape',
|
|
49484
|
+
'bpmndi:BPMNEdge',
|
|
49485
|
+
'bpmndi:BPMNDiagram',
|
|
49486
|
+
'bpmndi:BPMNPlane',
|
|
49487
|
+
]);
|
|
49488
|
+
}
|
|
49489
|
+
|
|
49004
49490
|
/**
|
|
49005
49491
|
* A handler that align elements in a certain way.
|
|
49006
49492
|
*
|
|
@@ -51468,7 +51954,7 @@
|
|
|
51468
51954
|
|
|
51469
51955
|
var businessObject = element.businessObject,
|
|
51470
51956
|
properties = unwrapBusinessObjects(context.properties),
|
|
51471
|
-
oldProperties = context.oldProperties || getProperties(
|
|
51957
|
+
oldProperties = context.oldProperties || getProperties(element, properties);
|
|
51472
51958
|
|
|
51473
51959
|
if (isIdChange(properties, businessObject)) {
|
|
51474
51960
|
ids.unclaim(businessObject[ID]);
|
|
@@ -51491,7 +51977,7 @@
|
|
|
51491
51977
|
}
|
|
51492
51978
|
|
|
51493
51979
|
// update properties
|
|
51494
|
-
setProperties(
|
|
51980
|
+
setProperties(element, properties);
|
|
51495
51981
|
|
|
51496
51982
|
// store old values
|
|
51497
51983
|
context.oldProperties = oldProperties;
|
|
@@ -51536,7 +52022,7 @@
|
|
|
51536
52022
|
ids = this._moddle.ids;
|
|
51537
52023
|
|
|
51538
52024
|
// update properties
|
|
51539
|
-
setProperties(
|
|
52025
|
+
setProperties(element, oldProperties);
|
|
51540
52026
|
|
|
51541
52027
|
if (isIdChange(properties, businessObject)) {
|
|
51542
52028
|
ids.unclaim(properties[ID]);
|
|
@@ -51555,16 +52041,19 @@
|
|
|
51555
52041
|
}
|
|
51556
52042
|
|
|
51557
52043
|
|
|
51558
|
-
function getProperties(
|
|
51559
|
-
var propertyNames = keys(properties)
|
|
52044
|
+
function getProperties(element, properties) {
|
|
52045
|
+
var propertyNames = keys(properties),
|
|
52046
|
+
businessObject = element.businessObject,
|
|
52047
|
+
di = getDi(element);
|
|
51560
52048
|
|
|
51561
52049
|
return reduce(propertyNames, function(result, key) {
|
|
51562
52050
|
|
|
51563
52051
|
// handle DI separately
|
|
51564
52052
|
if (key !== DI) {
|
|
51565
52053
|
result[key] = businessObject.get(key);
|
|
52054
|
+
|
|
51566
52055
|
} else {
|
|
51567
|
-
result[key] = getDiProperties(
|
|
52056
|
+
result[key] = getDiProperties(di, keys(properties.di));
|
|
51568
52057
|
}
|
|
51569
52058
|
|
|
51570
52059
|
return result;
|
|
@@ -51574,23 +52063,26 @@
|
|
|
51574
52063
|
|
|
51575
52064
|
function getDiProperties(di, propertyNames) {
|
|
51576
52065
|
return reduce(propertyNames, function(result, key) {
|
|
51577
|
-
result[key] = di.get(key);
|
|
52066
|
+
result[key] = di && di.get(key);
|
|
51578
52067
|
|
|
51579
52068
|
return result;
|
|
51580
52069
|
}, {});
|
|
51581
52070
|
}
|
|
51582
52071
|
|
|
51583
52072
|
|
|
51584
|
-
function setProperties(
|
|
52073
|
+
function setProperties(element, properties) {
|
|
52074
|
+
var businessObject = element.businessObject,
|
|
52075
|
+
di = getDi(element);
|
|
52076
|
+
|
|
51585
52077
|
forEach(properties, function(value, key) {
|
|
51586
52078
|
|
|
51587
52079
|
if (key !== DI) {
|
|
51588
52080
|
businessObject.set(key, value);
|
|
51589
52081
|
} else {
|
|
51590
52082
|
|
|
51591
|
-
// only update, if
|
|
51592
|
-
if (
|
|
51593
|
-
setDiProperties(
|
|
52083
|
+
// only update, if di exists
|
|
52084
|
+
if (di) {
|
|
52085
|
+
setDiProperties(di, value);
|
|
51594
52086
|
}
|
|
51595
52087
|
}
|
|
51596
52088
|
});
|
|
@@ -51648,7 +52140,7 @@
|
|
|
51648
52140
|
oldRoot = canvas.getRootElement(),
|
|
51649
52141
|
oldRootBusinessObject = oldRoot.businessObject,
|
|
51650
52142
|
bpmnDefinitions = oldRootBusinessObject.$parent,
|
|
51651
|
-
diPlane =
|
|
52143
|
+
diPlane = getDi(oldRoot);
|
|
51652
52144
|
|
|
51653
52145
|
// (1) replace process old <> new root
|
|
51654
52146
|
canvas.setRootElement(newRoot, true);
|
|
@@ -51661,10 +52153,10 @@
|
|
|
51661
52153
|
oldRootBusinessObject.$parent = null;
|
|
51662
52154
|
|
|
51663
52155
|
// (3) wire di
|
|
51664
|
-
|
|
52156
|
+
oldRoot.di = null;
|
|
51665
52157
|
|
|
51666
52158
|
diPlane.bpmnElement = newRootBusinessObject;
|
|
51667
|
-
|
|
52159
|
+
newRoot.di = diPlane;
|
|
51668
52160
|
|
|
51669
52161
|
context.oldRoot = oldRoot;
|
|
51670
52162
|
|
|
@@ -51682,7 +52174,7 @@
|
|
|
51682
52174
|
oldRoot = context.oldRoot,
|
|
51683
52175
|
oldRootBusinessObject = oldRoot.businessObject,
|
|
51684
52176
|
bpmnDefinitions = newRootBusinessObject.$parent,
|
|
51685
|
-
diPlane =
|
|
52177
|
+
diPlane = getDi(newRoot);
|
|
51686
52178
|
|
|
51687
52179
|
// (1) replace process old <> new root
|
|
51688
52180
|
canvas.setRootElement(oldRoot, true);
|
|
@@ -51695,10 +52187,10 @@
|
|
|
51695
52187
|
oldRootBusinessObject.$parent = bpmnDefinitions;
|
|
51696
52188
|
|
|
51697
52189
|
// (3) wire di
|
|
51698
|
-
|
|
52190
|
+
newRoot.di = null;
|
|
51699
52191
|
|
|
51700
52192
|
diPlane.bpmnElement = oldRootBusinessObject;
|
|
51701
|
-
|
|
52193
|
+
oldRoot.di = diPlane;
|
|
51702
52194
|
|
|
51703
52195
|
// TODO(nikku): return changed elements?
|
|
51704
52196
|
// return [ newRoot, oldRoot ];
|
|
@@ -52367,7 +52859,8 @@
|
|
|
52367
52859
|
|
|
52368
52860
|
modeling.createLabel(element, labelCenter, {
|
|
52369
52861
|
id: businessObject.id + '_label',
|
|
52370
|
-
businessObject: businessObject
|
|
52862
|
+
businessObject: businessObject,
|
|
52863
|
+
di: element.di
|
|
52371
52864
|
});
|
|
52372
52865
|
}
|
|
52373
52866
|
}
|
|
@@ -55428,7 +55921,8 @@
|
|
|
55428
55921
|
var shape = elementFactory.createShape(assign({ type: type }, options));
|
|
55429
55922
|
|
|
55430
55923
|
if (options) {
|
|
55431
|
-
|
|
55924
|
+
var di = getDi(shape);
|
|
55925
|
+
di.isExpanded = options.isExpanded;
|
|
55432
55926
|
}
|
|
55433
55927
|
|
|
55434
55928
|
create.start(event, shape);
|