bpmn-js 17.7.0 → 17.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 (337) hide show
  1. package/LICENSE +23 -23
  2. package/README.md +93 -93
  3. package/dist/assets/bpmn-js.css +145 -145
  4. package/dist/bpmn-modeler.development.js +36730 -36727
  5. package/dist/bpmn-modeler.production.min.js +4 -4
  6. package/dist/bpmn-navigated-viewer.development.js +21139 -21136
  7. package/dist/bpmn-navigated-viewer.production.min.js +3 -3
  8. package/dist/bpmn-viewer.development.js +21054 -21051
  9. package/dist/bpmn-viewer.production.min.js +3 -3
  10. package/index.js +2 -2
  11. package/lib/BaseModeler.d.ts +15 -15
  12. package/lib/BaseModeler.js +79 -79
  13. package/lib/BaseViewer.d.ts +352 -352
  14. package/lib/BaseViewer.js +858 -858
  15. package/lib/Modeler.d.ts +86 -86
  16. package/lib/Modeler.js +204 -204
  17. package/lib/NavigatedViewer.d.ts +11 -11
  18. package/lib/NavigatedViewer.js +37 -37
  19. package/lib/Viewer.d.ts +47 -47
  20. package/lib/Viewer.js +78 -78
  21. package/lib/core/index.d.ts +10 -10
  22. package/lib/core/index.js +8 -8
  23. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  24. package/lib/draw/BpmnRenderUtil.js +256 -256
  25. package/lib/draw/BpmnRenderer.d.ts +114 -114
  26. package/lib/draw/BpmnRenderer.js +2340 -2340
  27. package/lib/draw/PathMap.d.ts +330 -330
  28. package/lib/draw/PathMap.js +478 -478
  29. package/lib/draw/TextRenderer.d.ts +74 -74
  30. package/lib/draw/TextRenderer.js +136 -136
  31. package/lib/draw/index.d.ts +10 -10
  32. package/lib/draw/index.js +11 -11
  33. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  34. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  35. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  36. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  37. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  38. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  39. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  40. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  41. package/lib/features/align-elements/index.d.ts +11 -11
  42. package/lib/features/align-elements/index.js +23 -23
  43. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  44. package/lib/features/append-preview/AppendPreview.js +108 -108
  45. package/lib/features/append-preview/index.d.ts +16 -16
  46. package/lib/features/append-preview/index.js +15 -15
  47. package/lib/features/auto-place/BpmnAutoPlace.d.ts +13 -13
  48. package/lib/features/auto-place/BpmnAutoPlace.js +20 -20
  49. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +47 -47
  50. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +225 -225
  51. package/lib/features/auto-place/index.d.ts +7 -7
  52. package/lib/features/auto-place/index.js +8 -8
  53. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  54. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  55. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  56. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  57. package/lib/features/auto-resize/index.d.ts +8 -8
  58. package/lib/features/auto-resize/index.js +12 -12
  59. package/lib/features/context-pad/ContextPadProvider.d.ts +73 -73
  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 +275 -275
  66. package/lib/features/copy-paste/index.d.ts +9 -9
  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 +9 -9
  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 +131 -131
  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 +18 -18
  85. package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
  86. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  87. package/lib/features/drilldown/SubprocessCompatibility.js +266 -268
  88. package/lib/features/drilldown/index.d.ts +13 -13
  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 +6 -6
  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 +12 -12
  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 +11 -11
  101. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  102. package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
  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 +7 -7
  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 +144 -144
  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/modeling/BpmnFactory.d.ts +73 -73
  120. package/lib/features/modeling/BpmnFactory.js +180 -180
  121. package/lib/features/modeling/BpmnLayouter.d.ts +26 -26
  122. package/lib/features/modeling/BpmnLayouter.js +481 -481
  123. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  124. package/lib/features/modeling/BpmnUpdater.js +837 -837
  125. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  126. package/lib/features/modeling/ElementFactory.js +406 -406
  127. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  128. package/lib/features/modeling/Modeling.d.ts +150 -150
  129. package/lib/features/modeling/Modeling.js +307 -307
  130. package/lib/features/modeling/Modeling.test.ts +147 -147
  131. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
  132. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
  133. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  134. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  135. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  136. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  137. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  138. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  139. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  140. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  141. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  142. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  143. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  144. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  145. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  146. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  147. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  148. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  149. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  150. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  151. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  152. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  153. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  154. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  155. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  156. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  157. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  158. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  159. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  160. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  161. package/lib/features/modeling/behavior/GroupBehavior.js +332 -332
  162. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  163. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  164. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  165. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  166. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  167. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  168. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  169. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  170. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  171. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  172. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  173. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  174. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  175. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  176. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  177. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  178. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
  179. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  180. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  181. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  182. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  183. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
  184. package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
  185. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  186. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  187. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  188. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  189. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  190. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  191. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  192. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  193. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
  194. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  195. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  196. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  197. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  198. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  199. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  200. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  201. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  202. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  203. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  204. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  205. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  206. package/lib/features/modeling/behavior/index.d.ts +2 -2
  207. package/lib/features/modeling/behavior/index.js +128 -128
  208. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  209. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  210. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  211. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  212. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  213. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  214. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  215. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  216. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  217. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  218. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  219. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  220. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  221. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  222. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  223. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  224. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  225. package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
  226. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  227. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  228. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  229. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  230. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  231. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  232. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  233. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  234. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  235. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  236. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  237. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  238. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  239. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  240. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  241. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  242. package/lib/features/modeling/index.d.ts +27 -27
  243. package/lib/features/modeling/index.js +45 -45
  244. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  245. package/lib/features/modeling/util/LaneUtil.js +188 -188
  246. package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
  247. package/lib/features/modeling/util/ModelingUtil.js +54 -54
  248. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  249. package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
  250. package/lib/features/modeling-feedback/index.d.ts +7 -7
  251. package/lib/features/modeling-feedback/index.js +12 -12
  252. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  253. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  254. package/lib/features/ordering/index.d.ts +6 -6
  255. package/lib/features/ordering/index.js +5 -5
  256. package/lib/features/outline/OutlineProvider.d.ts +34 -34
  257. package/lib/features/outline/OutlineProvider.js +179 -179
  258. package/lib/features/outline/OutlineUtil.d.ts +18 -18
  259. package/lib/features/outline/OutlineUtil.js +31 -31
  260. package/lib/features/outline/index.d.ts +7 -7
  261. package/lib/features/outline/index.js +10 -10
  262. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  263. package/lib/features/palette/PaletteProvider.js +214 -214
  264. package/lib/features/palette/index.d.ts +9 -9
  265. package/lib/features/palette/index.js +23 -23
  266. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  267. package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
  268. package/lib/features/popup-menu/index.d.ts +11 -11
  269. package/lib/features/popup-menu/index.js +16 -16
  270. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  271. package/lib/features/popup-menu/util/Icons.js +14 -14
  272. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  273. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  274. package/lib/features/replace/BpmnReplace.d.ts +47 -47
  275. package/lib/features/replace/BpmnReplace.js +382 -382
  276. package/lib/features/replace/ReplaceOptions.d.ts +75 -75
  277. package/lib/features/replace/ReplaceOptions.js +919 -919
  278. package/lib/features/replace/index.d.ts +9 -9
  279. package/lib/features/replace/index.js +14 -14
  280. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  281. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  282. package/lib/features/replace-preview/index.d.ts +7 -7
  283. package/lib/features/replace-preview/index.js +11 -11
  284. package/lib/features/rules/BpmnRules.d.ts +181 -181
  285. package/lib/features/rules/BpmnRules.js +1191 -1191
  286. package/lib/features/rules/index.d.ts +7 -7
  287. package/lib/features/rules/index.js +11 -11
  288. package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
  289. package/lib/features/search/BpmnSearchProvider.js +136 -136
  290. package/lib/features/search/index.d.ts +7 -7
  291. package/lib/features/search/index.js +12 -12
  292. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  293. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  294. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  295. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  296. package/lib/features/snapping/index.d.ts +9 -9
  297. package/lib/features/snapping/index.js +12 -12
  298. package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
  299. package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
  300. package/lib/features/space-tool/index.d.ts +6 -6
  301. package/lib/features/space-tool/index.js +7 -7
  302. package/lib/import/BpmnImporter.d.ts +51 -51
  303. package/lib/import/BpmnImporter.js +363 -363
  304. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  305. package/lib/import/BpmnTreeWalker.js +453 -453
  306. package/lib/import/Importer.d.ts +25 -25
  307. package/lib/import/Importer.js +222 -217
  308. package/lib/import/Util.d.ts +1 -1
  309. package/lib/import/Util.js +6 -6
  310. package/lib/import/index.d.ts +6 -6
  311. package/lib/import/index.js +9 -9
  312. package/lib/model/Types.d.ts +25 -25
  313. package/lib/model/Types.ts +40 -40
  314. package/lib/util/CompatibilityUtil.d.ts +8 -8
  315. package/lib/util/CompatibilityUtil.js +29 -29
  316. package/lib/util/DiUtil.d.ts +60 -60
  317. package/lib/util/DiUtil.js +122 -122
  318. package/lib/util/DrilldownUtil.d.ts +39 -39
  319. package/lib/util/DrilldownUtil.js +69 -69
  320. package/lib/util/LabelUtil.d.ts +83 -83
  321. package/lib/util/LabelUtil.js +262 -262
  322. package/lib/util/ModelUtil.d.ts +40 -40
  323. package/lib/util/ModelUtil.js +58 -58
  324. package/lib/util/PoweredByUtil.d.ts +8 -8
  325. package/lib/util/PoweredByUtil.js +99 -99
  326. package/lib/util/Types.js +4 -4
  327. package/lib/util/Types.ts +3 -3
  328. package/package.json +132 -132
  329. package/test/helper/TranslationCollector.js +15 -15
  330. package/test/helper/index.js +313 -313
  331. package/test/matchers/BoundsMatchers.js +252 -252
  332. package/test/matchers/ConnectionMatchers.js +165 -165
  333. package/test/matchers/JSONMatcher.js +19 -19
  334. package/test/util/KeyEvents.js +22 -22
  335. package/test/util/MockEvents.js +61 -61
  336. package/test/util/custom-rules/CustomRules.js +16 -16
  337. package/test/util/custom-rules/index.js +6 -6
