bpmn-js 18.8.0 → 18.9.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 (345) hide show
  1. package/LICENSE +23 -23
  2. package/README.md +95 -95
  3. package/dist/assets/bpmn-js.css +145 -145
  4. package/dist/bpmn-modeler.development.js +39465 -39235
  5. package/dist/bpmn-modeler.production.min.js +36 -36
  6. package/dist/bpmn-navigated-viewer.development.js +21216 -21199
  7. package/dist/bpmn-navigated-viewer.production.min.js +5 -5
  8. package/dist/bpmn-viewer.development.js +21170 -21153
  9. package/dist/bpmn-viewer.production.min.js +5 -5
  10. package/lib/BaseModeler.d.ts +15 -15
  11. package/lib/BaseModeler.js +79 -79
  12. package/lib/BaseViewer.d.ts +352 -352
  13. package/lib/BaseViewer.js +858 -858
  14. package/lib/Modeler.d.ts +86 -86
  15. package/lib/Modeler.js +208 -206
  16. package/lib/NavigatedViewer.d.ts +11 -11
  17. package/lib/NavigatedViewer.js +37 -37
  18. package/lib/Viewer.d.ts +47 -47
  19. package/lib/Viewer.js +76 -76
  20. package/lib/core/index.d.ts +10 -10
  21. package/lib/core/index.js +8 -8
  22. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  23. package/lib/draw/BpmnRenderUtil.js +256 -256
  24. package/lib/draw/BpmnRenderer.d.ts +116 -116
  25. package/lib/draw/BpmnRenderer.js +2419 -2412
  26. package/lib/draw/PathMap.d.ts +330 -330
  27. package/lib/draw/PathMap.js +478 -478
  28. package/lib/draw/TextRenderer.d.ts +74 -74
  29. package/lib/draw/TextRenderer.js +136 -136
  30. package/lib/draw/index.d.ts +10 -10
  31. package/lib/draw/index.js +11 -11
  32. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  33. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  34. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  35. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  36. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  37. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  38. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  39. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  40. package/lib/features/align-elements/index.d.ts +17 -17
  41. package/lib/features/align-elements/index.js +23 -23
  42. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  43. package/lib/features/append-preview/AppendPreview.js +108 -108
  44. package/lib/features/append-preview/index.d.ts +18 -18
  45. package/lib/features/append-preview/index.js +15 -15
  46. package/lib/features/auto-place/BpmnAutoPlace.d.ts +15 -15
  47. package/lib/features/auto-place/BpmnAutoPlace.js +22 -22
  48. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +52 -52
  49. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +226 -226
  50. package/lib/features/auto-place/index.d.ts +10 -10
  51. package/lib/features/auto-place/index.js +8 -8
  52. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  53. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  54. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  55. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  56. package/lib/features/auto-resize/index.d.ts +8 -8
  57. package/lib/features/auto-resize/index.js +12 -12
  58. package/lib/features/context-pad/ContextPadProvider.d.ts +62 -62
  59. package/lib/features/context-pad/ContextPadProvider.js +592 -592
  60. package/lib/features/context-pad/index.d.ts +7 -7
  61. package/lib/features/context-pad/index.js +22 -22
  62. package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
  63. package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
  64. package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
  65. package/lib/features/copy-paste/ModdleCopy.js +287 -287
  66. package/lib/features/copy-paste/index.d.ts +11 -11
  67. package/lib/features/copy-paste/index.js +13 -13
  68. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  69. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  70. package/lib/features/di-ordering/index.d.ts +6 -6
  71. package/lib/features/di-ordering/index.js +7 -7
  72. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  73. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  74. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  75. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  76. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  77. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  78. package/lib/features/distribute-elements/index.d.ts +13 -13
  79. package/lib/features/distribute-elements/index.js +19 -19
  80. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  81. package/lib/features/drilldown/DrilldownBreadcrumbs.js +138 -138
  82. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  83. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  84. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +20 -20
  85. package/lib/features/drilldown/DrilldownOverlayBehavior.js +218 -218
  86. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  87. package/lib/features/drilldown/SubprocessCompatibility.js +266 -266
  88. package/lib/features/drilldown/index.d.ts +19 -19
  89. package/lib/features/drilldown/index.js +16 -16
  90. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  91. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  92. package/lib/features/editor-actions/index.d.ts +8 -8
  93. package/lib/features/editor-actions/index.js +10 -10
  94. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  95. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +14 -14
  96. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  97. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  98. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  99. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  100. package/lib/features/grid-snapping/index.d.ts +13 -13
  101. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  102. package/lib/features/interaction-events/BpmnInteractionEvents.js +146 -146
  103. package/lib/features/interaction-events/index.d.ts +6 -6
  104. package/lib/features/interaction-events/index.js +5 -5
  105. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  106. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  107. package/lib/features/keyboard/index.d.ts +10 -10
  108. package/lib/features/keyboard/index.js +11 -11
  109. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  110. package/lib/features/label-editing/LabelEditingPreview.js +145 -145
  111. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  112. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  113. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  114. package/lib/features/label-editing/LabelUtil.js +4 -4
  115. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  116. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  117. package/lib/features/label-editing/index.d.ts +9 -9
  118. package/lib/features/label-editing/index.js +21 -21
  119. package/lib/features/label-link/LabelLink.d.ts +27 -0
  120. package/lib/features/label-link/LabelLink.js +202 -0
  121. package/lib/features/label-link/index.d.ts +14 -0
  122. package/lib/features/label-link/index.js +15 -0
  123. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  124. package/lib/features/modeling/BpmnFactory.js +180 -180
  125. package/lib/features/modeling/BpmnLayouter.d.ts +30 -30
  126. package/lib/features/modeling/BpmnLayouter.js +488 -488
  127. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  128. package/lib/features/modeling/BpmnUpdater.js +818 -818
  129. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  130. package/lib/features/modeling/ElementFactory.js +412 -412
  131. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  132. package/lib/features/modeling/Modeling.d.ts +150 -150
  133. package/lib/features/modeling/Modeling.js +309 -309
  134. package/lib/features/modeling/Modeling.test.ts +147 -147
  135. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +19 -19
  136. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +288 -288
  137. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  138. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  139. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  140. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  141. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  142. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  143. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  144. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  145. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  146. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  147. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  148. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  149. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +46 -46
  150. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  151. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  152. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  153. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  154. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  155. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  156. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  157. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  158. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  159. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  160. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  161. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  162. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  163. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  164. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  165. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  166. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  167. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  168. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  169. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  170. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  171. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  172. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  173. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  174. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  175. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  176. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  177. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  178. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  179. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  180. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  181. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +59 -59
  182. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  183. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  184. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  185. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  186. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +64 -64
  187. package/lib/features/modeling/behavior/ResizeBehavior.js +265 -265
  188. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  189. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  190. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  191. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.d.ts +16 -16
  192. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js +66 -66
  193. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  194. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  195. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  196. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  197. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  198. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +56 -56
  199. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  200. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  201. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  202. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  203. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  204. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  205. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  206. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  207. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  208. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  209. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  210. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  211. package/lib/features/modeling/behavior/index.d.ts +85 -85
  212. package/lib/features/modeling/behavior/index.js +131 -131
  213. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  214. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  215. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  216. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  217. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  218. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  219. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  220. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  221. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  222. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  223. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  224. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  225. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  226. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  227. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  228. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  229. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  230. package/lib/features/modeling/cmd/AddLaneHandler.js +187 -187
  231. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  232. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  233. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  234. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  235. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  236. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  237. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  238. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  239. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  240. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  241. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  242. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  243. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  244. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  245. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  246. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  247. package/lib/features/modeling/index.d.ts +39 -39
  248. package/lib/features/modeling/index.js +45 -45
  249. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  250. package/lib/features/modeling/util/LaneUtil.js +188 -188
  251. package/lib/features/modeling/util/ModelingUtil.d.ts +23 -23
  252. package/lib/features/modeling/util/ModelingUtil.js +88 -88
  253. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  254. package/lib/features/modeling-feedback/ModelingFeedback.js +51 -51
  255. package/lib/features/modeling-feedback/index.d.ts +9 -9
  256. package/lib/features/modeling-feedback/index.js +12 -12
  257. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  258. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  259. package/lib/features/ordering/index.d.ts +6 -6
  260. package/lib/features/ordering/index.js +5 -5
  261. package/lib/features/outline/OutlineProvider.d.ts +39 -39
  262. package/lib/features/outline/OutlineProvider.js +203 -189
  263. package/lib/features/outline/OutlineUtil.d.ts +23 -23
  264. package/lib/features/outline/OutlineUtil.js +35 -35
  265. package/lib/features/outline/index.d.ts +10 -10
  266. package/lib/features/outline/index.js +10 -10
  267. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  268. package/lib/features/palette/PaletteProvider.js +214 -214
  269. package/lib/features/palette/index.d.ts +22 -22
  270. package/lib/features/palette/index.js +23 -23
  271. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  272. package/lib/features/popup-menu/ReplaceMenuProvider.js +656 -656
  273. package/lib/features/popup-menu/index.d.ts +13 -13
  274. package/lib/features/popup-menu/index.js +16 -16
  275. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  276. package/lib/features/popup-menu/util/Icons.js +14 -14
  277. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  278. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  279. package/lib/features/replace/BpmnReplace.d.ts +45 -45
  280. package/lib/features/replace/BpmnReplace.js +391 -391
  281. package/lib/features/replace/ReplaceOptions.d.ts +85 -85
  282. package/lib/features/replace/ReplaceOptions.js +1198 -1198
  283. package/lib/features/replace/index.d.ts +16 -16
  284. package/lib/features/replace/index.js +14 -14
  285. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  286. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  287. package/lib/features/replace-preview/index.d.ts +9 -9
  288. package/lib/features/replace-preview/index.js +11 -11
  289. package/lib/features/rules/BpmnRules.d.ts +181 -181
  290. package/lib/features/rules/BpmnRules.js +1191 -1191
  291. package/lib/features/rules/index.d.ts +9 -9
  292. package/lib/features/rules/index.js +11 -11
  293. package/lib/features/search/BpmnSearchProvider.d.ts +34 -34
  294. package/lib/features/search/BpmnSearchProvider.js +91 -91
  295. package/lib/features/search/index.d.ts +11 -11
  296. package/lib/features/search/index.js +14 -14
  297. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  298. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  299. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  300. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  301. package/lib/features/snapping/index.d.ts +13 -13
  302. package/lib/features/snapping/index.js +12 -12
  303. package/lib/features/space-tool/BpmnSpaceTool.d.ts +24 -24
  304. package/lib/features/space-tool/BpmnSpaceTool.js +96 -96
  305. package/lib/features/space-tool/index.d.ts +9 -9
  306. package/lib/features/space-tool/index.js +7 -7
  307. package/lib/import/BpmnImporter.d.ts +51 -51
  308. package/lib/import/BpmnImporter.js +363 -363
  309. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  310. package/lib/import/BpmnTreeWalker.js +452 -452
  311. package/lib/import/Importer.d.ts +25 -25
  312. package/lib/import/Importer.js +222 -222
  313. package/lib/import/Util.d.ts +1 -1
  314. package/lib/import/Util.js +6 -6
  315. package/lib/import/index.d.ts +8 -8
  316. package/lib/import/index.js +9 -9
  317. package/lib/index.d.ts +1 -1
  318. package/lib/index.js +2 -2
  319. package/lib/model/Types.d.ts +25 -25
  320. package/lib/model/Types.ts +40 -40
  321. package/lib/util/CompatibilityUtil.d.ts +8 -8
  322. package/lib/util/CompatibilityUtil.js +29 -29
  323. package/lib/util/DiUtil.d.ts +60 -60
  324. package/lib/util/DiUtil.js +122 -122
  325. package/lib/util/DrilldownUtil.d.ts +39 -39
  326. package/lib/util/DrilldownUtil.js +69 -69
  327. package/lib/util/LabelUtil.d.ts +92 -83
  328. package/lib/util/LabelUtil.js +277 -266
  329. package/lib/util/ModelUtil.d.ts +40 -40
  330. package/lib/util/ModelUtil.js +58 -58
  331. package/lib/util/PoweredByUtil.d.ts +8 -8
  332. package/lib/util/PoweredByUtil.js +99 -99
  333. package/lib/util/Types.js +4 -4
  334. package/lib/util/Types.ts +3 -3
  335. package/package.json +131 -131
  336. package/test/helper/TranslationCollector.js +15 -15
  337. package/test/helper/index.js +313 -313
  338. package/test/matchers/BoundsMatchers.js +252 -252
  339. package/test/matchers/ConnectionMatchers.js +165 -165
  340. package/test/matchers/JSONMatcher.js +19 -19
  341. package/test/util/KeyEvents.js +22 -22
  342. package/test/util/MockEvents.js +61 -61
  343. package/test/util/custom-rules/CustomRules.js +16 -16
  344. package/test/util/custom-rules/index.js +6 -6
  345. package/test/util/svgHelpers.js +52 -0
