bpmn-js 17.6.0 → 17.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 (339) hide show
  1. package/LICENSE +23 -23
  2. package/README.md +93 -93
  3. package/dist/assets/bpmn-js.css +145 -145
  4. package/dist/assets/diagram-js.css +966 -969
  5. package/dist/bpmn-modeler.development.js +59330 -59198
  6. package/dist/bpmn-modeler.production.min.js +8 -8
  7. package/dist/bpmn-navigated-viewer.development.js +22449 -22449
  8. package/dist/bpmn-navigated-viewer.production.min.js +1 -1
  9. package/dist/bpmn-viewer.development.js +21433 -21433
  10. package/dist/bpmn-viewer.production.min.js +1 -1
  11. package/index.js +2 -2
  12. package/lib/BaseModeler.d.ts +15 -15
  13. package/lib/BaseModeler.js +79 -79
  14. package/lib/BaseViewer.d.ts +352 -352
  15. package/lib/BaseViewer.js +858 -858
  16. package/lib/Modeler.d.ts +86 -86
  17. package/lib/Modeler.js +204 -204
  18. package/lib/NavigatedViewer.d.ts +11 -11
  19. package/lib/NavigatedViewer.js +37 -37
  20. package/lib/Viewer.d.ts +47 -47
  21. package/lib/Viewer.js +78 -78
  22. package/lib/core/index.d.ts +10 -10
  23. package/lib/core/index.js +8 -8
  24. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  25. package/lib/draw/BpmnRenderUtil.js +256 -256
  26. package/lib/draw/BpmnRenderer.d.ts +114 -114
  27. package/lib/draw/BpmnRenderer.js +2340 -2340
  28. package/lib/draw/PathMap.d.ts +330 -330
  29. package/lib/draw/PathMap.js +478 -478
  30. package/lib/draw/TextRenderer.d.ts +74 -74
  31. package/lib/draw/TextRenderer.js +136 -136
  32. package/lib/draw/index.d.ts +10 -10
  33. package/lib/draw/index.js +11 -11
  34. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  35. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  36. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  37. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  38. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  39. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  40. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  41. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  42. package/lib/features/align-elements/index.d.ts +11 -11
  43. package/lib/features/align-elements/index.js +23 -23
  44. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  45. package/lib/features/append-preview/AppendPreview.js +108 -108
  46. package/lib/features/append-preview/index.d.ts +16 -16
  47. package/lib/features/append-preview/index.js +15 -15
  48. package/lib/features/auto-place/BpmnAutoPlace.d.ts +13 -13
  49. package/lib/features/auto-place/BpmnAutoPlace.js +20 -20
  50. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +47 -47
  51. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +225 -225
  52. package/lib/features/auto-place/index.d.ts +7 -7
  53. package/lib/features/auto-place/index.js +8 -8
  54. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  55. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  56. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  57. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  58. package/lib/features/auto-resize/index.d.ts +8 -8
  59. package/lib/features/auto-resize/index.js +12 -12
  60. package/lib/features/context-pad/ContextPadProvider.d.ts +73 -73
  61. package/lib/features/context-pad/ContextPadProvider.js +591 -591
  62. package/lib/features/context-pad/index.d.ts +7 -7
  63. package/lib/features/context-pad/index.js +22 -22
  64. package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
  65. package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
  66. package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
  67. package/lib/features/copy-paste/ModdleCopy.js +275 -275
  68. package/lib/features/copy-paste/index.d.ts +9 -9
  69. package/lib/features/copy-paste/index.js +13 -13
  70. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  71. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  72. package/lib/features/di-ordering/index.d.ts +6 -6
  73. package/lib/features/di-ordering/index.js +7 -7
  74. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  75. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  76. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  77. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  78. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  79. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  80. package/lib/features/distribute-elements/index.d.ts +9 -9
  81. package/lib/features/distribute-elements/index.js +19 -19
  82. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  83. package/lib/features/drilldown/DrilldownBreadcrumbs.js +131 -131
  84. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  85. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  86. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +18 -18
  87. package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
  88. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  89. package/lib/features/drilldown/SubprocessCompatibility.js +268 -268
  90. package/lib/features/drilldown/index.d.ts +13 -13
  91. package/lib/features/drilldown/index.js +16 -16
  92. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  93. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  94. package/lib/features/editor-actions/index.d.ts +6 -6
  95. package/lib/features/editor-actions/index.js +10 -10
  96. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  97. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +12 -12
  98. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  99. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  100. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  101. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  102. package/lib/features/grid-snapping/index.d.ts +11 -11
  103. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  104. package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
  105. package/lib/features/interaction-events/index.d.ts +6 -6
  106. package/lib/features/interaction-events/index.js +5 -5
  107. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  108. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  109. package/lib/features/keyboard/index.d.ts +7 -7
  110. package/lib/features/keyboard/index.js +11 -11
  111. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  112. package/lib/features/label-editing/LabelEditingPreview.js +144 -144
  113. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  114. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  115. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  116. package/lib/features/label-editing/LabelUtil.js +4 -4
  117. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  118. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  119. package/lib/features/label-editing/index.d.ts +9 -9
  120. package/lib/features/label-editing/index.js +21 -21
  121. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  122. package/lib/features/modeling/BpmnFactory.js +180 -180
  123. package/lib/features/modeling/BpmnLayouter.d.ts +26 -26
  124. package/lib/features/modeling/BpmnLayouter.js +481 -481
  125. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  126. package/lib/features/modeling/BpmnUpdater.js +837 -837
  127. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  128. package/lib/features/modeling/ElementFactory.js +406 -406
  129. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  130. package/lib/features/modeling/Modeling.d.ts +150 -150
  131. package/lib/features/modeling/Modeling.js +307 -307
  132. package/lib/features/modeling/Modeling.test.ts +147 -147
  133. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
  134. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
  135. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  136. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  137. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  138. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  139. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  140. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  141. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  142. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  143. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  144. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  145. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  146. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  147. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  148. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  149. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  150. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  151. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  152. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  153. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  154. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  155. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  156. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  157. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  158. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  159. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  160. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  161. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  162. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  163. package/lib/features/modeling/behavior/GroupBehavior.js +332 -332
  164. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  165. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  166. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  167. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  168. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  169. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  170. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  171. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  172. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  173. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  174. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  175. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  176. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  177. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  178. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  179. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  180. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
  181. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  182. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  183. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  184. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  185. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
  186. package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
  187. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  188. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  189. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  190. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  191. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  192. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  193. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  194. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  195. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
  196. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  197. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  198. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  199. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  200. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  201. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  202. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  203. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  204. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  205. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  206. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  207. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  208. package/lib/features/modeling/behavior/index.d.ts +2 -2
  209. package/lib/features/modeling/behavior/index.js +128 -128
  210. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  211. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  212. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  213. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  214. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  215. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  216. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  217. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  218. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  219. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  220. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  221. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  222. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  223. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  224. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  225. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  226. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  227. package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
  228. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  229. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  230. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  231. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  232. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  233. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  234. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  235. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  236. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  237. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  238. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  239. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  240. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  241. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  242. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  243. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  244. package/lib/features/modeling/index.d.ts +27 -27
  245. package/lib/features/modeling/index.js +45 -45
  246. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  247. package/lib/features/modeling/util/LaneUtil.js +188 -188
  248. package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
  249. package/lib/features/modeling/util/ModelingUtil.js +54 -54
  250. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  251. package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
  252. package/lib/features/modeling-feedback/index.d.ts +7 -7
  253. package/lib/features/modeling-feedback/index.js +12 -12
  254. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  255. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  256. package/lib/features/ordering/index.d.ts +6 -6
  257. package/lib/features/ordering/index.js +5 -5
  258. package/lib/features/outline/OutlineProvider.d.ts +34 -34
  259. package/lib/features/outline/OutlineProvider.js +179 -179
  260. package/lib/features/outline/OutlineUtil.d.ts +18 -18
  261. package/lib/features/outline/OutlineUtil.js +31 -31
  262. package/lib/features/outline/index.d.ts +7 -7
  263. package/lib/features/outline/index.js +10 -10
  264. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  265. package/lib/features/palette/PaletteProvider.js +214 -214
  266. package/lib/features/palette/index.d.ts +9 -9
  267. package/lib/features/palette/index.js +23 -23
  268. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  269. package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
  270. package/lib/features/popup-menu/index.d.ts +11 -11
  271. package/lib/features/popup-menu/index.js +16 -16
  272. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  273. package/lib/features/popup-menu/util/Icons.js +14 -14
  274. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  275. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  276. package/lib/features/replace/BpmnReplace.d.ts +47 -47
  277. package/lib/features/replace/BpmnReplace.js +382 -382
  278. package/lib/features/replace/ReplaceOptions.d.ts +75 -75
  279. package/lib/features/replace/ReplaceOptions.js +919 -919
  280. package/lib/features/replace/index.d.ts +9 -9
  281. package/lib/features/replace/index.js +14 -14
  282. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  283. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  284. package/lib/features/replace-preview/index.d.ts +7 -7
  285. package/lib/features/replace-preview/index.js +11 -11
  286. package/lib/features/rules/BpmnRules.d.ts +181 -181
  287. package/lib/features/rules/BpmnRules.js +1191 -1191
  288. package/lib/features/rules/index.d.ts +7 -7
  289. package/lib/features/rules/index.js +11 -11
  290. package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
  291. package/lib/features/search/BpmnSearchProvider.js +136 -136
  292. package/lib/features/search/index.d.ts +7 -7
  293. package/lib/features/search/index.js +12 -12
  294. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  295. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  296. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  297. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  298. package/lib/features/snapping/index.d.ts +9 -9
  299. package/lib/features/snapping/index.js +12 -12
  300. package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
  301. package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
  302. package/lib/features/space-tool/index.d.ts +6 -6
  303. package/lib/features/space-tool/index.js +7 -7
  304. package/lib/import/BpmnImporter.d.ts +51 -51
  305. package/lib/import/BpmnImporter.js +363 -363
  306. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  307. package/lib/import/BpmnTreeWalker.js +453 -453
  308. package/lib/import/Importer.d.ts +25 -25
  309. package/lib/import/Importer.js +217 -217
  310. package/lib/import/Util.d.ts +1 -1
  311. package/lib/import/Util.js +6 -6
  312. package/lib/import/index.d.ts +6 -6
  313. package/lib/import/index.js +9 -9
  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 +262 -262
  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 +132 -132
  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,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} 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} 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
- const align: string;
4
- const bottom: string;
5
- const center: string;
6
- const left: string;
7
- const right: string;
8
- const top: string;
9
- const middle: string;
10
- }
1
+ export default icons;
2
+ declare namespace icons {
3
+ const align: string;
4
+ const bottom: string;
5
+ const center: string;
6
+ const left: string;
7
+ const right: string;
8
+ const top: string;
9
+ const 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';