@@ -1,364 +1,364 @@
1
- import {
2
- assign
3
- } from 'min-dash';
4
-
5
- import inherits from 'inherits-browser';
6
-
7
- import {
8
- is,
9
- getBusinessObject
10
- } from '../../../util/ModelUtil';
11
-
12
- import {
13
- isLabelExternal,
14
- getLabel,
15
- hasExternalLabel,
16
- isLabel
17
- } from '../../../util/LabelUtil';
18
-
19
- import {
20
- getLabelAdjustment
21
- } from './util/LabelLayoutUtil';
22
-
23
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
24
-
25
- import {
26
- getNewAttachPoint
27
- } from 'diagram-js/lib/util/AttachUtil';
28
-
29
- import {
30
- getMid,
31
- roundPoint
32
- } from 'diagram-js/lib/layout/LayoutUtil';
33
-
34
- import {
35
- delta
36
- } from 'diagram-js/lib/util/PositionUtil';
37
-
38
- import {
39
- sortBy
40
- } from 'min-dash';
41
-
42
- import {
43
- getDistancePointLine,
44
- perpendicularFoot
45
- } from './util/GeometricUtil';
46
-
47
- var NAME_PROPERTY = 'name';
48
- var TEXT_PROPERTY = 'text';
49
-
50
- /**
51
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
52
- * @typedef {import('../Modeling').default} Modeling
53
- * @typedef {import('../BpmnFactory').default} BpmnFactory
54
- * @typedef {import('../../../draw/TextRenderer').default} TextRenderer
55
- *
56
- * @typedef {import('diagram-js/lib/util/Types').Point} Point
57
- * @typedef {import('diagram-js/lib/util/Types').Rect} Rect
58
- *
59
- * @typedef {Point[]} Line
60
- */
61
-
62
- /**
63
- * A component that makes sure that external labels are added
64
- * together with respective elements and properly updated (DI wise)
65
- * during move.
66
- *
67
- * @param {EventBus} eventBus
68
- * @param {Modeling} modeling
69
- * @param {BpmnFactory} bpmnFactory
70
- * @param {TextRenderer} textRenderer
71
- */
72
- export default function LabelBehavior(
73
- eventBus, modeling, bpmnFactory,
74
- textRenderer) {
75
-
76
- CommandInterceptor.call(this, eventBus);
77
-
78
- // update label if name property was updated
79
- this.postExecute('element.updateProperties', onPropertyUpdate);
80
- this.postExecute('element.updateModdleProperties', e => {
81
- const elementBo = getBusinessObject(e.context.element);
82
-
83
- if (elementBo === e.context.moddleElement) {
84
- onPropertyUpdate(e);
85
- }
86
- });
87
-
88
- function onPropertyUpdate(e) {
89
- var context = e.context,
90
- element = context.element,
91
- properties = context.properties;
92
-
93
- if (NAME_PROPERTY in properties) {
94
- modeling.updateLabel(element, properties[NAME_PROPERTY]);
95
- }
96
-
97
- if (TEXT_PROPERTY in properties
98
- && is(element, 'bpmn:TextAnnotation')) {
99
-
100
- var newBounds = textRenderer.getTextAnnotationBounds(
101
- {
102
- x: element.x,
103
- y: element.y,
104
- width: element.width,
105
- height: element.height
106
- },
107
- properties[TEXT_PROPERTY] || ''
108
- );
109
-
110
- modeling.updateLabel(element, properties.text, newBounds);
111
- }
112
- }
113
-
114
- // create label shape after shape/connection was created
115
- this.postExecute([ 'shape.create', 'connection.create' ], function(e) {
116
- var context = e.context,
117
- hints = context.hints || {};
118
-
119
- if (hints.createElementsBehavior === false) {
120
- return;
121
- }
122
-
123
- var element = context.shape || context.connection;
124
-
125
- if (isLabel(element) || !isLabelExternal(element)) {
126
- return;
127
- }
128
-
129
- // only create label if attribute available
130
- if (!getLabel(element)) {
131
- return;
132
- }
133
-
134
- modeling.updateLabel(element, getLabel(element));
135
- });
136
-
137
- // update label after label shape was deleted
138
- this.postExecute('shape.delete', function(event) {
139
- var context = event.context,
140
- labelTarget = context.labelTarget,
141
- hints = context.hints || {};
142
-
143
- // check if label
144
- if (labelTarget && hints.unsetLabel !== false) {
145
- modeling.updateLabel(labelTarget, null, null, { removeShape: false });
146
- }
147
- });
148
-
149
- function getVisibleLabelAdjustment(event) {
150
-
151
- var context = event.context,
152
- connection = context.connection,
153
- label = connection.label,
154
- hints = assign({}, context.hints),
155
- newWaypoints = context.newWaypoints || connection.waypoints,
156
- oldWaypoints = context.oldWaypoints;
157
-
158
-
159
- if (typeof hints.startChanged === 'undefined') {
160
- hints.startChanged = !!hints.connectionStart;
161
- }
162
-
163
- if (typeof hints.endChanged === 'undefined') {
164
- hints.endChanged = !!hints.connectionEnd;
165
- }
166
-
167
- return getLabelAdjustment(label, newWaypoints, oldWaypoints, hints);
168
- }
169
-
170
- this.postExecute([
171
- 'connection.layout',
172
- 'connection.updateWaypoints'
173
- ], function(event) {
174
- var context = event.context,
175
- hints = context.hints || {};
176
-
177
- if (hints.labelBehavior === false) {
178
- return;
179
- }
180
-
181
- var connection = context.connection,
182
- label = connection.label,
183
- labelAdjustment;
184
-
185
- // handle missing label as well as the case
186
- // that the label parent does not exist (yet),
187
- // because it is being pasted / created via multi element create
188
- //
189
- // Cf. https://github.com/bpmn-io/bpmn-js/pull/1227
190
- if (!label || !label.parent) {
191
- return;
192
- }
193
-
194
- labelAdjustment = getVisibleLabelAdjustment(event);
195
-
196
- modeling.moveShape(label, labelAdjustment);
197
- });
198
-
199
-
200
- // keep label position on shape replace
201
- this.postExecute([ 'shape.replace' ], function(event) {
202
- var context = event.context,
203
- newShape = context.newShape,
204
- oldShape = context.oldShape;
205
-
206
- var businessObject = getBusinessObject(newShape);
207
-
208
- if (businessObject
209
- && isLabelExternal(businessObject)
210
- && oldShape.label
211
- && newShape.label) {
212
- newShape.label.x = oldShape.label.x;
213
- newShape.label.y = oldShape.label.y;
214
- }
215
- });
216
-
217
-
218
- // move external label after resizing
219
- this.postExecute('shape.resize', function(event) {
220
-
221
- var context = event.context,
222
- shape = context.shape,
223
- newBounds = context.newBounds,
224
- oldBounds = context.oldBounds;
225
-
226
- if (hasExternalLabel(shape)) {
227
-
228
- var label = shape.label,
229
- labelMid = getMid(label),
230
- edges = asEdges(oldBounds);
231
-
232
- // get nearest border point to label as reference point
233
- var referencePoint = getReferencePoint(labelMid, edges);
234
-
235
- var delta = getReferencePointDelta(referencePoint, oldBounds, newBounds);
236
-
237
- modeling.moveShape(label, delta);
238
-
239
- }
240
-
241
- });
242
-
243
- }
244
-
245
- inherits(LabelBehavior, CommandInterceptor);
246
-
247
- LabelBehavior.$inject = [
248
- 'eventBus',
249
- 'modeling',
250
- 'bpmnFactory',
251
- 'textRenderer'
252
- ];
253
-
254
- // helpers //////////////////////
255
-
256
- /**
257
- * Calculates a reference point delta relative to a new position
258
- * of a certain element's bounds
259
- *
260
- * @param {Point} referencePoint
261
- * @param {Rect} oldBounds
262
- * @param {Rect} newBounds
263
- *
264
- * @return {Point}
265
- */
266
- export function getReferencePointDelta(referencePoint, oldBounds, newBounds) {
267
-
268
- var newReferencePoint = getNewAttachPoint(referencePoint, oldBounds, newBounds);
269
-
270
- return roundPoint(delta(newReferencePoint, referencePoint));
271
- }
272
-
273
- /**
274
- * Generates the nearest point (reference point) for a given point
275
- * onto given set of lines
276
- *
277
- * @param {Point} point
278
- * @param {Line[]} lines
279
- *
280
- * @return {Point}
281
- */
282
- export function getReferencePoint(point, lines) {
283
-
284
- if (!lines.length) {
285
- return;
286
- }
287
-
288
- var nearestLine = getNearestLine(point, lines);
289
-
290
- return perpendicularFoot(point, nearestLine);
291
- }
292
-
293
- /**
294
- * Convert the given bounds to a lines array containing all edges
295
- *
296
- * @param {Rect|Point} bounds
297
- *
298
- * @return {Line[]}
299
- */
300
- export function asEdges(bounds) {
301
- return [
302
- [ // top
303
- {
304
- x: bounds.x,
305
- y: bounds.y
306
- },
307
- {
308
- x: bounds.x + (bounds.width || 0),
309
- y: bounds.y
310
- }
311
- ],
312
- [ // right
313
- {
314
- x: bounds.x + (bounds.width || 0),
315
- y: bounds.y
316
- },
317
- {
318
- x: bounds.x + (bounds.width || 0),
319
- y: bounds.y + (bounds.height || 0)
320
- }
321
- ],
322
- [ // bottom
323
- {
324
- x: bounds.x,
325
- y: bounds.y + (bounds.height || 0)
326
- },
327
- {
328
- x: bounds.x + (bounds.width || 0),
329
- y: bounds.y + (bounds.height || 0)
330
- }
331
- ],
332
- [ // left
333
- {
334
- x: bounds.x,
335
- y: bounds.y
336
- },
337
- {
338
- x: bounds.x,
339
- y: bounds.y + (bounds.height || 0)
340
- }
341
- ]
342
- ];
343
- }
344
-
345
- /**
346
- * Returns the nearest line for a given point by distance
347
- * @param {Point} point
348
- * @param {Line[]} lines
349
- *
350
- * @return {Line}
351
- */
352
- function getNearestLine(point, lines) {
353
-
354
- var distances = lines.map(function(l) {
355
- return {
356
- line: l,
357
- distance: getDistancePointLine(point, l)
358
- };
359
- });
360
-
361
- var sorted = sortBy(distances, 'distance');
362
-
363
- return sorted[0].line;
364
- }
1
+ import {
2
+ assign
3
+ } from 'min-dash';
4
+
5
+ import inherits from 'inherits-browser';
6
+
7
+ import {
8
+ is,
9
+ getBusinessObject
10
+ } from '../../../util/ModelUtil';
11
+
12
+ import {
13
+ isLabelExternal,
14
+ getLabel,
15
+ hasExternalLabel,
16
+ isLabel
17
+ } from '../../../util/LabelUtil';
18
+
19
+ import {
20
+ getLabelAdjustment
21
+ } from './util/LabelLayoutUtil';
22
+
23
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
24
+
25
+ import {
26
+ getNewAttachPoint
27
+ } from 'diagram-js/lib/util/AttachUtil';
28
+
29
+ import {
30
+ getMid,
31
+ roundPoint
32
+ } from 'diagram-js/lib/layout/LayoutUtil';
33
+
34
+ import {
35
+ delta
36
+ } from 'diagram-js/lib/util/PositionUtil';
37
+
38
+ import {
39
+ sortBy
40
+ } from 'min-dash';
41
+
42
+ import {
43
+ getDistancePointLine,
44
+ perpendicularFoot
45
+ } from './util/GeometricUtil';
46
+
47
+ var NAME_PROPERTY = 'name';
48
+ var TEXT_PROPERTY = 'text';
49
+
50
+ /**
51
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
52
+ * @typedef {import('../Modeling').default} Modeling
53
+ * @typedef {import('../BpmnFactory').default} BpmnFactory
54
+ * @typedef {import('../../../draw/TextRenderer').default} TextRenderer
55
+ *
56
+ * @typedef {import('diagram-js/lib/util/Types').Point} Point
57
+ * @typedef {import('diagram-js/lib/util/Types').Rect} Rect
58
+ *
59
+ * @typedef {Point[]} Line
60
+ */
61
+
62
+ /**
63
+ * A component that makes sure that external labels are added
64
+ * together with respective elements and properly updated (DI wise)
65
+ * during move.
66
+ *
67
+ * @param {EventBus} eventBus
68
+ * @param {Modeling} modeling
69
+ * @param {BpmnFactory} bpmnFactory
70
+ * @param {TextRenderer} textRenderer
71
+ */
72
+ export default function LabelBehavior(
73
+ eventBus, modeling, bpmnFactory,
74
+ textRenderer) {
75
+
76
+ CommandInterceptor.call(this, eventBus);
77
+
78
+ // update label if name property was updated
79
+ this.postExecute('element.updateProperties', onPropertyUpdate);
80
+ this.postExecute('element.updateModdleProperties', e => {
81
+ const elementBo = getBusinessObject(e.context.element);
82
+
83
+ if (elementBo === e.context.moddleElement) {
84
+ onPropertyUpdate(e);
85
+ }
86
+ });
87
+
88
+ function onPropertyUpdate(e) {
89
+ var context = e.context,
90
+ element = context.element,
91
+ properties = context.properties;
92
+
93
+ if (NAME_PROPERTY in properties) {
94
+ modeling.updateLabel(element, properties[NAME_PROPERTY]);
95
+ }
96
+
97
+ if (TEXT_PROPERTY in properties
98
+ && is(element, 'bpmn:TextAnnotation')) {
99
+
100
+ var newBounds = textRenderer.getTextAnnotationBounds(
101
+ {
102
+ x: element.x,
103
+ y: element.y,
104
+ width: element.width,
105
+ height: element.height
106
+ },
107
+ properties[TEXT_PROPERTY] || ''
108
+ );
109
+
110
+ modeling.updateLabel(element, properties.text, newBounds);
111
+ }
112
+ }
113
+
114
+ // create label shape after shape/connection was created
115
+ this.postExecute([ 'shape.create', 'connection.create' ], function(e) {
116
+ var context = e.context,
117
+ hints = context.hints || {};
118
+
119
+ if (hints.createElementsBehavior === false) {
120
+ return;
121
+ }
122
+
123
+ var element = context.shape || context.connection;
124
+
125
+ if (isLabel(element) || !isLabelExternal(element)) {
126
+ return;
127
+ }
128
+
129
+ // only create label if attribute available
130
+ if (!getLabel(element)) {
131
+ return;
132
+ }
133
+
134
+ modeling.updateLabel(element, getLabel(element));
135
+ });
136
+
137
+ // update label after label shape was deleted
138
+ this.postExecute('shape.delete', function(event) {
139
+ var context = event.context,
140
+ labelTarget = context.labelTarget,
141
+ hints = context.hints || {};
142
+
143
+ // check if label
144
+ if (labelTarget && hints.unsetLabel !== false) {
145
+ modeling.updateLabel(labelTarget, null, null, { removeShape: false });
146
+ }
147
+ });
148
+
149
+ function getVisibleLabelAdjustment(event) {
150
+
151
+ var context = event.context,
152
+ connection = context.connection,
153
+ label = connection.label,
154
+ hints = assign({}, context.hints),
155
+ newWaypoints = context.newWaypoints || connection.waypoints,
156
+ oldWaypoints = context.oldWaypoints;
157
+
158
+
159
+ if (typeof hints.startChanged === 'undefined') {
160
+ hints.startChanged = !!hints.connectionStart;
161
+ }
162
+
163
+ if (typeof hints.endChanged === 'undefined') {
164
+ hints.endChanged = !!hints.connectionEnd;
165
+ }
166
+
167
+ return getLabelAdjustment(label, newWaypoints, oldWaypoints, hints);
168
+ }
169
+
170
+ this.postExecute([
171
+ 'connection.layout',
172
+ 'connection.updateWaypoints'
173
+ ], function(event) {
174
+ var context = event.context,
175
+ hints = context.hints || {};
176
+
177
+ if (hints.labelBehavior === false) {
178
+ return;
179
+ }
180
+
181
+ var connection = context.connection,
182
+ label = connection.label,
183
+ labelAdjustment;
184
+
185
+ // handle missing label as well as the case
186
+ // that the label parent does not exist (yet),
187
+ // because it is being pasted / created via multi element create
188
+ //
189
+ // Cf. https://github.com/bpmn-io/bpmn-js/pull/1227
190
+ if (!label || !label.parent) {
191
+ return;
192
+ }
193
+
194
+ labelAdjustment = getVisibleLabelAdjustment(event);
195
+
196
+ modeling.moveShape(label, labelAdjustment);
197
+ });
198
+
199
+
200
+ // keep label position on shape replace
201
+ this.postExecute([ 'shape.replace' ], function(event) {
202
+ var context = event.context,
203
+ newShape = context.newShape,
204
+ oldShape = context.oldShape;
205
+
206
+ var businessObject = getBusinessObject(newShape);
207
+
208
+ if (businessObject
209
+ && isLabelExternal(businessObject)
210
+ && oldShape.label
211
+ && newShape.label) {
212
+ newShape.label.x = oldShape.label.x;
213
+ newShape.label.y = oldShape.label.y;
214
+ }
215
+ });
216
+
217
+
218
+ // move external label after resizing
219
+ this.postExecute('shape.resize', function(event) {
220
+
221
+ var context = event.context,
222
+ shape = context.shape,
223
+ newBounds = context.newBounds,
224
+ oldBounds = context.oldBounds;
225
+
226
+ if (hasExternalLabel(shape)) {
227
+
228
+ var label = shape.label,
229
+ labelMid = getMid(label),
230
+ edges = asEdges(oldBounds);
231
+
232
+ // get nearest border point to label as reference point
233
+ var referencePoint = getReferencePoint(labelMid, edges);
234
+
235
+ var delta = getReferencePointDelta(referencePoint, oldBounds, newBounds);
236
+
237
+ modeling.moveShape(label, delta);
238
+
239
+ }
240
+
241
+ });
242
+
243
+ }
244
+
245
+ inherits(LabelBehavior, CommandInterceptor);
246
+
247
+ LabelBehavior.$inject = [
248
+ 'eventBus',
249
+ 'modeling',
250
+ 'bpmnFactory',
251
+ 'textRenderer'
252
+ ];
253
+
254
+ // helpers //////////////////////
255
+
256
+ /**
257
+ * Calculates a reference point delta relative to a new position
258
+ * of a certain element's bounds
259
+ *
260
+ * @param {Point} referencePoint
261
+ * @param {Rect} oldBounds
262
+ * @param {Rect} newBounds
263
+ *
264
+ * @return {Point}
265
+ */
266
+ export function getReferencePointDelta(referencePoint, oldBounds, newBounds) {
267
+
268
+ var newReferencePoint = getNewAttachPoint(referencePoint, oldBounds, newBounds);
269
+
270
+ return roundPoint(delta(newReferencePoint, referencePoint));
271
+ }
272
+
273
+ /**
274
+ * Generates the nearest point (reference point) for a given point
275
+ * onto given set of lines
276
+ *
277
+ * @param {Point} point
278
+ * @param {Line[]} lines
279
+ *
280
+ * @return {Point}
281
+ */
282
+ export function getReferencePoint(point, lines) {
283
+
284
+ if (!lines.length) {
285
+ return;
286
+ }
287
+
288
+ var nearestLine = getNearestLine(point, lines);
289
+
290
+ return perpendicularFoot(point, nearestLine);
291
+ }
292
+
293
+ /**
294
+ * Convert the given bounds to a lines array containing all edges
295
+ *
296
+ * @param {Rect|Point} bounds
297
+ *
298
+ * @return {Line[]}
299
+ */
300
+ export function asEdges(bounds) {
301
+ return [
302
+ [ // top
303
+ {
304
+ x: bounds.x,
305
+ y: bounds.y
306
+ },
307
+ {
308
+ x: bounds.x + (bounds.width || 0),
309
+ y: bounds.y
310
+ }
311
+ ],
312
+ [ // right
313
+ {
314
+ x: bounds.x + (bounds.width || 0),
315
+ y: bounds.y
316
+ },
317
+ {
318
+ x: bounds.x + (bounds.width || 0),
319
+ y: bounds.y + (bounds.height || 0)
320
+ }
321
+ ],
322
+ [ // bottom
323
+ {
324
+ x: bounds.x,
325
+ y: bounds.y + (bounds.height || 0)
326
+ },
327
+ {
328
+ x: bounds.x + (bounds.width || 0),
329
+ y: bounds.y + (bounds.height || 0)
330
+ }
331
+ ],
332
+ [ // left
333
+ {
334
+ x: bounds.x,
335
+ y: bounds.y
336
+ },
337
+ {
338
+ x: bounds.x,
339
+ y: bounds.y + (bounds.height || 0)
340
+ }
341
+ ]
342
+ ];
343
+ }
344
+
345
+ /**
346
+ * Returns the nearest line for a given point by distance
347
+ * @param {Point} point
348
+ * @param {Line[]} lines
349
+ *
350
+ * @return {Line}
351
+ */
352
+ function getNearestLine(point, lines) {
353
+
354
+ var distances = lines.map(function(l) {
355
+ return {
356
+ line: l,
357
+ distance: getDistancePointLine(point, l)
358
+ };
359
+ });
360
+
361
+ var sorted = sortBy(distances, 'distance');
362
+
363
+ return sorted[0].line;
364
+ }