bpmn-js 18.2.0 → 18.3.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 (339) 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 +38724 -38473
  5. package/dist/bpmn-modeler.production.min.js +38 -38
  6. package/dist/bpmn-navigated-viewer.development.js +21139 -21139
  7. package/dist/bpmn-navigated-viewer.production.min.js +1 -1
  8. package/dist/bpmn-viewer.development.js +21080 -21080
  9. package/dist/bpmn-viewer.production.min.js +1 -1
  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 +206 -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 +2339 -2339
  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 +11 -11
  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 +16 -16
  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 +7 -7
  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 +582 -582
  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/index.d.ts +9 -9
  66. package/lib/features/copy-paste/index.js +13 -13
  67. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  68. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  69. package/lib/features/di-ordering/index.d.ts +6 -6
  70. package/lib/features/di-ordering/index.js +7 -7
  71. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  72. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  73. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  74. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  75. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  76. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  77. package/lib/features/distribute-elements/index.d.ts +9 -9
  78. package/lib/features/distribute-elements/index.js +19 -19
  79. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  80. package/lib/features/drilldown/DrilldownBreadcrumbs.js +138 -138
  81. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  82. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  83. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +20 -20
  84. package/lib/features/drilldown/DrilldownOverlayBehavior.js +218 -218
  85. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  86. package/lib/features/drilldown/SubprocessCompatibility.js +266 -266
  87. package/lib/features/drilldown/index.d.ts +13 -13
  88. package/lib/features/drilldown/index.js +16 -16
  89. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  90. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  91. package/lib/features/editor-actions/index.d.ts +6 -6
  92. package/lib/features/editor-actions/index.js +10 -10
  93. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  94. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +14 -14
  95. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  96. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  97. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  98. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  99. package/lib/features/grid-snapping/index.d.ts +11 -11
  100. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  101. package/lib/features/interaction-events/BpmnInteractionEvents.js +146 -146
  102. package/lib/features/interaction-events/index.d.ts +6 -6
  103. package/lib/features/interaction-events/index.js +5 -5
  104. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  105. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  106. package/lib/features/keyboard/index.d.ts +7 -7
  107. package/lib/features/keyboard/index.js +11 -11
  108. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  109. package/lib/features/label-editing/LabelEditingPreview.js +145 -145
  110. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  111. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  112. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  113. package/lib/features/label-editing/LabelUtil.js +4 -4
  114. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  115. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  116. package/lib/features/label-editing/index.d.ts +9 -9
  117. package/lib/features/label-editing/index.js +21 -21
  118. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  119. package/lib/features/modeling/BpmnFactory.js +180 -180
  120. package/lib/features/modeling/BpmnLayouter.d.ts +30 -30
  121. package/lib/features/modeling/BpmnLayouter.js +488 -488
  122. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  123. package/lib/features/modeling/BpmnUpdater.js +818 -818
  124. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  125. package/lib/features/modeling/ElementFactory.js +412 -412
  126. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  127. package/lib/features/modeling/Modeling.d.ts +150 -150
  128. package/lib/features/modeling/Modeling.js +309 -309
  129. package/lib/features/modeling/Modeling.test.ts +147 -147
  130. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +19 -19
  131. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +288 -288
  132. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  133. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  134. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  135. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  136. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  137. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  138. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  139. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  140. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  141. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  142. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  143. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  144. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  145. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  146. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  147. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  148. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  149. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  150. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  151. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  152. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  153. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  154. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  155. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  156. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  157. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  158. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  159. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  160. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  161. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  162. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  163. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  164. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  165. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  166. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  167. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  168. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  169. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  170. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  171. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  172. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  173. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  174. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  175. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  176. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +59 -59
  177. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  178. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  179. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  180. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  181. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +64 -64
  182. package/lib/features/modeling/behavior/ResizeBehavior.js +265 -265
  183. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  184. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  185. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  186. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.d.ts +16 -16
  187. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js +66 -66
  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 +131 -131
  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 +187 -187
  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 +23 -23
  247. package/lib/features/modeling/util/ModelingUtil.js +88 -88
  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 +39 -39
  257. package/lib/features/outline/OutlineProvider.js +189 -189
  258. package/lib/features/outline/OutlineUtil.d.ts +23 -23
  259. package/lib/features/outline/OutlineUtil.js +35 -35
  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 +656 -629
  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 +45 -45
  275. package/lib/features/replace/BpmnReplace.js +391 -391
  276. package/lib/features/replace/ReplaceOptions.d.ts +85 -79
  277. package/lib/features/replace/ReplaceOptions.js +1198 -998
  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 +34 -34
  289. package/lib/features/search/BpmnSearchProvider.js +91 -91
  290. package/lib/features/search/index.d.ts +7 -7
  291. package/lib/features/search/index.js +14 -14
  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 +24 -21
  299. package/lib/features/space-tool/BpmnSpaceTool.js +96 -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 -222
  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/index.d.ts +1 -1
  313. package/lib/index.js +2 -2
  314. package/lib/model/Types.d.ts +25 -25
  315. package/lib/model/Types.ts +40 -40
  316. package/lib/util/CompatibilityUtil.d.ts +8 -8
  317. package/lib/util/CompatibilityUtil.js +29 -29
  318. package/lib/util/DiUtil.d.ts +60 -60
  319. package/lib/util/DiUtil.js +122 -122
  320. package/lib/util/DrilldownUtil.d.ts +39 -39
  321. package/lib/util/DrilldownUtil.js +69 -69
  322. package/lib/util/LabelUtil.d.ts +83 -83
  323. package/lib/util/LabelUtil.js +266 -266
  324. package/lib/util/ModelUtil.d.ts +40 -40
  325. package/lib/util/ModelUtil.js +58 -58
  326. package/lib/util/PoweredByUtil.d.ts +8 -8
  327. package/lib/util/PoweredByUtil.js +99 -99
  328. package/lib/util/Types.js +4 -4
  329. package/lib/util/Types.ts +3 -3
  330. package/package.json +131 -131
  331. package/test/helper/TranslationCollector.js +15 -15
  332. package/test/helper/index.js +313 -313
  333. package/test/matchers/BoundsMatchers.js +252 -252
  334. package/test/matchers/ConnectionMatchers.js +165 -165
  335. package/test/matchers/JSONMatcher.js +19 -19
  336. package/test/util/KeyEvents.js +22 -22
  337. package/test/util/MockEvents.js +61 -61
  338. package/test/util/custom-rules/CustomRules.js +16 -16
  339. package/test/util/custom-rules/index.js +6 -6
