bpmn-js 18.6.1 → 18.6.2

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 +38928 -38906
  5. package/dist/bpmn-modeler.production.min.js +2 -2
  6. package/dist/bpmn-navigated-viewer.development.js +21211 -21189
  7. package/dist/bpmn-navigated-viewer.production.min.js +2 -2
  8. package/dist/bpmn-viewer.development.js +21152 -21130
  9. package/dist/bpmn-viewer.production.min.js +2 -2
  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 -2390
  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 +286 -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 +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/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 +2 -2
  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,105 +1,105 @@
1
- import {
2
- assign
3
- } from 'min-dash';
4
-
5
- import ICONS from './AlignElementsIcons';
6
-
7
- /**
8
- * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
9
- * @typedef {import('diagram-js/lib/features/context-pad/ContextPad').default} ContextPad
10
- * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').default} PopupMenu
11
- * @typedef {import('diagram-js/lib/i18n/translate/translate').default} Translate
12
- *
13
- * @typedef {import('../../model/Types').Element} Element
14
- * @typedef {import('diagram-js/lib/features/context-pad/ContextPad').ContextPadEntries} ContextPadEntries
15
- * @typedef {import('diagram-js/lib/features/context-pad/ContextPadProvider').default<Element>} ContextPadProvider
16
- */
17
-
18
- var LOW_PRIORITY = 900;
19
-
20
- /**
21
- * A provider for the `Align elements` context pad entry.
22
- *
23
- * @implements {ContextPadProvider}
24
- *
25
- * @param {ContextPad} contextPad
26
- * @param {PopupMenu} popupMenu
27
- * @param {Translate} translate
28
- * @param {Canvas} canvas
29
- */
30
- export default function AlignElementsContextPadProvider(contextPad, popupMenu, translate, canvas) {
31
-
32
- contextPad.registerProvider(LOW_PRIORITY, this);
33
-
34
- this._contextPad = contextPad;
35
- this._popupMenu = popupMenu;
36
- this._translate = translate;
37
- this._canvas = canvas;
38
- }
39
-
40
- AlignElementsContextPadProvider.$inject = [
41
- 'contextPad',
42
- 'popupMenu',
43
- 'translate',
44
- 'canvas'
45
- ];
46
-
47
- /**
48
- * @param {Element[]} elements
49
- *
50
- * @return {ContextPadEntries}
51
- */
52
- AlignElementsContextPadProvider.prototype.getMultiElementContextPadEntries = function(elements) {
53
- var actions = {};
54
-
55
- if (this._isAllowed(elements)) {
56
- assign(actions, this._getEntries(elements));
57
- }
58
-
59
- return actions;
60
- };
61
-
62
- AlignElementsContextPadProvider.prototype._isAllowed = function(elements) {
63
- return !this._popupMenu.isEmpty(elements, 'align-elements');
64
- };
65
-
66
- AlignElementsContextPadProvider.prototype._getEntries = function() {
67
- var self = this;
68
-
69
- return {
70
- 'align-elements': {
71
- group: 'align-elements',
72
- title: self._translate('Align elements'),
73
- html: `<div class="entry">${ICONS['align']}</div>`,
74
- action: {
75
- click: function(event, target) {
76
- var position = self._getMenuPosition(target);
77
-
78
- assign(position, {
79
- cursor: {
80
- x: event.x,
81
- y: event.y
82
- }
83
- });
84
-
85
- self._popupMenu.open(target, 'align-elements', position);
86
- }
87
- }
88
- }
89
- };
90
- };
91
-
92
- AlignElementsContextPadProvider.prototype._getMenuPosition = function(elements) {
93
- var Y_OFFSET = 5;
94
-
95
- var pad = this._contextPad.getPad(elements).html;
96
-
97
- var padRect = pad.getBoundingClientRect();
98
-
99
- var pos = {
100
- x: padRect.left,
101
- y: padRect.bottom + Y_OFFSET
102
- };
103
-
104
- return pos;
105
- };
1
+ import {
2
+ assign
3
+ } from 'min-dash';
4
+
5
+ import ICONS from './AlignElementsIcons';
6
+
7
+ /**
8
+ * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
9
+ * @typedef {import('diagram-js/lib/features/context-pad/ContextPad').default} ContextPad
10
+ * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').default} PopupMenu
11
+ * @typedef {import('diagram-js/lib/i18n/translate/translate').default} Translate
12
+ *
13
+ * @typedef {import('../../model/Types').Element} Element
14
+ * @typedef {import('diagram-js/lib/features/context-pad/ContextPad').ContextPadEntries} ContextPadEntries
15
+ * @typedef {import('diagram-js/lib/features/context-pad/ContextPadProvider').default<Element>} ContextPadProvider
16
+ */
17
+
18
+ var LOW_PRIORITY = 900;
19
+
20
+ /**
21
+ * A provider for the `Align elements` context pad entry.
22
+ *
23
+ * @implements {ContextPadProvider}
24
+ *
25
+ * @param {ContextPad} contextPad
26
+ * @param {PopupMenu} popupMenu
27
+ * @param {Translate} translate
28
+ * @param {Canvas} canvas
29
+ */
30
+ export default function AlignElementsContextPadProvider(contextPad, popupMenu, translate, canvas) {
31
+
32
+ contextPad.registerProvider(LOW_PRIORITY, this);
33
+
34
+ this._contextPad = contextPad;
35
+ this._popupMenu = popupMenu;
36
+ this._translate = translate;
37
+ this._canvas = canvas;
38
+ }
39
+
40
+ AlignElementsContextPadProvider.$inject = [
41
+ 'contextPad',
42
+ 'popupMenu',
43
+ 'translate',
44
+ 'canvas'
45
+ ];
46
+
47
+ /**
48
+ * @param {Element[]} elements
49
+ *
50
+ * @return {ContextPadEntries}
51
+ */
52
+ AlignElementsContextPadProvider.prototype.getMultiElementContextPadEntries = function(elements) {
53
+ var actions = {};
54
+
55
+ if (this._isAllowed(elements)) {
56
+ assign(actions, this._getEntries(elements));
57
+ }
58
+
59
+ return actions;
60
+ };
61
+
62
+ AlignElementsContextPadProvider.prototype._isAllowed = function(elements) {
63
+ return !this._popupMenu.isEmpty(elements, 'align-elements');
64
+ };
65
+
66
+ AlignElementsContextPadProvider.prototype._getEntries = function() {
67
+ var self = this;
68
+
69
+ return {
70
+ 'align-elements': {
71
+ group: 'align-elements',
72
+ title: self._translate('Align elements'),
73
+ html: `<div class="entry">${ICONS['align']}</div>`,
74
+ action: {
75
+ click: function(event, target) {
76
+ var position = self._getMenuPosition(target);
77
+
78
+ assign(position, {
79
+ cursor: {
80
+ x: event.x,
81
+ y: event.y
82
+ }
83
+ });
84
+
85
+ self._popupMenu.open(target, 'align-elements', position);
86
+ }
87
+ }
88
+ }
89
+ };
90
+ };
91
+
92
+ AlignElementsContextPadProvider.prototype._getMenuPosition = function(elements) {
93
+ var Y_OFFSET = 5;
94
+
95
+ var pad = this._contextPad.getPad(elements).html;
96
+
97
+ var padRect = pad.getBoundingClientRect();
98
+
99
+ var pos = {
100
+ x: padRect.left,
101
+ y: padRect.bottom + Y_OFFSET
102
+ };
103
+
104
+ return pos;
105
+ };
@@ -1,10 +1,10 @@
1
- export default icons;
2
- declare namespace icons {
3
- let align: string;
4
- let bottom: string;
5
- let center: string;
6
- let left: string;
7
- let right: string;
8
- let top: string;
9
- let middle: string;
10
- }
1
+ export default icons;
2
+ declare namespace icons {
3
+ let align: string;
4
+ let bottom: string;
5
+ let center: string;
6
+ let left: string;
7
+ let right: string;
8
+ let top: string;
9
+ let middle: string;
10
+ }
@@ -1,43 +1,43 @@
1
- /**
2
- * To change the icons, modify the SVGs in `./resources`, execute `npx svgo -f resources --datauri enc -o dist`,
3
- * and then replace respective icons with the optimized data URIs in `./dist`.
4
- */
5
- var icons = {
6
- align: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000">
7
- <line x1="200" y1="150" x2="200" y2="1850" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
8
- <rect x="500" y="150" width="1300" height="700" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
9
- <rect x="500" y="1150" width="700" height="700" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
10
- </svg>`,
11
- bottom: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
12
- <line x1="150" y1="1650" x2="1650" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
13
- <rect x="150" y="350" width="600" height="1300" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
14
- <rect x="1050" y="850" width="600" height="800" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
15
- </svg>`,
16
- center: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
17
- <line x1="900" y1="150" x2="900" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
18
- <rect x="250" y="150" width="1300" height="600" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
19
- <rect x="500" y="1050" width="800" height="600" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
20
- </svg>`,
21
- left: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
22
- <line x1="100" y1="150" x2="100" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
23
- <rect x="100" y="150" width="1300" height="600" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
24
- <rect x="100" y="1050" width="800" height="600" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
25
- </svg>`,
26
- right: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
27
- <line x1="1650" y1="150" x2="1650" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
28
- <rect x="350" y="150" width="1300" height="600" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
29
- <rect x="850" y="1050" width="800" height="600" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
30
- </svg>`,
31
- top: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
32
- <line x1="150" y1="150" x2="1650" y2="150" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
33
- <rect x="150" y="150" width="600" height="1300" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
34
- <rect x="1050" y="150" width="600" height="800" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
35
- </svg>`,
36
- middle: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
37
- <line x1="150" y1="900" x2="1650" y2="900" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
38
- <rect x="150" y="250" width="600" height="1300" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
39
- <rect x="1050" y="500" width="600" height="800" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
40
- </svg>`
41
- };
42
-
43
- export default icons;
1
+ /**
2
+ * To change the icons, modify the SVGs in `./resources`, execute `npx svgo -f resources --datauri enc -o dist`,
3
+ * and then replace respective icons with the optimized data URIs in `./dist`.
4
+ */
5
+ var icons = {
6
+ align: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000">
7
+ <line x1="200" y1="150" x2="200" y2="1850" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
8
+ <rect x="500" y="150" width="1300" height="700" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
9
+ <rect x="500" y="1150" width="700" height="700" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
10
+ </svg>`,
11
+ bottom: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
12
+ <line x1="150" y1="1650" x2="1650" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
13
+ <rect x="150" y="350" width="600" height="1300" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
14
+ <rect x="1050" y="850" width="600" height="800" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
15
+ </svg>`,
16
+ center: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
17
+ <line x1="900" y1="150" x2="900" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
18
+ <rect x="250" y="150" width="1300" height="600" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
19
+ <rect x="500" y="1050" width="800" height="600" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
20
+ </svg>`,
21
+ left: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
22
+ <line x1="100" y1="150" x2="100" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
23
+ <rect x="100" y="150" width="1300" height="600" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
24
+ <rect x="100" y="1050" width="800" height="600" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
25
+ </svg>`,
26
+ right: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
27
+ <line x1="1650" y1="150" x2="1650" y2="1650" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
28
+ <rect x="350" y="150" width="1300" height="600" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
29
+ <rect x="850" y="1050" width="800" height="600" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
30
+ </svg>`,
31
+ top: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
32
+ <line x1="150" y1="150" x2="1650" y2="150" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
33
+ <rect x="150" y="150" width="600" height="1300" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
34
+ <rect x="1050" y="150" width="600" height="800" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
35
+ </svg>`,
36
+ middle: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1800 1800">
37
+ <line x1="150" y1="900" x2="1650" y2="900" style="stroke:currentColor;stroke-width:100;stroke-linecap:round;"/>
38
+ <rect x="150" y="250" width="600" height="1300" rx="1" style="fill:none;stroke:currentColor;stroke-width:100;"></rect>
39
+ <rect x="1050" y="500" width="600" height="800" rx="1" style="fill:currentColor;stroke:currentColor;stroke-width:100;opacity:.5;"></rect>
40
+ </svg>`
41
+ };
42
+
43
+ export default icons;
@@ -1,32 +1,32 @@
1
- /**
2
- * A provider for the `Align elements` popup menu.
3
- *
4
- * @implements {PopupMenuProvider}
5
- *
6
- */
7
- export default class AlignElementsMenuProvider implements PopupMenuProvider {
8
- static $inject: string[];
9
-
10
- /**
11
- * @param popupMenu
12
- * @param alignElements
13
- * @param translate
14
- * @param rules
15
- */
16
- constructor(popupMenu: PopupMenu, alignElements: AlignElements, translate: Translate, rules: Rules);
17
-
18
- /**
19
- * @param target
20
- *
21
- * @return
22
- */
23
- getPopupMenuEntries(target: PopupMenuTarget): PopupMenuEntries;
24
- }
25
-
26
- type AlignElements = import("diagram-js/lib/features/align-elements/AlignElements").default;
27
- type PopupMenu = import("diagram-js/lib/features/popup-menu/PopupMenu").default;
28
- type Rules = import("diagram-js/lib/features/rules/Rules").default;
29
- export type Translate = typeof import("diagram-js/lib/i18n/translate/translate").default;
30
- type PopupMenuEntries = import("diagram-js/lib/features/popup-menu/PopupMenu").PopupMenuEntries;
31
- type PopupMenuProvider = import("diagram-js/lib/features/popup-menu/PopupMenuProvider").default;
32
- type PopupMenuTarget = import("diagram-js/lib/features/popup-menu/PopupMenu").PopupMenuTarget;
1
+ /**
2
+ * A provider for the `Align elements` popup menu.
3
+ *
4
+ * @implements {PopupMenuProvider}
5
+ *
6
+ */
7
+ export default class AlignElementsMenuProvider implements PopupMenuProvider {
8
+ static $inject: string[];
9
+
10
+ /**
11
+ * @param popupMenu
12
+ * @param alignElements
13
+ * @param translate
14
+ * @param rules
15
+ */
16
+ constructor(popupMenu: PopupMenu, alignElements: AlignElements, translate: Translate, rules: Rules);
17
+
18
+ /**
19
+ * @param target
20
+ *
21
+ * @return
22
+ */
23
+ getPopupMenuEntries(target: PopupMenuTarget): PopupMenuEntries;
24
+ }
25
+
26
+ type AlignElements = import("diagram-js/lib/features/align-elements/AlignElements").default;
27
+ type PopupMenu = import("diagram-js/lib/features/popup-menu/PopupMenu").default;
28
+ type Rules = import("diagram-js/lib/features/rules/Rules").default;
29
+ export type Translate = typeof import("diagram-js/lib/i18n/translate/translate").default;
30
+ type PopupMenuEntries = import("diagram-js/lib/features/popup-menu/PopupMenu").PopupMenuEntries;
31
+ type PopupMenuProvider = import("diagram-js/lib/features/popup-menu/PopupMenuProvider").default;
32
+ type PopupMenuTarget = import("diagram-js/lib/features/popup-menu/PopupMenu").PopupMenuTarget;
@@ -1,100 +1,100 @@
1
- import ICONS from './AlignElementsIcons';
2
-
3
- import {
4
- assign,
5
- forEach,
6
- } from 'min-dash';
7
-
8
- /**
9
- * @typedef {import('diagram-js/lib/features/align-elements/AlignElements').default} AlignElements
10
- * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').default} PopupMenu
11
- * @typedef {import('diagram-js/lib/features/rules/Rules').default} Rules
12
- * @typedef {import('diagram-js/lib/i18n/translate/translate').default} Translate
13
- *
14
- * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').PopupMenuEntries} PopupMenuEntries
15
- * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenuProvider').default} PopupMenuProvider
16
- * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').PopupMenuTarget} PopupMenuTarget
17
- */
18
-
19
- var ALIGNMENT_OPTIONS = [
20
- 'left',
21
- 'center',
22
- 'right',
23
- 'top',
24
- 'middle',
25
- 'bottom'
26
- ];
27
-
28
- /**
29
- * A provider for the `Align elements` popup menu.
30
- *
31
- * @implements {PopupMenuProvider}
32
- *
33
- * @param {PopupMenu} popupMenu
34
- * @param {AlignElements} alignElements
35
- * @param {Translate} translate
36
- * @param {Rules} rules
37
- */
38
- export default function AlignElementsMenuProvider(popupMenu, alignElements, translate, rules) {
39
-
40
- this._alignElements = alignElements;
41
- this._translate = translate;
42
- this._popupMenu = popupMenu;
43
- this._rules = rules;
44
-
45
- popupMenu.registerProvider('align-elements', this);
46
- }
47
-
48
- AlignElementsMenuProvider.$inject = [
49
- 'popupMenu',
50
- 'alignElements',
51
- 'translate',
52
- 'rules'
53
- ];
54
-
55
- /**
56
- * @param {PopupMenuTarget} target
57
- *
58
- * @return {PopupMenuEntries}
59
- */
60
- AlignElementsMenuProvider.prototype.getPopupMenuEntries = function(target) {
61
- var entries = {};
62
-
63
- if (this._isAllowed(target)) {
64
- assign(entries, this._getEntries(target));
65
- }
66
-
67
- return entries;
68
- };
69
-
70
- AlignElementsMenuProvider.prototype._isAllowed = function(target) {
71
- return this._rules.allowed('elements.align', { elements: target });
72
- };
73
-
74
- /**
75
- * @param {PopupMenuTarget} target
76
- *
77
- * @return {PopupMenuEntries}
78
- */
79
- AlignElementsMenuProvider.prototype._getEntries = function(target) {
80
- var alignElements = this._alignElements,
81
- translate = this._translate,
82
- popupMenu = this._popupMenu;
83
-
84
- var entries = {};
85
-
86
- forEach(ALIGNMENT_OPTIONS, function(alignment) {
87
- entries[ 'align-elements-' + alignment ] = {
88
- group: 'align',
89
- title: translate('Align elements ' + alignment),
90
- className: 'bjs-align-elements-menu-entry',
91
- imageHtml: ICONS[ alignment ],
92
- action: function() {
93
- alignElements.trigger(target, alignment);
94
- popupMenu.close();
95
- }
96
- };
97
- });
98
-
99
- return entries;
100
- };
1
+ import ICONS from './AlignElementsIcons';
2
+
3
+ import {
4
+ assign,
5
+ forEach,
6
+ } from 'min-dash';
7
+
8
+ /**
9
+ * @typedef {import('diagram-js/lib/features/align-elements/AlignElements').default} AlignElements
10
+ * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').default} PopupMenu
11
+ * @typedef {import('diagram-js/lib/features/rules/Rules').default} Rules
12
+ * @typedef {import('diagram-js/lib/i18n/translate/translate').default} Translate
13
+ *
14
+ * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').PopupMenuEntries} PopupMenuEntries
15
+ * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenuProvider').default} PopupMenuProvider
16
+ * @typedef {import('diagram-js/lib/features/popup-menu/PopupMenu').PopupMenuTarget} PopupMenuTarget
17
+ */
18
+
19
+ var ALIGNMENT_OPTIONS = [
20
+ 'left',
21
+ 'center',
22
+ 'right',
23
+ 'top',
24
+ 'middle',
25
+ 'bottom'
26
+ ];
27
+
28
+ /**
29
+ * A provider for the `Align elements` popup menu.
30
+ *
31
+ * @implements {PopupMenuProvider}
32
+ *
33
+ * @param {PopupMenu} popupMenu
34
+ * @param {AlignElements} alignElements
35
+ * @param {Translate} translate
36
+ * @param {Rules} rules
37
+ */
38
+ export default function AlignElementsMenuProvider(popupMenu, alignElements, translate, rules) {
39
+
40
+ this._alignElements = alignElements;
41
+ this._translate = translate;
42
+ this._popupMenu = popupMenu;
43
+ this._rules = rules;
44
+
45
+ popupMenu.registerProvider('align-elements', this);
46
+ }
47
+
48
+ AlignElementsMenuProvider.$inject = [
49
+ 'popupMenu',
50
+ 'alignElements',
51
+ 'translate',
52
+ 'rules'
53
+ ];
54
+
55
+ /**
56
+ * @param {PopupMenuTarget} target
57
+ *
58
+ * @return {PopupMenuEntries}
59
+ */
60
+ AlignElementsMenuProvider.prototype.getPopupMenuEntries = function(target) {
61
+ var entries = {};
62
+
63
+ if (this._isAllowed(target)) {
64
+ assign(entries, this._getEntries(target));
65
+ }
66
+
67
+ return entries;
68
+ };
69
+
70
+ AlignElementsMenuProvider.prototype._isAllowed = function(target) {
71
+ return this._rules.allowed('elements.align', { elements: target });
72
+ };
73
+
74
+ /**
75
+ * @param {PopupMenuTarget} target
76
+ *
77
+ * @return {PopupMenuEntries}
78
+ */
79
+ AlignElementsMenuProvider.prototype._getEntries = function(target) {
80
+ var alignElements = this._alignElements,
81
+ translate = this._translate,
82
+ popupMenu = this._popupMenu;
83
+
84
+ var entries = {};
85
+
86
+ forEach(ALIGNMENT_OPTIONS, function(alignment) {
87
+ entries[ 'align-elements-' + alignment ] = {
88
+ group: 'align',
89
+ title: translate('Align elements ' + alignment),
90
+ className: 'bjs-align-elements-menu-entry',
91
+ imageHtml: ICONS[ alignment ],
92
+ action: function() {
93
+ alignElements.trigger(target, alignment);
94
+ popupMenu.close();
95
+ }
96
+ };
97
+ });
98
+
99
+ return entries;
100
+ };
@@ -1,9 +1,9 @@
1
- /**
2
- * Rule provider for aligning BPMN elements.
3
- *
4
- */
5
- export default class BpmnAlignElements extends RuleProvider {
6
- }
7
-
8
- type EventBus = import("diagram-js/lib/core/EventBus").default;
9
- import RuleProvider from 'diagram-js/lib/features/rules/RuleProvider';
1
+ /**
2
+ * Rule provider for aligning BPMN elements.
3
+ *
4
+ */
5
+ export default class BpmnAlignElements extends RuleProvider {
6
+ }
7
+
8
+ type EventBus = import("diagram-js/lib/core/EventBus").default;
9
+ import RuleProvider from 'diagram-js/lib/features/rules/RuleProvider';