camunda-bpmn-js 5.6.2 → 5.7.1

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 +1578 -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 +82 -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
@@ -3181,8 +3181,8 @@
3181
3181
  var pathData = pathMap.getScaledPath('EVENT_MESSAGE', {
3182
3182
  xScaleFactor: 0.9,
3183
3183
  yScaleFactor: 0.9,
3184
- containerWidth: element.width,
3185
- containerHeight: element.height,
3184
+ containerWidth: attrs.width || element.width,
3185
+ containerHeight: attrs.height || element.height,
3186
3186
  position: {
3187
3187
  mx: 0.235,
3188
3188
  my: 0.315
@@ -3206,17 +3206,23 @@
3206
3206
  return messagePath;
3207
3207
  },
3208
3208
  'bpmn:TimerEventDefinition': function(parentGfx, element, attrs = {}) {
3209
- var circle = drawCircle(parentGfx, element.width, element.height, 0.2 * element.height, {
3209
+ var baseWidth = attrs.width || element.width;
3210
+ var baseHeight = attrs.height || element.height;
3211
+
3212
+ // use a lighter stroke for event suprocess icons
3213
+ var strokeWidth = attrs.width ? 1 : 2;
3214
+
3215
+ var circle = drawCircle(parentGfx, baseWidth, baseHeight, 0.2 * baseHeight, {
3210
3216
  fill: getFillColor(element, defaultFillColor, attrs.fill),
3211
3217
  stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
3212
- strokeWidth: 2
3218
+ strokeWidth: strokeWidth
3213
3219
  });
3214
3220
 
3215
3221
  var pathData = pathMap.getScaledPath('EVENT_TIMER_WH', {
3216
3222
  xScaleFactor: 0.75,
3217
3223
  yScaleFactor: 0.75,
3218
- containerWidth: element.width,
3219
- containerHeight: element.height,
3224
+ containerWidth: baseWidth,
3225
+ containerHeight: baseHeight,
3220
3226
  position: {
3221
3227
  mx: 0.5,
3222
3228
  my: 0.5
@@ -3225,23 +3231,23 @@
3225
3231
 
3226
3232
  drawPath(parentGfx, pathData, {
3227
3233
  stroke: getStrokeColor(element, defaultStrokeColor, attrs.stroke),
3228
- strokeWidth: 2
3234
+ strokeWidth: strokeWidth
3229
3235
  });
3230
3236
 
3231
3237
  for (var i = 0; i < 12; i++) {
3232
3238
  var linePathData = pathMap.getScaledPath('EVENT_TIMER_LINE', {
3233
3239
  xScaleFactor: 0.75,
3234
3240
  yScaleFactor: 0.75,
3235
- containerWidth: element.width,
3236
- containerHeight: element.height,
3241
+ containerWidth: baseWidth,
3242
+ containerHeight: baseHeight,
3237
3243
  position: {
3238
3244
  mx: 0.5,
3239
3245
  my: 0.5
3240
3246
  }
3241
3247
  });
3242
3248
 
3243
- var width = element.width / 2,
3244
- height = element.height / 2;
3249
+ var width = baseWidth / 2,
3250
+ height = baseHeight / 2;
3245
3251
 
3246
3252
  drawPath(parentGfx, linePathData, {
3247
3253
  strokeWidth: 1,
@@ -3256,8 +3262,8 @@
3256
3262
  var pathData = pathMap.getScaledPath('EVENT_ESCALATION', {
3257
3263
  xScaleFactor: 1,
3258
3264
  yScaleFactor: 1,
3259
- containerWidth: event.width,
3260
- containerHeight: event.height,
3265
+ containerWidth: attrs.width || event.width,
3266
+ containerHeight: attrs.height || event.height,
3261
3267
  position: {
3262
3268
  mx: 0.5,
3263
3269
  my: 0.2
@@ -3278,8 +3284,8 @@
3278
3284
  var pathData = pathMap.getScaledPath('EVENT_CONDITIONAL', {
3279
3285
  xScaleFactor: 1,
3280
3286
  yScaleFactor: 1,
3281
- containerWidth: event.width,
3282
- containerHeight: event.height,
3287
+ containerWidth: attrs.width || event.width,
3288
+ containerHeight: attrs.height || event.height,
3283
3289
  position: {
3284
3290
  mx: 0.5,
3285
3291
  my: 0.222
@@ -3318,8 +3324,8 @@
3318
3324
  var pathData = pathMap.getScaledPath('EVENT_ERROR', {
3319
3325
  xScaleFactor: 1.1,
3320
3326
  yScaleFactor: 1.1,
3321
- containerWidth: event.width,
3322
- containerHeight: event.height,
3327
+ containerWidth: attrs.width || event.width,
3328
+ containerHeight: attrs.height || event.height,
3323
3329
  position: {
3324
3330
  mx: 0.2,
3325
3331
  my: 0.722
@@ -3364,8 +3370,8 @@
3364
3370
  var pathData = pathMap.getScaledPath('EVENT_COMPENSATION', {
3365
3371
  xScaleFactor: 1,
3366
3372
  yScaleFactor: 1,
3367
- containerWidth: event.width,
3368
- containerHeight: event.height,
3373
+ containerWidth: attrs.width || event.width,
3374
+ containerHeight: attrs.height || event.height,
3369
3375
  position: {
3370
3376
  mx: 0.22,
3371
3377
  my: 0.5
@@ -3386,8 +3392,8 @@
3386
3392
  var pathData = pathMap.getScaledPath('EVENT_SIGNAL', {
3387
3393
  xScaleFactor: 0.9,
3388
3394
  yScaleFactor: 0.9,
3389
- containerWidth: event.width,
3390
- containerHeight: event.height,
3395
+ containerWidth: attrs.width || event.width,
3396
+ containerHeight: attrs.height || event.height,
3391
3397
  position: {
3392
3398
  mx: 0.5,
3393
3399
  my: 0.2
@@ -3408,10 +3414,10 @@
3408
3414
  var pathData = pathMap.getScaledPath('EVENT_MULTIPLE', {
3409
3415
  xScaleFactor: 1.1,
3410
3416
  yScaleFactor: 1.1,
3411
- containerWidth: event.width,
3412
- containerHeight: event.height,
3417
+ containerWidth: attrs.width || event.width,
3418
+ containerHeight: attrs.height || event.height,
3413
3419
  position: {
3414
- mx: 0.222,
3420
+ mx: 0.211,
3415
3421
  my: 0.36
3416
3422
  }
3417
3423
  });
@@ -3422,6 +3428,7 @@
3422
3428
 
3423
3429
  return drawPath(parentGfx, pathData, {
3424
3430
  fill,
3431
+ stroke: getStrokeColor(event, defaultStrokeColor, attrs.stroke),
3425
3432
  strokeWidth: 1
3426
3433
  });
3427
3434
  },
@@ -3429,8 +3436,8 @@
3429
3436
  var pathData = pathMap.getScaledPath('EVENT_PARALLEL_MULTIPLE', {
3430
3437
  xScaleFactor: 1.2,
3431
3438
  yScaleFactor: 1.2,
3432
- containerWidth: event.width,
3433
- containerHeight: event.height,
3439
+ containerWidth: attrs.width || event.width,
3440
+ containerHeight: attrs.height || event.height,
3434
3441
  position: {
3435
3442
  mx: 0.458,
3436
3443
  my: 0.194
@@ -3454,57 +3461,59 @@
3454
3461
  }
3455
3462
  };
3456
3463
 
3457
- function renderEventIcon(element, parentGfx, attrs = {}) {
3464
+ function renderEventIcon(element, parentGfx, attrs = {}, proxyElement) {
3458
3465
  var semantic = getBusinessObject(element),
3459
3466
  isThrowing = isThrowEvent(semantic);
3460
3467
 
3468
+ var nodeElement = proxyElement || element;
3469
+
3461
3470
  if (semantic.get('eventDefinitions') && semantic.get('eventDefinitions').length > 1) {
3462
3471
  if (semantic.get('parallelMultiple')) {
3463
- return eventIconRenderers[ 'bpmn:ParallelMultipleEventDefinition' ](parentGfx, element, attrs, isThrowing);
3472
+ return eventIconRenderers[ 'bpmn:ParallelMultipleEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3464
3473
  }
3465
3474
  else {
3466
- return eventIconRenderers[ 'bpmn:MultipleEventDefinition' ](parentGfx, element, attrs, isThrowing);
3475
+ return eventIconRenderers[ 'bpmn:MultipleEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3467
3476
  }
3468
3477
  }
3469
3478
 
3470
3479
  if (isTypedEvent(semantic, 'bpmn:MessageEventDefinition')) {
3471
- return eventIconRenderers[ 'bpmn:MessageEventDefinition' ](parentGfx, element, attrs, isThrowing);
3480
+ return eventIconRenderers[ 'bpmn:MessageEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3472
3481
  }
3473
3482
 
3474
3483
  if (isTypedEvent(semantic, 'bpmn:TimerEventDefinition')) {
3475
- return eventIconRenderers[ 'bpmn:TimerEventDefinition' ](parentGfx, element, attrs, isThrowing);
3484
+ return eventIconRenderers[ 'bpmn:TimerEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3476
3485
  }
3477
3486
 
3478
3487
  if (isTypedEvent(semantic, 'bpmn:ConditionalEventDefinition')) {
3479
- return eventIconRenderers[ 'bpmn:ConditionalEventDefinition' ](parentGfx, element, attrs, isThrowing);
3488
+ return eventIconRenderers[ 'bpmn:ConditionalEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3480
3489
  }
3481
3490
 
3482
3491
  if (isTypedEvent(semantic, 'bpmn:SignalEventDefinition')) {
3483
- return eventIconRenderers[ 'bpmn:SignalEventDefinition' ](parentGfx, element, attrs, isThrowing);
3492
+ return eventIconRenderers[ 'bpmn:SignalEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3484
3493
  }
3485
3494
 
3486
3495
  if (isTypedEvent(semantic, 'bpmn:EscalationEventDefinition')) {
3487
- return eventIconRenderers[ 'bpmn:EscalationEventDefinition' ](parentGfx, element, attrs, isThrowing);
3496
+ return eventIconRenderers[ 'bpmn:EscalationEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3488
3497
  }
3489
3498
 
3490
3499
  if (isTypedEvent(semantic, 'bpmn:LinkEventDefinition')) {
3491
- return eventIconRenderers[ 'bpmn:LinkEventDefinition' ](parentGfx, element, attrs, isThrowing);
3500
+ return eventIconRenderers[ 'bpmn:LinkEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3492
3501
  }
3493
3502
 
3494
3503
  if (isTypedEvent(semantic, 'bpmn:ErrorEventDefinition')) {
3495
- return eventIconRenderers[ 'bpmn:ErrorEventDefinition' ](parentGfx, element, attrs, isThrowing);
3504
+ return eventIconRenderers[ 'bpmn:ErrorEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3496
3505
  }
3497
3506
 
3498
3507
  if (isTypedEvent(semantic, 'bpmn:CancelEventDefinition')) {
3499
- return eventIconRenderers[ 'bpmn:CancelEventDefinition' ](parentGfx, element, attrs, isThrowing);
3508
+ return eventIconRenderers[ 'bpmn:CancelEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3500
3509
  }
3501
3510
 
3502
3511
  if (isTypedEvent(semantic, 'bpmn:CompensateEventDefinition')) {
3503
- return eventIconRenderers[ 'bpmn:CompensateEventDefinition' ](parentGfx, element, attrs, isThrowing);
3512
+ return eventIconRenderers[ 'bpmn:CompensateEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3504
3513
  }
3505
3514
 
3506
3515
  if (isTypedEvent(semantic, 'bpmn:TerminateEventDefinition')) {
3507
- return eventIconRenderers[ 'bpmn:TerminateEventDefinition' ](parentGfx, element, attrs, isThrowing);
3516
+ return eventIconRenderers[ 'bpmn:TerminateEventDefinition' ](parentGfx, nodeElement, attrs, isThrowing);
3508
3517
  }
3509
3518
 
3510
3519
  return null;
@@ -3926,14 +3935,23 @@
3926
3935
  function renderSubProcess(parentGfx, element, attrs = {}) {
3927
3936
  var activity = renderActivity(parentGfx, element, attrs);
3928
3937
 
3938
+ var expanded = isExpanded(element);
3939
+
3929
3940
  if (isEventSubProcess(element)) {
3930
3941
  attr$1(activity, {
3931
3942
  strokeDasharray: '0, 5.5',
3932
3943
  strokeWidth: 2.5
3933
3944
  });
3934
- }
3935
3945
 
3936
- var expanded = isExpanded(element);
3946
+ if (!expanded) {
3947
+ var flowElements = getBusinessObject(element).flowElements || [];
3948
+ var startEvents = flowElements.filter(e => is$1(e, 'bpmn:StartEvent'));
3949
+
3950
+ if (startEvents.length === 1) {
3951
+ renderEventSubProcessIcon(startEvents[0], parentGfx, attrs, element);
3952
+ }
3953
+ }
3954
+ }
3937
3955
 
3938
3956
  renderEmbeddedLabel(parentGfx, element, expanded ? 'center-top' : 'center-middle', attrs);
3939
3957
 
@@ -3946,6 +3964,39 @@
3946
3964
  return activity;
3947
3965
  }
3948
3966
 
3967
+ function renderEventSubProcessIcon(startEvent, parentGfx, attrs, proxyElement) {
3968
+ var iconSize = 22;
3969
+
3970
+ // match the colors of the enclosing subprocess
3971
+ var proxyAttrs = {
3972
+ fill: getFillColor(proxyElement, defaultFillColor, attrs.fill),
3973
+ stroke: getStrokeColor(proxyElement, defaultStrokeColor, attrs.stroke),
3974
+ width: iconSize,
3975
+ height: iconSize
3976
+ };
3977
+
3978
+ var interrupting = getBusinessObject(startEvent).isInterrupting;
3979
+ var strokeDasharray = interrupting ? 0 : 3;
3980
+
3981
+ // better visibility for non-interrupting events
3982
+ var strokeWidth = interrupting ? 1 : 1.2;
3983
+
3984
+ // make the icon look larger by drawing a smaller circle
3985
+ var circleSize = 20;
3986
+ var shift = (iconSize - circleSize) / 2;
3987
+ var transform = 'translate(' + shift + ',' + shift + ')';
3988
+
3989
+ drawCircle(parentGfx, circleSize, circleSize, {
3990
+ fill: proxyAttrs.fill,
3991
+ stroke: proxyAttrs.stroke,
3992
+ strokeWidth,
3993
+ strokeDasharray,
3994
+ transform
3995
+ });
3996
+
3997
+ renderEventIcon(startEvent, parentGfx, proxyAttrs, proxyElement);
3998
+ }
3999
+
3949
4000
  function renderTask(parentGfx, element, attrs = {}) {
3950
4001
  var activity = renderActivity(parentGfx, element, attrs);
3951
4002