@@ -1,363 +1,363 @@
1
- import {
2
- assign
3
- } from 'min-dash';
4
-
5
- import { is } from '../util/ModelUtil';
6
-
7
- import {
8
- isLabelExternal,
9
- getExternalLabelBounds,
10
- getLabel
11
- } from '../util/LabelUtil';
12
-
13
- import {
14
- getMid
15
- } from 'diagram-js/lib/layout/LayoutUtil';
16
-
17
- import {
18
- isExpanded
19
- } from '../util/DiUtil';
20
-
21
- import {
22
- elementToString
23
- } from './Util';
24
-
25
- /**
26
- * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
27
- * @typedef {import('diagram-js/lib/core/ElementRegistry').default} ElementRegistry
28
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
29
- *
30
- * @typedef {import('../features/modeling/ElementFactory').default} ElementFactory
31
- * @typedef {import('../draw/TextRenderer').default} TextRenderer
32
- *
33
- * @typedef {import('../model/Types').Element} Element
34
- * @typedef {import('../model/Types').Label} Label
35
- * @typedef {import('../model/Types').Shape} Shape
36
- * @typedef {import('../model/Types').Connection} Connection
37
- * @typedef {import('../model/Types').Root} Root
38
- * @typedef {import('../model/Types').ModdleElement} ModdleElement
39
- */
40
-
41
- /**
42
- * @param {ModdleElement} semantic
43
- * @param {ModdleElement} di
44
- * @param {Object} [attrs=null]
45
- *
46
- * @return {Object}
47
- */
48
- function elementData(semantic, di, attrs) {
49
- return assign({
50
- id: semantic.id,
51
- type: semantic.$type,
52
- businessObject: semantic,
53
- di: di
54
- }, attrs);
55
- }
56
-
57
- function getWaypoints(di, source, target) {
58
-
59
- var waypoints = di.waypoint;
60
-
61
- if (!waypoints || waypoints.length < 2) {
62
- return [ getMid(source), getMid(target) ];
63
- }
64
-
65
- return waypoints.map(function(p) {
66
- return { x: p.x, y: p.y };
67
- });
68
- }
69
-
70
- function notYetDrawn(semantic, refSemantic, property) {
71
- return new Error(
72
- `element ${ elementToString(refSemantic) } referenced by ${ elementToString(semantic) }#${ property } not yet drawn`
73
- );
74
- }
75
-
76
-
77
- /**
78
- * An importer that adds bpmn elements to the canvas
79
- *
80
- * @param {EventBus} eventBus
81
- * @param {Canvas} canvas
82
- * @param {ElementFactory} elementFactory
83
- * @param {ElementRegistry} elementRegistry
84
- * @param {TextRenderer} textRenderer
85
- */
86
- export default function BpmnImporter(
87
- eventBus, canvas, elementFactory,
88
- elementRegistry, textRenderer) {
89
-
90
- this._eventBus = eventBus;
91
- this._canvas = canvas;
92
- this._elementFactory = elementFactory;
93
- this._elementRegistry = elementRegistry;
94
- this._textRenderer = textRenderer;
95
- }
96
-
97
- BpmnImporter.$inject = [
98
- 'eventBus',
99
- 'canvas',
100
- 'elementFactory',
101
- 'elementRegistry',
102
- 'textRenderer'
103
- ];
104
-
105
-
106
- /**
107
- * Add a BPMN element (semantic) to the canvas making it a child of the
108
- * given parent.
109
- *
110
- * @param {ModdleElement} semantic
111
- * @param {ModdleElement} di
112
- * @param {Shape} parentElement
113
- *
114
- * @return {Shape | Root | Connection}
115
- */
116
- BpmnImporter.prototype.add = function(semantic, di, parentElement) {
117
- var element,
118
- hidden;
119
-
120
- var parentIndex;
121
-
122
- // ROOT ELEMENT
123
- // handle the special case that we deal with a
124
- // invisible root element (process, subprocess or collaboration)
125
- if (is(di, 'bpmndi:BPMNPlane')) {
126
-
127
- var attrs = is(semantic, 'bpmn:SubProcess')
128
- ? { id: semantic.id + '_plane' }
129
- : {};
130
-
131
- // add a virtual element (not being drawn)
132
- element = this._elementFactory.createRoot(elementData(semantic, di, attrs));
133
-
134
- this._canvas.addRootElement(element);
135
- }
136
-
137
- // SHAPE
138
- else if (is(di, 'bpmndi:BPMNShape')) {
139
-
140
- var collapsed = !isExpanded(semantic, di),
141
- isFrame = isFrameElement(semantic);
142
-
143
- hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
144
-
145
- var bounds = di.bounds;
146
-
147
- element = this._elementFactory.createShape(elementData(semantic, di, {
148
- collapsed: collapsed,
149
- hidden: hidden,
150
- x: Math.round(bounds.x),
151
- y: Math.round(bounds.y),
152
- width: Math.round(bounds.width),
153
- height: Math.round(bounds.height),
154
- isFrame: isFrame
155
- }));
156
-
157
- if (is(semantic, 'bpmn:BoundaryEvent')) {
158
- this._attachBoundary(semantic, element);
159
- }
160
-
161
- // insert lanes behind other flow nodes (cf. #727)
162
- if (is(semantic, 'bpmn:Lane')) {
163
- parentIndex = 0;
164
- }
165
-
166
- if (is(semantic, 'bpmn:DataStoreReference')) {
167
-
168
- // check whether data store is inside our outside of its semantic parent
169
- if (!isPointInsideBBox(parentElement, getMid(bounds))) {
170
- parentElement = this._canvas.findRoot(parentElement);
171
- }
172
- }
173
-
174
- this._canvas.addShape(element, parentElement, parentIndex);
175
- }
176
-
177
- // CONNECTION
178
- else if (is(di, 'bpmndi:BPMNEdge')) {
179
-
180
- var source = this._getSource(semantic),
181
- target = this._getTarget(semantic);
182
-
183
- hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
184
-
185
- element = this._elementFactory.createConnection(elementData(semantic, di, {
186
- hidden: hidden,
187
- source: source,
188
- target: target,
189
- waypoints: getWaypoints(di, source, target)
190
- }));
191
-
192
- if (is(semantic, 'bpmn:DataAssociation')) {
193
-
194
- // render always on top; this ensures DataAssociations
195
- // are rendered correctly across different "hacks" people
196
- // love to model such as cross participant / sub process
197
- // associations
198
- parentElement = this._canvas.findRoot(parentElement);
199
- }
200
-
201
- this._canvas.addConnection(element, parentElement, parentIndex);
202
- } else {
203
- throw new Error(
204
- `unknown di ${ elementToString(di) } for element ${ elementToString(semantic) }`
205
- );
206
- }
207
-
208
- // (optional) LABEL
209
- if (isLabelExternal(semantic) && getLabel(element)) {
210
- this.addLabel(semantic, di, element);
211
- }
212
-
213
- this._eventBus.fire('bpmnElement.added', { element: element });
214
-
215
- return element;
216
- };
217
-
218
-
219
- /**
220
- * Attach a boundary element to the given host.
221
- *
222
- * @param {ModdleElement} boundarySemantic
223
- * @param {Shape} boundaryElement
224
- */
225
- BpmnImporter.prototype._attachBoundary = function(boundarySemantic, boundaryElement) {
226
- var hostSemantic = boundarySemantic.attachedToRef;
227
-
228
- if (!hostSemantic) {
229
- throw new Error(
230
- `missing ${ elementToString(boundarySemantic) }#attachedToRef`
231
- );
232
- }
233
-
234
- var host = this._elementRegistry.get(hostSemantic.id),
235
- attachers = host && host.attachers;
236
-
237
- if (!host) {
238
- throw notYetDrawn(boundarySemantic, hostSemantic, 'attachedToRef');
239
- }
240
-
241
- // wire element.host <> host.attachers
242
- boundaryElement.host = host;
243
-
244
- if (!attachers) {
245
- host.attachers = attachers = [];
246
- }
247
-
248
- if (attachers.indexOf(boundaryElement) === -1) {
249
- attachers.push(boundaryElement);
250
- }
251
- };
252
-
253
-
254
- /**
255
- * Add a label to a given element.
256
- *
257
- * @param {ModdleElement} semantic
258
- * @param {ModdleElement} di
259
- * @param {Element} element
260
- *
261
- * @return {Label}
262
- */
263
- BpmnImporter.prototype.addLabel = function(semantic, di, element) {
264
- var bounds,
265
- text,
266
- label;
267
-
268
- bounds = getExternalLabelBounds(di, element);
269
-
270
- text = getLabel(element);
271
-
272
- if (text) {
273
-
274
- // get corrected bounds from actual layouted text
275
- bounds = this._textRenderer.getExternalLabelBounds(bounds, text);
276
- }
277
-
278
- label = this._elementFactory.createLabel(elementData(semantic, di, {
279
- id: semantic.id + '_label',
280
- labelTarget: element,
281
- type: 'label',
282
- hidden: element.hidden || !getLabel(element),
283
- x: Math.round(bounds.x),
284
- y: Math.round(bounds.y),
285
- width: Math.round(bounds.width),
286
- height: Math.round(bounds.height)
287
- }));
288
-
289
- return this._canvas.addShape(label, element.parent);
290
- };
291
-
292
- /**
293
- * Get the source or target of the given connection.
294
- *
295
- * @param {ModdleElement} semantic
296
- * @param {'source' | 'target'} side
297
- *
298
- * @return {Element}
299
- */
300
- BpmnImporter.prototype._getConnectedElement = function(semantic, side) {
301
-
302
- var element,
303
- refSemantic,
304
- type = semantic.$type;
305
-
306
- refSemantic = semantic[side + 'Ref'];
307
-
308
- // handle mysterious isMany DataAssociation#sourceRef
309
- if (side === 'source' && type === 'bpmn:DataInputAssociation') {
310
- refSemantic = refSemantic && refSemantic[0];
311
- }
312
-
313
- // fix source / target for DataInputAssociation / DataOutputAssociation
314
- if (side === 'source' && type === 'bpmn:DataOutputAssociation' ||
315
- side === 'target' && type === 'bpmn:DataInputAssociation') {
316
-
317
- refSemantic = semantic.$parent;
318
- }
319
-
320
- element = refSemantic && this._getElement(refSemantic);
321
-
322
- if (element) {
323
- return element;
324
- }
325
-
326
- if (refSemantic) {
327
- throw notYetDrawn(semantic, refSemantic, side + 'Ref');
328
- } else {
329
- throw new Error(
330
- `${ elementToString(semantic) }#${ side } Ref not specified`
331
- );
332
- }
333
- };
334
-
335
- BpmnImporter.prototype._getSource = function(semantic) {
336
- return this._getConnectedElement(semantic, 'source');
337
- };
338
-
339
- BpmnImporter.prototype._getTarget = function(semantic) {
340
- return this._getConnectedElement(semantic, 'target');
341
- };
342
-
343
-
344
- BpmnImporter.prototype._getElement = function(semantic) {
345
- return this._elementRegistry.get(semantic.id);
346
- };
347
-
348
-
349
- // helpers ////////////////////
350
-
351
- function isPointInsideBBox(bbox, point) {
352
- var x = point.x,
353
- y = point.y;
354
-
355
- return x >= bbox.x &&
356
- x <= bbox.x + bbox.width &&
357
- y >= bbox.y &&
358
- y <= bbox.y + bbox.height;
359
- }
360
-
361
- function isFrameElement(semantic) {
362
- return is(semantic, 'bpmn:Group');
363
- }
1
+ import {
2
+ assign
3
+ } from 'min-dash';
4
+
5
+ import { is } from '../util/ModelUtil';
6
+
7
+ import {
8
+ isLabelExternal,
9
+ getExternalLabelBounds,
10
+ getLabel
11
+ } from '../util/LabelUtil';
12
+
13
+ import {
14
+ getMid
15
+ } from 'diagram-js/lib/layout/LayoutUtil';
16
+
17
+ import {
18
+ isExpanded
19
+ } from '../util/DiUtil';
20
+
21
+ import {
22
+ elementToString
23
+ } from './Util';
24
+
25
+ /**
26
+ * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
27
+ * @typedef {import('diagram-js/lib/core/ElementRegistry').default} ElementRegistry
28
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
29
+ *
30
+ * @typedef {import('../features/modeling/ElementFactory').default} ElementFactory
31
+ * @typedef {import('../draw/TextRenderer').default} TextRenderer
32
+ *
33
+ * @typedef {import('../model/Types').Element} Element
34
+ * @typedef {import('../model/Types').Label} Label
35
+ * @typedef {import('../model/Types').Shape} Shape
36
+ * @typedef {import('../model/Types').Connection} Connection
37
+ * @typedef {import('../model/Types').Root} Root
38
+ * @typedef {import('../model/Types').ModdleElement} ModdleElement
39
+ */
40
+
41
+ /**
42
+ * @param {ModdleElement} semantic
43
+ * @param {ModdleElement} di
44
+ * @param {Object} [attrs=null]
45
+ *
46
+ * @return {Object}
47
+ */
48
+ function elementData(semantic, di, attrs) {
49
+ return assign({
50
+ id: semantic.id,
51
+ type: semantic.$type,
52
+ businessObject: semantic,
53
+ di: di
54
+ }, attrs);
55
+ }
56
+
57
+ function getWaypoints(di, source, target) {
58
+
59
+ var waypoints = di.waypoint;
60
+
61
+ if (!waypoints || waypoints.length < 2) {
62
+ return [ getMid(source), getMid(target) ];
63
+ }
64
+
65
+ return waypoints.map(function(p) {
66
+ return { x: p.x, y: p.y };
67
+ });
68
+ }
69
+
70
+ function notYetDrawn(semantic, refSemantic, property) {
71
+ return new Error(
72
+ `element ${ elementToString(refSemantic) } referenced by ${ elementToString(semantic) }#${ property } not yet drawn`
73
+ );
74
+ }
75
+
76
+
77
+ /**
78
+ * An importer that adds bpmn elements to the canvas
79
+ *
80
+ * @param {EventBus} eventBus
81
+ * @param {Canvas} canvas
82
+ * @param {ElementFactory} elementFactory
83
+ * @param {ElementRegistry} elementRegistry
84
+ * @param {TextRenderer} textRenderer
85
+ */
86
+ export default function BpmnImporter(
87
+ eventBus, canvas, elementFactory,
88
+ elementRegistry, textRenderer) {
89
+
90
+ this._eventBus = eventBus;
91
+ this._canvas = canvas;
92
+ this._elementFactory = elementFactory;
93
+ this._elementRegistry = elementRegistry;
94
+ this._textRenderer = textRenderer;
95
+ }
96
+
97
+ BpmnImporter.$inject = [
98
+ 'eventBus',
99
+ 'canvas',
100
+ 'elementFactory',
101
+ 'elementRegistry',
102
+ 'textRenderer'
103
+ ];
104
+
105
+
106
+ /**
107
+ * Add a BPMN element (semantic) to the canvas making it a child of the
108
+ * given parent.
109
+ *
110
+ * @param {ModdleElement} semantic
111
+ * @param {ModdleElement} di
112
+ * @param {Shape} parentElement
113
+ *
114
+ * @return {Shape | Root | Connection}
115
+ */
116
+ BpmnImporter.prototype.add = function(semantic, di, parentElement) {
117
+ var element,
118
+ hidden;
119
+
120
+ var parentIndex;
121
+
122
+ // ROOT ELEMENT
123
+ // handle the special case that we deal with a
124
+ // invisible root element (process, subprocess or collaboration)
125
+ if (is(di, 'bpmndi:BPMNPlane')) {
126
+
127
+ var attrs = is(semantic, 'bpmn:SubProcess')
128
+ ? { id: semantic.id + '_plane' }
129
+ : {};
130
+
131
+ // add a virtual element (not being drawn)
132
+ element = this._elementFactory.createRoot(elementData(semantic, di, attrs));
133
+
134
+ this._canvas.addRootElement(element);
135
+ }
136
+
137
+ // SHAPE
138
+ else if (is(di, 'bpmndi:BPMNShape')) {
139
+
140
+ var collapsed = !isExpanded(semantic, di),
141
+ isFrame = isFrameElement(semantic);
142
+
143
+ hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
144
+
145
+ var bounds = di.bounds;
146
+
147
+ element = this._elementFactory.createShape(elementData(semantic, di, {
148
+ collapsed: collapsed,
149
+ hidden: hidden,
150
+ x: Math.round(bounds.x),
151
+ y: Math.round(bounds.y),
152
+ width: Math.round(bounds.width),
153
+ height: Math.round(bounds.height),
154
+ isFrame: isFrame
155
+ }));
156
+
157
+ if (is(semantic, 'bpmn:BoundaryEvent')) {
158
+ this._attachBoundary(semantic, element);
159
+ }
160
+
161
+ // insert lanes behind other flow nodes (cf. #727)
162
+ if (is(semantic, 'bpmn:Lane')) {
163
+ parentIndex = 0;
164
+ }
165
+
166
+ if (is(semantic, 'bpmn:DataStoreReference')) {
167
+
168
+ // check whether data store is inside our outside of its semantic parent
169
+ if (!isPointInsideBBox(parentElement, getMid(bounds))) {
170
+ parentElement = this._canvas.findRoot(parentElement);
171
+ }
172
+ }
173
+
174
+ this._canvas.addShape(element, parentElement, parentIndex);
175
+ }
176
+
177
+ // CONNECTION
178
+ else if (is(di, 'bpmndi:BPMNEdge')) {
179
+
180
+ var source = this._getSource(semantic),
181
+ target = this._getTarget(semantic);
182
+
183
+ hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
184
+
185
+ element = this._elementFactory.createConnection(elementData(semantic, di, {
186
+ hidden: hidden,
187
+ source: source,
188
+ target: target,
189
+ waypoints: getWaypoints(di, source, target)
190
+ }));
191
+
192
+ if (is(semantic, 'bpmn:DataAssociation')) {
193
+
194
+ // render always on top; this ensures DataAssociations
195
+ // are rendered correctly across different "hacks" people
196
+ // love to model such as cross participant / sub process
197
+ // associations
198
+ parentElement = this._canvas.findRoot(parentElement);
199
+ }
200
+
201
+ this._canvas.addConnection(element, parentElement, parentIndex);
202
+ } else {
203
+ throw new Error(
204
+ `unknown di ${ elementToString(di) } for element ${ elementToString(semantic) }`
205
+ );
206
+ }
207
+
208
+ // (optional) LABEL
209
+ if (isLabelExternal(semantic) && getLabel(element)) {
210
+ this.addLabel(semantic, di, element);
211
+ }
212
+
213
+ this._eventBus.fire('bpmnElement.added', { element: element });
214
+
215
+ return element;
216
+ };
217
+
218
+
219
+ /**
220
+ * Attach a boundary element to the given host.
221
+ *
222
+ * @param {ModdleElement} boundarySemantic
223
+ * @param {Shape} boundaryElement
224
+ */
225
+ BpmnImporter.prototype._attachBoundary = function(boundarySemantic, boundaryElement) {
226
+ var hostSemantic = boundarySemantic.attachedToRef;
227
+
228
+ if (!hostSemantic) {
229
+ throw new Error(
230
+ `missing ${ elementToString(boundarySemantic) }#attachedToRef`
231
+ );
232
+ }
233
+
234
+ var host = this._elementRegistry.get(hostSemantic.id),
235
+ attachers = host && host.attachers;
236
+
237
+ if (!host) {
238
+ throw notYetDrawn(boundarySemantic, hostSemantic, 'attachedToRef');
239
+ }
240
+
241
+ // wire element.host <> host.attachers
242
+ boundaryElement.host = host;
243
+
244
+ if (!attachers) {
245
+ host.attachers = attachers = [];
246
+ }
247
+
248
+ if (attachers.indexOf(boundaryElement) === -1) {
249
+ attachers.push(boundaryElement);
250
+ }
251
+ };
252
+
253
+
254
+ /**
255
+ * Add a label to a given element.
256
+ *
257
+ * @param {ModdleElement} semantic
258
+ * @param {ModdleElement} di
259
+ * @param {Element} element
260
+ *
261
+ * @return {Label}
262
+ */
263
+ BpmnImporter.prototype.addLabel = function(semantic, di, element) {
264
+ var bounds,
265
+ text,
266
+ label;
267
+
268
+ bounds = getExternalLabelBounds(di, element);
269
+
270
+ text = getLabel(element);
271
+
272
+ if (text) {
273
+
274
+ // get corrected bounds from actual layouted text
275
+ bounds = this._textRenderer.getExternalLabelBounds(bounds, text);
276
+ }
277
+
278
+ label = this._elementFactory.createLabel(elementData(semantic, di, {
279
+ id: semantic.id + '_label',
280
+ labelTarget: element,
281
+ type: 'label',
282
+ hidden: element.hidden || !getLabel(element),
283
+ x: Math.round(bounds.x),
284
+ y: Math.round(bounds.y),
285
+ width: Math.round(bounds.width),
286
+ height: Math.round(bounds.height)
287
+ }));
288
+
289
+ return this._canvas.addShape(label, element.parent);
290
+ };
291
+
292
+ /**
293
+ * Get the source or target of the given connection.
294
+ *
295
+ * @param {ModdleElement} semantic
296
+ * @param {'source' | 'target'} side
297
+ *
298
+ * @return {Element}
299
+ */
300
+ BpmnImporter.prototype._getConnectedElement = function(semantic, side) {
301
+
302
+ var element,
303
+ refSemantic,
304
+ type = semantic.$type;
305
+
306
+ refSemantic = semantic[side + 'Ref'];
307
+
308
+ // handle mysterious isMany DataAssociation#sourceRef
309
+ if (side === 'source' && type === 'bpmn:DataInputAssociation') {
310
+ refSemantic = refSemantic && refSemantic[0];
311
+ }
312
+
313
+ // fix source / target for DataInputAssociation / DataOutputAssociation
314
+ if (side === 'source' && type === 'bpmn:DataOutputAssociation' ||
315
+ side === 'target' && type === 'bpmn:DataInputAssociation') {
316
+
317
+ refSemantic = semantic.$parent;
318
+ }
319
+
320
+ element = refSemantic && this._getElement(refSemantic);
321
+
322
+ if (element) {
323
+ return element;
324
+ }
325
+
326
+ if (refSemantic) {
327
+ throw notYetDrawn(semantic, refSemantic, side + 'Ref');
328
+ } else {
329
+ throw new Error(
330
+ `${ elementToString(semantic) }#${ side } Ref not specified`
331
+ );
332
+ }
333
+ };
334
+
335
+ BpmnImporter.prototype._getSource = function(semantic) {
336
+ return this._getConnectedElement(semantic, 'source');
337
+ };
338
+
339
+ BpmnImporter.prototype._getTarget = function(semantic) {
340
+ return this._getConnectedElement(semantic, 'target');
341
+ };
342
+
343
+
344
+ BpmnImporter.prototype._getElement = function(semantic) {
345
+ return this._elementRegistry.get(semantic.id);
346
+ };
347
+
348
+
349
+ // helpers ////////////////////
350
+
351
+ function isPointInsideBBox(bbox, point) {
352
+ var x = point.x,
353
+ y = point.y;
354
+
355
+ return x >= bbox.x &&
356
+ x <= bbox.x + bbox.width &&
357
+ y >= bbox.y &&
358
+ y <= bbox.y + bbox.height;
359
+ }
360
+
361
+ function isFrameElement(semantic) {
362
+ return is(semantic, 'bpmn:Group');
363
+ }