camunda-bpmn-js 5.6.2 → 5.7.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.
Files changed (79) hide show
  1. package/dist/base-modeler.development.js +294 -147
  2. package/dist/base-modeler.production.min.js +2 -2
  3. package/dist/base-navigated-viewer.development.js +92 -41
  4. package/dist/base-navigated-viewer.production.min.js +1 -1
  5. package/dist/base-viewer.development.js +92 -41
  6. package/dist/base-viewer.production.min.js +1 -1
  7. package/dist/camunda-cloud-modeler.development.js +1577 -403
  8. package/dist/camunda-cloud-modeler.production.min.js +6 -6
  9. package/dist/camunda-cloud-navigated-viewer.development.js +92 -41
  10. package/dist/camunda-cloud-navigated-viewer.production.min.js +1 -1
  11. package/dist/camunda-cloud-viewer.development.js +92 -41
  12. package/dist/camunda-cloud-viewer.production.min.js +1 -1
  13. package/dist/camunda-platform-modeler.development.js +294 -147
  14. package/dist/camunda-platform-modeler.production.min.js +5 -5
  15. package/dist/camunda-platform-navigated-viewer.development.js +92 -41
  16. package/dist/camunda-platform-navigated-viewer.production.min.js +1 -1
  17. package/dist/camunda-platform-viewer.development.js +92 -41
  18. package/dist/camunda-platform-viewer.production.min.js +1 -1
  19. package/lib/camunda-cloud/Modeler.js +4 -1
  20. package/lib/camunda-cloud/features/external-resources/README.md +14 -0
  21. package/lib/camunda-cloud/features/external-resources/ResourceLoader.d.ts +6 -0
  22. package/lib/camunda-cloud/features/external-resources/ResourceLoader.js +24 -0
  23. package/lib/camunda-cloud/features/external-resources/Resources.d.ts +7 -0
  24. package/lib/camunda-cloud/features/external-resources/Resources.js +19 -0
  25. package/lib/camunda-cloud/features/external-resources/cmd/ComposedCommandHandler.d.ts +12 -0
  26. package/lib/camunda-cloud/features/external-resources/cmd/ComposedCommandHandler.js +16 -0
  27. package/lib/camunda-cloud/features/external-resources/cmd/index.d.ts +4 -0
  28. package/lib/camunda-cloud/features/external-resources/cmd/index.js +21 -0
  29. package/lib/camunda-cloud/features/external-resources/handlers/decision/AppendMenuProvider.d.ts +5 -0
  30. package/lib/camunda-cloud/features/external-resources/handlers/decision/AppendMenuProvider.js +19 -0
  31. package/lib/camunda-cloud/features/external-resources/handlers/decision/CreateMenuProvider.d.ts +5 -0
  32. package/lib/camunda-cloud/features/external-resources/handlers/decision/CreateMenuProvider.js +19 -0
  33. package/lib/camunda-cloud/features/external-resources/handlers/decision/ReplaceMenuProvider.d.ts +5 -0
  34. package/lib/camunda-cloud/features/external-resources/handlers/decision/ReplaceMenuProvider.js +19 -0
  35. package/lib/camunda-cloud/features/external-resources/handlers/decision/createElement.d.ts +13 -0
  36. package/lib/camunda-cloud/features/external-resources/handlers/decision/createElement.js +35 -0
  37. package/lib/camunda-cloud/features/external-resources/handlers/decision/index.d.ts +8 -0
  38. package/lib/camunda-cloud/features/external-resources/handlers/decision/index.js +14 -0
  39. package/lib/camunda-cloud/features/external-resources/handlers/decision/replaceElement.d.ts +15 -0
  40. package/lib/camunda-cloud/features/external-resources/handlers/decision/replaceElement.js +77 -0
  41. package/lib/camunda-cloud/features/external-resources/handlers/decision/searchTerms.d.ts +1 -0
  42. package/lib/camunda-cloud/features/external-resources/handlers/decision/searchTerms.js +6 -0
  43. package/lib/camunda-cloud/features/external-resources/handlers/form/AppendMenuProvider.d.ts +5 -0
  44. package/lib/camunda-cloud/features/external-resources/handlers/form/AppendMenuProvider.js +19 -0
  45. package/lib/camunda-cloud/features/external-resources/handlers/form/CreateMenuProvider.d.ts +5 -0
  46. package/lib/camunda-cloud/features/external-resources/handlers/form/CreateMenuProvider.js +19 -0
  47. package/lib/camunda-cloud/features/external-resources/handlers/form/ReplaceMenuProvider.d.ts +5 -0
  48. package/lib/camunda-cloud/features/external-resources/handlers/form/ReplaceMenuProvider.js +19 -0
  49. package/lib/camunda-cloud/features/external-resources/handlers/form/createElement.d.ts +9 -0
  50. package/lib/camunda-cloud/features/external-resources/handlers/form/createElement.js +39 -0
  51. package/lib/camunda-cloud/features/external-resources/handlers/form/index.d.ts +8 -0
  52. package/lib/camunda-cloud/features/external-resources/handlers/form/index.js +14 -0
  53. package/lib/camunda-cloud/features/external-resources/handlers/form/replaceElement.d.ts +15 -0
  54. package/lib/camunda-cloud/features/external-resources/handlers/form/replaceElement.js +82 -0
  55. package/lib/camunda-cloud/features/external-resources/handlers/form/searchTerms.d.ts +1 -0
  56. package/lib/camunda-cloud/features/external-resources/handlers/form/searchTerms.js +6 -0
  57. package/lib/camunda-cloud/features/external-resources/handlers/process/AppendMenuProvider.d.ts +5 -0
  58. package/lib/camunda-cloud/features/external-resources/handlers/process/AppendMenuProvider.js +19 -0
  59. package/lib/camunda-cloud/features/external-resources/handlers/process/CreateMenuProvider.d.ts +5 -0
  60. package/lib/camunda-cloud/features/external-resources/handlers/process/CreateMenuProvider.js +19 -0
  61. package/lib/camunda-cloud/features/external-resources/handlers/process/ReplaceMenuProvider.d.ts +5 -0
  62. package/lib/camunda-cloud/features/external-resources/handlers/process/ReplaceMenuProvider.js +19 -0
  63. package/lib/camunda-cloud/features/external-resources/handlers/process/createElement.d.ts +14 -0
  64. package/lib/camunda-cloud/features/external-resources/handlers/process/createElement.js +36 -0
  65. package/lib/camunda-cloud/features/external-resources/handlers/process/index.d.ts +8 -0
  66. package/lib/camunda-cloud/features/external-resources/handlers/process/index.js +14 -0
  67. package/lib/camunda-cloud/features/external-resources/handlers/process/replaceElement.d.ts +16 -0
  68. package/lib/camunda-cloud/features/external-resources/handlers/process/replaceElement.js +78 -0
  69. package/lib/camunda-cloud/features/external-resources/handlers/process/searchTerms.d.ts +1 -0
  70. package/lib/camunda-cloud/features/external-resources/handlers/process/searchTerms.js +6 -0
  71. package/lib/camunda-cloud/features/external-resources/handlers/util/BaseAppendMenuProvider.d.ts +18 -0
  72. package/lib/camunda-cloud/features/external-resources/handlers/util/BaseAppendMenuProvider.js +103 -0
  73. package/lib/camunda-cloud/features/external-resources/handlers/util/BaseCreateMenuProvider.d.ts +17 -0
  74. package/lib/camunda-cloud/features/external-resources/handlers/util/BaseCreateMenuProvider.js +84 -0
  75. package/lib/camunda-cloud/features/external-resources/handlers/util/BaseReplaceMenuProvider.d.ts +22 -0
  76. package/lib/camunda-cloud/features/external-resources/handlers/util/BaseReplaceMenuProvider.js +81 -0
  77. package/lib/camunda-cloud/features/external-resources/index.d.ts +23 -0
  78. package/lib/camunda-cloud/features/external-resources/index.js +27 -0
  79. package/package.json +4 -4
