bpmn-js 18.7.0 → 18.8.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 (340) 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 +39037 -39033
  5. package/dist/bpmn-modeler.production.min.js +2 -2
  6. package/dist/bpmn-navigated-viewer.development.js +20869 -20869
  7. package/dist/bpmn-navigated-viewer.production.min.js +1 -1
  8. package/dist/bpmn-viewer.development.js +20807 -20807
  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 +2412 -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 -286
  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/modeling/BpmnFactory.d.ts +73 -73
  120. package/lib/features/modeling/BpmnFactory.js +180 -180
  121. package/lib/features/modeling/BpmnLayouter.d.ts +30 -30
  122. package/lib/features/modeling/BpmnLayouter.js +488 -488
  123. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  124. package/lib/features/modeling/BpmnUpdater.js +818 -818
  125. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  126. package/lib/features/modeling/ElementFactory.js +412 -412
  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 +309 -309
  130. package/lib/features/modeling/Modeling.test.ts +147 -147
  131. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +19 -19
  132. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +288 -288
  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 +46 -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/ImportDockingFix.d.ts +13 -13
  162. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  163. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  164. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  165. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  166. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  167. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  168. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  169. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  170. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  171. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  172. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  173. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  174. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  175. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  176. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  177. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +59 -59
  178. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  179. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  180. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  181. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  182. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +64 -64
  183. package/lib/features/modeling/behavior/ResizeBehavior.js +265 -265
  184. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  185. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  186. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  187. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.d.ts +16 -16
  188. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js +66 -66
  189. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  190. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  191. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  192. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  193. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  194. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +56 -56
  195. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  196. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  197. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  198. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  199. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  200. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  201. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  202. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  203. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  204. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  205. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  206. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  207. package/lib/features/modeling/behavior/index.d.ts +85 -85
  208. package/lib/features/modeling/behavior/index.js +131 -131
  209. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  210. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  211. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  212. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  213. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  214. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  215. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  216. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  217. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  218. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  219. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  220. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  221. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  222. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  223. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  224. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  225. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  226. package/lib/features/modeling/cmd/AddLaneHandler.js +187 -187
  227. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  228. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  229. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  230. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  231. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  232. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  233. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  234. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  235. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  236. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  237. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  238. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  239. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  240. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  241. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  242. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  243. package/lib/features/modeling/index.d.ts +39 -39
  244. package/lib/features/modeling/index.js +45 -45
  245. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  246. package/lib/features/modeling/util/LaneUtil.js +188 -188
  247. package/lib/features/modeling/util/ModelingUtil.d.ts +23 -23
  248. package/lib/features/modeling/util/ModelingUtil.js +88 -88
  249. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  250. package/lib/features/modeling-feedback/ModelingFeedback.js +51 -51
  251. package/lib/features/modeling-feedback/index.d.ts +9 -9
  252. package/lib/features/modeling-feedback/index.js +12 -12
  253. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  254. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  255. package/lib/features/ordering/index.d.ts +6 -6
  256. package/lib/features/ordering/index.js +5 -5
  257. package/lib/features/outline/OutlineProvider.d.ts +39 -39
  258. package/lib/features/outline/OutlineProvider.js +189 -189
  259. package/lib/features/outline/OutlineUtil.d.ts +23 -23
  260. package/lib/features/outline/OutlineUtil.js +35 -35
  261. package/lib/features/outline/index.d.ts +10 -10
  262. package/lib/features/outline/index.js +10 -10
  263. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  264. package/lib/features/palette/PaletteProvider.js +214 -214
  265. package/lib/features/palette/index.d.ts +22 -22
  266. package/lib/features/palette/index.js +23 -23
  267. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  268. package/lib/features/popup-menu/ReplaceMenuProvider.js +656 -656
  269. package/lib/features/popup-menu/index.d.ts +13 -13
  270. package/lib/features/popup-menu/index.js +16 -16
  271. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  272. package/lib/features/popup-menu/util/Icons.js +14 -14
  273. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  274. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  275. package/lib/features/replace/BpmnReplace.d.ts +45 -45
  276. package/lib/features/replace/BpmnReplace.js +391 -391
  277. package/lib/features/replace/ReplaceOptions.d.ts +85 -85
  278. package/lib/features/replace/ReplaceOptions.js +1198 -1198
  279. package/lib/features/replace/index.d.ts +16 -16
  280. package/lib/features/replace/index.js +14 -14
  281. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  282. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  283. package/lib/features/replace-preview/index.d.ts +9 -9
  284. package/lib/features/replace-preview/index.js +11 -11
  285. package/lib/features/rules/BpmnRules.d.ts +181 -181
  286. package/lib/features/rules/BpmnRules.js +1191 -1191
  287. package/lib/features/rules/index.d.ts +9 -9
  288. package/lib/features/rules/index.js +11 -11
  289. package/lib/features/search/BpmnSearchProvider.d.ts +34 -34
  290. package/lib/features/search/BpmnSearchProvider.js +91 -91
  291. package/lib/features/search/index.d.ts +11 -11
  292. package/lib/features/search/index.js +14 -14
  293. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  294. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  295. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  296. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  297. package/lib/features/snapping/index.d.ts +13 -13
  298. package/lib/features/snapping/index.js +12 -12
  299. package/lib/features/space-tool/BpmnSpaceTool.d.ts +24 -24
  300. package/lib/features/space-tool/BpmnSpaceTool.js +96 -96
  301. package/lib/features/space-tool/index.d.ts +9 -9
  302. package/lib/features/space-tool/index.js +7 -7
  303. package/lib/import/BpmnImporter.d.ts +51 -51
  304. package/lib/import/BpmnImporter.js +363 -363
  305. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  306. package/lib/import/BpmnTreeWalker.js +452 -452
  307. package/lib/import/Importer.d.ts +25 -25
  308. package/lib/import/Importer.js +222 -222
  309. package/lib/import/Util.d.ts +1 -1
  310. package/lib/import/Util.js +6 -6
  311. package/lib/import/index.d.ts +8 -8
  312. package/lib/import/index.js +9 -9
  313. package/lib/index.d.ts +1 -1
  314. package/lib/index.js +2 -2
  315. package/lib/model/Types.d.ts +25 -25
  316. package/lib/model/Types.ts +40 -40
  317. package/lib/util/CompatibilityUtil.d.ts +8 -8
  318. package/lib/util/CompatibilityUtil.js +29 -29
  319. package/lib/util/DiUtil.d.ts +60 -60
  320. package/lib/util/DiUtil.js +122 -122
  321. package/lib/util/DrilldownUtil.d.ts +39 -39
  322. package/lib/util/DrilldownUtil.js +69 -69
  323. package/lib/util/LabelUtil.d.ts +83 -83
  324. package/lib/util/LabelUtil.js +266 -266
  325. package/lib/util/ModelUtil.d.ts +40 -40
  326. package/lib/util/ModelUtil.js +58 -58
  327. package/lib/util/PoweredByUtil.d.ts +8 -8
  328. package/lib/util/PoweredByUtil.js +99 -99
  329. package/lib/util/Types.js +4 -4
  330. package/lib/util/Types.ts +3 -3
  331. package/package.json +131 -131
  332. package/test/helper/TranslationCollector.js +15 -15
  333. package/test/helper/index.js +313 -313
  334. package/test/matchers/BoundsMatchers.js +252 -252
  335. package/test/matchers/ConnectionMatchers.js +165 -165
  336. package/test/matchers/JSONMatcher.js +19 -19
  337. package/test/util/KeyEvents.js +22 -22
  338. package/test/util/MockEvents.js +61 -61
  339. package/test/util/custom-rules/CustomRules.js +16 -16
  340. 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
+ }