camunda-bpmn-js 4.0.0-0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/diagram-js.css +7 -19
- package/dist/assets/properties-panel.css +57 -23
- package/dist/base-modeler.development.js +44323 -41580
- package/dist/base-modeler.production.min.js +52 -53
- package/dist/base-navigated-viewer.development.js +1695 -1148
- package/dist/base-navigated-viewer.production.min.js +1 -1
- package/dist/base-viewer.development.js +1694 -1151
- package/dist/base-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-modeler.development.js +53952 -41021
- package/dist/camunda-cloud-modeler.production.min.js +61 -61
- package/dist/camunda-cloud-navigated-viewer.development.js +1695 -1148
- package/dist/camunda-cloud-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-viewer.development.js +1694 -1151
- package/dist/camunda-cloud-viewer.production.min.js +1 -1
- package/dist/camunda-platform-modeler.development.js +45914 -43112
- package/dist/camunda-platform-modeler.production.min.js +52 -53
- package/dist/camunda-platform-navigated-viewer.development.js +1695 -1148
- package/dist/camunda-platform-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-platform-viewer.development.js +1694 -1151
- package/dist/camunda-platform-viewer.production.min.js +1 -1
- package/lib/camunda-cloud/Modeler.js +0 -3
- package/package.json +33 -33
- package/lib/camunda-cloud/features/rules/BpmnRules.d.ts +0 -32
- package/lib/camunda-cloud/features/rules/BpmnRules.js +0 -161
- package/lib/camunda-cloud/features/rules/index.d.ts +0 -6
- package/lib/camunda-cloud/features/rules/index.js +0 -6
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @template T
|
|
13
13
|
*
|
|
14
|
-
* @param {T[][]} arr
|
|
14
|
+
* @param {T[][] | T[] | null} [arr]
|
|
15
15
|
*
|
|
16
16
|
* @return {T[]}
|
|
17
17
|
*/
|
|
@@ -27,6 +27,10 @@
|
|
|
27
27
|
return obj !== undefined;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
function isNil(obj) {
|
|
31
|
+
return obj == null;
|
|
32
|
+
}
|
|
33
|
+
|
|
30
34
|
function isArray$2(obj) {
|
|
31
35
|
return nativeToString$1.call(obj) === '[object Array]';
|
|
32
36
|
}
|
|
@@ -475,6 +479,58 @@
|
|
|
475
479
|
return Object.assign(target, ...others);
|
|
476
480
|
}
|
|
477
481
|
|
|
482
|
+
/**
|
|
483
|
+
* Sets a nested property of a given object to the specified value.
|
|
484
|
+
*
|
|
485
|
+
* This mutates the object and returns it.
|
|
486
|
+
*
|
|
487
|
+
* @template T
|
|
488
|
+
*
|
|
489
|
+
* @param {T} target The target of the set operation.
|
|
490
|
+
* @param {(string|number)[]} path The path to the nested value.
|
|
491
|
+
* @param {any} value The value to set.
|
|
492
|
+
*
|
|
493
|
+
* @return {T}
|
|
494
|
+
*/
|
|
495
|
+
function set$1(target, path, value) {
|
|
496
|
+
|
|
497
|
+
let currentTarget = target;
|
|
498
|
+
|
|
499
|
+
forEach$1(path, function(key, idx) {
|
|
500
|
+
|
|
501
|
+
if (typeof key !== 'number' && typeof key !== 'string') {
|
|
502
|
+
throw new Error('illegal key type: ' + typeof key + '. Key should be of type number or string.');
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
if (key === 'constructor') {
|
|
506
|
+
throw new Error('illegal key: constructor');
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
if (key === '__proto__') {
|
|
510
|
+
throw new Error('illegal key: __proto__');
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
let nextKey = path[idx + 1];
|
|
514
|
+
let nextTarget = currentTarget[key];
|
|
515
|
+
|
|
516
|
+
if (isDefined(nextKey) && isNil(nextTarget)) {
|
|
517
|
+
nextTarget = currentTarget[key] = isNaN(+nextKey) ? {} : [];
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
if (isUndefined$2(nextKey)) {
|
|
521
|
+
if (isUndefined$2(value)) {
|
|
522
|
+
delete currentTarget[key];
|
|
523
|
+
} else {
|
|
524
|
+
currentTarget[key] = value;
|
|
525
|
+
}
|
|
526
|
+
} else {
|
|
527
|
+
currentTarget = nextTarget;
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
|
|
531
|
+
return target;
|
|
532
|
+
}
|
|
533
|
+
|
|
478
534
|
/**
|
|
479
535
|
* Pick properties from the given target.
|
|
480
536
|
*
|
|
@@ -713,6 +769,26 @@
|
|
|
713
769
|
return true;
|
|
714
770
|
}
|
|
715
771
|
|
|
772
|
+
/**
|
|
773
|
+
* @param {Element} element
|
|
774
|
+
*
|
|
775
|
+
* @return {boolean}
|
|
776
|
+
*/
|
|
777
|
+
function isHorizontal(element) {
|
|
778
|
+
|
|
779
|
+
if (!is$1(element, 'bpmn:Participant') && !is$1(element, 'bpmn:Lane')) {
|
|
780
|
+
return undefined;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
var isHorizontal = getDi(element).isHorizontal;
|
|
784
|
+
|
|
785
|
+
if (isHorizontal === undefined) {
|
|
786
|
+
return true;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
return isHorizontal;
|
|
790
|
+
}
|
|
791
|
+
|
|
716
792
|
/**
|
|
717
793
|
* @param {Element} element
|
|
718
794
|
*
|
|
@@ -1795,6 +1871,7 @@
|
|
|
1795
1871
|
}
|
|
1796
1872
|
|
|
1797
1873
|
var black = 'hsl(225, 10%, 15%)';
|
|
1874
|
+
var white = 'white';
|
|
1798
1875
|
|
|
1799
1876
|
// element utils //////////////////////
|
|
1800
1877
|
|
|
@@ -1842,39 +1919,42 @@
|
|
|
1842
1919
|
/**
|
|
1843
1920
|
* @param {Element} element
|
|
1844
1921
|
* @param {string} [defaultColor]
|
|
1922
|
+
* @param {string} [overrideColor]
|
|
1845
1923
|
*
|
|
1846
1924
|
* @return {string}
|
|
1847
1925
|
*/
|
|
1848
|
-
function getFillColor(element, defaultColor) {
|
|
1926
|
+
function getFillColor(element, defaultColor, overrideColor) {
|
|
1849
1927
|
var di = getDi(element);
|
|
1850
1928
|
|
|
1851
|
-
return di.get('color:background-color') || di.get('bioc:fill') || defaultColor ||
|
|
1929
|
+
return overrideColor || di.get('color:background-color') || di.get('bioc:fill') || defaultColor || white;
|
|
1852
1930
|
}
|
|
1853
1931
|
|
|
1854
1932
|
/**
|
|
1855
1933
|
* @param {Element} element
|
|
1856
1934
|
* @param {string} [defaultColor]
|
|
1935
|
+
* @param {string} [overrideColor]
|
|
1857
1936
|
*
|
|
1858
1937
|
* @return {string}
|
|
1859
1938
|
*/
|
|
1860
|
-
function getStrokeColor(element, defaultColor) {
|
|
1939
|
+
function getStrokeColor(element, defaultColor, overrideColor) {
|
|
1861
1940
|
var di = getDi(element);
|
|
1862
1941
|
|
|
1863
|
-
return di.get('color:border-color') || di.get('bioc:stroke') || defaultColor || black;
|
|
1942
|
+
return overrideColor || di.get('color:border-color') || di.get('bioc:stroke') || defaultColor || black;
|
|
1864
1943
|
}
|
|
1865
1944
|
|
|
1866
1945
|
/**
|
|
1867
1946
|
* @param {Element} element
|
|
1868
1947
|
* @param {string} [defaultColor]
|
|
1869
1948
|
* @param {string} [defaultStrokeColor]
|
|
1949
|
+
* @param {string} [overrideColor]
|
|
1870
1950
|
*
|
|
1871
1951
|
* @return {string}
|
|
1872
1952
|
*/
|
|
1873
|
-
function getLabelColor(element, defaultColor, defaultStrokeColor) {
|
|
1953
|
+
function getLabelColor(element, defaultColor, defaultStrokeColor, overrideColor) {
|
|
1874
1954
|
var di = getDi(element),
|
|
1875
1955
|
label = di.get('label');
|
|
1876
1956
|
|
|
1877
|
-
return label && label.get('color:color') || defaultColor ||
|
|
1957
|
+
return overrideColor || (label && label.get('color:color')) || defaultColor ||
|
|
1878
1958
|
getStrokeColor(element, defaultStrokeColor);
|
|
1879
1959
|
}
|
|
1880
1960
|
|
|
@@ -1978,6 +2058,45 @@
|
|
|
1978
2058
|
return componentsToPath(rectPath);
|
|
1979
2059
|
}
|
|
1980
2060
|
|
|
2061
|
+
/**
|
|
2062
|
+
* Get width and height from element or overrides.
|
|
2063
|
+
*
|
|
2064
|
+
* @param {Dimensions|Rect|ShapeLike} bounds
|
|
2065
|
+
* @param {Object} overrides
|
|
2066
|
+
*
|
|
2067
|
+
* @returns {Dimensions}
|
|
2068
|
+
*/
|
|
2069
|
+
function getBounds(bounds, overrides = {}) {
|
|
2070
|
+
return {
|
|
2071
|
+
width: getWidth(bounds, overrides),
|
|
2072
|
+
height: getHeight(bounds, overrides)
|
|
2073
|
+
};
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
/**
|
|
2077
|
+
* Get width from element or overrides.
|
|
2078
|
+
*
|
|
2079
|
+
* @param {Dimensions|Rect|ShapeLike} bounds
|
|
2080
|
+
* @param {Object} overrides
|
|
2081
|
+
*
|
|
2082
|
+
* @returns {number}
|
|
2083
|
+
*/
|
|
2084
|
+
function getWidth(bounds, overrides = {}) {
|
|
2085
|
+
return has$1(overrides, 'width') ? overrides.width : bounds.width;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
/**
|
|
2089
|
+
* Get height from element or overrides.
|
|
2090
|
+
*
|
|
2091
|
+
* @param {Dimensions|Rect|ShapeLike} bounds
|
|
2092
|
+
* @param {Object} overrides
|
|
2093
|
+
*
|
|
2094
|
+
* @returns {number}
|
|
2095
|
+
*/
|
|
2096
|
+
function getHeight(bounds, overrides = {}) {
|
|
2097
|
+
return has$1(overrides, 'height') ? overrides.height : bounds.height;
|
|
2098
|
+
}
|
|
2099
|
+
|
|
1981
2100
|
function _mergeNamespaces$1(n, m) {
|
|
1982
2101
|
m.forEach(function (e) {
|
|
1983
2102
|
e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
|
|
@@ -2741,15 +2860,16 @@
|
|
|
2741
2860
|
}
|
|
2742
2861
|
};
|
|
2743
2862
|
|
|
2744
|
-
var
|
|
2863
|
+
var rendererIds = new Ids();
|
|
2745
2864
|
|
|
2746
|
-
var
|
|
2747
|
-
|
|
2865
|
+
var ELEMENT_LABEL_DISTANCE = 10,
|
|
2866
|
+
INNER_OUTER_DIST = 3,
|
|
2867
|
+
PARTICIPANT_STROKE_WIDTH = 1.5,
|
|
2868
|
+
TASK_BORDER_RADIUS = 10;
|
|
2748
2869
|
|
|
2749
|
-
var
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
var ELEMENT_LABEL_DISTANCE = 10;
|
|
2870
|
+
var DEFAULT_OPACITY = 0.95,
|
|
2871
|
+
FULL_OPACITY = 1,
|
|
2872
|
+
LOW_OPACITY = 0.25;
|
|
2753
2873
|
|
|
2754
2874
|
/**
|
|
2755
2875
|
* @typedef { Partial<{
|
|
@@ -2757,6 +2877,13 @@
|
|
|
2757
2877
|
* defaultStrokeColor: string,
|
|
2758
2878
|
* defaultLabelColor: string
|
|
2759
2879
|
* }> } BpmnRendererConfig
|
|
2880
|
+
*
|
|
2881
|
+
* @typedef { Partial<{
|
|
2882
|
+
* fill: string,
|
|
2883
|
+
* stroke: string,
|
|
2884
|
+
* width: string,
|
|
2885
|
+
* height: string
|
|
2886
|
+
* }> } Attrs
|
|
2760
2887
|
*/
|
|
2761
2888
|
|
|
2762
2889
|
/**
|
|
@@ -2784,7 +2911,7 @@
|
|
|
2784
2911
|
defaultStrokeColor = config && config.defaultStrokeColor,
|
|
2785
2912
|
defaultLabelColor = config && config.defaultLabelColor;
|
|
2786
2913
|
|
|
2787
|
-
var rendererId =
|
|
2914
|
+
var rendererId = rendererIds.next();
|
|
2788
2915
|
|
|
2789
2916
|
var markers = {};
|
|
2790
2917
|
|
|
@@ -2880,7 +3007,7 @@
|
|
|
2880
3007
|
cy: 6,
|
|
2881
3008
|
r: 3.5,
|
|
2882
3009
|
...shapeStyle({
|
|
2883
|
-
fill
|
|
3010
|
+
fill,
|
|
2884
3011
|
stroke: stroke,
|
|
2885
3012
|
strokeWidth: 1,
|
|
2886
3013
|
|
|
@@ -2900,7 +3027,7 @@
|
|
|
2900
3027
|
var messageflowEnd = create$1('path', {
|
|
2901
3028
|
d: 'm 1 5 l 0 -3 l 7 3 l -7 3 z',
|
|
2902
3029
|
...shapeStyle({
|
|
2903
|
-
fill
|
|
3030
|
+
fill,
|
|
2904
3031
|
stroke: stroke,
|
|
2905
3032
|
strokeWidth: 1,
|
|
2906
3033
|
|
|
@@ -2921,7 +3048,7 @@
|
|
|
2921
3048
|
d: 'M 11 5 L 1 10 L 11 15',
|
|
2922
3049
|
...lineStyle({
|
|
2923
3050
|
fill: 'none',
|
|
2924
|
-
stroke
|
|
3051
|
+
stroke,
|
|
2925
3052
|
strokeWidth: 1.5,
|
|
2926
3053
|
|
|
2927
3054
|
// fix for safari / chrome / firefox bug not correctly
|
|
@@ -2942,7 +3069,7 @@
|
|
|
2942
3069
|
d: 'M 1 5 L 11 10 L 1 15',
|
|
2943
3070
|
...lineStyle({
|
|
2944
3071
|
fill: 'none',
|
|
2945
|
-
stroke
|
|
3072
|
+
stroke,
|
|
2946
3073
|
strokeWidth: 1.5,
|
|
2947
3074
|
|
|
2948
3075
|
// fix for safari / chrome / firefox bug not correctly
|
|
@@ -2962,7 +3089,7 @@
|
|
|
2962
3089
|
var conditionalFlowMarker = create$1('path', {
|
|
2963
3090
|
d: 'M 0 10 L 8 6 L 16 10 L 8 14 Z',
|
|
2964
3091
|
...shapeStyle({
|
|
2965
|
-
fill
|
|
3092
|
+
fill,
|
|
2966
3093
|
stroke: stroke
|
|
2967
3094
|
})
|
|
2968
3095
|
});
|
|
@@ -2990,7 +3117,7 @@
|
|
|
2990
3117
|
}
|
|
2991
3118
|
}
|
|
2992
3119
|
|
|
2993
|
-
function drawCircle(parentGfx, width, height, offset, attrs) {
|
|
3120
|
+
function drawCircle(parentGfx, width, height, offset, attrs = {}) {
|
|
2994
3121
|
|
|
2995
3122
|
if (isObject(offset)) {
|
|
2996
3123
|
attrs = offset;
|
|
@@ -3001,10 +3128,6 @@
|
|
|
3001
3128
|
|
|
3002
3129
|
attrs = shapeStyle(attrs);
|
|
3003
3130
|
|
|
3004
|
-
if (attrs.fill === 'none') {
|
|
3005
|
-
delete attrs.fillOpacity;
|
|
3006
|
-
}
|
|
3007
|
-
|
|
3008
3131
|
var cx = width / 2,
|
|
3009
3132
|
cy = height / 2;
|
|
3010
3133
|
|
|
@@ -3104,7 +3227,6 @@
|
|
|
3104
3227
|
}
|
|
3105
3228
|
|
|
3106
3229
|
function drawPath(parentGfx, d, attrs) {
|
|
3107
|
-
|
|
3108
3230
|
attrs = lineStyle(attrs);
|
|
3109
3231
|
|
|
3110
3232
|
var path = create$1('path', {
|
|
@@ -3126,171 +3248,13 @@
|
|
|
3126
3248
|
}
|
|
3127
3249
|
|
|
3128
3250
|
function as(type) {
|
|
3129
|
-
return function(parentGfx, element,
|
|
3130
|
-
return renderer(type)(parentGfx, element,
|
|
3131
|
-
};
|
|
3132
|
-
}
|
|
3133
|
-
|
|
3134
|
-
function renderEventContent(element, parentGfx) {
|
|
3135
|
-
|
|
3136
|
-
var event = getBusinessObject(element);
|
|
3137
|
-
var isThrowing = isThrowEvent(event);
|
|
3138
|
-
|
|
3139
|
-
if (event.eventDefinitions && event.eventDefinitions.length > 1) {
|
|
3140
|
-
if (event.parallelMultiple) {
|
|
3141
|
-
return renderer('bpmn:ParallelMultipleEventDefinition')(parentGfx, element, isThrowing);
|
|
3142
|
-
}
|
|
3143
|
-
else {
|
|
3144
|
-
return renderer('bpmn:MultipleEventDefinition')(parentGfx, element, isThrowing);
|
|
3145
|
-
}
|
|
3146
|
-
}
|
|
3147
|
-
|
|
3148
|
-
if (isTypedEvent(event, 'bpmn:MessageEventDefinition')) {
|
|
3149
|
-
return renderer('bpmn:MessageEventDefinition')(parentGfx, element, isThrowing);
|
|
3150
|
-
}
|
|
3151
|
-
|
|
3152
|
-
if (isTypedEvent(event, 'bpmn:TimerEventDefinition')) {
|
|
3153
|
-
return renderer('bpmn:TimerEventDefinition')(parentGfx, element, isThrowing);
|
|
3154
|
-
}
|
|
3155
|
-
|
|
3156
|
-
if (isTypedEvent(event, 'bpmn:ConditionalEventDefinition')) {
|
|
3157
|
-
return renderer('bpmn:ConditionalEventDefinition')(parentGfx, element);
|
|
3158
|
-
}
|
|
3159
|
-
|
|
3160
|
-
if (isTypedEvent(event, 'bpmn:SignalEventDefinition')) {
|
|
3161
|
-
return renderer('bpmn:SignalEventDefinition')(parentGfx, element, isThrowing);
|
|
3162
|
-
}
|
|
3163
|
-
|
|
3164
|
-
if (isTypedEvent(event, 'bpmn:EscalationEventDefinition')) {
|
|
3165
|
-
return renderer('bpmn:EscalationEventDefinition')(parentGfx, element, isThrowing);
|
|
3166
|
-
}
|
|
3167
|
-
|
|
3168
|
-
if (isTypedEvent(event, 'bpmn:LinkEventDefinition')) {
|
|
3169
|
-
return renderer('bpmn:LinkEventDefinition')(parentGfx, element, isThrowing);
|
|
3170
|
-
}
|
|
3171
|
-
|
|
3172
|
-
if (isTypedEvent(event, 'bpmn:ErrorEventDefinition')) {
|
|
3173
|
-
return renderer('bpmn:ErrorEventDefinition')(parentGfx, element, isThrowing);
|
|
3174
|
-
}
|
|
3175
|
-
|
|
3176
|
-
if (isTypedEvent(event, 'bpmn:CancelEventDefinition')) {
|
|
3177
|
-
return renderer('bpmn:CancelEventDefinition')(parentGfx, element, isThrowing);
|
|
3178
|
-
}
|
|
3179
|
-
|
|
3180
|
-
if (isTypedEvent(event, 'bpmn:CompensateEventDefinition')) {
|
|
3181
|
-
return renderer('bpmn:CompensateEventDefinition')(parentGfx, element, isThrowing);
|
|
3182
|
-
}
|
|
3183
|
-
|
|
3184
|
-
if (isTypedEvent(event, 'bpmn:TerminateEventDefinition')) {
|
|
3185
|
-
return renderer('bpmn:TerminateEventDefinition')(parentGfx, element, isThrowing);
|
|
3186
|
-
}
|
|
3187
|
-
|
|
3188
|
-
return null;
|
|
3189
|
-
}
|
|
3190
|
-
|
|
3191
|
-
function renderLabel(parentGfx, label, options) {
|
|
3192
|
-
|
|
3193
|
-
options = assign$1({
|
|
3194
|
-
size: {
|
|
3195
|
-
width: 100
|
|
3196
|
-
}
|
|
3197
|
-
}, options);
|
|
3198
|
-
|
|
3199
|
-
var text = textRenderer.createText(label || '', options);
|
|
3200
|
-
|
|
3201
|
-
classes$1(text).add('djs-label');
|
|
3202
|
-
|
|
3203
|
-
append(parentGfx, text);
|
|
3204
|
-
|
|
3205
|
-
return text;
|
|
3206
|
-
}
|
|
3207
|
-
|
|
3208
|
-
function renderEmbeddedLabel(parentGfx, element, align) {
|
|
3209
|
-
var semantic = getBusinessObject(element);
|
|
3210
|
-
|
|
3211
|
-
return renderLabel(parentGfx, semantic.name, {
|
|
3212
|
-
box: element,
|
|
3213
|
-
align: align,
|
|
3214
|
-
padding: 7,
|
|
3215
|
-
style: {
|
|
3216
|
-
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
3217
|
-
}
|
|
3218
|
-
});
|
|
3219
|
-
}
|
|
3220
|
-
|
|
3221
|
-
function renderExternalLabel(parentGfx, element) {
|
|
3222
|
-
|
|
3223
|
-
var box = {
|
|
3224
|
-
width: 90,
|
|
3225
|
-
height: 30,
|
|
3226
|
-
x: element.width / 2 + element.x,
|
|
3227
|
-
y: element.height / 2 + element.y
|
|
3251
|
+
return function(parentGfx, element, attrs) {
|
|
3252
|
+
return renderer(type)(parentGfx, element, attrs);
|
|
3228
3253
|
};
|
|
3229
|
-
|
|
3230
|
-
return renderLabel(parentGfx, getLabel(element), {
|
|
3231
|
-
box: box,
|
|
3232
|
-
fitBox: true,
|
|
3233
|
-
style: assign$1(
|
|
3234
|
-
{},
|
|
3235
|
-
textRenderer.getExternalStyle(),
|
|
3236
|
-
{
|
|
3237
|
-
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
3238
|
-
}
|
|
3239
|
-
)
|
|
3240
|
-
});
|
|
3241
3254
|
}
|
|
3242
3255
|
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
box: {
|
|
3246
|
-
height: 30,
|
|
3247
|
-
width: element.height
|
|
3248
|
-
},
|
|
3249
|
-
align: 'center-middle',
|
|
3250
|
-
style: {
|
|
3251
|
-
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
3252
|
-
}
|
|
3253
|
-
});
|
|
3254
|
-
|
|
3255
|
-
var top = -1 * element.height;
|
|
3256
|
-
|
|
3257
|
-
transform(textBox, 0, -top, 270);
|
|
3258
|
-
}
|
|
3259
|
-
|
|
3260
|
-
var handlers = this.handlers = {
|
|
3261
|
-
'bpmn:Event': function(parentGfx, element, attrs) {
|
|
3262
|
-
|
|
3263
|
-
if (!('fillOpacity' in attrs)) {
|
|
3264
|
-
attrs.fillOpacity = DEFAULT_FILL_OPACITY;
|
|
3265
|
-
}
|
|
3266
|
-
|
|
3267
|
-
return drawCircle(parentGfx, element.width, element.height, attrs);
|
|
3268
|
-
},
|
|
3269
|
-
'bpmn:StartEvent': function(parentGfx, element, options) {
|
|
3270
|
-
var attrs = {
|
|
3271
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3272
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3273
|
-
};
|
|
3274
|
-
|
|
3275
|
-
var semantic = getBusinessObject(element);
|
|
3276
|
-
|
|
3277
|
-
if (!semantic.isInterrupting) {
|
|
3278
|
-
attrs = {
|
|
3279
|
-
strokeDasharray: '6',
|
|
3280
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3281
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3282
|
-
};
|
|
3283
|
-
}
|
|
3284
|
-
|
|
3285
|
-
var circle = renderer('bpmn:Event')(parentGfx, element, attrs);
|
|
3286
|
-
|
|
3287
|
-
if (!options || options.renderIcon !== false) {
|
|
3288
|
-
renderEventContent(element, parentGfx);
|
|
3289
|
-
}
|
|
3290
|
-
|
|
3291
|
-
return circle;
|
|
3292
|
-
},
|
|
3293
|
-
'bpmn:MessageEventDefinition': function(parentGfx, element, isThrowing) {
|
|
3256
|
+
var eventIconRenderers = {
|
|
3257
|
+
'bpmn:MessageEventDefinition': function(parentGfx, element, attrs = {}, isThrowing) {
|
|
3294
3258
|
var pathData = pathMap.getScaledPath('EVENT_MESSAGE', {
|
|
3295
3259
|
xScaleFactor: 0.9,
|
|
3296
3260
|
yScaleFactor: 0.9,
|
|
@@ -3302,22 +3266,27 @@
|
|
|
3302
3266
|
}
|
|
3303
3267
|
});
|
|
3304
3268
|
|
|
3305
|
-
var fill = isThrowing
|
|
3306
|
-
|
|
3269
|
+
var fill = isThrowing
|
|
3270
|
+
? getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3271
|
+
: getFillColor(element, defaultFillColor, attrs.fill);
|
|
3272
|
+
|
|
3273
|
+
var stroke = isThrowing
|
|
3274
|
+
? getFillColor(element, defaultFillColor, attrs.fill)
|
|
3275
|
+
: getStrokeColor(element, defaultStrokeColor, attrs.stroke);
|
|
3307
3276
|
|
|
3308
3277
|
var messagePath = drawPath(parentGfx, pathData, {
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3278
|
+
fill,
|
|
3279
|
+
stroke,
|
|
3280
|
+
strokeWidth: 1
|
|
3312
3281
|
});
|
|
3313
3282
|
|
|
3314
3283
|
return messagePath;
|
|
3315
3284
|
},
|
|
3316
|
-
'bpmn:TimerEventDefinition': function(parentGfx, element) {
|
|
3285
|
+
'bpmn:TimerEventDefinition': function(parentGfx, element, attrs = {}) {
|
|
3317
3286
|
var circle = drawCircle(parentGfx, element.width, element.height, 0.2 * element.height, {
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3287
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3288
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3289
|
+
strokeWidth: 2
|
|
3321
3290
|
});
|
|
3322
3291
|
|
|
3323
3292
|
var pathData = pathMap.getScaledPath('EVENT_TIMER_WH', {
|
|
@@ -3332,12 +3301,11 @@
|
|
|
3332
3301
|
});
|
|
3333
3302
|
|
|
3334
3303
|
drawPath(parentGfx, pathData, {
|
|
3335
|
-
|
|
3336
|
-
|
|
3304
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3305
|
+
strokeWidth: 2
|
|
3337
3306
|
});
|
|
3338
3307
|
|
|
3339
|
-
for (var i = 0;i < 12; i++) {
|
|
3340
|
-
|
|
3308
|
+
for (var i = 0; i < 12; i++) {
|
|
3341
3309
|
var linePathData = pathMap.getScaledPath('EVENT_TIMER_LINE', {
|
|
3342
3310
|
xScaleFactor: 0.75,
|
|
3343
3311
|
yScaleFactor: 0.75,
|
|
@@ -3349,19 +3317,19 @@
|
|
|
3349
3317
|
}
|
|
3350
3318
|
});
|
|
3351
3319
|
|
|
3352
|
-
var width = element.width / 2
|
|
3353
|
-
|
|
3320
|
+
var width = element.width / 2,
|
|
3321
|
+
height = element.height / 2;
|
|
3354
3322
|
|
|
3355
3323
|
drawPath(parentGfx, linePathData, {
|
|
3356
3324
|
strokeWidth: 1,
|
|
3357
|
-
|
|
3358
|
-
|
|
3325
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3326
|
+
transform: 'rotate(' + (i * 30) + ',' + height + ',' + width + ')'
|
|
3359
3327
|
});
|
|
3360
3328
|
}
|
|
3361
3329
|
|
|
3362
3330
|
return circle;
|
|
3363
3331
|
},
|
|
3364
|
-
'bpmn:EscalationEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3332
|
+
'bpmn:EscalationEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3365
3333
|
var pathData = pathMap.getScaledPath('EVENT_ESCALATION', {
|
|
3366
3334
|
xScaleFactor: 1,
|
|
3367
3335
|
yScaleFactor: 1,
|
|
@@ -3373,15 +3341,17 @@
|
|
|
3373
3341
|
}
|
|
3374
3342
|
});
|
|
3375
3343
|
|
|
3376
|
-
var fill = isThrowing
|
|
3344
|
+
var fill = isThrowing
|
|
3345
|
+
? getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3346
|
+
: getFillColor(event, defaultFillColor, attrs.fill);
|
|
3377
3347
|
|
|
3378
3348
|
return drawPath(parentGfx, pathData, {
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3349
|
+
fill,
|
|
3350
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3351
|
+
strokeWidth: 1
|
|
3382
3352
|
});
|
|
3383
3353
|
},
|
|
3384
|
-
'bpmn:ConditionalEventDefinition': function(parentGfx, event) {
|
|
3354
|
+
'bpmn:ConditionalEventDefinition': function(parentGfx, event, attrs = {}) {
|
|
3385
3355
|
var pathData = pathMap.getScaledPath('EVENT_CONDITIONAL', {
|
|
3386
3356
|
xScaleFactor: 1,
|
|
3387
3357
|
yScaleFactor: 1,
|
|
@@ -3394,11 +3364,12 @@
|
|
|
3394
3364
|
});
|
|
3395
3365
|
|
|
3396
3366
|
return drawPath(parentGfx, pathData, {
|
|
3397
|
-
|
|
3398
|
-
stroke: getStrokeColor(event, defaultStrokeColor)
|
|
3367
|
+
fill: getFillColor(event, defaultFillColor, attrs.fill),
|
|
3368
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3369
|
+
strokeWidth: 1
|
|
3399
3370
|
});
|
|
3400
3371
|
},
|
|
3401
|
-
'bpmn:LinkEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3372
|
+
'bpmn:LinkEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3402
3373
|
var pathData = pathMap.getScaledPath('EVENT_LINK', {
|
|
3403
3374
|
xScaleFactor: 1,
|
|
3404
3375
|
yScaleFactor: 1,
|
|
@@ -3410,15 +3381,17 @@
|
|
|
3410
3381
|
}
|
|
3411
3382
|
});
|
|
3412
3383
|
|
|
3413
|
-
var fill = isThrowing
|
|
3384
|
+
var fill = isThrowing
|
|
3385
|
+
? getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3386
|
+
: getFillColor(event, defaultFillColor, attrs.fill);
|
|
3414
3387
|
|
|
3415
3388
|
return drawPath(parentGfx, pathData, {
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3389
|
+
fill,
|
|
3390
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3391
|
+
strokeWidth: 1
|
|
3419
3392
|
});
|
|
3420
3393
|
},
|
|
3421
|
-
'bpmn:ErrorEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3394
|
+
'bpmn:ErrorEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3422
3395
|
var pathData = pathMap.getScaledPath('EVENT_ERROR', {
|
|
3423
3396
|
xScaleFactor: 1.1,
|
|
3424
3397
|
yScaleFactor: 1.1,
|
|
@@ -3430,15 +3403,17 @@
|
|
|
3430
3403
|
}
|
|
3431
3404
|
});
|
|
3432
3405
|
|
|
3433
|
-
var fill = isThrowing
|
|
3406
|
+
var fill = isThrowing
|
|
3407
|
+
? getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3408
|
+
: getFillColor(event, defaultFillColor, attrs.fill);
|
|
3434
3409
|
|
|
3435
3410
|
return drawPath(parentGfx, pathData, {
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3411
|
+
fill,
|
|
3412
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3413
|
+
strokeWidth: 1
|
|
3439
3414
|
});
|
|
3440
3415
|
},
|
|
3441
|
-
'bpmn:CancelEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3416
|
+
'bpmn:CancelEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3442
3417
|
var pathData = pathMap.getScaledPath('EVENT_CANCEL_45', {
|
|
3443
3418
|
xScaleFactor: 1.0,
|
|
3444
3419
|
yScaleFactor: 1.0,
|
|
@@ -3450,19 +3425,19 @@
|
|
|
3450
3425
|
}
|
|
3451
3426
|
});
|
|
3452
3427
|
|
|
3453
|
-
var fill = isThrowing ? getStrokeColor(event, defaultStrokeColor) : 'none';
|
|
3428
|
+
var fill = isThrowing ? getStrokeColor(event, defaultStrokeColor, attrs.stroke) : 'none';
|
|
3454
3429
|
|
|
3455
3430
|
var path = drawPath(parentGfx, pathData, {
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3431
|
+
fill,
|
|
3432
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3433
|
+
strokeWidth: 1
|
|
3459
3434
|
});
|
|
3460
3435
|
|
|
3461
3436
|
rotate(path, 45);
|
|
3462
3437
|
|
|
3463
3438
|
return path;
|
|
3464
3439
|
},
|
|
3465
|
-
'bpmn:CompensateEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3440
|
+
'bpmn:CompensateEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3466
3441
|
var pathData = pathMap.getScaledPath('EVENT_COMPENSATION', {
|
|
3467
3442
|
xScaleFactor: 1,
|
|
3468
3443
|
yScaleFactor: 1,
|
|
@@ -3474,15 +3449,17 @@
|
|
|
3474
3449
|
}
|
|
3475
3450
|
});
|
|
3476
3451
|
|
|
3477
|
-
var fill = isThrowing
|
|
3452
|
+
var fill = isThrowing
|
|
3453
|
+
? getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3454
|
+
: getFillColor(event, defaultFillColor, attrs.fill);
|
|
3478
3455
|
|
|
3479
3456
|
return drawPath(parentGfx, pathData, {
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3457
|
+
fill,
|
|
3458
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3459
|
+
strokeWidth: 1
|
|
3483
3460
|
});
|
|
3484
3461
|
},
|
|
3485
|
-
'bpmn:SignalEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3462
|
+
'bpmn:SignalEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3486
3463
|
var pathData = pathMap.getScaledPath('EVENT_SIGNAL', {
|
|
3487
3464
|
xScaleFactor: 0.9,
|
|
3488
3465
|
yScaleFactor: 0.9,
|
|
@@ -3494,15 +3471,17 @@
|
|
|
3494
3471
|
}
|
|
3495
3472
|
});
|
|
3496
3473
|
|
|
3497
|
-
var fill = isThrowing
|
|
3474
|
+
var fill = isThrowing
|
|
3475
|
+
? getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3476
|
+
: getFillColor(event, defaultFillColor, attrs.fill);
|
|
3498
3477
|
|
|
3499
3478
|
return drawPath(parentGfx, pathData, {
|
|
3500
3479
|
strokeWidth: 1,
|
|
3501
|
-
fill
|
|
3502
|
-
stroke: getStrokeColor(event, defaultStrokeColor)
|
|
3480
|
+
fill,
|
|
3481
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3503
3482
|
});
|
|
3504
3483
|
},
|
|
3505
|
-
'bpmn:MultipleEventDefinition': function(parentGfx, event, isThrowing) {
|
|
3484
|
+
'bpmn:MultipleEventDefinition': function(parentGfx, event, attrs = {}, isThrowing) {
|
|
3506
3485
|
var pathData = pathMap.getScaledPath('EVENT_MULTIPLE', {
|
|
3507
3486
|
xScaleFactor: 1.1,
|
|
3508
3487
|
yScaleFactor: 1.1,
|
|
@@ -3514,14 +3493,16 @@
|
|
|
3514
3493
|
}
|
|
3515
3494
|
});
|
|
3516
3495
|
|
|
3517
|
-
var fill = isThrowing
|
|
3496
|
+
var fill = isThrowing
|
|
3497
|
+
? getStrokeColor(event, defaultStrokeColor, attrs.stroke)
|
|
3498
|
+
: getFillColor(event, defaultFillColor, attrs.fill);
|
|
3518
3499
|
|
|
3519
3500
|
return drawPath(parentGfx, pathData, {
|
|
3520
|
-
|
|
3521
|
-
|
|
3501
|
+
fill,
|
|
3502
|
+
strokeWidth: 1
|
|
3522
3503
|
});
|
|
3523
3504
|
},
|
|
3524
|
-
'bpmn:ParallelMultipleEventDefinition': function(parentGfx, event) {
|
|
3505
|
+
'bpmn:ParallelMultipleEventDefinition': function(parentGfx, event, attrs = {}) {
|
|
3525
3506
|
var pathData = pathMap.getScaledPath('EVENT_PARALLEL_MULTIPLE', {
|
|
3526
3507
|
xScaleFactor: 1.2,
|
|
3527
3508
|
yScaleFactor: 1.2,
|
|
@@ -3534,501 +3515,791 @@
|
|
|
3534
3515
|
});
|
|
3535
3516
|
|
|
3536
3517
|
return drawPath(parentGfx, pathData, {
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
});
|
|
3541
|
-
},
|
|
3542
|
-
'bpmn:EndEvent': function(parentGfx, element, options) {
|
|
3543
|
-
var circle = renderer('bpmn:Event')(parentGfx, element, {
|
|
3544
|
-
strokeWidth: 4,
|
|
3545
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3546
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3518
|
+
fill: getFillColor(event, defaultFillColor, attrs.fill),
|
|
3519
|
+
stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
|
|
3520
|
+
strokeWidth: 1
|
|
3547
3521
|
});
|
|
3548
|
-
|
|
3549
|
-
if (!options || options.renderIcon !== false) {
|
|
3550
|
-
renderEventContent(element, parentGfx);
|
|
3551
|
-
}
|
|
3552
|
-
|
|
3553
|
-
return circle;
|
|
3554
3522
|
},
|
|
3555
|
-
'bpmn:TerminateEventDefinition': function(parentGfx, element) {
|
|
3523
|
+
'bpmn:TerminateEventDefinition': function(parentGfx, element, attrs = {}) {
|
|
3556
3524
|
var circle = drawCircle(parentGfx, element.width, element.height, 8, {
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3525
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3526
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3527
|
+
strokeWidth: 4
|
|
3560
3528
|
});
|
|
3561
3529
|
|
|
3562
3530
|
return circle;
|
|
3563
|
-
}
|
|
3564
|
-
|
|
3565
|
-
var outer = renderer('bpmn:Event')(parentGfx, element, {
|
|
3566
|
-
strokeWidth: 1.5,
|
|
3567
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3568
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3569
|
-
});
|
|
3531
|
+
}
|
|
3532
|
+
};
|
|
3570
3533
|
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
fill: getFillColor(element, 'none'),
|
|
3575
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3576
|
-
});
|
|
3534
|
+
function renderEventIcon(element, parentGfx, attrs = {}) {
|
|
3535
|
+
var semantic = getBusinessObject(element),
|
|
3536
|
+
isThrowing = isThrowEvent(semantic);
|
|
3577
3537
|
|
|
3578
|
-
|
|
3579
|
-
|
|
3538
|
+
if (semantic.get('eventDefinitions') && semantic.get('eventDefinitions').length > 1) {
|
|
3539
|
+
if (semantic.get('parallelMultiple')) {
|
|
3540
|
+
return eventIconRenderers[ 'bpmn:ParallelMultipleEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3541
|
+
}
|
|
3542
|
+
else {
|
|
3543
|
+
return eventIconRenderers[ 'bpmn:MultipleEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3580
3544
|
}
|
|
3545
|
+
}
|
|
3581
3546
|
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
'bpmn:IntermediateThrowEvent': as('bpmn:IntermediateEvent'),
|
|
3547
|
+
if (isTypedEvent(semantic, 'bpmn:MessageEventDefinition')) {
|
|
3548
|
+
return eventIconRenderers[ 'bpmn:MessageEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3549
|
+
}
|
|
3586
3550
|
|
|
3587
|
-
'bpmn:
|
|
3551
|
+
if (isTypedEvent(semantic, 'bpmn:TimerEventDefinition')) {
|
|
3552
|
+
return eventIconRenderers[ 'bpmn:TimerEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3553
|
+
}
|
|
3588
3554
|
|
|
3589
|
-
|
|
3555
|
+
if (isTypedEvent(semantic, 'bpmn:ConditionalEventDefinition')) {
|
|
3556
|
+
return eventIconRenderers[ 'bpmn:ConditionalEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3557
|
+
}
|
|
3590
3558
|
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3559
|
+
if (isTypedEvent(semantic, 'bpmn:SignalEventDefinition')) {
|
|
3560
|
+
return eventIconRenderers[ 'bpmn:SignalEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3561
|
+
}
|
|
3594
3562
|
|
|
3595
|
-
|
|
3596
|
-
|
|
3563
|
+
if (isTypedEvent(semantic, 'bpmn:EscalationEventDefinition')) {
|
|
3564
|
+
return eventIconRenderers[ 'bpmn:EscalationEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3565
|
+
}
|
|
3597
3566
|
|
|
3598
|
-
'bpmn:
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3602
|
-
};
|
|
3567
|
+
if (isTypedEvent(semantic, 'bpmn:LinkEventDefinition')) {
|
|
3568
|
+
return eventIconRenderers[ 'bpmn:LinkEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3569
|
+
}
|
|
3603
3570
|
|
|
3604
|
-
|
|
3571
|
+
if (isTypedEvent(semantic, 'bpmn:ErrorEventDefinition')) {
|
|
3572
|
+
return eventIconRenderers[ 'bpmn:ErrorEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3573
|
+
}
|
|
3605
3574
|
|
|
3606
|
-
|
|
3607
|
-
|
|
3575
|
+
if (isTypedEvent(semantic, 'bpmn:CancelEventDefinition')) {
|
|
3576
|
+
return eventIconRenderers[ 'bpmn:CancelEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3577
|
+
}
|
|
3608
3578
|
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
3579
|
+
if (isTypedEvent(semantic, 'bpmn:CompensateEventDefinition')) {
|
|
3580
|
+
return eventIconRenderers[ 'bpmn:CompensateEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3581
|
+
}
|
|
3613
3582
|
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3583
|
+
if (isTypedEvent(semantic, 'bpmn:TerminateEventDefinition')) {
|
|
3584
|
+
return eventIconRenderers[ 'bpmn:TerminateEventDefinition' ](parentGfx, element, attrs, isThrowing);
|
|
3585
|
+
}
|
|
3586
|
+
|
|
3587
|
+
return null;
|
|
3588
|
+
}
|
|
3589
|
+
|
|
3590
|
+
var taskMarkerRenderers = {
|
|
3591
|
+
'ParticipantMultiplicityMarker': function(parentGfx, element, attrs = {}) {
|
|
3592
|
+
var width = getWidth(element, attrs),
|
|
3593
|
+
height = getHeight(element, attrs);
|
|
3594
|
+
|
|
3595
|
+
var markerPath = pathMap.getScaledPath('MARKER_PARALLEL', {
|
|
3596
|
+
xScaleFactor: 1,
|
|
3597
|
+
yScaleFactor: 1,
|
|
3598
|
+
containerWidth: width,
|
|
3599
|
+
containerHeight: height,
|
|
3600
|
+
position: {
|
|
3601
|
+
mx: ((width / 2 - 6) / width),
|
|
3602
|
+
my: (height - 15) / height
|
|
3618
3603
|
}
|
|
3619
3604
|
});
|
|
3620
3605
|
|
|
3621
|
-
|
|
3606
|
+
drawMarker('participant-multiplicity', parentGfx, markerPath, {
|
|
3607
|
+
strokeWidth: 2,
|
|
3608
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3609
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3610
|
+
});
|
|
3611
|
+
},
|
|
3612
|
+
'SubProcessMarker': function(parentGfx, element, attrs = {}) {
|
|
3613
|
+
var markerRect = drawRect(parentGfx, 14, 14, 0, {
|
|
3622
3614
|
strokeWidth: 1,
|
|
3623
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3624
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3615
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3616
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3625
3617
|
});
|
|
3626
3618
|
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3619
|
+
translate$1(markerRect, element.width / 2 - 7.5, element.height - 20);
|
|
3620
|
+
|
|
3621
|
+
var markerPath = pathMap.getScaledPath('MARKER_SUB_PROCESS', {
|
|
3622
|
+
xScaleFactor: 1.5,
|
|
3623
|
+
yScaleFactor: 1.5,
|
|
3624
|
+
containerWidth: element.width,
|
|
3625
|
+
containerHeight: element.height,
|
|
3626
|
+
position: {
|
|
3627
|
+
mx: (element.width / 2 - 7.5) / element.width,
|
|
3628
|
+
my: (element.height - 20) / element.height
|
|
3631
3629
|
}
|
|
3632
3630
|
});
|
|
3633
3631
|
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3632
|
+
drawMarker('sub-process', parentGfx, markerPath, {
|
|
3633
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3634
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3637
3635
|
});
|
|
3636
|
+
},
|
|
3637
|
+
'ParallelMarker': function(parentGfx, element, attrs) {
|
|
3638
|
+
var width = getWidth(element, attrs),
|
|
3639
|
+
height = getHeight(element, attrs);
|
|
3638
3640
|
|
|
3639
|
-
var
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3641
|
+
var markerPath = pathMap.getScaledPath('MARKER_PARALLEL', {
|
|
3642
|
+
xScaleFactor: 1,
|
|
3643
|
+
yScaleFactor: 1,
|
|
3644
|
+
containerWidth: width,
|
|
3645
|
+
containerHeight: height,
|
|
3646
|
+
position: {
|
|
3647
|
+
mx: ((width / 2 + attrs.parallel) / width),
|
|
3648
|
+
my: (height - 20) / height
|
|
3643
3649
|
}
|
|
3644
3650
|
});
|
|
3645
3651
|
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3652
|
+
drawMarker('parallel', parentGfx, markerPath, {
|
|
3653
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3654
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3650
3655
|
});
|
|
3651
|
-
|
|
3652
|
-
return task;
|
|
3653
3656
|
},
|
|
3654
|
-
'
|
|
3655
|
-
var
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
y: y
|
|
3657
|
+
'SequentialMarker': function(parentGfx, element, attrs) {
|
|
3658
|
+
var markerPath = pathMap.getScaledPath('MARKER_SEQUENTIAL', {
|
|
3659
|
+
xScaleFactor: 1,
|
|
3660
|
+
yScaleFactor: 1,
|
|
3661
|
+
containerWidth: element.width,
|
|
3662
|
+
containerHeight: element.height,
|
|
3663
|
+
position: {
|
|
3664
|
+
mx: ((element.width / 2 + attrs.seq) / element.width),
|
|
3665
|
+
my: (element.height - 19) / element.height
|
|
3664
3666
|
}
|
|
3665
3667
|
});
|
|
3666
3668
|
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3669
|
+
drawMarker('sequential', parentGfx, markerPath, {
|
|
3670
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3671
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3671
3672
|
});
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3673
|
+
},
|
|
3674
|
+
'CompensationMarker': function(parentGfx, element, attrs) {
|
|
3675
|
+
var markerMath = pathMap.getScaledPath('MARKER_COMPENSATION', {
|
|
3676
|
+
xScaleFactor: 1,
|
|
3677
|
+
yScaleFactor: 1,
|
|
3678
|
+
containerWidth: element.width,
|
|
3679
|
+
containerHeight: element.height,
|
|
3680
|
+
position: {
|
|
3681
|
+
mx: ((element.width / 2 + attrs.compensation) / element.width),
|
|
3682
|
+
my: (element.height - 13) / element.height
|
|
3677
3683
|
}
|
|
3678
3684
|
});
|
|
3679
3685
|
|
|
3680
|
-
|
|
3681
|
-
strokeWidth:
|
|
3682
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3683
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3686
|
+
drawMarker('compensation', parentGfx, markerMath, {
|
|
3687
|
+
strokeWidth: 1,
|
|
3688
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3689
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3684
3690
|
});
|
|
3691
|
+
},
|
|
3692
|
+
'LoopMarker': function(parentGfx, element, attrs) {
|
|
3693
|
+
var width = getWidth(element, attrs),
|
|
3694
|
+
height = getHeight(element, attrs);
|
|
3685
3695
|
|
|
3686
|
-
var
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3696
|
+
var markerPath = pathMap.getScaledPath('MARKER_LOOP', {
|
|
3697
|
+
xScaleFactor: 1,
|
|
3698
|
+
yScaleFactor: 1,
|
|
3699
|
+
containerWidth: width,
|
|
3700
|
+
containerHeight: height,
|
|
3701
|
+
position: {
|
|
3702
|
+
mx: ((width / 2 + attrs.loop) / width),
|
|
3703
|
+
my: (height - 7) / height
|
|
3690
3704
|
}
|
|
3691
3705
|
});
|
|
3692
3706
|
|
|
3693
|
-
|
|
3694
|
-
strokeWidth:
|
|
3695
|
-
fill:
|
|
3696
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3707
|
+
drawMarker('loop', parentGfx, markerPath, {
|
|
3708
|
+
strokeWidth: 1.5,
|
|
3709
|
+
fill: 'none',
|
|
3710
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3711
|
+
strokeMiterlimit: 0.5
|
|
3697
3712
|
});
|
|
3698
|
-
|
|
3699
|
-
return task;
|
|
3700
3713
|
},
|
|
3701
|
-
'
|
|
3702
|
-
var
|
|
3714
|
+
'AdhocMarker': function(parentGfx, element, attrs) {
|
|
3715
|
+
var width = getWidth(element, attrs),
|
|
3716
|
+
height = getHeight(element, attrs);
|
|
3703
3717
|
|
|
3704
|
-
var
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3718
|
+
var markerPath = pathMap.getScaledPath('MARKER_ADHOC', {
|
|
3719
|
+
xScaleFactor: 1,
|
|
3720
|
+
yScaleFactor: 1,
|
|
3721
|
+
containerWidth: width,
|
|
3722
|
+
containerHeight: height,
|
|
3723
|
+
position: {
|
|
3724
|
+
mx: ((width / 2 + attrs.adhoc) / width),
|
|
3725
|
+
my: (height - 15) / height
|
|
3708
3726
|
}
|
|
3709
3727
|
});
|
|
3710
3728
|
|
|
3711
|
-
|
|
3712
|
-
strokeWidth:
|
|
3713
|
-
fill:
|
|
3714
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3729
|
+
drawMarker('adhoc', parentGfx, markerPath, {
|
|
3730
|
+
strokeWidth: 1,
|
|
3731
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3732
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3715
3733
|
});
|
|
3734
|
+
}
|
|
3735
|
+
};
|
|
3716
3736
|
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
var task = renderer('bpmn:Task')(parentGfx, element);
|
|
3737
|
+
function renderTaskMarker(type, parentGfx, element, attrs) {
|
|
3738
|
+
taskMarkerRenderers[ type ](parentGfx, element, attrs);
|
|
3739
|
+
}
|
|
3721
3740
|
|
|
3722
|
-
|
|
3741
|
+
function renderTaskMarkers(parentGfx, element, taskMarkers, attrs = {}) {
|
|
3742
|
+
attrs = {
|
|
3743
|
+
fill: attrs.fill,
|
|
3744
|
+
stroke: attrs.stroke,
|
|
3745
|
+
width: getWidth(element, attrs),
|
|
3746
|
+
height: getHeight(element, attrs)
|
|
3747
|
+
};
|
|
3748
|
+
|
|
3749
|
+
var semantic = getBusinessObject(element);
|
|
3750
|
+
|
|
3751
|
+
var subprocess = taskMarkers && taskMarkers.includes('SubProcessMarker');
|
|
3752
|
+
|
|
3753
|
+
if (subprocess) {
|
|
3754
|
+
attrs = {
|
|
3755
|
+
...attrs,
|
|
3756
|
+
seq: -21,
|
|
3757
|
+
parallel: -22,
|
|
3758
|
+
compensation: -42,
|
|
3759
|
+
loop: -18,
|
|
3760
|
+
adhoc: 10
|
|
3761
|
+
};
|
|
3762
|
+
} else {
|
|
3763
|
+
attrs = {
|
|
3764
|
+
...attrs,
|
|
3765
|
+
seq: -5,
|
|
3766
|
+
parallel: -6,
|
|
3767
|
+
compensation: -27,
|
|
3768
|
+
loop: 0,
|
|
3769
|
+
adhoc: 10
|
|
3770
|
+
};
|
|
3771
|
+
}
|
|
3772
|
+
|
|
3773
|
+
forEach$1(taskMarkers, function(marker) {
|
|
3774
|
+
renderTaskMarker(marker, parentGfx, element, attrs);
|
|
3775
|
+
});
|
|
3776
|
+
|
|
3777
|
+
if (semantic.get('isForCompensation')) {
|
|
3778
|
+
renderTaskMarker('CompensationMarker', parentGfx, element, attrs);
|
|
3779
|
+
}
|
|
3780
|
+
|
|
3781
|
+
if (is$1(semantic, 'bpmn:AdHocSubProcess')) {
|
|
3782
|
+
renderTaskMarker('AdhocMarker', parentGfx, element, attrs);
|
|
3783
|
+
}
|
|
3784
|
+
|
|
3785
|
+
var loopCharacteristics = semantic.get('loopCharacteristics'),
|
|
3786
|
+
isSequential = loopCharacteristics && loopCharacteristics.get('isSequential');
|
|
3787
|
+
|
|
3788
|
+
if (loopCharacteristics) {
|
|
3789
|
+
|
|
3790
|
+
if (isSequential === undefined) {
|
|
3791
|
+
renderTaskMarker('LoopMarker', parentGfx, element, attrs);
|
|
3792
|
+
}
|
|
3793
|
+
|
|
3794
|
+
if (isSequential === false) {
|
|
3795
|
+
renderTaskMarker('ParallelMarker', parentGfx, element, attrs);
|
|
3796
|
+
}
|
|
3797
|
+
|
|
3798
|
+
if (isSequential === true) {
|
|
3799
|
+
renderTaskMarker('SequentialMarker', parentGfx, element, attrs);
|
|
3800
|
+
}
|
|
3801
|
+
}
|
|
3802
|
+
}
|
|
3803
|
+
|
|
3804
|
+
function renderLabel(parentGfx, label, attrs = {}) {
|
|
3805
|
+
attrs = assign$1({
|
|
3806
|
+
size: {
|
|
3807
|
+
width: 100
|
|
3808
|
+
}
|
|
3809
|
+
}, attrs);
|
|
3810
|
+
|
|
3811
|
+
var text = textRenderer.createText(label || '', attrs);
|
|
3812
|
+
|
|
3813
|
+
classes$1(text).add('djs-label');
|
|
3814
|
+
|
|
3815
|
+
append(parentGfx, text);
|
|
3816
|
+
|
|
3817
|
+
return text;
|
|
3818
|
+
}
|
|
3819
|
+
|
|
3820
|
+
function renderEmbeddedLabel(parentGfx, element, align, attrs = {}) {
|
|
3821
|
+
var semantic = getBusinessObject(element);
|
|
3822
|
+
|
|
3823
|
+
var box = getBounds({
|
|
3824
|
+
x: element.x,
|
|
3825
|
+
y: element.y,
|
|
3826
|
+
width: element.width,
|
|
3827
|
+
height: element.height
|
|
3828
|
+
}, attrs);
|
|
3829
|
+
|
|
3830
|
+
return renderLabel(parentGfx, semantic.name, {
|
|
3831
|
+
align,
|
|
3832
|
+
box,
|
|
3833
|
+
padding: 7,
|
|
3834
|
+
style: {
|
|
3835
|
+
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor, attrs.stroke)
|
|
3836
|
+
}
|
|
3837
|
+
});
|
|
3838
|
+
}
|
|
3839
|
+
|
|
3840
|
+
function renderExternalLabel(parentGfx, element, attrs = {}) {
|
|
3841
|
+
var box = {
|
|
3842
|
+
width: 90,
|
|
3843
|
+
height: 30,
|
|
3844
|
+
x: element.width / 2 + element.x,
|
|
3845
|
+
y: element.height / 2 + element.y
|
|
3846
|
+
};
|
|
3847
|
+
|
|
3848
|
+
return renderLabel(parentGfx, getLabel(element), {
|
|
3849
|
+
box: box,
|
|
3850
|
+
fitBox: true,
|
|
3851
|
+
style: assign$1(
|
|
3852
|
+
{},
|
|
3853
|
+
textRenderer.getExternalStyle(),
|
|
3854
|
+
{
|
|
3855
|
+
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor, attrs.stroke)
|
|
3856
|
+
}
|
|
3857
|
+
)
|
|
3858
|
+
});
|
|
3859
|
+
}
|
|
3860
|
+
|
|
3861
|
+
function renderLaneLabel(parentGfx, text, element, attrs = {}) {
|
|
3862
|
+
var isHorizontalLane = isHorizontal(element);
|
|
3863
|
+
|
|
3864
|
+
var textBox = renderLabel(parentGfx, text, {
|
|
3865
|
+
box: {
|
|
3866
|
+
height: 30,
|
|
3867
|
+
width: isHorizontalLane ? getHeight(element, attrs) : getWidth(element, attrs),
|
|
3868
|
+
},
|
|
3869
|
+
align: 'center-middle',
|
|
3870
|
+
style: {
|
|
3871
|
+
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor, attrs.stroke)
|
|
3872
|
+
}
|
|
3873
|
+
});
|
|
3874
|
+
|
|
3875
|
+
if (isHorizontalLane) {
|
|
3876
|
+
var top = -1 * getHeight(element, attrs);
|
|
3877
|
+
transform(textBox, 0, -top, 270);
|
|
3878
|
+
}
|
|
3879
|
+
}
|
|
3880
|
+
|
|
3881
|
+
function renderActivity(parentGfx, element, attrs = {}) {
|
|
3882
|
+
var {
|
|
3883
|
+
width,
|
|
3884
|
+
height
|
|
3885
|
+
} = getBounds(element, attrs);
|
|
3886
|
+
|
|
3887
|
+
return drawRect(parentGfx, width, height, TASK_BORDER_RADIUS, {
|
|
3888
|
+
...attrs,
|
|
3889
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3890
|
+
fillOpacity: DEFAULT_OPACITY,
|
|
3891
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3892
|
+
});
|
|
3893
|
+
}
|
|
3894
|
+
|
|
3895
|
+
function renderAssociation(parentGfx, element, attrs = {}) {
|
|
3896
|
+
var semantic = getBusinessObject(element);
|
|
3897
|
+
|
|
3898
|
+
var fill = getFillColor(element, defaultFillColor, attrs.fill),
|
|
3899
|
+
stroke = getStrokeColor(element, defaultStrokeColor, attrs.stroke);
|
|
3900
|
+
|
|
3901
|
+
if (semantic.get('associationDirection') === 'One' ||
|
|
3902
|
+
semantic.get('associationDirection') === 'Both') {
|
|
3903
|
+
attrs.markerEnd = marker('association-end', fill, stroke);
|
|
3904
|
+
}
|
|
3905
|
+
|
|
3906
|
+
if (semantic.get('associationDirection') === 'Both') {
|
|
3907
|
+
attrs.markerStart = marker('association-start', fill, stroke);
|
|
3908
|
+
}
|
|
3909
|
+
|
|
3910
|
+
attrs = pickAttrs(attrs, [
|
|
3911
|
+
'markerStart',
|
|
3912
|
+
'markerEnd'
|
|
3913
|
+
]);
|
|
3914
|
+
|
|
3915
|
+
return drawConnectionSegments(parentGfx, element.waypoints, {
|
|
3916
|
+
...attrs,
|
|
3917
|
+
stroke,
|
|
3918
|
+
strokeDasharray: '0, 5'
|
|
3919
|
+
});
|
|
3920
|
+
}
|
|
3921
|
+
|
|
3922
|
+
function renderDataObject(parentGfx, element, attrs = {}) {
|
|
3923
|
+
var fill = getFillColor(element, defaultFillColor, attrs.fill),
|
|
3924
|
+
stroke = getStrokeColor(element, defaultStrokeColor, attrs.stroke);
|
|
3925
|
+
|
|
3926
|
+
var pathData = pathMap.getScaledPath('DATA_OBJECT_PATH', {
|
|
3927
|
+
xScaleFactor: 1,
|
|
3928
|
+
yScaleFactor: 1,
|
|
3929
|
+
containerWidth: element.width,
|
|
3930
|
+
containerHeight: element.height,
|
|
3931
|
+
position: {
|
|
3932
|
+
mx: 0.474,
|
|
3933
|
+
my: 0.296
|
|
3934
|
+
}
|
|
3935
|
+
});
|
|
3936
|
+
|
|
3937
|
+
var dataObject = drawPath(parentGfx, pathData, {
|
|
3938
|
+
fill,
|
|
3939
|
+
fillOpacity: DEFAULT_OPACITY,
|
|
3940
|
+
stroke
|
|
3941
|
+
});
|
|
3942
|
+
|
|
3943
|
+
var semantic = getBusinessObject(element);
|
|
3944
|
+
|
|
3945
|
+
if (isCollection(semantic)) {
|
|
3946
|
+
var collectionPathData = pathMap.getScaledPath('DATA_OBJECT_COLLECTION_PATH', {
|
|
3723
3947
|
xScaleFactor: 1,
|
|
3724
3948
|
yScaleFactor: 1,
|
|
3725
|
-
containerWidth:
|
|
3726
|
-
containerHeight:
|
|
3949
|
+
containerWidth: element.width,
|
|
3950
|
+
containerHeight: element.height,
|
|
3727
3951
|
position: {
|
|
3728
|
-
mx: 0.
|
|
3729
|
-
my:
|
|
3952
|
+
mx: 0.33,
|
|
3953
|
+
my: (element.height - 18) / element.height
|
|
3730
3954
|
}
|
|
3731
3955
|
});
|
|
3732
3956
|
|
|
3733
|
-
|
|
3734
|
-
strokeWidth:
|
|
3735
|
-
fill
|
|
3736
|
-
stroke
|
|
3957
|
+
drawPath(parentGfx, collectionPathData, {
|
|
3958
|
+
strokeWidth: 2,
|
|
3959
|
+
fill,
|
|
3960
|
+
stroke
|
|
3737
3961
|
});
|
|
3962
|
+
}
|
|
3738
3963
|
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
'bpmn:ReceiveTask' : function(parentGfx, element) {
|
|
3742
|
-
var semantic = getBusinessObject(element);
|
|
3964
|
+
return dataObject;
|
|
3965
|
+
}
|
|
3743
3966
|
|
|
3744
|
-
|
|
3745
|
-
|
|
3967
|
+
function renderEvent(parentGfx, element, attrs = {}) {
|
|
3968
|
+
return drawCircle(parentGfx, element.width, element.height, {
|
|
3969
|
+
fillOpacity: DEFAULT_OPACITY,
|
|
3970
|
+
...attrs,
|
|
3971
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3972
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3973
|
+
});
|
|
3974
|
+
}
|
|
3746
3975
|
|
|
3747
|
-
|
|
3748
|
-
|
|
3976
|
+
function renderGateway(parentGfx, element, attrs = {}) {
|
|
3977
|
+
return drawDiamond(parentGfx, element.width, element.height, {
|
|
3978
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3979
|
+
fillOpacity: DEFAULT_OPACITY,
|
|
3980
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3981
|
+
});
|
|
3982
|
+
}
|
|
3749
3983
|
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3984
|
+
function renderLane(parentGfx, element, attrs = {}) {
|
|
3985
|
+
var lane = drawRect(parentGfx, getWidth(element, attrs), getHeight(element, attrs), 0, {
|
|
3986
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
3987
|
+
fillOpacity: attrs.fillOpacity || DEFAULT_OPACITY,
|
|
3988
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
3989
|
+
strokeWidth: 1.5
|
|
3990
|
+
});
|
|
3757
3991
|
|
|
3758
|
-
|
|
3759
|
-
xScaleFactor: 0.9,
|
|
3760
|
-
yScaleFactor: 0.9,
|
|
3761
|
-
containerWidth: 21,
|
|
3762
|
-
containerHeight: 14,
|
|
3763
|
-
position: {
|
|
3764
|
-
mx: 0.3,
|
|
3765
|
-
my: 0.4
|
|
3766
|
-
}
|
|
3767
|
-
});
|
|
3768
|
-
}
|
|
3992
|
+
var semantic = getBusinessObject(element);
|
|
3769
3993
|
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3994
|
+
if (is$1(semantic, 'bpmn:Lane')) {
|
|
3995
|
+
var text = semantic.get('name');
|
|
3996
|
+
|
|
3997
|
+
renderLaneLabel(parentGfx, text, element, attrs);
|
|
3998
|
+
}
|
|
3999
|
+
|
|
4000
|
+
return lane;
|
|
4001
|
+
}
|
|
4002
|
+
|
|
4003
|
+
function renderSubProcess(parentGfx, element, attrs = {}) {
|
|
4004
|
+
var activity = renderActivity(parentGfx, element, attrs);
|
|
4005
|
+
|
|
4006
|
+
if (isEventSubProcess(element)) {
|
|
4007
|
+
attr$1(activity, {
|
|
4008
|
+
strokeDasharray: '0, 5.5',
|
|
4009
|
+
strokeWidth: 2.5
|
|
3774
4010
|
});
|
|
4011
|
+
}
|
|
3775
4012
|
|
|
3776
|
-
|
|
4013
|
+
var expanded = isExpanded(element);
|
|
4014
|
+
|
|
4015
|
+
renderEmbeddedLabel(parentGfx, element, expanded ? 'center-top' : 'center-middle', attrs);
|
|
4016
|
+
|
|
4017
|
+
if (expanded) {
|
|
4018
|
+
renderTaskMarkers(parentGfx, element, undefined, attrs);
|
|
4019
|
+
} else {
|
|
4020
|
+
renderTaskMarkers(parentGfx, element, [ 'SubProcessMarker' ], attrs);
|
|
4021
|
+
}
|
|
4022
|
+
|
|
4023
|
+
return activity;
|
|
4024
|
+
}
|
|
4025
|
+
|
|
4026
|
+
function renderTask(parentGfx, element, attrs = {}) {
|
|
4027
|
+
var activity = renderActivity(parentGfx, element, attrs);
|
|
4028
|
+
|
|
4029
|
+
renderEmbeddedLabel(parentGfx, element, 'center-middle', attrs);
|
|
4030
|
+
|
|
4031
|
+
renderTaskMarkers(parentGfx, element, undefined, attrs);
|
|
4032
|
+
|
|
4033
|
+
return activity;
|
|
4034
|
+
}
|
|
4035
|
+
|
|
4036
|
+
var handlers = this.handlers = {
|
|
4037
|
+
'bpmn:AdHocSubProcess': function(parentGfx, element, attrs = {}) {
|
|
4038
|
+
if (isExpanded(element)) {
|
|
4039
|
+
attrs = pickAttrs(attrs, [
|
|
4040
|
+
'fill',
|
|
4041
|
+
'stroke',
|
|
4042
|
+
'width',
|
|
4043
|
+
'height'
|
|
4044
|
+
]);
|
|
4045
|
+
} else {
|
|
4046
|
+
attrs = pickAttrs(attrs, [
|
|
4047
|
+
'fill',
|
|
4048
|
+
'stroke'
|
|
4049
|
+
]);
|
|
4050
|
+
}
|
|
4051
|
+
|
|
4052
|
+
return renderSubProcess(parentGfx, element, attrs);
|
|
3777
4053
|
},
|
|
3778
|
-
'bpmn:
|
|
3779
|
-
|
|
4054
|
+
'bpmn:Association': function(parentGfx, element, attrs = {}) {
|
|
4055
|
+
attrs = pickAttrs(attrs, [
|
|
4056
|
+
'fill',
|
|
4057
|
+
'stroke'
|
|
4058
|
+
]);
|
|
3780
4059
|
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
}
|
|
3786
|
-
});
|
|
4060
|
+
return renderAssociation(parentGfx, element, attrs);
|
|
4061
|
+
},
|
|
4062
|
+
'bpmn:BoundaryEvent': function(parentGfx, element, attrs = {}) {
|
|
4063
|
+
var { renderIcon = true } = attrs;
|
|
3787
4064
|
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
stroke
|
|
4065
|
+
attrs = pickAttrs(attrs, [
|
|
4066
|
+
'fill',
|
|
4067
|
+
'stroke'
|
|
4068
|
+
]);
|
|
4069
|
+
|
|
4070
|
+
var semantic = getBusinessObject(element),
|
|
4071
|
+
cancelActivity = semantic.get('cancelActivity');
|
|
4072
|
+
|
|
4073
|
+
attrs = {
|
|
4074
|
+
strokeWidth: 1.5,
|
|
4075
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4076
|
+
fillOpacity: FULL_OPACITY,
|
|
4077
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
4078
|
+
};
|
|
4079
|
+
|
|
4080
|
+
if (!cancelActivity) {
|
|
4081
|
+
attrs.strokeDasharray = '6';
|
|
4082
|
+
}
|
|
4083
|
+
|
|
4084
|
+
var event = renderEvent(parentGfx, element, attrs);
|
|
4085
|
+
|
|
4086
|
+
drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, {
|
|
4087
|
+
...attrs,
|
|
4088
|
+
fill: 'none'
|
|
3791
4089
|
});
|
|
3792
4090
|
|
|
3793
|
-
|
|
4091
|
+
if (renderIcon) {
|
|
4092
|
+
renderEventIcon(element, parentGfx, attrs);
|
|
4093
|
+
}
|
|
4094
|
+
|
|
4095
|
+
return event;
|
|
3794
4096
|
},
|
|
3795
|
-
'bpmn:BusinessRuleTask': function(parentGfx, element) {
|
|
3796
|
-
|
|
4097
|
+
'bpmn:BusinessRuleTask': function(parentGfx, element, attrs = {}) {
|
|
4098
|
+
attrs = pickAttrs(attrs, [
|
|
4099
|
+
'fill',
|
|
4100
|
+
'stroke'
|
|
4101
|
+
]);
|
|
3797
4102
|
|
|
3798
|
-
var
|
|
4103
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4104
|
+
|
|
4105
|
+
var headerData = pathMap.getScaledPath('TASK_TYPE_BUSINESS_RULE_MAIN', {
|
|
3799
4106
|
abspos: {
|
|
3800
4107
|
x: 8,
|
|
3801
4108
|
y: 8
|
|
3802
4109
|
}
|
|
3803
4110
|
});
|
|
3804
4111
|
|
|
3805
|
-
var
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
fill: getFillColor(element,
|
|
3809
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4112
|
+
var businessPath = drawPath(parentGfx, headerData);
|
|
4113
|
+
|
|
4114
|
+
attr$1(businessPath, {
|
|
4115
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4116
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4117
|
+
strokeWidth: 1
|
|
3810
4118
|
});
|
|
3811
4119
|
|
|
3812
|
-
var
|
|
4120
|
+
var headerPathData = pathMap.getScaledPath('TASK_TYPE_BUSINESS_RULE_HEADER', {
|
|
3813
4121
|
abspos: {
|
|
3814
4122
|
x: 8,
|
|
3815
4123
|
y: 8
|
|
3816
4124
|
}
|
|
3817
4125
|
});
|
|
3818
4126
|
|
|
3819
|
-
var
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
4127
|
+
var businessHeaderPath = drawPath(parentGfx, headerPathData);
|
|
4128
|
+
|
|
4129
|
+
attr$1(businessHeaderPath, {
|
|
4130
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4131
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4132
|
+
strokeWidth: 1
|
|
3823
4133
|
});
|
|
3824
4134
|
|
|
3825
4135
|
return task;
|
|
3826
4136
|
},
|
|
3827
|
-
'bpmn:
|
|
3828
|
-
attrs =
|
|
3829
|
-
fill
|
|
3830
|
-
stroke
|
|
4137
|
+
'bpmn:CallActivity': function(parentGfx, element, attrs = {}) {
|
|
4138
|
+
attrs = pickAttrs(attrs, [
|
|
4139
|
+
'fill',
|
|
4140
|
+
'stroke'
|
|
4141
|
+
]);
|
|
4142
|
+
|
|
4143
|
+
return renderSubProcess(parentGfx, element, {
|
|
4144
|
+
strokeWidth: 5,
|
|
3831
4145
|
...attrs
|
|
3832
|
-
};
|
|
4146
|
+
});
|
|
4147
|
+
},
|
|
4148
|
+
'bpmn:ComplexGateway': function(parentGfx, element, attrs = {}) {
|
|
4149
|
+
attrs = pickAttrs(attrs, [
|
|
4150
|
+
'fill',
|
|
4151
|
+
'stroke'
|
|
4152
|
+
]);
|
|
3833
4153
|
|
|
3834
|
-
var
|
|
4154
|
+
var gateway = renderGateway(parentGfx, element, attrs);
|
|
3835
4155
|
|
|
3836
|
-
var
|
|
4156
|
+
var pathData = pathMap.getScaledPath('GATEWAY_COMPLEX', {
|
|
4157
|
+
xScaleFactor: 0.5,
|
|
4158
|
+
yScaleFactor:0.5,
|
|
4159
|
+
containerWidth: element.width,
|
|
4160
|
+
containerHeight: element.height,
|
|
4161
|
+
position: {
|
|
4162
|
+
mx: 0.46,
|
|
4163
|
+
my: 0.26
|
|
4164
|
+
}
|
|
4165
|
+
});
|
|
3837
4166
|
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
}
|
|
4167
|
+
drawPath(parentGfx, pathData, {
|
|
4168
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4169
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4170
|
+
strokeWidth: 1
|
|
4171
|
+
});
|
|
3844
4172
|
|
|
3845
|
-
|
|
4173
|
+
return gateway;
|
|
4174
|
+
},
|
|
4175
|
+
'bpmn:DataInput': function(parentGfx, element, attrs = {}) {
|
|
4176
|
+
attrs = pickAttrs(attrs, [
|
|
4177
|
+
'fill',
|
|
4178
|
+
'stroke'
|
|
4179
|
+
]);
|
|
3846
4180
|
|
|
3847
|
-
|
|
3848
|
-
attachTaskMarkers(parentGfx, element);
|
|
3849
|
-
} else {
|
|
3850
|
-
attachTaskMarkers(parentGfx, element, [ 'SubProcessMarker' ]);
|
|
3851
|
-
}
|
|
4181
|
+
var arrowPathData = pathMap.getRawPath('DATA_ARROW');
|
|
3852
4182
|
|
|
3853
|
-
|
|
3854
|
-
},
|
|
3855
|
-
'bpmn:AdHocSubProcess': function(parentGfx, element) {
|
|
3856
|
-
return renderer('bpmn:SubProcess')(parentGfx, element);
|
|
3857
|
-
},
|
|
3858
|
-
'bpmn:Transaction': function(parentGfx, element) {
|
|
3859
|
-
var outer = renderer('bpmn:SubProcess')(parentGfx, element, { strokeWidth: 1.5 });
|
|
4183
|
+
var dataObject = renderDataObject(parentGfx, element, attrs);
|
|
3860
4184
|
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
4185
|
+
drawPath(parentGfx, arrowPathData, {
|
|
4186
|
+
fill: 'none',
|
|
4187
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4188
|
+
strokeWidth: 1
|
|
3864
4189
|
});
|
|
3865
4190
|
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
return outer;
|
|
4191
|
+
return dataObject;
|
|
3869
4192
|
},
|
|
3870
|
-
'bpmn:
|
|
3871
|
-
|
|
3872
|
-
|
|
4193
|
+
'bpmn:DataInputAssociation': function(parentGfx, element, attrs = {}) {
|
|
4194
|
+
attrs = pickAttrs(attrs, [
|
|
4195
|
+
'fill',
|
|
4196
|
+
'stroke'
|
|
4197
|
+
]);
|
|
4198
|
+
|
|
4199
|
+
return renderAssociation(parentGfx, element, {
|
|
4200
|
+
...attrs,
|
|
4201
|
+
markerEnd: marker('association-end', getFillColor(element, defaultFillColor, attrs.fill), getStrokeColor(element, defaultStrokeColor, attrs.stroke))
|
|
3873
4202
|
});
|
|
3874
4203
|
},
|
|
3875
|
-
'bpmn:
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
3881
|
-
fill: getFillColor(element, defaultFillColor),
|
|
3882
|
-
stroke: getStrokeColor(element, defaultStrokeColor),
|
|
3883
|
-
strokeWidth
|
|
3884
|
-
};
|
|
3885
|
-
|
|
3886
|
-
var lane = renderer('bpmn:Lane')(parentGfx, element, attrs);
|
|
3887
|
-
|
|
3888
|
-
var expandedPool = isExpanded(element);
|
|
3889
|
-
|
|
3890
|
-
if (expandedPool) {
|
|
3891
|
-
drawLine(parentGfx, [
|
|
3892
|
-
{ x: 30, y: 0 },
|
|
3893
|
-
{ x: 30, y: element.height }
|
|
3894
|
-
], {
|
|
3895
|
-
stroke: getStrokeColor(element, defaultStrokeColor),
|
|
3896
|
-
strokeWidth
|
|
3897
|
-
});
|
|
3898
|
-
var text = getBusinessObject(element).name;
|
|
3899
|
-
renderLaneLabel(parentGfx, text, element);
|
|
3900
|
-
} else {
|
|
3901
|
-
|
|
3902
|
-
// collapsed pool draw text inline
|
|
3903
|
-
var text2 = getBusinessObject(element).name;
|
|
3904
|
-
renderLabel(parentGfx, text2, {
|
|
3905
|
-
box: element, align: 'center-middle',
|
|
3906
|
-
style: {
|
|
3907
|
-
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
3908
|
-
}
|
|
3909
|
-
});
|
|
3910
|
-
}
|
|
3911
|
-
|
|
3912
|
-
var participantMultiplicity = !!(getBusinessObject(element).participantMultiplicity);
|
|
4204
|
+
'bpmn:DataObject': function(parentGfx, element, attrs = {}) {
|
|
4205
|
+
attrs = pickAttrs(attrs, [
|
|
4206
|
+
'fill',
|
|
4207
|
+
'stroke'
|
|
4208
|
+
]);
|
|
3913
4209
|
|
|
3914
|
-
|
|
3915
|
-
renderer('ParticipantMultiplicityMarker')(parentGfx, element);
|
|
3916
|
-
}
|
|
3917
|
-
|
|
3918
|
-
return lane;
|
|
4210
|
+
return renderDataObject(parentGfx, element, attrs);
|
|
3919
4211
|
},
|
|
3920
|
-
'bpmn:
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
stroke
|
|
3925
|
-
|
|
3926
|
-
...attrs
|
|
3927
|
-
});
|
|
3928
|
-
|
|
3929
|
-
var semantic = getBusinessObject(element);
|
|
4212
|
+
'bpmn:DataObjectReference': as('bpmn:DataObject'),
|
|
4213
|
+
'bpmn:DataOutput': function(parentGfx, element, attrs = {}) {
|
|
4214
|
+
attrs = pickAttrs(attrs, [
|
|
4215
|
+
'fill',
|
|
4216
|
+
'stroke'
|
|
4217
|
+
]);
|
|
3930
4218
|
|
|
3931
|
-
|
|
3932
|
-
var text = semantic.name;
|
|
3933
|
-
renderLaneLabel(parentGfx, text, element);
|
|
3934
|
-
}
|
|
4219
|
+
var arrowPathData = pathMap.getRawPath('DATA_ARROW');
|
|
3935
4220
|
|
|
3936
|
-
|
|
3937
|
-
},
|
|
3938
|
-
'bpmn:InclusiveGateway': function(parentGfx, element) {
|
|
3939
|
-
var diamond = renderer('bpmn:Gateway')(parentGfx, element);
|
|
4221
|
+
var dataObject = renderDataObject(parentGfx, element, attrs);
|
|
3940
4222
|
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4223
|
+
drawPath(parentGfx, arrowPathData, {
|
|
4224
|
+
strokeWidth: 1,
|
|
4225
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4226
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
3946
4227
|
});
|
|
3947
4228
|
|
|
3948
|
-
return
|
|
4229
|
+
return dataObject;
|
|
3949
4230
|
},
|
|
3950
|
-
'bpmn:
|
|
3951
|
-
|
|
4231
|
+
'bpmn:DataOutputAssociation': function(parentGfx, element, attrs = {}) {
|
|
4232
|
+
attrs = pickAttrs(attrs, [
|
|
4233
|
+
'fill',
|
|
4234
|
+
'stroke'
|
|
4235
|
+
]);
|
|
3952
4236
|
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
containerWidth: element.width,
|
|
3957
|
-
containerHeight: element.height,
|
|
3958
|
-
position: {
|
|
3959
|
-
mx: 0.32,
|
|
3960
|
-
my: 0.3
|
|
3961
|
-
}
|
|
4237
|
+
return renderAssociation(parentGfx, element, {
|
|
4238
|
+
...attrs,
|
|
4239
|
+
markerEnd: marker('association-end', getFillColor(element, defaultFillColor, attrs.fill), getStrokeColor(element, defaultStrokeColor, attrs.stroke))
|
|
3962
4240
|
});
|
|
3963
|
-
|
|
3964
|
-
if ((getDi(element).isMarkerVisible)) {
|
|
3965
|
-
drawPath(parentGfx, pathData, {
|
|
3966
|
-
strokeWidth: 1,
|
|
3967
|
-
fill: getStrokeColor(element, defaultStrokeColor),
|
|
3968
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
3969
|
-
});
|
|
3970
|
-
}
|
|
3971
|
-
|
|
3972
|
-
return diamond;
|
|
3973
4241
|
},
|
|
3974
|
-
'bpmn:
|
|
3975
|
-
|
|
4242
|
+
'bpmn:DataStoreReference': function(parentGfx, element, attrs = {}) {
|
|
4243
|
+
attrs = pickAttrs(attrs, [
|
|
4244
|
+
'fill',
|
|
4245
|
+
'stroke'
|
|
4246
|
+
]);
|
|
3976
4247
|
|
|
3977
|
-
var
|
|
3978
|
-
xScaleFactor:
|
|
3979
|
-
yScaleFactor:
|
|
4248
|
+
var dataStorePath = pathMap.getScaledPath('DATA_STORE', {
|
|
4249
|
+
xScaleFactor: 1,
|
|
4250
|
+
yScaleFactor: 1,
|
|
3980
4251
|
containerWidth: element.width,
|
|
3981
4252
|
containerHeight: element.height,
|
|
3982
4253
|
position: {
|
|
3983
|
-
mx: 0
|
|
3984
|
-
my: 0.
|
|
4254
|
+
mx: 0,
|
|
4255
|
+
my: 0.133
|
|
3985
4256
|
}
|
|
3986
4257
|
});
|
|
3987
4258
|
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4259
|
+
return drawPath(parentGfx, dataStorePath, {
|
|
4260
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4261
|
+
fillOpacity: DEFAULT_OPACITY,
|
|
4262
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4263
|
+
strokeWidth: 2
|
|
3992
4264
|
});
|
|
3993
|
-
|
|
3994
|
-
return diamond;
|
|
3995
4265
|
},
|
|
3996
|
-
'bpmn:
|
|
3997
|
-
var
|
|
4266
|
+
'bpmn:EndEvent': function(parentGfx, element, attrs = {}) {
|
|
4267
|
+
var { renderIcon = true } = attrs;
|
|
3998
4268
|
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
containerHeight: element.height,
|
|
4004
|
-
position: {
|
|
4005
|
-
mx: 0.46,
|
|
4006
|
-
my: 0.2
|
|
4007
|
-
}
|
|
4008
|
-
});
|
|
4269
|
+
attrs = pickAttrs(attrs, [
|
|
4270
|
+
'fill',
|
|
4271
|
+
'stroke'
|
|
4272
|
+
]);
|
|
4009
4273
|
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4274
|
+
var event = renderEvent(parentGfx, element, {
|
|
4275
|
+
...attrs,
|
|
4276
|
+
strokeWidth: 4
|
|
4014
4277
|
});
|
|
4015
4278
|
|
|
4016
|
-
|
|
4279
|
+
if (renderIcon) {
|
|
4280
|
+
renderEventIcon(element, parentGfx, attrs);
|
|
4281
|
+
}
|
|
4282
|
+
|
|
4283
|
+
return event;
|
|
4017
4284
|
},
|
|
4018
|
-
'bpmn:EventBasedGateway': function(parentGfx, element) {
|
|
4285
|
+
'bpmn:EventBasedGateway': function(parentGfx, element, attrs = {}) {
|
|
4286
|
+
attrs = pickAttrs(attrs, [
|
|
4287
|
+
'fill',
|
|
4288
|
+
'stroke'
|
|
4289
|
+
]);
|
|
4019
4290
|
|
|
4020
4291
|
var semantic = getBusinessObject(element);
|
|
4021
4292
|
|
|
4022
|
-
var diamond =
|
|
4293
|
+
var diamond = renderGateway(parentGfx, element, attrs);
|
|
4023
4294
|
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4295
|
+
drawCircle(parentGfx, element.width, element.height, element.height * 0.20, {
|
|
4296
|
+
fill: getFillColor(element, 'none', attrs.fill),
|
|
4297
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4298
|
+
strokeWidth: 1
|
|
4028
4299
|
});
|
|
4029
4300
|
|
|
4030
|
-
var type = semantic.eventGatewayType
|
|
4031
|
-
|
|
4301
|
+
var type = semantic.get('eventGatewayType'),
|
|
4302
|
+
instantiate = !!semantic.get('instantiate');
|
|
4032
4303
|
|
|
4033
4304
|
function drawEvent() {
|
|
4034
4305
|
|
|
@@ -4043,18 +4314,17 @@
|
|
|
4043
4314
|
}
|
|
4044
4315
|
});
|
|
4045
4316
|
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4317
|
+
drawPath(parentGfx, pathData, {
|
|
4318
|
+
fill: 'none',
|
|
4319
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4320
|
+
strokeWidth: 2
|
|
4050
4321
|
});
|
|
4051
4322
|
}
|
|
4052
4323
|
|
|
4053
4324
|
if (type === 'Parallel') {
|
|
4054
|
-
|
|
4055
4325
|
var pathData = pathMap.getScaledPath('GATEWAY_PARALLEL', {
|
|
4056
4326
|
xScaleFactor: 0.4,
|
|
4057
|
-
yScaleFactor:0.4,
|
|
4327
|
+
yScaleFactor: 0.4,
|
|
4058
4328
|
containerWidth: element.width,
|
|
4059
4329
|
containerHeight: element.height,
|
|
4060
4330
|
position: {
|
|
@@ -4064,16 +4334,16 @@
|
|
|
4064
4334
|
});
|
|
4065
4335
|
|
|
4066
4336
|
drawPath(parentGfx, pathData, {
|
|
4067
|
-
|
|
4068
|
-
|
|
4337
|
+
fill: 'none',
|
|
4338
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4339
|
+
strokeWidth: 1
|
|
4069
4340
|
});
|
|
4070
4341
|
} else if (type === 'Exclusive') {
|
|
4071
|
-
|
|
4072
4342
|
if (!instantiate) {
|
|
4073
4343
|
drawCircle(parentGfx, element.width, element.height, element.height * 0.26, {
|
|
4074
|
-
strokeWidth: 1,
|
|
4075
4344
|
fill: 'none',
|
|
4076
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4345
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4346
|
+
strokeWidth: 1
|
|
4077
4347
|
});
|
|
4078
4348
|
}
|
|
4079
4349
|
|
|
@@ -4083,104 +4353,163 @@
|
|
|
4083
4353
|
|
|
4084
4354
|
return diamond;
|
|
4085
4355
|
},
|
|
4086
|
-
'bpmn:
|
|
4087
|
-
|
|
4088
|
-
fill
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
});
|
|
4092
|
-
},
|
|
4093
|
-
'bpmn:SequenceFlow': function(parentGfx, element) {
|
|
4094
|
-
var fill = getFillColor(element, defaultFillColor),
|
|
4095
|
-
stroke = getStrokeColor(element, defaultStrokeColor);
|
|
4356
|
+
'bpmn:ExclusiveGateway': function(parentGfx, element, attrs = {}) {
|
|
4357
|
+
attrs = pickAttrs(attrs, [
|
|
4358
|
+
'fill',
|
|
4359
|
+
'stroke'
|
|
4360
|
+
]);
|
|
4096
4361
|
|
|
4097
|
-
var
|
|
4098
|
-
markerEnd: marker('sequenceflow-end', fill, stroke),
|
|
4099
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4100
|
-
});
|
|
4362
|
+
var gateway = renderGateway(parentGfx, element, attrs);
|
|
4101
4363
|
|
|
4102
|
-
var
|
|
4364
|
+
var pathData = pathMap.getScaledPath('GATEWAY_EXCLUSIVE', {
|
|
4365
|
+
xScaleFactor: 0.4,
|
|
4366
|
+
yScaleFactor: 0.4,
|
|
4367
|
+
containerWidth: element.width,
|
|
4368
|
+
containerHeight: element.height,
|
|
4369
|
+
position: {
|
|
4370
|
+
mx: 0.32,
|
|
4371
|
+
my: 0.3
|
|
4372
|
+
}
|
|
4373
|
+
});
|
|
4103
4374
|
|
|
4104
|
-
var
|
|
4375
|
+
var di = getDi(element);
|
|
4105
4376
|
|
|
4106
|
-
if (
|
|
4107
|
-
|
|
4377
|
+
if (di.get('isMarkerVisible')) {
|
|
4378
|
+
drawPath(parentGfx, pathData, {
|
|
4379
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4380
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4381
|
+
strokeWidth: 1
|
|
4382
|
+
});
|
|
4383
|
+
}
|
|
4108
4384
|
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4385
|
+
return gateway;
|
|
4386
|
+
},
|
|
4387
|
+
'bpmn:Gateway': function(parentGfx, element, attrs = {}) {
|
|
4388
|
+
attrs = pickAttrs(attrs, [
|
|
4389
|
+
'fill',
|
|
4390
|
+
'stroke'
|
|
4391
|
+
]);
|
|
4115
4392
|
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4393
|
+
return renderGateway(parentGfx, element, attrs);
|
|
4394
|
+
},
|
|
4395
|
+
'bpmn:Group': function(parentGfx, element, attrs = {}) {
|
|
4396
|
+
attrs = pickAttrs(attrs, [
|
|
4397
|
+
'fill',
|
|
4398
|
+
'stroke',
|
|
4399
|
+
'width',
|
|
4400
|
+
'height'
|
|
4401
|
+
]);
|
|
4124
4402
|
|
|
4125
|
-
return
|
|
4403
|
+
return drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS, {
|
|
4404
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4405
|
+
strokeWidth: 1.5,
|
|
4406
|
+
strokeDasharray: '10, 6, 0, 6',
|
|
4407
|
+
fill: 'none',
|
|
4408
|
+
pointerEvents: 'none',
|
|
4409
|
+
width: getWidth(element, attrs),
|
|
4410
|
+
height: getHeight(element, attrs)
|
|
4411
|
+
});
|
|
4126
4412
|
},
|
|
4127
|
-
'bpmn:
|
|
4413
|
+
'bpmn:InclusiveGateway': function(parentGfx, element, attrs = {}) {
|
|
4414
|
+
attrs = pickAttrs(attrs, [
|
|
4415
|
+
'fill',
|
|
4416
|
+
'stroke'
|
|
4417
|
+
]);
|
|
4128
4418
|
|
|
4129
|
-
var
|
|
4419
|
+
var gateway = renderGateway(parentGfx, element, attrs);
|
|
4420
|
+
|
|
4421
|
+
drawCircle(parentGfx, element.width, element.height, element.height * 0.24, {
|
|
4422
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4423
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4424
|
+
strokeWidth: 2.5
|
|
4425
|
+
});
|
|
4130
4426
|
|
|
4131
|
-
|
|
4132
|
-
|
|
4427
|
+
return gateway;
|
|
4428
|
+
},
|
|
4429
|
+
'bpmn:IntermediateEvent': function(parentGfx, element, attrs = {}) {
|
|
4430
|
+
var { renderIcon = true } = attrs;
|
|
4133
4431
|
|
|
4134
|
-
attrs =
|
|
4135
|
-
|
|
4136
|
-
stroke
|
|
4137
|
-
|
|
4138
|
-
};
|
|
4432
|
+
attrs = pickAttrs(attrs, [
|
|
4433
|
+
'fill',
|
|
4434
|
+
'stroke'
|
|
4435
|
+
]);
|
|
4139
4436
|
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
}
|
|
4437
|
+
var outer = renderEvent(parentGfx, element, {
|
|
4438
|
+
...attrs,
|
|
4439
|
+
strokeWidth: 1.5
|
|
4440
|
+
});
|
|
4441
|
+
|
|
4442
|
+
drawCircle(parentGfx, element.width, element.height, INNER_OUTER_DIST, {
|
|
4443
|
+
fill: 'none',
|
|
4444
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4445
|
+
strokeWidth: 1.5
|
|
4446
|
+
});
|
|
4144
4447
|
|
|
4145
|
-
if (
|
|
4146
|
-
|
|
4448
|
+
if (renderIcon) {
|
|
4449
|
+
renderEventIcon(element, parentGfx, attrs);
|
|
4147
4450
|
}
|
|
4148
4451
|
|
|
4149
|
-
return
|
|
4452
|
+
return outer;
|
|
4150
4453
|
},
|
|
4151
|
-
'bpmn:
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4454
|
+
'bpmn:IntermediateCatchEvent': as('bpmn:IntermediateEvent'),
|
|
4455
|
+
'bpmn:IntermediateThrowEvent': as('bpmn:IntermediateEvent'),
|
|
4456
|
+
'bpmn:Lane': function(parentGfx, element, attrs = {}) {
|
|
4457
|
+
attrs = pickAttrs(attrs, [
|
|
4458
|
+
'fill',
|
|
4459
|
+
'stroke',
|
|
4460
|
+
'width',
|
|
4461
|
+
'height'
|
|
4462
|
+
]);
|
|
4463
|
+
|
|
4464
|
+
return renderLane(parentGfx, element, {
|
|
4465
|
+
...attrs,
|
|
4466
|
+
fillOpacity: LOW_OPACITY
|
|
4157
4467
|
});
|
|
4158
4468
|
},
|
|
4159
|
-
'bpmn:
|
|
4160
|
-
|
|
4161
|
-
|
|
4469
|
+
'bpmn:ManualTask': function(parentGfx, element, attrs = {}) {
|
|
4470
|
+
attrs = pickAttrs(attrs, [
|
|
4471
|
+
'fill',
|
|
4472
|
+
'stroke'
|
|
4473
|
+
]);
|
|
4474
|
+
|
|
4475
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4476
|
+
|
|
4477
|
+
var pathData = pathMap.getScaledPath('TASK_TYPE_MANUAL', {
|
|
4478
|
+
abspos: {
|
|
4479
|
+
x: 17,
|
|
4480
|
+
y: 15
|
|
4481
|
+
}
|
|
4482
|
+
});
|
|
4162
4483
|
|
|
4163
|
-
|
|
4164
|
-
|
|
4484
|
+
drawPath(parentGfx, pathData, {
|
|
4485
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4486
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4487
|
+
strokeWidth: 0.5
|
|
4165
4488
|
});
|
|
4489
|
+
|
|
4490
|
+
return task;
|
|
4166
4491
|
},
|
|
4167
|
-
'bpmn:MessageFlow': function(parentGfx, element) {
|
|
4492
|
+
'bpmn:MessageFlow': function(parentGfx, element, attrs = {}) {
|
|
4493
|
+
attrs = pickAttrs(attrs, [
|
|
4494
|
+
'fill',
|
|
4495
|
+
'stroke'
|
|
4496
|
+
]);
|
|
4168
4497
|
|
|
4169
4498
|
var semantic = getBusinessObject(element),
|
|
4170
4499
|
di = getDi(element);
|
|
4171
4500
|
|
|
4172
|
-
var fill = getFillColor(element, defaultFillColor),
|
|
4173
|
-
stroke = getStrokeColor(element, defaultStrokeColor);
|
|
4501
|
+
var fill = getFillColor(element, defaultFillColor, attrs.fill),
|
|
4502
|
+
stroke = getStrokeColor(element, defaultStrokeColor, attrs.stroke);
|
|
4174
4503
|
|
|
4175
4504
|
var path = drawConnectionSegments(parentGfx, element.waypoints, {
|
|
4176
4505
|
markerEnd: marker('messageflow-end', fill, stroke),
|
|
4177
4506
|
markerStart: marker('messageflow-start', fill, stroke),
|
|
4507
|
+
stroke,
|
|
4178
4508
|
strokeDasharray: '10, 11',
|
|
4179
|
-
strokeWidth: 1.5
|
|
4180
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4509
|
+
strokeWidth: 1.5
|
|
4181
4510
|
});
|
|
4182
4511
|
|
|
4183
|
-
if (semantic.messageRef) {
|
|
4512
|
+
if (semantic.get('messageRef')) {
|
|
4184
4513
|
var midPoint = path.getPointAtLength(path.getTotalLength() / 2);
|
|
4185
4514
|
|
|
4186
4515
|
var markerPathData = pathMap.getScaledPath('MESSAGE_FLOW_MARKER', {
|
|
@@ -4190,404 +4519,518 @@
|
|
|
4190
4519
|
}
|
|
4191
4520
|
});
|
|
4192
4521
|
|
|
4193
|
-
var messageAttrs = {
|
|
4522
|
+
var messageAttrs = {
|
|
4523
|
+
strokeWidth: 1
|
|
4524
|
+
};
|
|
4525
|
+
|
|
4526
|
+
if (di.get('messageVisibleKind') === 'initiating') {
|
|
4527
|
+
messageAttrs.fill = fill;
|
|
4528
|
+
messageAttrs.stroke = stroke;
|
|
4529
|
+
} else {
|
|
4530
|
+
messageAttrs.fill = stroke;
|
|
4531
|
+
messageAttrs.stroke = fill;
|
|
4532
|
+
}
|
|
4533
|
+
|
|
4534
|
+
var message = drawPath(parentGfx, markerPathData, messageAttrs);
|
|
4535
|
+
|
|
4536
|
+
var messageRef = semantic.get('messageRef'),
|
|
4537
|
+
name = messageRef.get('name');
|
|
4538
|
+
|
|
4539
|
+
var label = renderLabel(parentGfx, name, {
|
|
4540
|
+
align: 'center-top',
|
|
4541
|
+
fitBox: true,
|
|
4542
|
+
style: {
|
|
4543
|
+
fill: stroke
|
|
4544
|
+
}
|
|
4545
|
+
});
|
|
4546
|
+
|
|
4547
|
+
var messageBounds = message.getBBox(),
|
|
4548
|
+
labelBounds = label.getBBox();
|
|
4549
|
+
|
|
4550
|
+
var translateX = midPoint.x - labelBounds.width / 2,
|
|
4551
|
+
translateY = midPoint.y + messageBounds.height / 2 + ELEMENT_LABEL_DISTANCE;
|
|
4552
|
+
|
|
4553
|
+
transform(label, translateX, translateY, 0);
|
|
4554
|
+
}
|
|
4555
|
+
|
|
4556
|
+
return path;
|
|
4557
|
+
},
|
|
4558
|
+
'bpmn:ParallelGateway': function(parentGfx, element, attrs = {}) {
|
|
4559
|
+
attrs = pickAttrs(attrs, [
|
|
4560
|
+
'fill',
|
|
4561
|
+
'stroke'
|
|
4562
|
+
]);
|
|
4563
|
+
|
|
4564
|
+
var diamond = renderGateway(parentGfx, element, attrs);
|
|
4565
|
+
|
|
4566
|
+
var pathData = pathMap.getScaledPath('GATEWAY_PARALLEL', {
|
|
4567
|
+
xScaleFactor: 0.6,
|
|
4568
|
+
yScaleFactor: 0.6,
|
|
4569
|
+
containerWidth: element.width,
|
|
4570
|
+
containerHeight: element.height,
|
|
4571
|
+
position: {
|
|
4572
|
+
mx: 0.46,
|
|
4573
|
+
my: 0.2
|
|
4574
|
+
}
|
|
4575
|
+
});
|
|
4576
|
+
|
|
4577
|
+
drawPath(parentGfx, pathData, {
|
|
4578
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4579
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4580
|
+
strokeWidth: 1
|
|
4581
|
+
});
|
|
4582
|
+
|
|
4583
|
+
return diamond;
|
|
4584
|
+
},
|
|
4585
|
+
'bpmn:Participant': function(parentGfx, element, attrs = {}) {
|
|
4586
|
+
attrs = pickAttrs(attrs, [
|
|
4587
|
+
'fill',
|
|
4588
|
+
'stroke',
|
|
4589
|
+
'width',
|
|
4590
|
+
'height'
|
|
4591
|
+
]);
|
|
4592
|
+
|
|
4593
|
+
var participant = renderLane(parentGfx, element, attrs);
|
|
4594
|
+
|
|
4595
|
+
var expandedParticipant = isExpanded(element);
|
|
4596
|
+
var horizontalParticipant = isHorizontal(element);
|
|
4597
|
+
|
|
4598
|
+
var semantic = getBusinessObject(element),
|
|
4599
|
+
name = semantic.get('name');
|
|
4600
|
+
|
|
4601
|
+
if (expandedParticipant) {
|
|
4602
|
+
var waypoints = horizontalParticipant ? [
|
|
4603
|
+
{
|
|
4604
|
+
x: 30,
|
|
4605
|
+
y: 0
|
|
4606
|
+
},
|
|
4607
|
+
{
|
|
4608
|
+
x: 30,
|
|
4609
|
+
y: getHeight(element, attrs)
|
|
4610
|
+
}
|
|
4611
|
+
] : [
|
|
4612
|
+
{
|
|
4613
|
+
x: 0,
|
|
4614
|
+
y: 30
|
|
4615
|
+
},
|
|
4616
|
+
{
|
|
4617
|
+
x: getWidth(element, attrs),
|
|
4618
|
+
y: 30
|
|
4619
|
+
}
|
|
4620
|
+
];
|
|
4621
|
+
|
|
4622
|
+
drawLine(parentGfx, waypoints, {
|
|
4623
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4624
|
+
strokeWidth: PARTICIPANT_STROKE_WIDTH
|
|
4625
|
+
});
|
|
4626
|
+
|
|
4627
|
+
renderLaneLabel(parentGfx, name, element, attrs);
|
|
4628
|
+
} else {
|
|
4629
|
+
var bounds = getBounds(element, attrs);
|
|
4194
4630
|
|
|
4195
|
-
if (
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
} else {
|
|
4199
|
-
messageAttrs.fill = '#888';
|
|
4200
|
-
messageAttrs.stroke = 'white';
|
|
4631
|
+
if (!horizontalParticipant) {
|
|
4632
|
+
bounds.height = getWidth(element, attrs);
|
|
4633
|
+
bounds.width = getHeight(element, attrs);
|
|
4201
4634
|
}
|
|
4202
4635
|
|
|
4203
|
-
var
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
var label = renderLabel(parentGfx, labelText, {
|
|
4207
|
-
align: 'center-top',
|
|
4208
|
-
fitBox: true,
|
|
4636
|
+
var textBox = renderLabel(parentGfx, name, {
|
|
4637
|
+
box: bounds,
|
|
4638
|
+
align: 'center-middle',
|
|
4209
4639
|
style: {
|
|
4210
|
-
fill:
|
|
4640
|
+
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor, attrs.stroke)
|
|
4211
4641
|
}
|
|
4212
4642
|
});
|
|
4213
4643
|
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
transform(label, translateX, translateY, 0);
|
|
4644
|
+
if (!horizontalParticipant) {
|
|
4645
|
+
var top = -1 * getHeight(element, attrs);
|
|
4646
|
+
transform(textBox, 0, -top, 270);
|
|
4647
|
+
}
|
|
4648
|
+
}
|
|
4221
4649
|
|
|
4650
|
+
if (semantic.get('participantMultiplicity')) {
|
|
4651
|
+
renderTaskMarker('ParticipantMultiplicityMarker', parentGfx, element, attrs);
|
|
4222
4652
|
}
|
|
4223
4653
|
|
|
4224
|
-
return
|
|
4654
|
+
return participant;
|
|
4225
4655
|
},
|
|
4226
|
-
'bpmn:
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
containerHeight: element.height,
|
|
4232
|
-
position: {
|
|
4233
|
-
mx: 0.474,
|
|
4234
|
-
my: 0.296
|
|
4235
|
-
}
|
|
4236
|
-
});
|
|
4237
|
-
|
|
4238
|
-
var elementObject = drawPath(parentGfx, pathData, {
|
|
4239
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4240
|
-
fillOpacity: DEFAULT_FILL_OPACITY,
|
|
4241
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4242
|
-
});
|
|
4656
|
+
'bpmn:ReceiveTask' : function(parentGfx, element, attrs = {}) {
|
|
4657
|
+
attrs = pickAttrs(attrs, [
|
|
4658
|
+
'fill',
|
|
4659
|
+
'stroke'
|
|
4660
|
+
]);
|
|
4243
4661
|
|
|
4244
4662
|
var semantic = getBusinessObject(element);
|
|
4245
4663
|
|
|
4246
|
-
|
|
4247
|
-
renderDataItemCollection(parentGfx, element);
|
|
4248
|
-
}
|
|
4664
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4249
4665
|
|
|
4250
|
-
|
|
4251
|
-
},
|
|
4252
|
-
'bpmn:DataObjectReference': as('bpmn:DataObject'),
|
|
4253
|
-
'bpmn:DataInput': function(parentGfx, element) {
|
|
4666
|
+
var pathData;
|
|
4254
4667
|
|
|
4255
|
-
|
|
4668
|
+
if (semantic.get('instantiate')) {
|
|
4669
|
+
drawCircle(parentGfx, 28, 28, 20 * 0.22, {
|
|
4670
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4671
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4672
|
+
strokeWidth: 1
|
|
4673
|
+
});
|
|
4256
4674
|
|
|
4257
|
-
|
|
4258
|
-
|
|
4675
|
+
pathData = pathMap.getScaledPath('TASK_TYPE_INSTANTIATING_SEND', {
|
|
4676
|
+
abspos: {
|
|
4677
|
+
x: 7.77,
|
|
4678
|
+
y: 9.52
|
|
4679
|
+
}
|
|
4680
|
+
});
|
|
4681
|
+
} else {
|
|
4682
|
+
pathData = pathMap.getScaledPath('TASK_TYPE_SEND', {
|
|
4683
|
+
xScaleFactor: 0.9,
|
|
4684
|
+
yScaleFactor: 0.9,
|
|
4685
|
+
containerWidth: 21,
|
|
4686
|
+
containerHeight: 14,
|
|
4687
|
+
position: {
|
|
4688
|
+
mx: 0.3,
|
|
4689
|
+
my: 0.4
|
|
4690
|
+
}
|
|
4691
|
+
});
|
|
4692
|
+
}
|
|
4259
4693
|
|
|
4260
|
-
|
|
4694
|
+
drawPath(parentGfx, pathData, {
|
|
4695
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4696
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4697
|
+
strokeWidth: 1
|
|
4698
|
+
});
|
|
4261
4699
|
|
|
4262
|
-
return
|
|
4700
|
+
return task;
|
|
4263
4701
|
},
|
|
4264
|
-
'bpmn:
|
|
4265
|
-
|
|
4702
|
+
'bpmn:ScriptTask': function(parentGfx, element, attrs = {}) {
|
|
4703
|
+
attrs = pickAttrs(attrs, [
|
|
4704
|
+
'fill',
|
|
4705
|
+
'stroke'
|
|
4706
|
+
]);
|
|
4266
4707
|
|
|
4267
|
-
|
|
4268
|
-
var elementObject = renderer('bpmn:DataObject')(parentGfx, element);
|
|
4708
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4269
4709
|
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4710
|
+
var pathData = pathMap.getScaledPath('TASK_TYPE_SCRIPT', {
|
|
4711
|
+
abspos: {
|
|
4712
|
+
x: 15,
|
|
4713
|
+
y: 20
|
|
4714
|
+
}
|
|
4715
|
+
});
|
|
4716
|
+
|
|
4717
|
+
drawPath(parentGfx, pathData, {
|
|
4718
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4719
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4720
|
+
strokeWidth: 1
|
|
4273
4721
|
});
|
|
4274
4722
|
|
|
4275
|
-
return
|
|
4723
|
+
return task;
|
|
4276
4724
|
},
|
|
4277
|
-
'bpmn:
|
|
4278
|
-
|
|
4725
|
+
'bpmn:SendTask': function(parentGfx, element, attrs = {}) {
|
|
4726
|
+
attrs = pickAttrs(attrs, [
|
|
4727
|
+
'fill',
|
|
4728
|
+
'stroke'
|
|
4729
|
+
]);
|
|
4730
|
+
|
|
4731
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4732
|
+
|
|
4733
|
+
var pathData = pathMap.getScaledPath('TASK_TYPE_SEND', {
|
|
4279
4734
|
xScaleFactor: 1,
|
|
4280
4735
|
yScaleFactor: 1,
|
|
4281
|
-
containerWidth:
|
|
4282
|
-
containerHeight:
|
|
4736
|
+
containerWidth: 21,
|
|
4737
|
+
containerHeight: 14,
|
|
4283
4738
|
position: {
|
|
4284
|
-
mx: 0,
|
|
4285
|
-
my: 0.
|
|
4739
|
+
mx: 0.285,
|
|
4740
|
+
my: 0.357
|
|
4286
4741
|
}
|
|
4287
4742
|
});
|
|
4288
4743
|
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4293
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4744
|
+
drawPath(parentGfx, pathData, {
|
|
4745
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4746
|
+
stroke: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4747
|
+
strokeWidth: 1
|
|
4294
4748
|
});
|
|
4295
4749
|
|
|
4296
|
-
return
|
|
4750
|
+
return task;
|
|
4297
4751
|
},
|
|
4298
|
-
'bpmn:
|
|
4752
|
+
'bpmn:SequenceFlow': function(parentGfx, element, attrs = {}) {
|
|
4753
|
+
attrs = pickAttrs(attrs, [
|
|
4754
|
+
'fill',
|
|
4755
|
+
'stroke'
|
|
4756
|
+
]);
|
|
4299
4757
|
|
|
4300
|
-
var
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
var attrs = {
|
|
4304
|
-
strokeWidth: 1.5,
|
|
4305
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4306
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4307
|
-
};
|
|
4758
|
+
var fill = getFillColor(element, defaultFillColor, attrs.fill),
|
|
4759
|
+
stroke = getStrokeColor(element, defaultStrokeColor, attrs.stroke);
|
|
4308
4760
|
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4761
|
+
var connection = drawConnectionSegments(parentGfx, element.waypoints, {
|
|
4762
|
+
markerEnd: marker('sequenceflow-end', fill, stroke),
|
|
4763
|
+
stroke
|
|
4764
|
+
});
|
|
4312
4765
|
|
|
4313
|
-
|
|
4314
|
-
var outerAttrs = {
|
|
4315
|
-
...attrs,
|
|
4316
|
-
fillOpacity: 1
|
|
4317
|
-
};
|
|
4766
|
+
var semantic = getBusinessObject(element);
|
|
4318
4767
|
|
|
4319
|
-
|
|
4320
|
-
var innerAttrs = {
|
|
4321
|
-
...attrs,
|
|
4322
|
-
fill: 'none'
|
|
4323
|
-
};
|
|
4768
|
+
var { source } = element;
|
|
4324
4769
|
|
|
4325
|
-
|
|
4770
|
+
if (source) {
|
|
4771
|
+
var sourceSemantic = getBusinessObject(source);
|
|
4326
4772
|
|
|
4327
|
-
|
|
4773
|
+
// conditional flow marker
|
|
4774
|
+
if (semantic.get('conditionExpression') && is$1(sourceSemantic, 'bpmn:Activity')) {
|
|
4775
|
+
attr$1(connection, {
|
|
4776
|
+
markerStart: marker('conditional-flow-marker', fill, stroke)
|
|
4777
|
+
});
|
|
4778
|
+
}
|
|
4328
4779
|
|
|
4329
|
-
|
|
4330
|
-
|
|
4780
|
+
// default marker
|
|
4781
|
+
if (sourceSemantic.get('default') && (is$1(sourceSemantic, 'bpmn:Gateway') || is$1(sourceSemantic, 'bpmn:Activity')) &&
|
|
4782
|
+
sourceSemantic.get('default') === semantic) {
|
|
4783
|
+
attr$1(connection, {
|
|
4784
|
+
markerStart: marker('conditional-default-flow-marker', fill, stroke)
|
|
4785
|
+
});
|
|
4786
|
+
}
|
|
4331
4787
|
}
|
|
4332
4788
|
|
|
4333
|
-
return
|
|
4334
|
-
},
|
|
4335
|
-
'bpmn:Group': function(parentGfx, element) {
|
|
4336
|
-
return drawRect(parentGfx, element.width, element.height, TASK_BORDER_RADIUS, {
|
|
4337
|
-
stroke: getStrokeColor(element, defaultStrokeColor),
|
|
4338
|
-
strokeWidth: 1.5,
|
|
4339
|
-
strokeDasharray: '10,6,0,6',
|
|
4340
|
-
fill: 'none',
|
|
4341
|
-
pointerEvents: 'none'
|
|
4342
|
-
});
|
|
4789
|
+
return connection;
|
|
4343
4790
|
},
|
|
4344
|
-
'
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4791
|
+
'bpmn:ServiceTask': function(parentGfx, element, attrs = {}) {
|
|
4792
|
+
attrs = pickAttrs(attrs, [
|
|
4793
|
+
'fill',
|
|
4794
|
+
'stroke'
|
|
4795
|
+
]);
|
|
4796
|
+
|
|
4797
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4798
|
+
|
|
4799
|
+
drawCircle(parentGfx, 10, 10, {
|
|
4800
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4801
|
+
stroke: 'none',
|
|
4802
|
+
transform: 'translate(6, 6)'
|
|
4351
4803
|
});
|
|
4352
4804
|
|
|
4353
|
-
var
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
containerHeight: element.height,
|
|
4358
|
-
position: {
|
|
4359
|
-
mx: 0.0,
|
|
4360
|
-
my: 0.0
|
|
4805
|
+
var pathDataService1 = pathMap.getScaledPath('TASK_TYPE_SERVICE', {
|
|
4806
|
+
abspos: {
|
|
4807
|
+
x: 12,
|
|
4808
|
+
y: 18
|
|
4361
4809
|
}
|
|
4362
4810
|
});
|
|
4363
4811
|
|
|
4364
|
-
drawPath(parentGfx,
|
|
4365
|
-
|
|
4812
|
+
drawPath(parentGfx, pathDataService1, {
|
|
4813
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4814
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4815
|
+
strokeWidth: 1
|
|
4366
4816
|
});
|
|
4367
4817
|
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
padding: 7,
|
|
4373
|
-
style: {
|
|
4374
|
-
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor)
|
|
4375
|
-
}
|
|
4818
|
+
drawCircle(parentGfx, 10, 10, {
|
|
4819
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4820
|
+
stroke: 'none',
|
|
4821
|
+
transform: 'translate(11, 10)'
|
|
4376
4822
|
});
|
|
4377
4823
|
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
xScaleFactor: 1,
|
|
4383
|
-
yScaleFactor: 1,
|
|
4384
|
-
containerWidth: element.width,
|
|
4385
|
-
containerHeight: element.height,
|
|
4386
|
-
position: {
|
|
4387
|
-
mx: ((element.width / 2) / element.width),
|
|
4388
|
-
my: (element.height - 15) / element.height
|
|
4824
|
+
var pathDataService2 = pathMap.getScaledPath('TASK_TYPE_SERVICE', {
|
|
4825
|
+
abspos: {
|
|
4826
|
+
x: 17,
|
|
4827
|
+
y: 22
|
|
4389
4828
|
}
|
|
4390
4829
|
});
|
|
4391
4830
|
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4831
|
+
drawPath(parentGfx, pathDataService2, {
|
|
4832
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4833
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4834
|
+
strokeWidth: 1
|
|
4396
4835
|
});
|
|
4836
|
+
|
|
4837
|
+
return task;
|
|
4397
4838
|
},
|
|
4398
|
-
'
|
|
4399
|
-
var
|
|
4400
|
-
strokeWidth: 1,
|
|
4401
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4402
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4403
|
-
});
|
|
4839
|
+
'bpmn:StartEvent': function(parentGfx, element, attrs = {}) {
|
|
4840
|
+
var { renderIcon = true } = attrs;
|
|
4404
4841
|
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4842
|
+
attrs = pickAttrs(attrs, [
|
|
4843
|
+
'fill',
|
|
4844
|
+
'stroke'
|
|
4845
|
+
]);
|
|
4408
4846
|
|
|
4409
|
-
var
|
|
4410
|
-
xScaleFactor: 1.5,
|
|
4411
|
-
yScaleFactor: 1.5,
|
|
4412
|
-
containerWidth: element.width,
|
|
4413
|
-
containerHeight: element.height,
|
|
4414
|
-
position: {
|
|
4415
|
-
mx: (element.width / 2 - 7.5) / element.width,
|
|
4416
|
-
my: (element.height - 20) / element.height
|
|
4417
|
-
}
|
|
4418
|
-
});
|
|
4847
|
+
var semantic = getBusinessObject(element);
|
|
4419
4848
|
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4849
|
+
if (!semantic.get('isInterrupting')) {
|
|
4850
|
+
attrs = {
|
|
4851
|
+
...attrs,
|
|
4852
|
+
strokeDasharray: '6'
|
|
4853
|
+
};
|
|
4854
|
+
}
|
|
4855
|
+
|
|
4856
|
+
var event = renderEvent(parentGfx, element, attrs);
|
|
4857
|
+
|
|
4858
|
+
if (renderIcon) {
|
|
4859
|
+
renderEventIcon(element, parentGfx, attrs);
|
|
4860
|
+
}
|
|
4861
|
+
|
|
4862
|
+
return event;
|
|
4424
4863
|
},
|
|
4425
|
-
'
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4864
|
+
'bpmn:SubProcess': function(parentGfx, element, attrs = {}) {
|
|
4865
|
+
if (isExpanded(element)) {
|
|
4866
|
+
attrs = pickAttrs(attrs, [
|
|
4867
|
+
'fill',
|
|
4868
|
+
'stroke',
|
|
4869
|
+
'width',
|
|
4870
|
+
'height'
|
|
4871
|
+
]);
|
|
4872
|
+
} else {
|
|
4873
|
+
attrs = pickAttrs(attrs, [
|
|
4874
|
+
'fill',
|
|
4875
|
+
'stroke'
|
|
4876
|
+
]);
|
|
4877
|
+
}
|
|
4436
4878
|
|
|
4437
|
-
|
|
4438
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4439
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4440
|
-
});
|
|
4879
|
+
return renderSubProcess(parentGfx, element, attrs);
|
|
4441
4880
|
},
|
|
4442
|
-
'
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
containerHeight: element.height,
|
|
4448
|
-
position: {
|
|
4449
|
-
mx: ((element.width / 2 + position.seq) / element.width),
|
|
4450
|
-
my: (element.height - 19) / element.height
|
|
4451
|
-
}
|
|
4452
|
-
});
|
|
4881
|
+
'bpmn:Task': function(parentGfx, element, attrs = {}) {
|
|
4882
|
+
attrs = pickAttrs(attrs, [
|
|
4883
|
+
'fill',
|
|
4884
|
+
'stroke'
|
|
4885
|
+
]);
|
|
4453
4886
|
|
|
4454
|
-
|
|
4455
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4456
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4457
|
-
});
|
|
4887
|
+
return renderTask(parentGfx, element, attrs);
|
|
4458
4888
|
},
|
|
4459
|
-
'
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4889
|
+
'bpmn:TextAnnotation': function(parentGfx, element, attrs = {}) {
|
|
4890
|
+
attrs = pickAttrs(attrs, [
|
|
4891
|
+
'fill',
|
|
4892
|
+
'stroke',
|
|
4893
|
+
'width',
|
|
4894
|
+
'height'
|
|
4895
|
+
]);
|
|
4896
|
+
|
|
4897
|
+
var {
|
|
4898
|
+
width,
|
|
4899
|
+
height
|
|
4900
|
+
} = getBounds(element, attrs);
|
|
4901
|
+
|
|
4902
|
+
var textElement = drawRect(parentGfx, width, height, 0, 0, {
|
|
4903
|
+
fill: 'none',
|
|
4904
|
+
stroke: 'none'
|
|
4469
4905
|
});
|
|
4470
4906
|
|
|
4471
|
-
|
|
4472
|
-
strokeWidth: 1,
|
|
4473
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4474
|
-
stroke: getStrokeColor(element, defaultStrokeColor)
|
|
4475
|
-
});
|
|
4476
|
-
},
|
|
4477
|
-
'LoopMarker': function(parentGfx, element, position) {
|
|
4478
|
-
var markerPath = pathMap.getScaledPath('MARKER_LOOP', {
|
|
4907
|
+
var textPathData = pathMap.getScaledPath('TEXT_ANNOTATION', {
|
|
4479
4908
|
xScaleFactor: 1,
|
|
4480
4909
|
yScaleFactor: 1,
|
|
4481
|
-
containerWidth:
|
|
4482
|
-
containerHeight:
|
|
4910
|
+
containerWidth: width,
|
|
4911
|
+
containerHeight: height,
|
|
4483
4912
|
position: {
|
|
4484
|
-
mx:
|
|
4485
|
-
my:
|
|
4913
|
+
mx: 0.0,
|
|
4914
|
+
my: 0.0
|
|
4486
4915
|
}
|
|
4487
4916
|
});
|
|
4488
4917
|
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
fill: getFillColor(element, defaultFillColor),
|
|
4492
|
-
stroke: getStrokeColor(element, defaultStrokeColor),
|
|
4493
|
-
strokeMiterlimit: 0.5
|
|
4494
|
-
});
|
|
4495
|
-
},
|
|
4496
|
-
'AdhocMarker': function(parentGfx, element, position) {
|
|
4497
|
-
var markerPath = pathMap.getScaledPath('MARKER_ADHOC', {
|
|
4498
|
-
xScaleFactor: 1,
|
|
4499
|
-
yScaleFactor: 1,
|
|
4500
|
-
containerWidth: element.width,
|
|
4501
|
-
containerHeight: element.height,
|
|
4502
|
-
position: {
|
|
4503
|
-
mx: ((element.width / 2 + position.adhoc) / element.width),
|
|
4504
|
-
my: (element.height - 15) / element.height
|
|
4505
|
-
}
|
|
4918
|
+
drawPath(parentGfx, textPathData, {
|
|
4919
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke)
|
|
4506
4920
|
});
|
|
4507
4921
|
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4922
|
+
var semantic = getBusinessObject(element),
|
|
4923
|
+
text = semantic.get('text') || '';
|
|
4924
|
+
|
|
4925
|
+
renderLabel(parentGfx, text, {
|
|
4926
|
+
align: 'left-top',
|
|
4927
|
+
box: getBounds(element, attrs),
|
|
4928
|
+
padding: 7,
|
|
4929
|
+
style: {
|
|
4930
|
+
fill: getLabelColor(element, defaultLabelColor, defaultStrokeColor, attrs.stroke)
|
|
4931
|
+
}
|
|
4512
4932
|
});
|
|
4513
|
-
}
|
|
4514
|
-
};
|
|
4515
4933
|
|
|
4516
|
-
|
|
4517
|
-
|
|
4934
|
+
return textElement;
|
|
4935
|
+
},
|
|
4936
|
+
'bpmn:Transaction': function(parentGfx, element, attrs = {}) {
|
|
4937
|
+
if (isExpanded(element)) {
|
|
4938
|
+
attrs = pickAttrs(attrs, [
|
|
4939
|
+
'fill',
|
|
4940
|
+
'stroke',
|
|
4941
|
+
'width',
|
|
4942
|
+
'height'
|
|
4943
|
+
]);
|
|
4944
|
+
} else {
|
|
4945
|
+
attrs = pickAttrs(attrs, [
|
|
4946
|
+
'fill',
|
|
4947
|
+
'stroke'
|
|
4948
|
+
]);
|
|
4949
|
+
}
|
|
4518
4950
|
|
|
4519
|
-
|
|
4520
|
-
|
|
4951
|
+
var outer = renderSubProcess(parentGfx, element, {
|
|
4952
|
+
strokeWidth: 1.5,
|
|
4953
|
+
...attrs
|
|
4954
|
+
});
|
|
4521
4955
|
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
compensation: -42,
|
|
4527
|
-
loop: -18,
|
|
4528
|
-
adhoc: 10
|
|
4529
|
-
};
|
|
4530
|
-
} else {
|
|
4531
|
-
position = {
|
|
4532
|
-
seq: -3,
|
|
4533
|
-
parallel: -6,
|
|
4534
|
-
compensation: -27,
|
|
4535
|
-
loop: 0,
|
|
4536
|
-
adhoc: 10
|
|
4537
|
-
};
|
|
4538
|
-
}
|
|
4956
|
+
var innerAttrs = styles.style([ 'no-fill', 'no-events' ], {
|
|
4957
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4958
|
+
strokeWidth: 1.5
|
|
4959
|
+
});
|
|
4539
4960
|
|
|
4540
|
-
|
|
4541
|
-
renderer(marker)(parentGfx, element, position);
|
|
4542
|
-
});
|
|
4961
|
+
var expanded = isExpanded(element);
|
|
4543
4962
|
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4963
|
+
if (!expanded) {
|
|
4964
|
+
attrs = {};
|
|
4965
|
+
}
|
|
4547
4966
|
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4967
|
+
drawRect(
|
|
4968
|
+
parentGfx,
|
|
4969
|
+
getWidth(element, attrs),
|
|
4970
|
+
getHeight(element, attrs),
|
|
4971
|
+
TASK_BORDER_RADIUS - INNER_OUTER_DIST,
|
|
4972
|
+
INNER_OUTER_DIST,
|
|
4973
|
+
innerAttrs
|
|
4974
|
+
);
|
|
4551
4975
|
|
|
4552
|
-
|
|
4553
|
-
|
|
4976
|
+
return outer;
|
|
4977
|
+
},
|
|
4978
|
+
'bpmn:UserTask': function(parentGfx, element, attrs = {}) {
|
|
4979
|
+
attrs = pickAttrs(attrs, [
|
|
4980
|
+
'fill',
|
|
4981
|
+
'stroke'
|
|
4982
|
+
]);
|
|
4554
4983
|
|
|
4555
|
-
|
|
4984
|
+
var task = renderTask(parentGfx, element, attrs);
|
|
4556
4985
|
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
}
|
|
4986
|
+
var x = 15;
|
|
4987
|
+
var y = 12;
|
|
4560
4988
|
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4989
|
+
var pathDataUser1 = pathMap.getScaledPath('TASK_TYPE_USER_1', {
|
|
4990
|
+
abspos: {
|
|
4991
|
+
x: x,
|
|
4992
|
+
y: y
|
|
4993
|
+
}
|
|
4994
|
+
});
|
|
4564
4995
|
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4996
|
+
drawPath(parentGfx, pathDataUser1, {
|
|
4997
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
4998
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
4999
|
+
strokeWidth: 0.5
|
|
5000
|
+
});
|
|
4570
5001
|
|
|
4571
|
-
|
|
5002
|
+
var pathDataUser2 = pathMap.getScaledPath('TASK_TYPE_USER_2', {
|
|
5003
|
+
abspos: {
|
|
5004
|
+
x: x,
|
|
5005
|
+
y: y
|
|
5006
|
+
}
|
|
5007
|
+
});
|
|
4572
5008
|
|
|
4573
|
-
|
|
5009
|
+
drawPath(parentGfx, pathDataUser2, {
|
|
5010
|
+
fill: getFillColor(element, defaultFillColor, attrs.fill),
|
|
5011
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
5012
|
+
strokeWidth: 0.5
|
|
5013
|
+
});
|
|
4574
5014
|
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
mx: 0.33,
|
|
4582
|
-
my: yPosition
|
|
4583
|
-
}
|
|
4584
|
-
});
|
|
5015
|
+
var pathDataUser3 = pathMap.getScaledPath('TASK_TYPE_USER_3', {
|
|
5016
|
+
abspos: {
|
|
5017
|
+
x: x,
|
|
5018
|
+
y: y
|
|
5019
|
+
}
|
|
5020
|
+
});
|
|
4585
5021
|
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
5022
|
+
drawPath(parentGfx, pathDataUser3, {
|
|
5023
|
+
fill: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
5024
|
+
stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
|
|
5025
|
+
strokeWidth: 0.5
|
|
5026
|
+
});
|
|
4590
5027
|
|
|
5028
|
+
return task;
|
|
5029
|
+
},
|
|
5030
|
+
'label': function(parentGfx, element, attrs = {}) {
|
|
5031
|
+
return renderExternalLabel(parentGfx, element, attrs);
|
|
5032
|
+
}
|
|
5033
|
+
};
|
|
4591
5034
|
|
|
4592
5035
|
// extension API, use at your own risk
|
|
4593
5036
|
this._drawPath = drawPath;
|
|
@@ -4622,15 +5065,16 @@
|
|
|
4622
5065
|
*
|
|
4623
5066
|
* @param {SVGElement} parentGfx
|
|
4624
5067
|
* @param {Element} element
|
|
5068
|
+
* @param {Attrs} [attrs]
|
|
4625
5069
|
*
|
|
4626
5070
|
* @return {SVGElement} mainGfx
|
|
4627
5071
|
*/
|
|
4628
|
-
BpmnRenderer.prototype.drawShape = function(parentGfx, element) {
|
|
4629
|
-
var type = element
|
|
4630
|
-
var h = this._renderer(type);
|
|
5072
|
+
BpmnRenderer.prototype.drawShape = function(parentGfx, element, attrs = {}) {
|
|
5073
|
+
var { type } = element;
|
|
4631
5074
|
|
|
4632
|
-
|
|
4633
|
-
|
|
5075
|
+
var handler = this._renderer(type);
|
|
5076
|
+
|
|
5077
|
+
return handler(parentGfx, element, attrs);
|
|
4634
5078
|
};
|
|
4635
5079
|
|
|
4636
5080
|
/**
|
|
@@ -4638,15 +5082,16 @@
|
|
|
4638
5082
|
*
|
|
4639
5083
|
* @param {SVGElement} parentGfx
|
|
4640
5084
|
* @param {Element} element
|
|
5085
|
+
* @param {Attrs} [attrs]
|
|
4641
5086
|
*
|
|
4642
5087
|
* @return {SVGElement} mainGfx
|
|
4643
5088
|
*/
|
|
4644
|
-
BpmnRenderer.prototype.drawConnection = function(parentGfx, element) {
|
|
4645
|
-
var type = element
|
|
4646
|
-
|
|
5089
|
+
BpmnRenderer.prototype.drawConnection = function(parentGfx, element, attrs = {}) {
|
|
5090
|
+
var { type } = element;
|
|
5091
|
+
|
|
5092
|
+
var handler = this._renderer(type);
|
|
4647
5093
|
|
|
4648
|
-
|
|
4649
|
-
return h(parentGfx, element);
|
|
5094
|
+
return handler(parentGfx, element, attrs);
|
|
4650
5095
|
};
|
|
4651
5096
|
|
|
4652
5097
|
/**
|
|
@@ -4657,7 +5102,6 @@
|
|
|
4657
5102
|
* @return {string} path
|
|
4658
5103
|
*/
|
|
4659
5104
|
BpmnRenderer.prototype.getShapePath = function(element) {
|
|
4660
|
-
|
|
4661
5105
|
if (is$1(element, 'bpmn:Event')) {
|
|
4662
5106
|
return getCirclePath(element);
|
|
4663
5107
|
}
|
|
@@ -4673,6 +5117,24 @@
|
|
|
4673
5117
|
return getRectPath(element);
|
|
4674
5118
|
};
|
|
4675
5119
|
|
|
5120
|
+
/**
|
|
5121
|
+
* Pick attributes if they exist.
|
|
5122
|
+
*
|
|
5123
|
+
* @param {Object} attrs
|
|
5124
|
+
* @param {string[]} keys
|
|
5125
|
+
*
|
|
5126
|
+
* @returns {Object}
|
|
5127
|
+
*/
|
|
5128
|
+
function pickAttrs(attrs, keys = []) {
|
|
5129
|
+
return keys.reduce((pickedAttrs, key) => {
|
|
5130
|
+
if (attrs[ key ]) {
|
|
5131
|
+
pickedAttrs[ key ] = attrs[ key ];
|
|
5132
|
+
}
|
|
5133
|
+
|
|
5134
|
+
return pickedAttrs;
|
|
5135
|
+
}, {});
|
|
5136
|
+
}
|
|
5137
|
+
|
|
4676
5138
|
/**
|
|
4677
5139
|
* @typedef {import('../util/Types').Dimensions} Dimensions
|
|
4678
5140
|
*
|
|
@@ -5769,10 +6231,6 @@
|
|
|
5769
6231
|
translate: [ 'value', translate ]
|
|
5770
6232
|
};
|
|
5771
6233
|
|
|
5772
|
-
function getDefaultExportFromCjs (x) {
|
|
5773
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
5774
|
-
}
|
|
5775
|
-
|
|
5776
6234
|
/**
|
|
5777
6235
|
* @param {Point} point
|
|
5778
6236
|
*
|
|
@@ -6304,10 +6762,6 @@
|
|
|
6304
6762
|
return event.originalEvent || event.srcEvent;
|
|
6305
6763
|
}
|
|
6306
6764
|
|
|
6307
|
-
function isMac() {
|
|
6308
|
-
return (/mac/i).test(navigator.platform);
|
|
6309
|
-
}
|
|
6310
|
-
|
|
6311
6765
|
/**
|
|
6312
6766
|
* @param {MouseEvent} event
|
|
6313
6767
|
* @param {string} button
|
|
@@ -6340,26 +6794,6 @@
|
|
|
6340
6794
|
return isButton(event, 1);
|
|
6341
6795
|
}
|
|
6342
6796
|
|
|
6343
|
-
/**
|
|
6344
|
-
* @param {MouseEvent} event
|
|
6345
|
-
*
|
|
6346
|
-
* @return {boolean}
|
|
6347
|
-
*/
|
|
6348
|
-
function hasPrimaryModifier(event) {
|
|
6349
|
-
var originalEvent = getOriginal(event) || event;
|
|
6350
|
-
|
|
6351
|
-
if (!isPrimaryButton(event)) {
|
|
6352
|
-
return false;
|
|
6353
|
-
}
|
|
6354
|
-
|
|
6355
|
-
// Use cmd as primary modifier key for mac OS
|
|
6356
|
-
if (isMac()) {
|
|
6357
|
-
return originalEvent.metaKey;
|
|
6358
|
-
} else {
|
|
6359
|
-
return originalEvent.ctrlKey;
|
|
6360
|
-
}
|
|
6361
|
-
}
|
|
6362
|
-
|
|
6363
6797
|
/**
|
|
6364
6798
|
* @param {MouseEvent} event
|
|
6365
6799
|
*
|
|
@@ -6960,6 +7394,8 @@
|
|
|
6960
7394
|
|
|
6961
7395
|
var LOW_PRIORITY$2 = 500;
|
|
6962
7396
|
|
|
7397
|
+
var DEFAULT_PRIORITY$2 = 1000;
|
|
7398
|
+
|
|
6963
7399
|
/**
|
|
6964
7400
|
* @typedef {import('../../model/Types').Element} Element
|
|
6965
7401
|
*
|
|
@@ -6978,25 +7414,30 @@
|
|
|
6978
7414
|
*/
|
|
6979
7415
|
function Outline(eventBus, styles) {
|
|
6980
7416
|
|
|
6981
|
-
this.
|
|
7417
|
+
this._eventBus = eventBus;
|
|
7418
|
+
|
|
7419
|
+
this.offset = 5;
|
|
6982
7420
|
|
|
6983
7421
|
var OUTLINE_STYLE = styles.cls('djs-outline', [ 'no-fill' ]);
|
|
6984
7422
|
|
|
6985
7423
|
var self = this;
|
|
6986
7424
|
|
|
6987
|
-
|
|
7425
|
+
/**
|
|
7426
|
+
* @param {SVGElement} gfx
|
|
7427
|
+
*
|
|
7428
|
+
* @return {SVGElement} outline
|
|
7429
|
+
*/
|
|
7430
|
+
function createOutline(gfx) {
|
|
6988
7431
|
var outline = create$1('rect');
|
|
6989
7432
|
|
|
6990
7433
|
attr$1(outline, assign$1({
|
|
6991
|
-
x:
|
|
6992
|
-
y:
|
|
7434
|
+
x: 0,
|
|
7435
|
+
y: 0,
|
|
6993
7436
|
rx: 4,
|
|
6994
7437
|
width: 100,
|
|
6995
7438
|
height: 100
|
|
6996
7439
|
}, OUTLINE_STYLE));
|
|
6997
7440
|
|
|
6998
|
-
append(gfx, outline);
|
|
6999
|
-
|
|
7000
7441
|
return outline;
|
|
7001
7442
|
}
|
|
7002
7443
|
|
|
@@ -7009,7 +7450,8 @@
|
|
|
7009
7450
|
var outline = query('.djs-outline', gfx);
|
|
7010
7451
|
|
|
7011
7452
|
if (!outline) {
|
|
7012
|
-
outline = createOutline(
|
|
7453
|
+
outline = self.getOutline(element) || createOutline();
|
|
7454
|
+
append(gfx, outline);
|
|
7013
7455
|
}
|
|
7014
7456
|
|
|
7015
7457
|
self.updateShapeOutline(outline, element);
|
|
@@ -7022,7 +7464,8 @@
|
|
|
7022
7464
|
var outline = query('.djs-outline', gfx);
|
|
7023
7465
|
|
|
7024
7466
|
if (!outline) {
|
|
7025
|
-
outline = createOutline(
|
|
7467
|
+
outline = createOutline();
|
|
7468
|
+
append(gfx, outline);
|
|
7026
7469
|
}
|
|
7027
7470
|
|
|
7028
7471
|
self.updateConnectionOutline(outline, element);
|
|
@@ -7039,25 +7482,34 @@
|
|
|
7039
7482
|
*/
|
|
7040
7483
|
Outline.prototype.updateShapeOutline = function(outline, element) {
|
|
7041
7484
|
|
|
7042
|
-
|
|
7043
|
-
|
|
7044
|
-
y: -this.offset,
|
|
7045
|
-
width: element.width + this.offset * 2,
|
|
7046
|
-
height: element.height + this.offset * 2
|
|
7047
|
-
});
|
|
7485
|
+
var updated = false;
|
|
7486
|
+
var providers = this._getProviders();
|
|
7048
7487
|
|
|
7049
|
-
|
|
7488
|
+
if (providers.length) {
|
|
7489
|
+
forEach$1(providers, function(provider) {
|
|
7490
|
+
updated = updated || provider.updateOutline(element, outline);
|
|
7491
|
+
});
|
|
7492
|
+
}
|
|
7050
7493
|
|
|
7494
|
+
if (!updated) {
|
|
7495
|
+
attr$1(outline, {
|
|
7496
|
+
x: -this.offset,
|
|
7497
|
+
y: -this.offset,
|
|
7498
|
+
width: element.width + this.offset * 2,
|
|
7499
|
+
height: element.height + this.offset * 2
|
|
7500
|
+
});
|
|
7501
|
+
}
|
|
7502
|
+
};
|
|
7051
7503
|
|
|
7052
7504
|
/**
|
|
7053
7505
|
* Updates the outline of a connection respecting the bounding box of
|
|
7054
7506
|
* the connection and an outline offset.
|
|
7507
|
+
* Register an outline provider with the given priority.
|
|
7055
7508
|
*
|
|
7056
7509
|
* @param {SVGElement} outline
|
|
7057
7510
|
* @param {Element} connection
|
|
7058
7511
|
*/
|
|
7059
7512
|
Outline.prototype.updateConnectionOutline = function(outline, connection) {
|
|
7060
|
-
|
|
7061
7513
|
var bbox = getBBox(connection);
|
|
7062
7514
|
|
|
7063
7515
|
attr$1(outline, {
|
|
@@ -7066,9 +7518,61 @@
|
|
|
7066
7518
|
width: bbox.width + this.offset * 2,
|
|
7067
7519
|
height: bbox.height + this.offset * 2
|
|
7068
7520
|
});
|
|
7521
|
+
};
|
|
7522
|
+
|
|
7523
|
+
/**
|
|
7524
|
+
* Register an outline provider with the given priority.
|
|
7525
|
+
*
|
|
7526
|
+
* @param {number} priority
|
|
7527
|
+
* @param {OutlineProvider} provider
|
|
7528
|
+
*/
|
|
7529
|
+
Outline.prototype.registerProvider = function(priority, provider) {
|
|
7530
|
+
if (!provider) {
|
|
7531
|
+
provider = priority;
|
|
7532
|
+
priority = DEFAULT_PRIORITY$2;
|
|
7533
|
+
}
|
|
7534
|
+
|
|
7535
|
+
this._eventBus.on('outline.getProviders', priority, function(event) {
|
|
7536
|
+
event.providers.push(provider);
|
|
7537
|
+
});
|
|
7538
|
+
};
|
|
7539
|
+
|
|
7540
|
+
/**
|
|
7541
|
+
* Returns the registered outline providers.
|
|
7542
|
+
*
|
|
7543
|
+
* @returns {OutlineProvider[]}
|
|
7544
|
+
*/
|
|
7545
|
+
Outline.prototype._getProviders = function() {
|
|
7546
|
+
var event = this._eventBus.createEvent({
|
|
7547
|
+
type: 'outline.getProviders',
|
|
7548
|
+
providers: []
|
|
7549
|
+
});
|
|
7550
|
+
|
|
7551
|
+
this._eventBus.fire(event);
|
|
7069
7552
|
|
|
7553
|
+
return event.providers;
|
|
7070
7554
|
};
|
|
7071
7555
|
|
|
7556
|
+
/**
|
|
7557
|
+
* Returns the outline for an element.
|
|
7558
|
+
*
|
|
7559
|
+
* @param {Element} element
|
|
7560
|
+
**/
|
|
7561
|
+
Outline.prototype.getOutline = function(element) {
|
|
7562
|
+
var outline;
|
|
7563
|
+
var providers = this._getProviders();
|
|
7564
|
+
|
|
7565
|
+
forEach$1(providers, function(provider) {
|
|
7566
|
+
|
|
7567
|
+
if (!isFunction(provider.getOutline)) {
|
|
7568
|
+
return;
|
|
7569
|
+
}
|
|
7570
|
+
|
|
7571
|
+
outline = outline || provider.getOutline(element);
|
|
7572
|
+
});
|
|
7573
|
+
|
|
7574
|
+
return outline;
|
|
7575
|
+
};
|
|
7072
7576
|
|
|
7073
7577
|
Outline.$inject = [ 'eventBus', 'styles', 'elementRegistry' ];
|
|
7074
7578
|
|
|
@@ -7410,8 +7914,8 @@
|
|
|
7410
7914
|
var isSelected = selection.isSelected(element),
|
|
7411
7915
|
isMultiSelect = selection.get().length > 1;
|
|
7412
7916
|
|
|
7413
|
-
// Add to selection if
|
|
7414
|
-
var add =
|
|
7917
|
+
// Add to selection if SHIFT pressed
|
|
7918
|
+
var add = hasSecondaryModifier(event);
|
|
7415
7919
|
|
|
7416
7920
|
if (isSelected && isMultiSelect) {
|
|
7417
7921
|
if (add) {
|
|
@@ -7703,8 +8207,7 @@
|
|
|
7703
8207
|
} else {
|
|
7704
8208
|
return [];
|
|
7705
8209
|
}
|
|
7706
|
-
} else
|
|
7707
|
-
if (search.type) {
|
|
8210
|
+
} else if (search.type) {
|
|
7708
8211
|
return filter(this._overlays, matchPattern({ type: search.type }));
|
|
7709
8212
|
} else {
|
|
7710
8213
|
|
|
@@ -9387,7 +9890,7 @@
|
|
|
9387
9890
|
}
|
|
9388
9891
|
|
|
9389
9892
|
/**
|
|
9390
|
-
* @typedef {import('./index').InjectAnnotated } InjectAnnotated
|
|
9893
|
+
* @typedef {import('./index.js').InjectAnnotated } InjectAnnotated
|
|
9391
9894
|
*/
|
|
9392
9895
|
|
|
9393
9896
|
/**
|
|
@@ -9457,9 +9960,9 @@
|
|
|
9457
9960
|
}
|
|
9458
9961
|
|
|
9459
9962
|
/**
|
|
9460
|
-
* @typedef { import('./index').ModuleDeclaration } ModuleDeclaration
|
|
9461
|
-
* @typedef { import('./index').ModuleDefinition } ModuleDefinition
|
|
9462
|
-
* @typedef { import('./index').InjectorContext } InjectorContext
|
|
9963
|
+
* @typedef { import('./index.js').ModuleDeclaration } ModuleDeclaration
|
|
9964
|
+
* @typedef { import('./index.js').ModuleDefinition } ModuleDefinition
|
|
9965
|
+
* @typedef { import('./index.js').InjectorContext } InjectorContext
|
|
9463
9966
|
*/
|
|
9464
9967
|
|
|
9465
9968
|
/**
|
|
@@ -9562,11 +10065,20 @@
|
|
|
9562
10065
|
};
|
|
9563
10066
|
}
|
|
9564
10067
|
|
|
9565
|
-
|
|
10068
|
+
/**
|
|
10069
|
+
* Instantiate the given type, injecting dependencies.
|
|
10070
|
+
*
|
|
10071
|
+
* @template T
|
|
10072
|
+
*
|
|
10073
|
+
* @param { Function | [...string[], Function ]} type
|
|
10074
|
+
*
|
|
10075
|
+
* @return T
|
|
10076
|
+
*/
|
|
10077
|
+
function instantiate(type) {
|
|
9566
10078
|
const {
|
|
9567
10079
|
fn,
|
|
9568
10080
|
dependencies
|
|
9569
|
-
} = fnDef(
|
|
10081
|
+
} = fnDef(type);
|
|
9570
10082
|
|
|
9571
10083
|
// instantiate var args constructor
|
|
9572
10084
|
const Constructor = Function.prototype.bind.apply(fn, [ null ].concat(dependencies));
|
|
@@ -9574,6 +10086,17 @@
|
|
|
9574
10086
|
return new Constructor();
|
|
9575
10087
|
}
|
|
9576
10088
|
|
|
10089
|
+
/**
|
|
10090
|
+
* Invoke the given function, injecting dependencies. Return the result.
|
|
10091
|
+
*
|
|
10092
|
+
* @template T
|
|
10093
|
+
*
|
|
10094
|
+
* @param { Function | [...string[], Function ]} func
|
|
10095
|
+
* @param { Object } [context]
|
|
10096
|
+
* @param { Object } [locals]
|
|
10097
|
+
*
|
|
10098
|
+
* @return {T} invocation result
|
|
10099
|
+
*/
|
|
9577
10100
|
function invoke(func, context, locals) {
|
|
9578
10101
|
const {
|
|
9579
10102
|
fn,
|
|
@@ -11842,32 +12365,17 @@
|
|
|
11842
12365
|
}
|
|
11843
12366
|
};
|
|
11844
12367
|
|
|
11845
|
-
var objectRefs = {exports: {}};
|
|
11846
|
-
|
|
11847
|
-
var collection = {};
|
|
11848
|
-
|
|
11849
|
-
/**
|
|
11850
|
-
* An empty collection stub. Use {@link RefsCollection.extend} to extend a
|
|
11851
|
-
* collection with ref semantics.
|
|
11852
|
-
*
|
|
11853
|
-
* @class RefsCollection
|
|
11854
|
-
*/
|
|
11855
|
-
|
|
11856
12368
|
/**
|
|
11857
12369
|
* Extends a collection with {@link Refs} aware methods
|
|
11858
12370
|
*
|
|
11859
|
-
* @
|
|
11860
|
-
* @
|
|
11861
|
-
*
|
|
11862
|
-
* @param
|
|
11863
|
-
* @param {Refs} refs instance
|
|
11864
|
-
* @param {Object} property represented by the collection
|
|
11865
|
-
* @param {Object} target object the collection is attached to
|
|
12371
|
+
* @param {Array<Object>} collection
|
|
12372
|
+
* @param {Refs} refs instance
|
|
12373
|
+
* @param {Object} property represented by the collection
|
|
12374
|
+
* @param {Object} target object the collection is attached to
|
|
11866
12375
|
*
|
|
11867
12376
|
* @return {RefsCollection<Object>} the extended array
|
|
11868
12377
|
*/
|
|
11869
12378
|
function extend(collection, refs, property, target) {
|
|
11870
|
-
|
|
11871
12379
|
var inverseProperty = property.inverse;
|
|
11872
12380
|
|
|
11873
12381
|
/**
|
|
@@ -11878,7 +12386,7 @@
|
|
|
11878
12386
|
* @param {Object} element the element to remove
|
|
11879
12387
|
*/
|
|
11880
12388
|
Object.defineProperty(collection, 'remove', {
|
|
11881
|
-
value: function(element) {
|
|
12389
|
+
value: function (element) {
|
|
11882
12390
|
var idx = this.indexOf(element);
|
|
11883
12391
|
if (idx !== -1) {
|
|
11884
12392
|
this.splice(idx, 1);
|
|
@@ -11886,7 +12394,6 @@
|
|
|
11886
12394
|
// unset inverse
|
|
11887
12395
|
refs.unset(element, inverseProperty, target);
|
|
11888
12396
|
}
|
|
11889
|
-
|
|
11890
12397
|
return element;
|
|
11891
12398
|
}
|
|
11892
12399
|
});
|
|
@@ -11899,7 +12406,7 @@
|
|
|
11899
12406
|
* @param {Object} element the element to check for
|
|
11900
12407
|
*/
|
|
11901
12408
|
Object.defineProperty(collection, 'contains', {
|
|
11902
|
-
value: function(element) {
|
|
12409
|
+
value: function (element) {
|
|
11903
12410
|
return this.indexOf(element) !== -1;
|
|
11904
12411
|
}
|
|
11905
12412
|
});
|
|
@@ -11914,12 +12421,9 @@
|
|
|
11914
12421
|
* (possibly moving other elements around)
|
|
11915
12422
|
*/
|
|
11916
12423
|
Object.defineProperty(collection, 'add', {
|
|
11917
|
-
value: function(element, idx) {
|
|
11918
|
-
|
|
12424
|
+
value: function (element, idx) {
|
|
11919
12425
|
var currentIdx = this.indexOf(element);
|
|
11920
|
-
|
|
11921
12426
|
if (typeof idx === 'undefined') {
|
|
11922
|
-
|
|
11923
12427
|
if (currentIdx !== -1) {
|
|
11924
12428
|
// element already in collection (!)
|
|
11925
12429
|
return;
|
|
@@ -11931,14 +12435,12 @@
|
|
|
11931
12435
|
|
|
11932
12436
|
// handle already in collection
|
|
11933
12437
|
if (currentIdx !== -1) {
|
|
11934
|
-
|
|
11935
12438
|
// remove element from currentIdx
|
|
11936
12439
|
this.splice(currentIdx, 1);
|
|
11937
12440
|
}
|
|
11938
12441
|
|
|
11939
12442
|
// add element at idx
|
|
11940
12443
|
this.splice(idx, 0, element);
|
|
11941
|
-
|
|
11942
12444
|
if (currentIdx === -1) {
|
|
11943
12445
|
// set inverse, unless element was
|
|
11944
12446
|
// in collection already
|
|
@@ -11952,69 +12454,53 @@
|
|
|
11952
12454
|
Object.defineProperty(collection, '__refs_collection', {
|
|
11953
12455
|
value: true
|
|
11954
12456
|
});
|
|
11955
|
-
|
|
11956
12457
|
return collection;
|
|
11957
12458
|
}
|
|
11958
12459
|
|
|
11959
|
-
|
|
12460
|
+
/**
|
|
12461
|
+
* Checks if a given collection is extended
|
|
12462
|
+
*
|
|
12463
|
+
* @param {Array<Object>} collection
|
|
12464
|
+
*
|
|
12465
|
+
* @return {boolean}
|
|
12466
|
+
*/
|
|
11960
12467
|
function isExtended(collection) {
|
|
11961
12468
|
return collection.__refs_collection === true;
|
|
11962
12469
|
}
|
|
11963
12470
|
|
|
11964
|
-
collection.extend = extend;
|
|
11965
|
-
|
|
11966
|
-
collection.isExtended = isExtended;
|
|
11967
|
-
|
|
11968
|
-
var Collection = collection;
|
|
11969
|
-
|
|
11970
12471
|
function hasOwnProperty$1(e, property) {
|
|
11971
12472
|
return Object.prototype.hasOwnProperty.call(e, property.name || property);
|
|
11972
12473
|
}
|
|
11973
|
-
|
|
11974
12474
|
function defineCollectionProperty(ref, property, target) {
|
|
11975
|
-
|
|
11976
|
-
var collection = Collection.extend(target[property.name] || [], ref, property, target);
|
|
11977
|
-
|
|
12475
|
+
var collection = extend(target[property.name] || [], ref, property, target);
|
|
11978
12476
|
Object.defineProperty(target, property.name, {
|
|
11979
12477
|
enumerable: property.enumerable,
|
|
11980
12478
|
value: collection
|
|
11981
12479
|
});
|
|
11982
|
-
|
|
11983
12480
|
if (collection.length) {
|
|
11984
|
-
|
|
11985
|
-
collection.forEach(function(o) {
|
|
12481
|
+
collection.forEach(function (o) {
|
|
11986
12482
|
ref.set(o, property.inverse, target);
|
|
11987
12483
|
});
|
|
11988
12484
|
}
|
|
11989
12485
|
}
|
|
11990
|
-
|
|
11991
|
-
|
|
11992
12486
|
function defineProperty$1(ref, property, target) {
|
|
11993
|
-
|
|
11994
12487
|
var inverseProperty = property.inverse;
|
|
11995
|
-
|
|
11996
12488
|
var _value = target[property.name];
|
|
11997
|
-
|
|
11998
12489
|
Object.defineProperty(target, property.name, {
|
|
11999
12490
|
configurable: property.configurable,
|
|
12000
12491
|
enumerable: property.enumerable,
|
|
12001
|
-
|
|
12002
|
-
get: function() {
|
|
12492
|
+
get: function () {
|
|
12003
12493
|
return _value;
|
|
12004
12494
|
},
|
|
12005
|
-
|
|
12006
|
-
set: function(value) {
|
|
12007
|
-
|
|
12495
|
+
set: function (value) {
|
|
12008
12496
|
// return if we already performed all changes
|
|
12009
12497
|
if (value === _value) {
|
|
12010
12498
|
return;
|
|
12011
12499
|
}
|
|
12012
|
-
|
|
12013
12500
|
var old = _value;
|
|
12014
12501
|
|
|
12015
12502
|
// temporary set null
|
|
12016
12503
|
_value = null;
|
|
12017
|
-
|
|
12018
12504
|
if (old) {
|
|
12019
12505
|
ref.unset(old, inverseProperty, target);
|
|
12020
12506
|
}
|
|
@@ -12026,7 +12512,6 @@
|
|
|
12026
12512
|
ref.set(_value, inverseProperty, target);
|
|
12027
12513
|
}
|
|
12028
12514
|
});
|
|
12029
|
-
|
|
12030
12515
|
}
|
|
12031
12516
|
|
|
12032
12517
|
/**
|
|
@@ -12072,16 +12557,14 @@
|
|
|
12072
12557
|
*
|
|
12073
12558
|
* wheels[0].car // undefined
|
|
12074
12559
|
*/
|
|
12075
|
-
function Refs
|
|
12076
|
-
|
|
12077
|
-
|
|
12078
|
-
return new Refs$1(a, b);
|
|
12560
|
+
function Refs(a, b) {
|
|
12561
|
+
if (!(this instanceof Refs)) {
|
|
12562
|
+
return new Refs(a, b);
|
|
12079
12563
|
}
|
|
12080
12564
|
|
|
12081
12565
|
// link
|
|
12082
12566
|
a.inverse = b;
|
|
12083
12567
|
b.inverse = a;
|
|
12084
|
-
|
|
12085
12568
|
this.props = {};
|
|
12086
12569
|
this.props[a.name] = a;
|
|
12087
12570
|
this.props[b.name] = b;
|
|
@@ -12096,43 +12579,34 @@
|
|
|
12096
12579
|
* @param {Object} target
|
|
12097
12580
|
* @param {String} property
|
|
12098
12581
|
*/
|
|
12099
|
-
Refs
|
|
12582
|
+
Refs.prototype.bind = function (target, property) {
|
|
12100
12583
|
if (typeof property === 'string') {
|
|
12101
12584
|
if (!this.props[property]) {
|
|
12102
12585
|
throw new Error('no property <' + property + '> in ref');
|
|
12103
12586
|
}
|
|
12104
12587
|
property = this.props[property];
|
|
12105
12588
|
}
|
|
12106
|
-
|
|
12107
12589
|
if (property.collection) {
|
|
12108
12590
|
defineCollectionProperty(this, property, target);
|
|
12109
12591
|
} else {
|
|
12110
12592
|
defineProperty$1(this, property, target);
|
|
12111
12593
|
}
|
|
12112
12594
|
};
|
|
12113
|
-
|
|
12114
|
-
Refs$1.prototype.ensureRefsCollection = function(target, property) {
|
|
12115
|
-
|
|
12595
|
+
Refs.prototype.ensureRefsCollection = function (target, property) {
|
|
12116
12596
|
var collection = target[property.name];
|
|
12117
|
-
|
|
12118
|
-
if (!Collection.isExtended(collection)) {
|
|
12597
|
+
if (!isExtended(collection)) {
|
|
12119
12598
|
defineCollectionProperty(this, property, target);
|
|
12120
12599
|
}
|
|
12121
|
-
|
|
12122
12600
|
return collection;
|
|
12123
12601
|
};
|
|
12124
|
-
|
|
12125
|
-
Refs$1.prototype.ensureBound = function(target, property) {
|
|
12602
|
+
Refs.prototype.ensureBound = function (target, property) {
|
|
12126
12603
|
if (!hasOwnProperty$1(target, property)) {
|
|
12127
12604
|
this.bind(target, property);
|
|
12128
12605
|
}
|
|
12129
12606
|
};
|
|
12130
|
-
|
|
12131
|
-
Refs$1.prototype.unset = function(target, property, value) {
|
|
12132
|
-
|
|
12607
|
+
Refs.prototype.unset = function (target, property, value) {
|
|
12133
12608
|
if (target) {
|
|
12134
12609
|
this.ensureBound(target, property);
|
|
12135
|
-
|
|
12136
12610
|
if (property.collection) {
|
|
12137
12611
|
this.ensureRefsCollection(target, property).remove(value);
|
|
12138
12612
|
} else {
|
|
@@ -12140,12 +12614,9 @@
|
|
|
12140
12614
|
}
|
|
12141
12615
|
}
|
|
12142
12616
|
};
|
|
12143
|
-
|
|
12144
|
-
Refs$1.prototype.set = function(target, property, value) {
|
|
12145
|
-
|
|
12617
|
+
Refs.prototype.set = function (target, property, value) {
|
|
12146
12618
|
if (target) {
|
|
12147
12619
|
this.ensureBound(target, property);
|
|
12148
|
-
|
|
12149
12620
|
if (property.collection) {
|
|
12150
12621
|
this.ensureRefsCollection(target, property).add(value);
|
|
12151
12622
|
} else {
|
|
@@ -12154,15 +12625,6 @@
|
|
|
12154
12625
|
}
|
|
12155
12626
|
};
|
|
12156
12627
|
|
|
12157
|
-
var refs = Refs$1;
|
|
12158
|
-
|
|
12159
|
-
objectRefs.exports = refs;
|
|
12160
|
-
|
|
12161
|
-
objectRefs.exports.Collection = collection;
|
|
12162
|
-
|
|
12163
|
-
var objectRefsExports = objectRefs.exports;
|
|
12164
|
-
var Refs = /*@__PURE__*/getDefaultExportFromCjs(objectRefsExports);
|
|
12165
|
-
|
|
12166
12628
|
var parentRefs = new Refs({ name: 'children', enumerable: true, collection: true }, { name: 'parent' }),
|
|
12167
12629
|
labelRefs = new Refs({ name: 'labels', enumerable: true, collection: true }, { name: 'labelTarget' }),
|
|
12168
12630
|
attacherRefs = new Refs({ name: 'attachers', collection: true }, { name: 'host' }),
|
|
@@ -13367,13 +13829,14 @@
|
|
|
13367
13829
|
*
|
|
13368
13830
|
* @param {SVGElement} visual The graphical element.
|
|
13369
13831
|
* @param {ShapeLike} element The shape.
|
|
13832
|
+
* @param {Object} attrs Optional attributes.
|
|
13370
13833
|
*
|
|
13371
13834
|
* @return {SVGElement}
|
|
13372
13835
|
*/
|
|
13373
|
-
GraphicsFactory.prototype.drawShape = function(visual, element) {
|
|
13836
|
+
GraphicsFactory.prototype.drawShape = function(visual, element, attrs = {}) {
|
|
13374
13837
|
var eventBus = this._eventBus;
|
|
13375
13838
|
|
|
13376
|
-
return eventBus.fire('render.shape', { gfx: visual, element
|
|
13839
|
+
return eventBus.fire('render.shape', { gfx: visual, element, attrs });
|
|
13377
13840
|
};
|
|
13378
13841
|
|
|
13379
13842
|
/**
|
|
@@ -13394,13 +13857,14 @@
|
|
|
13394
13857
|
*
|
|
13395
13858
|
* @param {SVGElement} visual The graphical element.
|
|
13396
13859
|
* @param {ConnectionLike} element The connection.
|
|
13860
|
+
* @param {Object} attrs Optional attributes.
|
|
13397
13861
|
*
|
|
13398
13862
|
* @return {SVGElement}
|
|
13399
13863
|
*/
|
|
13400
|
-
GraphicsFactory.prototype.drawConnection = function(visual, element) {
|
|
13864
|
+
GraphicsFactory.prototype.drawConnection = function(visual, element, attrs = {}) {
|
|
13401
13865
|
var eventBus = this._eventBus;
|
|
13402
13866
|
|
|
13403
|
-
return eventBus.fire('render.connection', { gfx: visual, element
|
|
13867
|
+
return eventBus.fire('render.connection', { gfx: visual, element, attrs });
|
|
13404
13868
|
};
|
|
13405
13869
|
|
|
13406
13870
|
/**
|
|
@@ -13438,8 +13902,7 @@
|
|
|
13438
13902
|
|
|
13439
13903
|
// update positioning
|
|
13440
13904
|
translate$1(gfx, element.x, element.y);
|
|
13441
|
-
} else
|
|
13442
|
-
if (type === 'connection') {
|
|
13905
|
+
} else if (type === 'connection') {
|
|
13443
13906
|
this.drawConnection(visual, element);
|
|
13444
13907
|
} else {
|
|
13445
13908
|
throw new Error('unknown type: ' + type);
|
|
@@ -13977,6 +14440,17 @@
|
|
|
13977
14440
|
this.idProperty = p;
|
|
13978
14441
|
};
|
|
13979
14442
|
|
|
14443
|
+
DescriptorBuilder.prototype.assertNotTrait = function(typeDescriptor) {
|
|
14444
|
+
|
|
14445
|
+
const _extends = typeDescriptor.extends || [];
|
|
14446
|
+
|
|
14447
|
+
if (_extends.length) {
|
|
14448
|
+
throw new Error(
|
|
14449
|
+
`cannot create <${ typeDescriptor.name }> extending <${ typeDescriptor.extends }>`
|
|
14450
|
+
);
|
|
14451
|
+
}
|
|
14452
|
+
};
|
|
14453
|
+
|
|
13980
14454
|
DescriptorBuilder.prototype.assertNotDefined = function(p, name) {
|
|
13981
14455
|
var propertyName = p.name,
|
|
13982
14456
|
definedProperty = this.propertiesByName[propertyName];
|
|
@@ -13995,6 +14469,10 @@
|
|
|
13995
14469
|
|
|
13996
14470
|
DescriptorBuilder.prototype.addTrait = function(t, inherited) {
|
|
13997
14471
|
|
|
14472
|
+
if (inherited) {
|
|
14473
|
+
this.assertNotTrait(t);
|
|
14474
|
+
}
|
|
14475
|
+
|
|
13998
14476
|
var typesByName = this.allTypesByName,
|
|
13999
14477
|
types = this.allTypes;
|
|
14000
14478
|
|
|
@@ -14128,7 +14606,9 @@
|
|
|
14128
14606
|
});
|
|
14129
14607
|
|
|
14130
14608
|
forEach$1(type.extends, bind$2(function(extendsName) {
|
|
14131
|
-
var
|
|
14609
|
+
var extendsNameNs = parseName(extendsName, ns.prefix);
|
|
14610
|
+
|
|
14611
|
+
var extended = this.typeMap[extendsNameNs.name];
|
|
14132
14612
|
|
|
14133
14613
|
extended.traits = extended.traits || [];
|
|
14134
14614
|
extended.traits.push(name);
|
|
@@ -14157,24 +14637,33 @@
|
|
|
14157
14637
|
|
|
14158
14638
|
var self = this;
|
|
14159
14639
|
|
|
14640
|
+
/**
|
|
14641
|
+
* Traverse the selected super type or trait
|
|
14642
|
+
*
|
|
14643
|
+
* @param {String} cls
|
|
14644
|
+
* @param {Boolean} [trait=false]
|
|
14645
|
+
*/
|
|
14646
|
+
function traverse(cls, trait) {
|
|
14647
|
+
var parentNs = parseName(cls, isBuiltIn(cls) ? '' : nsName.prefix);
|
|
14648
|
+
self.mapTypes(parentNs, iterator, trait);
|
|
14649
|
+
}
|
|
14650
|
+
|
|
14160
14651
|
/**
|
|
14161
14652
|
* Traverse the selected trait.
|
|
14162
14653
|
*
|
|
14163
14654
|
* @param {String} cls
|
|
14164
14655
|
*/
|
|
14165
14656
|
function traverseTrait(cls) {
|
|
14166
|
-
return
|
|
14657
|
+
return traverse(cls, true);
|
|
14167
14658
|
}
|
|
14168
14659
|
|
|
14169
14660
|
/**
|
|
14170
|
-
* Traverse the selected super type
|
|
14661
|
+
* Traverse the selected super type
|
|
14171
14662
|
*
|
|
14172
14663
|
* @param {String} cls
|
|
14173
|
-
* @param {Boolean} [trait=false]
|
|
14174
14664
|
*/
|
|
14175
|
-
function traverseSuper(cls
|
|
14176
|
-
|
|
14177
|
-
self.mapTypes(parentNs, iterator, trait);
|
|
14665
|
+
function traverseSuper(cls) {
|
|
14666
|
+
return traverse(cls, false);
|
|
14178
14667
|
}
|
|
14179
14668
|
|
|
14180
14669
|
if (!type) {
|
|
@@ -14257,7 +14746,7 @@
|
|
|
14257
14746
|
throw new TypeError('property name must be a non-empty string');
|
|
14258
14747
|
}
|
|
14259
14748
|
|
|
14260
|
-
var property = this.
|
|
14749
|
+
var property = this.getProperty(target, name);
|
|
14261
14750
|
|
|
14262
14751
|
var propertyName = property && property.name;
|
|
14263
14752
|
|
|
@@ -14268,7 +14757,7 @@
|
|
|
14268
14757
|
if (property) {
|
|
14269
14758
|
delete target[propertyName];
|
|
14270
14759
|
} else {
|
|
14271
|
-
delete target.$attrs[name];
|
|
14760
|
+
delete target.$attrs[stripGlobal(name)];
|
|
14272
14761
|
}
|
|
14273
14762
|
} else {
|
|
14274
14763
|
|
|
@@ -14281,7 +14770,7 @@
|
|
|
14281
14770
|
defineProperty(target, property, value);
|
|
14282
14771
|
}
|
|
14283
14772
|
} else {
|
|
14284
|
-
target.$attrs[name] = value;
|
|
14773
|
+
target.$attrs[stripGlobal(name)] = value;
|
|
14285
14774
|
}
|
|
14286
14775
|
}
|
|
14287
14776
|
};
|
|
@@ -14296,10 +14785,10 @@
|
|
|
14296
14785
|
*/
|
|
14297
14786
|
Properties.prototype.get = function(target, name) {
|
|
14298
14787
|
|
|
14299
|
-
var property = this.
|
|
14788
|
+
var property = this.getProperty(target, name);
|
|
14300
14789
|
|
|
14301
14790
|
if (!property) {
|
|
14302
|
-
return target.$attrs[name];
|
|
14791
|
+
return target.$attrs[stripGlobal(name)];
|
|
14303
14792
|
}
|
|
14304
14793
|
|
|
14305
14794
|
var propertyName = property.name;
|
|
@@ -14353,6 +14842,44 @@
|
|
|
14353
14842
|
this.define(target, '$model', { value: model });
|
|
14354
14843
|
};
|
|
14355
14844
|
|
|
14845
|
+
/**
|
|
14846
|
+
* Return property with the given name on the element.
|
|
14847
|
+
*
|
|
14848
|
+
* @param {any} target
|
|
14849
|
+
* @param {string} name
|
|
14850
|
+
*
|
|
14851
|
+
* @return {object | null} property
|
|
14852
|
+
*/
|
|
14853
|
+
Properties.prototype.getProperty = function(target, name) {
|
|
14854
|
+
|
|
14855
|
+
var model = this.model;
|
|
14856
|
+
|
|
14857
|
+
var property = model.getPropertyDescriptor(target, name);
|
|
14858
|
+
|
|
14859
|
+
if (property) {
|
|
14860
|
+
return property;
|
|
14861
|
+
}
|
|
14862
|
+
|
|
14863
|
+
if (name.includes(':')) {
|
|
14864
|
+
return null;
|
|
14865
|
+
}
|
|
14866
|
+
|
|
14867
|
+
const strict = model.config.strict;
|
|
14868
|
+
|
|
14869
|
+
if (typeof strict !== 'undefined') {
|
|
14870
|
+
const error = new TypeError(`unknown property <${ name }> on <${ target.$type }>`);
|
|
14871
|
+
|
|
14872
|
+
if (strict) {
|
|
14873
|
+
throw error;
|
|
14874
|
+
} else {
|
|
14875
|
+
|
|
14876
|
+
// eslint-disable-next-line no-undef
|
|
14877
|
+
typeof console !== 'undefined' && console.warn(error);
|
|
14878
|
+
}
|
|
14879
|
+
}
|
|
14880
|
+
|
|
14881
|
+
return null;
|
|
14882
|
+
};
|
|
14356
14883
|
|
|
14357
14884
|
function isUndefined(val) {
|
|
14358
14885
|
return typeof val === 'undefined';
|
|
@@ -14367,6 +14894,10 @@
|
|
|
14367
14894
|
});
|
|
14368
14895
|
}
|
|
14369
14896
|
|
|
14897
|
+
function stripGlobal(name) {
|
|
14898
|
+
return name.replace(/^:/, '');
|
|
14899
|
+
}
|
|
14900
|
+
|
|
14370
14901
|
// Moddle implementation /////////////////////////////////////////////////
|
|
14371
14902
|
|
|
14372
14903
|
/**
|
|
@@ -14389,8 +14920,10 @@
|
|
|
14389
14920
|
* var moddle = new Moddle([pkg]);
|
|
14390
14921
|
*
|
|
14391
14922
|
* @param {Array<Package>} packages the packages to contain
|
|
14923
|
+
*
|
|
14924
|
+
* @param { { strict?: boolean } } [config] moddle configuration
|
|
14392
14925
|
*/
|
|
14393
|
-
function Moddle(packages) {
|
|
14926
|
+
function Moddle(packages, config = {}) {
|
|
14394
14927
|
|
|
14395
14928
|
this.properties = new Properties(this);
|
|
14396
14929
|
|
|
@@ -14398,6 +14931,8 @@
|
|
|
14398
14931
|
this.registry = new Registry(packages, this.properties);
|
|
14399
14932
|
|
|
14400
14933
|
this.typeCache = {};
|
|
14934
|
+
|
|
14935
|
+
this.config = config;
|
|
14401
14936
|
}
|
|
14402
14937
|
|
|
14403
14938
|
|
|
@@ -14491,6 +15026,12 @@
|
|
|
14491
15026
|
$type: name,
|
|
14492
15027
|
$instanceOf: function(type) {
|
|
14493
15028
|
return type === this.$type;
|
|
15029
|
+
},
|
|
15030
|
+
get: function(key) {
|
|
15031
|
+
return this[key];
|
|
15032
|
+
},
|
|
15033
|
+
set: function(key, value) {
|
|
15034
|
+
set$1(this, [ key ], value);
|
|
14494
15035
|
}
|
|
14495
15036
|
};
|
|
14496
15037
|
|
|
@@ -14506,6 +15047,8 @@
|
|
|
14506
15047
|
|
|
14507
15048
|
this.properties.defineDescriptor(element, descriptor);
|
|
14508
15049
|
this.properties.defineModel(element, this);
|
|
15050
|
+
this.properties.define(element, 'get', { enumerable: false, writable: true });
|
|
15051
|
+
this.properties.define(element, 'set', { enumerable: false, writable: true });
|
|
14509
15052
|
this.properties.define(element, '$parent', { enumerable: false, writable: true });
|
|
14510
15053
|
this.properties.define(element, '$instanceOf', { enumerable: false, writable: true });
|
|
14511
15054
|
|