@@ -3170,8 +3170,8 @@
3170
3170
  var pathData = pathMap.getScaledPath('EVENT_MESSAGE', {
3171
3171
  xScaleFactor: 0.9,
3172
3172
  yScaleFactor: 0.9,
3173
- containerWidth: element.width,
3174
- containerHeight: element.height,
3173
+ containerWidth: attrs.width || element.width,
3174
+ containerHeight: attrs.height || element.height,
3175
3175
  position: {
3176
3176
  mx: 0.235,
3177
3177
  my: 0.315
@@ -3195,17 +3195,23 @@
3195
3195
  return messagePath;
3196
3196
  },
3197
3197
  'bpmn:TimerEventDefinition': function(parentGfx, element, attrs = {}) {
3198
- var circle = drawCircle(parentGfx, element.width, element.height, 0.2 * element.height, {
3198
+ var baseWidth = attrs.width || element.width;
3199
+ var baseHeight = attrs.height || element.height;
3200
+
3201
+ // use a lighter stroke for event suprocess icons
3202
+ var strokeWidth = attrs.width ? 1 : 2;
3203
+
3204
+ var circle = drawCircle(parentGfx, baseWidth, baseHeight, 0.2 * baseHeight, {
3199
3205
  fill: getFillColor(element, defaultFillColor, attrs.fill),
3200
3206
  stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
3201
- strokeWidth: 2
3207
+ strokeWidth: strokeWidth
3202
3208
  });
3203
3209
 
3204
3210
  var pathData = pathMap.getScaledPath('EVENT_TIMER_WH', {
3205
3211
  xScaleFactor: 0.75,
3206
3212
  yScaleFactor: 0.75,
3207
- containerWidth: element.width,
3208
- containerHeight: element.height,
3213
+ containerWidth: baseWidth,
3214
+ containerHeight: baseHeight,
3209
3215
  position: {
3210
3216
  mx: 0.5,
3211
3217
  my: 0.5
@@ -3214,23 +3220,23 @@
3214
3220
 
3215
3221
  drawPath(parentGfx, pathData, {
3216
3222
  stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
3217
- strokeWidth: 2
3223
+ strokeWidth: strokeWidth
3218
3224
  });
3219
3225
 
3220
3226
  for (var i = 0; i < 12; i++) {
3221
3227
  var linePathData = pathMap.getScaledPath('EVENT_TIMER_LINE', {
3222
3228
  xScaleFactor: 0.75,
3223
3229
  yScaleFactor: 0.75,
3224
- containerWidth: element.width,
3225
- containerHeight: element.height,
3230
+ containerWidth: baseWidth,
3231
+ containerHeight: baseHeight,
3226
3232
  position: {
3227
3233
  mx: 0.5,
3228
3234
  my: 0.5
3229
3235
  }
3230
3236
  });
3231
3237
 
3232
- var width = element.width / 2,
3233
- height = element.height / 2;
3238
+ var width = baseWidth / 2,
3239
+ height = baseHeight / 2;
3234
3240
 
3235
3241
  drawPath(parentGfx, linePathData, {
3236
3242
  strokeWidth: 1,
@@ -3245,8 +3251,8 @@
3245
3251
  var pathData = pathMap.getScaledPath('EVENT_ESCALATION', {
3246
3252
  xScaleFactor: 1,
3247
3253
  yScaleFactor: 1,
3248
- containerWidth: event.width,
3249
- containerHeight: event.height,
3254
+ containerWidth: attrs.width || event.width,
3255
+ containerHeight: attrs.height || event.height,
3250
3256
  position: {
3251
3257
  mx: 0.5,
3252
3258
  my: 0.2
@@ -3267,8 +3273,8 @@
3267
3273
  var pathData = pathMap.getScaledPath('EVENT_CONDITIONAL', {
3268
3274
  xScaleFactor: 1,
3269
3275
  yScaleFactor: 1,
3270
- containerWidth: event.width,
3271
- containerHeight: event.height,
3276
+ containerWidth: attrs.width || event.width,
3277
+ containerHeight: attrs.height || event.height,
3272
3278
  position: {
3273
3279
  mx: 0.5,
3274
3280
  my: 0.222
@@ -3307,8 +3313,8 @@
3307
3313
  var pathData = pathMap.getScaledPath('EVENT_ERROR', {
3308
3314
  xScaleFactor: 1.1,
3309
3315
  yScaleFactor: 1.1,
3310
- containerWidth: event.width,
3311
- containerHeight: event.height,
3316
+ containerWidth: attrs.width || event.width,
3317
+ containerHeight: attrs.height || event.height,
3312
3318
  position: {
3313
3319
  mx: 0.2,
3314
3320
  my: 0.722
@@ -3353,8 +3359,8 @@
3353
3359
  var pathData = pathMap.getScaledPath('EVENT_COMPENSATION', {
3354
3360
  xScaleFactor: 1,
3355
3361
  yScaleFactor: 1,
3356
- containerWidth: event.width,
3357
- containerHeight: event.height,
3362
+ containerWidth: attrs.width || event.width,
3363
+ containerHeight: attrs.height || event.height,
3358
3364
  position: {
3359
3365
  mx: 0.22,
3360
3366
  my: 0.5
@@ -3375,8 +3381,8 @@
3375
3381
  var pathData = pathMap.getScaledPath('EVENT_SIGNAL', {
3376
3382
  xScaleFactor: 0.9,
3377
3383
  yScaleFactor: 0.9,
3378
- containerWidth: event.width,
3379
- containerHeight: event.height,
3384
+ containerWidth: attrs.width || event.width,
3385
+ containerHeight: attrs.height || event.height,
3380
3386
  position: {
3381
3387
  mx: 0.5,
3382
3388
  my: 0.2
@@ -3397,10 +3403,10 @@
3397
3403
  var pathData = pathMap.getScaledPath('EVENT_MULTIPLE', {
3398
3404
  xScaleFactor: 1.1,
3399
3405
  yScaleFactor: 1.1,
3400
- containerWidth: event.width,
3401
- containerHeight: event.height,
3406
+ containerWidth: attrs.width || event.width,
3407
+ containerHeight: attrs.height || event.height,
3402
3408
  position: {
3403
- mx: 0.222,
3409
+ mx: 0.211,
3404
3410
  my: 0.36
3405
3411
  }
3406
3412
  });
@@ -3411,6 +3417,7 @@
3411
3417
 
3412
3418
  return drawPath(parentGfx, pathData, {
3413
3419
  fill,
3420
+ stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
3414
3421
  strokeWidth: 1
3415
3422
  });
3416
3423
  },
@@ -3418,8 +3425,8 @@
3418
3425
  var pathData = pathMap.getScaledPath('EVENT_PARALLEL_MULTIPLE', {
3419
3426
  xScaleFactor: 1.2,
3420
3427
  yScaleFactor: 1.2,
3421
- containerWidth: event.width,
3422
- containerHeight: event.height,
3428
+ containerWidth: attrs.width || event.width,
3429
+ containerHeight: attrs.height || event.height,
3423
3430
  position: {
3424
3431
  mx: 0.458,
3425
3432
  my: 0.194
@@ -3443,57 +3450,59 @@
3443
3450
  }
3444
3451
  };
3445
3452
 
3446
- function renderEventIcon(element, parentGfx, attrs = {}) {
3453
+ function renderEventIcon(element, parentGfx, attrs = {}, proxyElement) {
3447
3454
  var semantic = getBusinessObject(element),
3448
3455
  isThrowing = isThrowEvent(semantic);
3449
3456
 
3457
+ var nodeElement = proxyElement || element;
3458
+
3450
3459
  if (semantic.get('eventDefinitions') && semantic.get('eventDefinitions').length > 1) {
3451
3460
  if (semantic.get('parallelMultiple')) {
3452
- return eventIconRenderers[ 'bpmn:ParallelMultipleEventDefinition' ](parentGfx, element, attrs, isThrowing);
3461
+ return eventIconRenderers[ 'bpmn:ParallelMultipleEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3453
3462
  }
3454
3463
  else {
3455
- return eventIconRenderers[ 'bpmn:MultipleEventDefinition' ](parentGfx, element, attrs, isThrowing);
3464
+ return eventIconRenderers[ 'bpmn:MultipleEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3456
3465
  }
3457
3466
  }
3458
3467
 
3459
3468
  if (isTypedEvent(semantic, 'bpmn:MessageEventDefinition')) {
3460
- return eventIconRenderers[ 'bpmn:MessageEventDefinition' ](parentGfx, element, attrs, isThrowing);
3469
+ return eventIconRenderers[ 'bpmn:MessageEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3461
3470
  }
3462
3471
 
3463
3472
  if (isTypedEvent(semantic, 'bpmn:TimerEventDefinition')) {
3464
- return eventIconRenderers[ 'bpmn:TimerEventDefinition' ](parentGfx, element, attrs, isThrowing);
3473
+ return eventIconRenderers[ 'bpmn:TimerEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3465
3474
  }
3466
3475
 
3467
3476
  if (isTypedEvent(semantic, 'bpmn:ConditionalEventDefinition')) {
3468
- return eventIconRenderers[ 'bpmn:ConditionalEventDefinition' ](parentGfx, element, attrs, isThrowing);
3477
+ return eventIconRenderers[ 'bpmn:ConditionalEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3469
3478
  }
3470
3479
 
3471
3480
  if (isTypedEvent(semantic, 'bpmn:SignalEventDefinition')) {
3472
- return eventIconRenderers[ 'bpmn:SignalEventDefinition' ](parentGfx, element, attrs, isThrowing);
3481
+ return eventIconRenderers[ 'bpmn:SignalEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3473
3482
  }
3474
3483
 
3475
3484
  if (isTypedEvent(semantic, 'bpmn:EscalationEventDefinition')) {
3476
- return eventIconRenderers[ 'bpmn:EscalationEventDefinition' ](parentGfx, element, attrs, isThrowing);
3485
+ return eventIconRenderers[ 'bpmn:EscalationEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3477
3486
  }
3478
3487
 
3479
3488
  if (isTypedEvent(semantic, 'bpmn:LinkEventDefinition')) {
3480
- return eventIconRenderers[ 'bpmn:LinkEventDefinition' ](parentGfx, element, attrs, isThrowing);
3489
+ return eventIconRenderers[ 'bpmn:LinkEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3481
3490
  }
3482
3491
 
3483
3492
  if (isTypedEvent(semantic, 'bpmn:ErrorEventDefinition')) {
3484
- return eventIconRenderers[ 'bpmn:ErrorEventDefinition' ](parentGfx, element, attrs, isThrowing);
3493
+ return eventIconRenderers[ 'bpmn:ErrorEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3485
3494
  }
3486
3495
 
3487
3496
  if (isTypedEvent(semantic, 'bpmn:CancelEventDefinition')) {
3488
- return eventIconRenderers[ 'bpmn:CancelEventDefinition' ](parentGfx, element, attrs, isThrowing);
3497
+ return eventIconRenderers[ 'bpmn:CancelEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3489
3498
  }
3490
3499
 
3491
3500
  if (isTypedEvent(semantic, 'bpmn:CompensateEventDefinition')) {
3492
- return eventIconRenderers[ 'bpmn:CompensateEventDefinition' ](parentGfx, element, attrs, isThrowing);
3501
+ return eventIconRenderers[ 'bpmn:CompensateEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3493
3502
  }
3494
3503
 
3495
3504
  if (isTypedEvent(semantic, 'bpmn:TerminateEventDefinition')) {
3496
- return eventIconRenderers[ 'bpmn:TerminateEventDefinition' ](parentGfx, element, attrs, isThrowing);
3505
+ return eventIconRenderers[ 'bpmn:TerminateEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3497
3506
  }
3498
3507
 
3499
3508
  return null;
@@ -3915,14 +3924,23 @@
3915
3924
  function renderSubProcess(parentGfx, element, attrs = {}) {
3916
3925
  var activity = renderActivity(parentGfx, element, attrs);
3917
3926
 
3927
+ var expanded = isExpanded(element);
3928
+
3918
3929
  if (isEventSubProcess(element)) {
3919
3930
  attr$1(activity, {
3920
3931
  strokeDasharray: '0, 5.5',
3921
3932
  strokeWidth: 2.5
3922
3933
  });
3923
- }
3924
3934
 
3925
- var expanded = isExpanded(element);
3935
+ if (!expanded) {
3936
+ var flowElements = getBusinessObject(element).flowElements || [];
3937
+ var startEvents = flowElements.filter(e => is$1(e, 'bpmn:StartEvent'));
3938
+
3939
+ if (startEvents.length === 1) {
3940
+ renderEventSubProcessIcon(startEvents[0], parentGfx, attrs, element);
3941
+ }
3942
+ }
3943
+ }
3926
3944
 
3927
3945
  renderEmbeddedLabel(parentGfx, element, expanded ? 'center-top' : 'center-middle', attrs);
3928
3946
 
@@ -3935,6 +3953,39 @@
3935
3953
  return activity;
3936
3954
  }
3937
3955
 
3956
+ function renderEventSubProcessIcon(startEvent, parentGfx, attrs, proxyElement) {
3957
+ var iconSize = 22;
3958
+
3959
+ // match the colors of the enclosing subprocess
3960
+ var proxyAttrs = {
3961
+ fill: getFillColor(proxyElement, defaultFillColor, attrs.fill),
3962
+ stroke: getStrokeColor(proxyElement, defaultStrokeColor, attrs.stroke),
3963
+ width: iconSize,
3964
+ height: iconSize
3965
+ };
3966
+
3967
+ var interrupting = getBusinessObject(startEvent).isInterrupting;
3968
+ var strokeDasharray = interrupting ? 0 : 3;
3969
+
3970
+ // better visibility for non-interrupting events
3971
+ var strokeWidth = interrupting ? 1 : 1.2;
3972
+
3973
+ // make the icon look larger by drawing a smaller circle
3974
+ var circleSize = 20;
3975
+ var shift = (iconSize - circleSize) / 2;
3976
+ var transform = 'translate(' + shift + ',' + shift + ')';
3977
+
3978
+ drawCircle(parentGfx, circleSize, circleSize, {
3979
+ fill: proxyAttrs.fill,
3980
+ stroke: proxyAttrs.stroke,
3981
+ strokeWidth,
3982
+ strokeDasharray,
3983
+ transform
3984
+ });
3985
+
3986
+ renderEventIcon(startEvent, parentGfx, proxyAttrs, proxyElement);
3987
+ }
3988
+
3938
3989
  function renderTask(parentGfx, element, attrs = {}) {
3939
3990
  var activity = renderActivity(parentGfx, element, attrs);
3940
3991