@@ -1,222 +1,222 @@
1
- import inherits from 'inherits-browser';
2
-
3
- import { getBusinessObject, is } from '../../../util/ModelUtil';
4
-
5
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
6
- import { hasEventDefinition, isEventSubProcess } from '../../../util/DiUtil';
7
-
8
- /**
9
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
10
- * @typedef {import('../lib/features/modeling/Modeling').default} Modeling
11
- */
12
-
13
- /**
14
- * Behavior ensuring that only a single compensation activity is connected to a
15
- * compensation boundary event when connecting, reconnecting or replacing shapes.
16
- *
17
- * @param {import('diagram-js/lib/core/EventBus').default} eventBus
18
- * @param {import('../Modeling').default} modeling
19
- * @param {import('../../rules/BpmnRules').default} bpmnRules
20
- */
21
- export default function CompensateBoundaryEventBehavior(eventBus, modeling, bpmnRules) {
22
-
23
- CommandInterceptor.call(this, eventBus);
24
-
25
- this.preExecute('shape.replace', handleReplacement, true);
26
- this.postExecuted('shape.replace', handleReplacementPostExecuted, true);
27
- this.preExecute('connection.create', handleNewConnection, true);
28
- this.postExecuted('connection.delete', handleConnectionRemoval, true);
29
- this.postExecuted('connection.reconnect', handleReconnection, true);
30
- this.postExecuted('element.updateProperties', handlePropertiesUpdate, true);
31
-
32
- /**
33
- * Given a connection from boundary event is removed, remove the `isForCompensation` property.
34
- */
35
- function handleConnectionRemoval(context) {
36
- const source = context.source,
37
- target = context.target;
38
-
39
- if (isCompensationBoundaryEvent(source) && isForCompensation(target)) {
40
- removeIsForCompensationProperty(target);
41
- }
42
- }
43
-
44
- /**
45
- * Add `isForCompensation` property and make sure only a single compensation activity is connected.
46
- */
47
- function handleNewConnection(context) {
48
- const connection = context.connection,
49
- source = context.source,
50
- target = context.target;
51
-
52
- if (isCompensationBoundaryEvent(source) && isForCompensationAllowed(target)) {
53
- addIsForCompensationProperty(target);
54
- removeExistingAssociations(source, [ connection ]);
55
- }
56
- }
57
-
58
- function handleReconnection(context) {
59
- const newTarget = context.newTarget,
60
- oldSource = context.oldSource,
61
- oldTarget = context.oldTarget;
62
-
63
- // target changes
64
- if (oldTarget !== newTarget) {
65
- const source = oldSource;
66
-
67
- // oldTarget perspective
68
- if (isForCompensation(oldTarget)) {
69
- removeIsForCompensationProperty(oldTarget);
70
- }
71
-
72
- // newTarget perspective
73
- if (isCompensationBoundaryEvent(source) && isForCompensationAllowed(newTarget)) {
74
- addIsForCompensationProperty(newTarget);
75
- }
76
- }
77
- }
78
-
79
- function handlePropertiesUpdate(context) {
80
- const { element } = context;
81
-
82
- if (isForCompensation(element)) {
83
- removeDisallowedConnections(element);
84
- removeAttachments(element);
85
- } else if (isForCompensationAllowed(element)) {
86
- removeIncomingCompensationAssociations(element);
87
- }
88
- }
89
-
90
- /**
91
- * When replacing a boundary event, make sure the compensation activity is connected,
92
- * and remove the potential candidates for connection replacement to have a single compensation activity.
93
- */
94
- function handleReplacement(context) {
95
- const {
96
- newData,
97
- oldShape
98
- } = context;
99
-
100
- // from compensate boundary event
101
- if (isCompensationBoundaryEvent(context.oldShape) &&
102
- newData.eventDefinitionType !== 'bpmn:CompensateEventDefinition' ||
103
- newData.type !== 'bpmn:BoundaryEvent'
104
- ) {
105
- const targetConnection = oldShape.outgoing.find(
106
- ({ target }) => isForCompensation(target)
107
- );
108
-
109
- if (targetConnection && targetConnection.target) {
110
- context._connectionTarget = targetConnection.target;
111
- }
112
- }
113
-
114
- // to compensate boundary event
115
- else if (
116
- !isCompensationBoundaryEvent(context.oldShape) &&
117
- newData.eventDefinitionType === 'bpmn:CompensateEventDefinition' &&
118
- newData.type === 'bpmn:BoundaryEvent'
119
- ) {
120
- const targetConnection = oldShape.outgoing.find(
121
- ({ target }) => isForCompensationAllowed(target)
122
- );
123
-
124
- if (targetConnection && targetConnection.target) {
125
- context._connectionTarget = targetConnection.target;
126
- }
127
-
128
- removeOutgoingSequenceFlows(oldShape);
129
- }
130
- }
131
-
132
- function handleReplacementPostExecuted(context) {
133
- const { _connectionTarget: target, newShape } = context;
134
-
135
- if (target) {
136
- modeling.connect(newShape, target);
137
- }
138
- }
139
-
140
- function addIsForCompensationProperty(target) {
141
- modeling.updateProperties(target, { isForCompensation: true });
142
- }
143
-
144
- function removeIsForCompensationProperty(target) {
145
- modeling.updateProperties(target, { isForCompensation: undefined });
146
- }
147
-
148
- function removeDisallowedConnections(element) {
149
-
150
- for (const connection of element.incoming) {
151
- if (!bpmnRules.canConnect(connection.source, element)) {
152
- modeling.removeConnection(connection);
153
- }
154
- }
155
-
156
- for (const connection of element.outgoing) {
157
- if (!bpmnRules.canConnect(element, connection.target)) {
158
- modeling.removeConnection(connection);
159
- }
160
- }
161
- }
162
-
163
- function removeExistingAssociations(boundaryEvent, ignoredAssociations) {
164
- const associations = boundaryEvent.outgoing.filter(connection => is(connection, 'bpmn:Association'));
165
- const associationsToRemove = associations.filter(association => {
166
- return isForCompensation(association.target) && !ignoredAssociations.includes(association);
167
- });
168
-
169
- // remove existing associations
170
- associationsToRemove.forEach(association => modeling.removeConnection(association));
171
- }
172
-
173
- function removeAttachments(element) {
174
- const attachments = element.attachers.slice();
175
-
176
- if (!attachments.length) {
177
- return;
178
- }
179
-
180
- modeling.removeElements(attachments);
181
- }
182
-
183
- function removeIncomingCompensationAssociations(element) {
184
- const compensationAssociations = element.incoming.filter(
185
- connection => isCompensationBoundaryEvent(connection.source)
186
- );
187
-
188
- modeling.removeElements(compensationAssociations);
189
- }
190
-
191
- function removeOutgoingSequenceFlows(element) {
192
- const sequenceFlows = element.outgoing.filter(
193
- connection => is(connection, 'bpmn:SequenceFlow')
194
- );
195
-
196
- modeling.removeElements(sequenceFlows);
197
- }
198
- }
199
-
200
- inherits(CompensateBoundaryEventBehavior, CommandInterceptor);
201
-
202
- CompensateBoundaryEventBehavior.$inject = [
203
- 'eventBus',
204
- 'modeling',
205
- 'bpmnRules'
206
- ];
207
-
208
- // helpers //////////
209
-
210
- function isForCompensation(element) {
211
- const bo = getBusinessObject(element);
212
- return bo && bo.get('isForCompensation');
213
- }
214
-
215
- function isCompensationBoundaryEvent(element) {
216
- return element && is(element, 'bpmn:BoundaryEvent') &&
217
- hasEventDefinition(element, 'bpmn:CompensateEventDefinition');
218
- }
219
-
220
- function isForCompensationAllowed(element) {
221
- return element && is(element, 'bpmn:Activity') && !isEventSubProcess(element);
222
- }
1
+ import inherits from 'inherits-browser';
2
+
3
+ import { getBusinessObject, is } from '../../../util/ModelUtil';
4
+
5
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
6
+ import { hasEventDefinition, isEventSubProcess } from '../../../util/DiUtil';
7
+
8
+ /**
9
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
10
+ * @typedef {import('../lib/features/modeling/Modeling').default} Modeling
11
+ */
12
+
13
+ /**
14
+ * Behavior ensuring that only a single compensation activity is connected to a
15
+ * compensation boundary event when connecting, reconnecting or replacing shapes.
16
+ *
17
+ * @param {import('diagram-js/lib/core/EventBus').default} eventBus
18
+ * @param {import('../Modeling').default} modeling
19
+ * @param {import('../../rules/BpmnRules').default} bpmnRules
20
+ */
21
+ export default function CompensateBoundaryEventBehavior(eventBus, modeling, bpmnRules) {
22
+
23
+ CommandInterceptor.call(this, eventBus);
24
+
25
+ this.preExecute('shape.replace', handleReplacement, true);
26
+ this.postExecuted('shape.replace', handleReplacementPostExecuted, true);
27
+ this.preExecute('connection.create', handleNewConnection, true);
28
+ this.postExecuted('connection.delete', handleConnectionRemoval, true);
29
+ this.postExecuted('connection.reconnect', handleReconnection, true);
30
+ this.postExecuted('element.updateProperties', handlePropertiesUpdate, true);
31
+
32
+ /**
33
+ * Given a connection from boundary event is removed, remove the `isForCompensation` property.
34
+ */
35
+ function handleConnectionRemoval(context) {
36
+ const source = context.source,
37
+ target = context.target;
38
+
39
+ if (isCompensationBoundaryEvent(source) && isForCompensation(target)) {
40
+ removeIsForCompensationProperty(target);
41
+ }
42
+ }
43
+
44
+ /**
45
+ * Add `isForCompensation` property and make sure only a single compensation activity is connected.
46
+ */
47
+ function handleNewConnection(context) {
48
+ const connection = context.connection,
49
+ source = context.source,
50
+ target = context.target;
51
+
52
+ if (isCompensationBoundaryEvent(source) && isForCompensationAllowed(target)) {
53
+ addIsForCompensationProperty(target);
54
+ removeExistingAssociations(source, [ connection ]);
55
+ }
56
+ }
57
+
58
+ function handleReconnection(context) {
59
+ const newTarget = context.newTarget,
60
+ oldSource = context.oldSource,
61
+ oldTarget = context.oldTarget;
62
+
63
+ // target changes
64
+ if (oldTarget !== newTarget) {
65
+ const source = oldSource;
66
+
67
+ // oldTarget perspective
68
+ if (isForCompensation(oldTarget)) {
69
+ removeIsForCompensationProperty(oldTarget);
70
+ }
71
+
72
+ // newTarget perspective
73
+ if (isCompensationBoundaryEvent(source) && isForCompensationAllowed(newTarget)) {
74
+ addIsForCompensationProperty(newTarget);
75
+ }
76
+ }
77
+ }
78
+
79
+ function handlePropertiesUpdate(context) {
80
+ const { element } = context;
81
+
82
+ if (isForCompensation(element)) {
83
+ removeDisallowedConnections(element);
84
+ removeAttachments(element);
85
+ } else if (isForCompensationAllowed(element)) {
86
+ removeIncomingCompensationAssociations(element);
87
+ }
88
+ }
89
+
90
+ /**
91
+ * When replacing a boundary event, make sure the compensation activity is connected,
92
+ * and remove the potential candidates for connection replacement to have a single compensation activity.
93
+ */
94
+ function handleReplacement(context) {
95
+ const {
96
+ newData,
97
+ oldShape
98
+ } = context;
99
+
100
+ // from compensate boundary event
101
+ if (isCompensationBoundaryEvent(context.oldShape) &&
102
+ newData.eventDefinitionType !== 'bpmn:CompensateEventDefinition' ||
103
+ newData.type !== 'bpmn:BoundaryEvent'
104
+ ) {
105
+ const targetConnection = oldShape.outgoing.find(
106
+ ({ target }) => isForCompensation(target)
107
+ );
108
+
109
+ if (targetConnection && targetConnection.target) {
110
+ context._connectionTarget = targetConnection.target;
111
+ }
112
+ }
113
+
114
+ // to compensate boundary event
115
+ else if (
116
+ !isCompensationBoundaryEvent(context.oldShape) &&
117
+ newData.eventDefinitionType === 'bpmn:CompensateEventDefinition' &&
118
+ newData.type === 'bpmn:BoundaryEvent'
119
+ ) {
120
+ const targetConnection = oldShape.outgoing.find(
121
+ ({ target }) => isForCompensationAllowed(target)
122
+ );
123
+
124
+ if (targetConnection && targetConnection.target) {
125
+ context._connectionTarget = targetConnection.target;
126
+ }
127
+
128
+ removeOutgoingSequenceFlows(oldShape);
129
+ }
130
+ }
131
+
132
+ function handleReplacementPostExecuted(context) {
133
+ const { _connectionTarget: target, newShape } = context;
134
+
135
+ if (target) {
136
+ modeling.connect(newShape, target);
137
+ }
138
+ }
139
+
140
+ function addIsForCompensationProperty(target) {
141
+ modeling.updateProperties(target, { isForCompensation: true });
142
+ }
143
+
144
+ function removeIsForCompensationProperty(target) {
145
+ modeling.updateProperties(target, { isForCompensation: undefined });
146
+ }
147
+
148
+ function removeDisallowedConnections(element) {
149
+
150
+ for (const connection of element.incoming) {
151
+ if (!bpmnRules.canConnect(connection.source, element)) {
152
+ modeling.removeConnection(connection);
153
+ }
154
+ }
155
+
156
+ for (const connection of element.outgoing) {
157
+ if (!bpmnRules.canConnect(element, connection.target)) {
158
+ modeling.removeConnection(connection);
159
+ }
160
+ }
161
+ }
162
+
163
+ function removeExistingAssociations(boundaryEvent, ignoredAssociations) {
164
+ const associations = boundaryEvent.outgoing.filter(connection => is(connection, 'bpmn:Association'));
165
+ const associationsToRemove = associations.filter(association => {
166
+ return isForCompensation(association.target) && !ignoredAssociations.includes(association);
167
+ });
168
+
169
+ // remove existing associations
170
+ associationsToRemove.forEach(association => modeling.removeConnection(association));
171
+ }
172
+
173
+ function removeAttachments(element) {
174
+ const attachments = element.attachers.slice();
175
+
176
+ if (!attachments.length) {
177
+ return;
178
+ }
179
+
180
+ modeling.removeElements(attachments);
181
+ }
182
+
183
+ function removeIncomingCompensationAssociations(element) {
184
+ const compensationAssociations = element.incoming.filter(
185
+ connection => isCompensationBoundaryEvent(connection.source)
186
+ );
187
+
188
+ modeling.removeElements(compensationAssociations);
189
+ }
190
+
191
+ function removeOutgoingSequenceFlows(element) {
192
+ const sequenceFlows = element.outgoing.filter(
193
+ connection => is(connection, 'bpmn:SequenceFlow')
194
+ );
195
+
196
+ modeling.removeElements(sequenceFlows);
197
+ }
198
+ }
199
+
200
+ inherits(CompensateBoundaryEventBehavior, CommandInterceptor);
201
+
202
+ CompensateBoundaryEventBehavior.$inject = [
203
+ 'eventBus',
204
+ 'modeling',
205
+ 'bpmnRules'
206
+ ];
207
+
208
+ // helpers //////////
209
+
210
+ function isForCompensation(element) {
211
+ const bo = getBusinessObject(element);
212
+ return bo && bo.get('isForCompensation');
213
+ }
214
+
215
+ function isCompensationBoundaryEvent(element) {
216
+ return element && is(element, 'bpmn:BoundaryEvent') &&
217
+ hasEventDefinition(element, 'bpmn:CompensateEventDefinition');
218
+ }
219
+
220
+ function isForCompensationAllowed(element) {
221
+ return element && is(element, 'bpmn:Activity') && !isEventSubProcess(element);
222
+ }
@@ -1,9 +1,9 @@
1
- export default class CreateBehavior extends CommandInterceptor {
2
- /**
3
- * @param injector
4
- */
5
- constructor(injector: Injector);
6
- }
7
-
8
- type Injector = import("didi").Injector;
9
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
1
+ export default class CreateBehavior extends CommandInterceptor {
2
+ /**
3
+ * @param injector
4
+ */
5
+ constructor(injector: Injector);
6
+ }
7
+
8
+ type Injector = import("didi").Injector;
9
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
@@ -1,34 +1,34 @@
1
- import inherits from 'inherits-browser';
2
-
3
- import { is } from '../../../util/ModelUtil';
4
-
5
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
6
-
7
- import { getParent } from '../util/ModelingUtil';
8
-
9
- /**
10
- * @typedef {import('didi').Injector} Injector
11
- */
12
-
13
- /**
14
- * @param {Injector} injector
15
- */
16
- export default function CreateBehavior(injector) {
17
- injector.invoke(CommandInterceptor, this);
18
-
19
- this.preExecute('shape.create', 1500, function(event) {
20
- var context = event.context,
21
- parent = context.parent,
22
- shape = context.shape;
23
-
24
- if (is(parent, 'bpmn:Lane') && !is(shape, 'bpmn:Lane')) {
25
- context.parent = getParent(parent, 'bpmn:Participant');
26
- }
27
- });
28
-
29
- }
30
-
31
-
32
- CreateBehavior.$inject = [ 'injector' ];
33
-
1
+ import inherits from 'inherits-browser';
2
+
3
+ import { is } from '../../../util/ModelUtil';
4
+
5
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
6
+
7
+ import { getParent } from '../util/ModelingUtil';
8
+
9
+ /**
10
+ * @typedef {import('didi').Injector} Injector
11
+ */
12
+
13
+ /**
14
+ * @param {Injector} injector
15
+ */
16
+ export default function CreateBehavior(injector) {
17
+ injector.invoke(CommandInterceptor, this);
18
+
19
+ this.preExecute('shape.create', 1500, function(event) {
20
+ var context = event.context,
21
+ parent = context.parent,
22
+ shape = context.shape;
23
+
24
+ if (is(parent, 'bpmn:Lane') && !is(shape, 'bpmn:Lane')) {
25
+ context.parent = getParent(parent, 'bpmn:Participant');
26
+ }
27
+ });
28
+
29
+ }
30
+
31
+
32
+ CreateBehavior.$inject = [ 'injector' ];
33
+
34
34
  inherits(CreateBehavior, CommandInterceptor);
@@ -1,15 +1,15 @@
1
- /**
2
- * BPMN specific create data object behavior.
3
- *
4
- */
5
- export default class CreateDataObjectBehavior extends CommandInterceptor {
6
- /**
7
- * @param eventBus
8
- * @param bpmnFactory
9
- */
10
- constructor(eventBus: EventBus, bpmnFactory: BpmnFactory);
11
- }
12
-
13
- type EventBus = import("diagram-js/lib/core/EventBus").default;
14
- type BpmnFactory = import("../BpmnFactory").default;
15
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
1
+ /**
2
+ * BPMN specific create data object behavior.
3
+ *
4
+ */
5
+ export default class CreateDataObjectBehavior extends CommandInterceptor {
6
+ /**
7
+ * @param eventBus
8
+ * @param bpmnFactory
9
+ */
10
+ constructor(eventBus: EventBus, bpmnFactory: BpmnFactory);
11
+ }
12
+
13
+ type EventBus = import("diagram-js/lib/core/EventBus").default;
14
+ type BpmnFactory = import("../BpmnFactory").default;
15
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
@@ -1,47 +1,47 @@
1
- import inherits from 'inherits-browser';
2
-
3
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
4
-
5
- import { is } from '../../../util/ModelUtil';
6
-
7
- /**
8
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
9
- * @typedef {import('../BpmnFactory').default} BpmnFactory
10
- */
11
-
12
- /**
13
- * BPMN specific create data object behavior.
14
- *
15
- * @param {EventBus} eventBus
16
- * @param {BpmnFactory} bpmnFactory
17
- */
18
- export default function CreateDataObjectBehavior(eventBus, bpmnFactory) {
19
-
20
- CommandInterceptor.call(this, eventBus);
21
-
22
- this.preExecute('shape.create', function(event) {
23
-
24
- var context = event.context,
25
- shape = context.shape;
26
-
27
- if (is(shape, 'bpmn:DataObjectReference') && shape.type !== 'label') {
28
-
29
- // create a DataObject every time a DataObjectReference is created
30
- var dataObject = bpmnFactory.create('bpmn:DataObject');
31
-
32
- // Copy the isCollection property if needed.
33
- dataObject.isCollection = shape.businessObject.dataObjectRef?.isCollection || false;
34
-
35
- // set the reference to the DataObject
36
- shape.businessObject.dataObjectRef = dataObject;
37
- }
38
- });
39
-
40
- }
41
-
42
- CreateDataObjectBehavior.$inject = [
43
- 'eventBus',
44
- 'bpmnFactory'
45
- ];
46
-
1
+ import inherits from 'inherits-browser';
2
+
3
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
4
+
5
+ import { is } from '../../../util/ModelUtil';
6
+
7
+ /**
8
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
9
+ * @typedef {import('../BpmnFactory').default} BpmnFactory
10
+ */
11
+
12
+ /**
13
+ * BPMN specific create data object behavior.
14
+ *
15
+ * @param {EventBus} eventBus
16
+ * @param {BpmnFactory} bpmnFactory
17
+ */
18
+ export default function CreateDataObjectBehavior(eventBus, bpmnFactory) {
19
+
20
+ CommandInterceptor.call(this, eventBus);
21
+
22
+ this.preExecute('shape.create', function(event) {
23
+
24
+ var context = event.context,
25
+ shape = context.shape;
26
+
27
+ if (is(shape, 'bpmn:DataObjectReference') && shape.type !== 'label') {
28
+
29
+ // create a DataObject every time a DataObjectReference is created
30
+ var dataObject = bpmnFactory.create('bpmn:DataObject');
31
+
32
+ // Copy the isCollection property if needed.
33
+ dataObject.isCollection = shape.businessObject.dataObjectRef?.isCollection || false;
34
+
35
+ // set the reference to the DataObject
36
+ shape.businessObject.dataObjectRef = dataObject;
37
+ }
38
+ });
39
+
40
+ }
41
+
42
+ CreateDataObjectBehavior.$inject = [
43
+ 'eventBus',
44
+ 'bpmnFactory'
45
+ ];
46
+
47
47
  inherits(CreateDataObjectBehavior, CommandInterceptor);