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.
- package/LICENSE +23 -23
- package/README.md +93 -93
- package/dist/assets/bpmn-js.css +145 -145
- package/dist/assets/diagram-js.css +966 -969
- package/dist/bpmn-modeler.development.js +59330 -59198
- package/dist/bpmn-modeler.production.min.js +8 -8
- package/dist/bpmn-navigated-viewer.development.js +22449 -22449
- package/dist/bpmn-navigated-viewer.production.min.js +1 -1
- package/dist/bpmn-viewer.development.js +21433 -21433
- package/dist/bpmn-viewer.production.min.js +1 -1
- package/index.js +2 -2
- package/lib/BaseModeler.d.ts +15 -15
- package/lib/BaseModeler.js +79 -79
- package/lib/BaseViewer.d.ts +352 -352
- package/lib/BaseViewer.js +858 -858
- package/lib/Modeler.d.ts +86 -86
- package/lib/Modeler.js +204 -204
- package/lib/NavigatedViewer.d.ts +11 -11
- package/lib/NavigatedViewer.js +37 -37
- package/lib/Viewer.d.ts +47 -47
- package/lib/Viewer.js +78 -78
- package/lib/core/index.d.ts +10 -10
- package/lib/core/index.js +8 -8
- package/lib/draw/BpmnRenderUtil.d.ts +123 -123
- package/lib/draw/BpmnRenderUtil.js +256 -256
- package/lib/draw/BpmnRenderer.d.ts +114 -114
- package/lib/draw/BpmnRenderer.js +2340 -2340
- package/lib/draw/PathMap.d.ts +330 -330
- package/lib/draw/PathMap.js +478 -478
- package/lib/draw/TextRenderer.d.ts +74 -74
- package/lib/draw/TextRenderer.js +136 -136
- package/lib/draw/index.d.ts +10 -10
- package/lib/draw/index.js +11 -11
- package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
- package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
- package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
- package/lib/features/align-elements/AlignElementsIcons.js +43 -43
- package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
- package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
- package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
- package/lib/features/align-elements/BpmnAlignElements.js +45 -45
- package/lib/features/align-elements/index.d.ts +11 -11
- package/lib/features/align-elements/index.js +23 -23
- package/lib/features/append-preview/AppendPreview.d.ts +36 -36
- package/lib/features/append-preview/AppendPreview.js +108 -108
- package/lib/features/append-preview/index.d.ts +16 -16
- package/lib/features/append-preview/index.js +15 -15
- package/lib/features/auto-place/BpmnAutoPlace.d.ts +13 -13
- package/lib/features/auto-place/BpmnAutoPlace.js +20 -20
- package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +47 -47
- package/lib/features/auto-place/BpmnAutoPlaceUtil.js +225 -225
- package/lib/features/auto-place/index.d.ts +7 -7
- package/lib/features/auto-place/index.js +8 -8
- package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
- package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
- package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
- package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
- package/lib/features/auto-resize/index.d.ts +8 -8
- package/lib/features/auto-resize/index.js +12 -12
- package/lib/features/context-pad/ContextPadProvider.d.ts +73 -73
- package/lib/features/context-pad/ContextPadProvider.js +591 -591
- package/lib/features/context-pad/index.d.ts +7 -7
- package/lib/features/context-pad/index.js +22 -22
- package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
- package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
- package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
- package/lib/features/copy-paste/ModdleCopy.js +275 -275
- package/lib/features/copy-paste/index.d.ts +9 -9
- package/lib/features/copy-paste/index.js +13 -13
- package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
- package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
- package/lib/features/di-ordering/index.d.ts +6 -6
- package/lib/features/di-ordering/index.js +7 -7
- package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
- package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
- package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
- package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
- package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
- package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
- package/lib/features/distribute-elements/index.d.ts +9 -9
- package/lib/features/distribute-elements/index.js +19 -19
- package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
- package/lib/features/drilldown/DrilldownBreadcrumbs.js +131 -131
- package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
- package/lib/features/drilldown/DrilldownCentering.js +122 -122
- package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +18 -18
- package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
- package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
- package/lib/features/drilldown/SubprocessCompatibility.js +268 -268
- package/lib/features/drilldown/index.d.ts +13 -13
- package/lib/features/drilldown/index.js +16 -16
- package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
- package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
- package/lib/features/editor-actions/index.d.ts +6 -6
- package/lib/features/editor-actions/index.js +10 -10
- package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
- package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +12 -12
- package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
- package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
- package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
- package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
- package/lib/features/grid-snapping/index.d.ts +11 -11
- package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
- package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
- package/lib/features/interaction-events/index.d.ts +6 -6
- package/lib/features/interaction-events/index.js +5 -5
- package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
- package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
- package/lib/features/keyboard/index.d.ts +7 -7
- package/lib/features/keyboard/index.js +11 -11
- package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
- package/lib/features/label-editing/LabelEditingPreview.js +144 -144
- package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
- package/lib/features/label-editing/LabelEditingProvider.js +519 -519
- package/lib/features/label-editing/LabelUtil.d.ts +1 -1
- package/lib/features/label-editing/LabelUtil.js +4 -4
- package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
- package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
- package/lib/features/label-editing/index.d.ts +9 -9
- package/lib/features/label-editing/index.js +21 -21
- package/lib/features/modeling/BpmnFactory.d.ts +73 -73
- package/lib/features/modeling/BpmnFactory.js +180 -180
- package/lib/features/modeling/BpmnLayouter.d.ts +26 -26
- package/lib/features/modeling/BpmnLayouter.js +481 -481
- package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
- package/lib/features/modeling/BpmnUpdater.js +837 -837
- package/lib/features/modeling/ElementFactory.d.ts +117 -117
- package/lib/features/modeling/ElementFactory.js +406 -406
- package/lib/features/modeling/ElementFactory.test.ts +132 -132
- package/lib/features/modeling/Modeling.d.ts +150 -150
- package/lib/features/modeling/Modeling.js +307 -307
- package/lib/features/modeling/Modeling.test.ts +147 -147
- package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
- package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
- package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
- package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
- package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
- package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
- package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
- package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
- package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
- package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
- package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
- package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
- package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
- package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
- package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
- package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
- package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
- package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
- package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
- package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
- package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
- package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
- package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
- package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
- package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
- package/lib/features/modeling/behavior/GroupBehavior.js +332 -332
- package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
- package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
- package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
- package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
- package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
- package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
- package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
- package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
- package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
- package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
- package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
- package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
- package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
- package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
- package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
- package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
- package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
- package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
- package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
- package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
- package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
- package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
- package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
- package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
- package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
- package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
- package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
- package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
- package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
- package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
- package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
- package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
- package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
- package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
- package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
- package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
- package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
- package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
- package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
- package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
- package/lib/features/modeling/behavior/index.d.ts +2 -2
- package/lib/features/modeling/behavior/index.js +128 -128
- package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
- package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
- package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
- package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
- package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
- package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
- package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
- package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
- package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
- package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
- package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
- package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
- package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
- package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
- package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
- package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
- package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
- package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
- package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
- package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
- package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
- package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
- package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
- package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
- package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
- package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
- package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
- package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
- package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
- package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
- package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
- package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
- package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
- package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
- package/lib/features/modeling/index.d.ts +27 -27
- package/lib/features/modeling/index.js +45 -45
- package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
- package/lib/features/modeling/util/LaneUtil.js +188 -188
- package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
- package/lib/features/modeling/util/ModelingUtil.js +54 -54
- package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
- package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
- package/lib/features/modeling-feedback/index.d.ts +7 -7
- package/lib/features/modeling-feedback/index.js +12 -12
- package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
- package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
- package/lib/features/ordering/index.d.ts +6 -6
- package/lib/features/ordering/index.js +5 -5
- package/lib/features/outline/OutlineProvider.d.ts +34 -34
- package/lib/features/outline/OutlineProvider.js +179 -179
- package/lib/features/outline/OutlineUtil.d.ts +18 -18
- package/lib/features/outline/OutlineUtil.js +31 -31
- package/lib/features/outline/index.d.ts +7 -7
- package/lib/features/outline/index.js +10 -10
- package/lib/features/palette/PaletteProvider.d.ts +34 -34
- package/lib/features/palette/PaletteProvider.js +214 -214
- package/lib/features/palette/index.d.ts +9 -9
- package/lib/features/palette/index.js +23 -23
- package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
- package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
- package/lib/features/popup-menu/index.d.ts +11 -11
- package/lib/features/popup-menu/index.js +16 -16
- package/lib/features/popup-menu/util/Icons.d.ts +5 -5
- package/lib/features/popup-menu/util/Icons.js +14 -14
- package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
- package/lib/features/popup-menu/util/TypeUtil.js +52 -52
- package/lib/features/replace/BpmnReplace.d.ts +47 -47
- package/lib/features/replace/BpmnReplace.js +382 -382
- package/lib/features/replace/ReplaceOptions.d.ts +75 -75
- package/lib/features/replace/ReplaceOptions.js +919 -919
- package/lib/features/replace/index.d.ts +9 -9
- package/lib/features/replace/index.js +14 -14
- package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
- package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
- package/lib/features/replace-preview/index.d.ts +7 -7
- package/lib/features/replace-preview/index.js +11 -11
- package/lib/features/rules/BpmnRules.d.ts +181 -181
- package/lib/features/rules/BpmnRules.js +1191 -1191
- package/lib/features/rules/index.d.ts +7 -7
- package/lib/features/rules/index.js +11 -11
- package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
- package/lib/features/search/BpmnSearchProvider.js +136 -136
- package/lib/features/search/index.d.ts +7 -7
- package/lib/features/search/index.js +12 -12
- package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
- package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
- package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
- package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
- package/lib/features/snapping/index.d.ts +9 -9
- package/lib/features/snapping/index.js +12 -12
- package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
- package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
- package/lib/features/space-tool/index.d.ts +6 -6
- package/lib/features/space-tool/index.js +7 -7
- package/lib/import/BpmnImporter.d.ts +51 -51
- package/lib/import/BpmnImporter.js +363 -363
- package/lib/import/BpmnTreeWalker.d.ts +20 -20
- package/lib/import/BpmnTreeWalker.js +453 -453
- package/lib/import/Importer.d.ts +25 -25
- package/lib/import/Importer.js +217 -217
- package/lib/import/Util.d.ts +1 -1
- package/lib/import/Util.js +6 -6
- package/lib/import/index.d.ts +6 -6
- package/lib/import/index.js +9 -9
- package/lib/model/Types.d.ts +25 -25
- package/lib/model/Types.ts +40 -40
- package/lib/util/CompatibilityUtil.d.ts +8 -8
- package/lib/util/CompatibilityUtil.js +29 -29
- package/lib/util/DiUtil.d.ts +60 -60
- package/lib/util/DiUtil.js +122 -122
- package/lib/util/DrilldownUtil.d.ts +39 -39
- package/lib/util/DrilldownUtil.js +69 -69
- package/lib/util/LabelUtil.d.ts +83 -83
- package/lib/util/LabelUtil.js +262 -262
- package/lib/util/ModelUtil.d.ts +40 -40
- package/lib/util/ModelUtil.js +58 -58
- package/lib/util/PoweredByUtil.d.ts +8 -8
- package/lib/util/PoweredByUtil.js +99 -99
- package/lib/util/Types.js +4 -4
- package/lib/util/Types.ts +3 -3
- package/package.json +132 -132
- package/test/helper/TranslationCollector.js +15 -15
- package/test/helper/index.js +313 -313
- package/test/matchers/BoundsMatchers.js +252 -252
- package/test/matchers/ConnectionMatchers.js +165 -165
- package/test/matchers/JSONMatcher.js +19 -19
- package/test/util/KeyEvents.js +22 -22
- package/test/util/MockEvents.js +61 -61
- package/test/util/custom-rules/CustomRules.js +16 -16
- package/test/util/custom-rules/index.js +6 -6
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { is } from '../../../util/ModelUtil';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
roundBounds
|
|
5
|
-
} from 'diagram-js/lib/layout/LayoutUtil';
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
hasPrimaryModifier
|
|
9
|
-
} from 'diagram-js/lib/util/Mouse';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
|
|
13
|
-
* @typedef {import('../Modeling').default} Modeling
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
var SLIGHTLY_HIGHER_PRIORITY = 1001;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Invoke {@link Modeling#resizeLane} instead of {@link Modeling#resizeShape}
|
|
21
|
-
* when resizing a lane or participant shape.
|
|
22
|
-
*
|
|
23
|
-
* @param {EventBus} eventBus
|
|
24
|
-
* @param {Modeling} modeling
|
|
25
|
-
*/
|
|
26
|
-
export default function ResizeLaneBehavior(eventBus, modeling) {
|
|
27
|
-
|
|
28
|
-
eventBus.on('resize.start', SLIGHTLY_HIGHER_PRIORITY + 500, function(event) {
|
|
29
|
-
var context = event.context,
|
|
30
|
-
shape = context.shape;
|
|
31
|
-
|
|
32
|
-
if (is(shape, 'bpmn:Lane') || is(shape, 'bpmn:Participant')) {
|
|
33
|
-
|
|
34
|
-
// should we resize the opposite lane(s) in
|
|
35
|
-
// order to compensate for the resize operation?
|
|
36
|
-
context.balanced = !hasPrimaryModifier(event);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Intercept resize end and call resize lane function instead.
|
|
42
|
-
*/
|
|
43
|
-
eventBus.on('resize.end', SLIGHTLY_HIGHER_PRIORITY, function(event) {
|
|
44
|
-
var context = event.context,
|
|
45
|
-
shape = context.shape,
|
|
46
|
-
canExecute = context.canExecute,
|
|
47
|
-
newBounds = context.newBounds;
|
|
48
|
-
|
|
49
|
-
if (is(shape, 'bpmn:Lane') || is(shape, 'bpmn:Participant')) {
|
|
50
|
-
|
|
51
|
-
if (canExecute) {
|
|
52
|
-
|
|
53
|
-
// ensure we have actual pixel values for new bounds
|
|
54
|
-
// (important when zoom level was > 1 during move)
|
|
55
|
-
newBounds = roundBounds(newBounds);
|
|
56
|
-
|
|
57
|
-
// perform the actual resize
|
|
58
|
-
modeling.resizeLane(shape, newBounds, context.balanced);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// stop propagation
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
ResizeLaneBehavior.$inject = [
|
|
68
|
-
'eventBus',
|
|
69
|
-
'modeling'
|
|
70
|
-
];
|
|
1
|
+
import { is } from '../../../util/ModelUtil';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
roundBounds
|
|
5
|
+
} from 'diagram-js/lib/layout/LayoutUtil';
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
hasPrimaryModifier
|
|
9
|
+
} from 'diagram-js/lib/util/Mouse';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
|
|
13
|
+
* @typedef {import('../Modeling').default} Modeling
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
var SLIGHTLY_HIGHER_PRIORITY = 1001;
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Invoke {@link Modeling#resizeLane} instead of {@link Modeling#resizeShape}
|
|
21
|
+
* when resizing a lane or participant shape.
|
|
22
|
+
*
|
|
23
|
+
* @param {EventBus} eventBus
|
|
24
|
+
* @param {Modeling} modeling
|
|
25
|
+
*/
|
|
26
|
+
export default function ResizeLaneBehavior(eventBus, modeling) {
|
|
27
|
+
|
|
28
|
+
eventBus.on('resize.start', SLIGHTLY_HIGHER_PRIORITY + 500, function(event) {
|
|
29
|
+
var context = event.context,
|
|
30
|
+
shape = context.shape;
|
|
31
|
+
|
|
32
|
+
if (is(shape, 'bpmn:Lane') || is(shape, 'bpmn:Participant')) {
|
|
33
|
+
|
|
34
|
+
// should we resize the opposite lane(s) in
|
|
35
|
+
// order to compensate for the resize operation?
|
|
36
|
+
context.balanced = !hasPrimaryModifier(event);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Intercept resize end and call resize lane function instead.
|
|
42
|
+
*/
|
|
43
|
+
eventBus.on('resize.end', SLIGHTLY_HIGHER_PRIORITY, function(event) {
|
|
44
|
+
var context = event.context,
|
|
45
|
+
shape = context.shape,
|
|
46
|
+
canExecute = context.canExecute,
|
|
47
|
+
newBounds = context.newBounds;
|
|
48
|
+
|
|
49
|
+
if (is(shape, 'bpmn:Lane') || is(shape, 'bpmn:Participant')) {
|
|
50
|
+
|
|
51
|
+
if (canExecute) {
|
|
52
|
+
|
|
53
|
+
// ensure we have actual pixel values for new bounds
|
|
54
|
+
// (important when zoom level was > 1 during move)
|
|
55
|
+
newBounds = roundBounds(newBounds);
|
|
56
|
+
|
|
57
|
+
// perform the actual resize
|
|
58
|
+
modeling.resizeLane(shape, newBounds, context.balanced);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// stop propagation
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
ResizeLaneBehavior.$inject = [
|
|
68
|
+
'eventBus',
|
|
69
|
+
'modeling'
|
|
70
|
+
];
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Add referenced root elements (error, escalation, message, signal) if they don't exist.
|
|
3
|
-
* Copy referenced root elements on copy & paste.
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
export default class RootElementReferenceBehavior extends CommandInterceptor {
|
|
7
|
-
/**
|
|
8
|
-
* @param bpmnjs
|
|
9
|
-
* @param eventBus
|
|
10
|
-
* @param injector
|
|
11
|
-
* @param moddleCopy
|
|
12
|
-
* @param bpmnFactory
|
|
13
|
-
*/
|
|
14
|
-
constructor(bpmnjs: Modeler, eventBus: EventBus, injector: Injector, moddleCopy: ModdleCopy, bpmnFactory: BpmnFactory);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
type Modeler = import('../../../Modeler').default;
|
|
18
|
-
type EventBus = import('diagram-js/lib/core/EventBus').default;
|
|
19
|
-
type Injector = import('didi').Injector;
|
|
20
|
-
type ModdleCopy = import('../../copy-paste/ModdleCopy').default;
|
|
21
|
-
type BpmnFactory = import('../BpmnFactory').default;
|
|
22
|
-
type Element = import('../../../model/Types').Element;
|
|
23
|
-
type Shape = import('../../../model/Types').Shape;
|
|
24
|
-
type DirectionTRBL = import('diagram-js/lib/util/Types').DirectionTRBL;
|
|
25
|
-
import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
|
|
1
|
+
/**
|
|
2
|
+
* Add referenced root elements (error, escalation, message, signal) if they don't exist.
|
|
3
|
+
* Copy referenced root elements on copy & paste.
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
export default class RootElementReferenceBehavior extends CommandInterceptor {
|
|
7
|
+
/**
|
|
8
|
+
* @param bpmnjs
|
|
9
|
+
* @param eventBus
|
|
10
|
+
* @param injector
|
|
11
|
+
* @param moddleCopy
|
|
12
|
+
* @param bpmnFactory
|
|
13
|
+
*/
|
|
14
|
+
constructor(bpmnjs: Modeler, eventBus: EventBus, injector: Injector, moddleCopy: ModdleCopy, bpmnFactory: BpmnFactory);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type Modeler = import('../../../Modeler').default;
|
|
18
|
+
type EventBus = import('diagram-js/lib/core/EventBus').default;
|
|
19
|
+
type Injector = import('didi').Injector;
|
|
20
|
+
type ModdleCopy = import('../../copy-paste/ModdleCopy').default;
|
|
21
|
+
type BpmnFactory = import('../BpmnFactory').default;
|
|
22
|
+
type Element = import('../../../model/Types').Element;
|
|
23
|
+
type Shape = import('../../../model/Types').Shape;
|
|
24
|
+
type DirectionTRBL = import('diagram-js/lib/util/Types').DirectionTRBL;
|
|
25
|
+
import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export default class SpaceToolBehavior {
|
|
2
|
-
static $inject: string[];
|
|
3
|
-
/**
|
|
4
|
-
* @param eventBus
|
|
5
|
-
*/
|
|
6
|
-
constructor(eventBus: EventBus);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
type EventBus = import('diagram-js/lib/core/EventBus').default;
|
|
10
|
-
type Shape = import('../../../model/Types').Shape;
|
|
1
|
+
export default class SpaceToolBehavior {
|
|
2
|
+
static $inject: string[];
|
|
3
|
+
/**
|
|
4
|
+
* @param eventBus
|
|
5
|
+
*/
|
|
6
|
+
constructor(eventBus: EventBus);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
type EventBus = import('diagram-js/lib/core/EventBus').default;
|
|
10
|
+
type Shape = import('../../../model/Types').Shape;
|
|
@@ -1,207 +1,207 @@
|
|
|
1
|
-
import { forEach } from 'min-dash';
|
|
2
|
-
|
|
3
|
-
import { is } from '../../../util/ModelUtil';
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
isExpanded,
|
|
7
|
-
isHorizontal
|
|
8
|
-
} from '../../../util/DiUtil';
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
GROUP_MIN_DIMENSIONS,
|
|
12
|
-
LANE_MIN_DIMENSIONS,
|
|
13
|
-
VERTICAL_LANE_MIN_DIMENSIONS,
|
|
14
|
-
PARTICIPANT_MIN_DIMENSIONS,
|
|
15
|
-
VERTICAL_PARTICIPANT_MIN_DIMENSIONS,
|
|
16
|
-
SUB_PROCESS_MIN_DIMENSIONS,
|
|
17
|
-
TEXT_ANNOTATION_MIN_DIMENSIONS
|
|
18
|
-
} from './ResizeBehavior';
|
|
19
|
-
|
|
20
|
-
import { getChildLanes } from '../util/LaneUtil';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
|
|
24
|
-
*
|
|
25
|
-
* @typedef {import('../../../model/Types').Shape} Shape
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
var max = Math.max;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @param {EventBus} eventBus
|
|
32
|
-
*/
|
|
33
|
-
export default function SpaceToolBehavior(eventBus) {
|
|
34
|
-
eventBus.on('spaceTool.getMinDimensions', function(context) {
|
|
35
|
-
var shapes = context.shapes,
|
|
36
|
-
axis = context.axis,
|
|
37
|
-
start = context.start,
|
|
38
|
-
minDimensions = {};
|
|
39
|
-
|
|
40
|
-
forEach(shapes, function(shape) {
|
|
41
|
-
var id = shape.id;
|
|
42
|
-
|
|
43
|
-
if (is(shape, 'bpmn:Participant')) {
|
|
44
|
-
minDimensions[ id ] = getParticipantMinDimensions(shape, axis, start);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (is(shape, 'bpmn:Lane')) {
|
|
48
|
-
minDimensions[ id ] = isHorizontal(shape) ? LANE_MIN_DIMENSIONS : VERTICAL_LANE_MIN_DIMENSIONS;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (is(shape, 'bpmn:SubProcess') && isExpanded(shape)) {
|
|
52
|
-
minDimensions[ id ] = SUB_PROCESS_MIN_DIMENSIONS;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (is(shape, 'bpmn:TextAnnotation')) {
|
|
56
|
-
minDimensions[ id ] = TEXT_ANNOTATION_MIN_DIMENSIONS;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (is(shape, 'bpmn:Group')) {
|
|
60
|
-
minDimensions[ id ] = GROUP_MIN_DIMENSIONS;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
return minDimensions;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
SpaceToolBehavior.$inject = [ 'eventBus' ];
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// helpers //////////
|
|
72
|
-
function isHorizontalAxis(axis) {
|
|
73
|
-
return axis === 'x';
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Get minimum dimensions for participant taking lanes into account.
|
|
78
|
-
*
|
|
79
|
-
* @param {Shape} participant
|
|
80
|
-
* @param {Axis} axis
|
|
81
|
-
* @param {number} start
|
|
82
|
-
*
|
|
83
|
-
* @return {number}
|
|
84
|
-
*/
|
|
85
|
-
function getParticipantMinDimensions(participant, axis, start) {
|
|
86
|
-
var isHorizontalLane = isHorizontal(participant);
|
|
87
|
-
|
|
88
|
-
if (!hasChildLanes(participant)) {
|
|
89
|
-
return isHorizontalLane ? PARTICIPANT_MIN_DIMENSIONS : VERTICAL_PARTICIPANT_MIN_DIMENSIONS;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
var isHorizontalResize = isHorizontalAxis(axis);
|
|
93
|
-
var minDimensions = {};
|
|
94
|
-
|
|
95
|
-
if (isHorizontalResize) {
|
|
96
|
-
if (isHorizontalLane) {
|
|
97
|
-
minDimensions = PARTICIPANT_MIN_DIMENSIONS;
|
|
98
|
-
} else {
|
|
99
|
-
minDimensions = {
|
|
100
|
-
width: getParticipantMinWidth(participant, start, isHorizontalResize),
|
|
101
|
-
height: VERTICAL_PARTICIPANT_MIN_DIMENSIONS.height
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
} else {
|
|
106
|
-
if (isHorizontalLane) {
|
|
107
|
-
minDimensions = {
|
|
108
|
-
width: PARTICIPANT_MIN_DIMENSIONS.width,
|
|
109
|
-
height: getParticipantMinHeight(participant, start, isHorizontalResize)
|
|
110
|
-
};
|
|
111
|
-
} else {
|
|
112
|
-
minDimensions = VERTICAL_PARTICIPANT_MIN_DIMENSIONS;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
return minDimensions;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Get minimum height for participant taking lanes into account.
|
|
121
|
-
*
|
|
122
|
-
* @param {Shape} participant
|
|
123
|
-
* @param {number} start
|
|
124
|
-
* @param {boolean} isHorizontalResize
|
|
125
|
-
*
|
|
126
|
-
* @return {number}
|
|
127
|
-
*/
|
|
128
|
-
function getParticipantMinHeight(participant, start, isHorizontalResize) {
|
|
129
|
-
var lanesMinHeight;
|
|
130
|
-
lanesMinHeight = getLanesMinHeight(participant, start, isHorizontalResize);
|
|
131
|
-
return max(PARTICIPANT_MIN_DIMENSIONS.height, lanesMinHeight);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Get minimum width for participant taking lanes into account.
|
|
136
|
-
*
|
|
137
|
-
* @param {Shape} participant
|
|
138
|
-
* @param {number} start
|
|
139
|
-
* @param {boolean} isHorizontalResize
|
|
140
|
-
*
|
|
141
|
-
* @return {number}
|
|
142
|
-
*/
|
|
143
|
-
function getParticipantMinWidth(participant, start, isHorizontalResize) {
|
|
144
|
-
var lanesMinWidth;
|
|
145
|
-
lanesMinWidth = getLanesMinWidth(participant, start, isHorizontalResize);
|
|
146
|
-
return max(VERTICAL_PARTICIPANT_MIN_DIMENSIONS.width, lanesMinWidth);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function hasChildLanes(element) {
|
|
150
|
-
return !!getChildLanes(element).length;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
function getLanesMinHeight(participant, resizeStart, isHorizontalResize) {
|
|
154
|
-
var lanes = getChildLanes(participant),
|
|
155
|
-
resizedLane;
|
|
156
|
-
|
|
157
|
-
// find the nested lane which is currently resized
|
|
158
|
-
resizedLane = findResizedLane(lanes, resizeStart, isHorizontalResize);
|
|
159
|
-
|
|
160
|
-
// resized lane cannot shrink below the minimum height
|
|
161
|
-
// but remaining lanes' dimensions are kept intact
|
|
162
|
-
return participant.height - resizedLane.height + LANE_MIN_DIMENSIONS.height;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function getLanesMinWidth(participant, resizeStart, isHorizontalResize) {
|
|
166
|
-
var lanes = getChildLanes(participant),
|
|
167
|
-
resizedLane;
|
|
168
|
-
|
|
169
|
-
// find the nested lane which is currently resized
|
|
170
|
-
resizedLane = findResizedLane(lanes, resizeStart, isHorizontalResize);
|
|
171
|
-
|
|
172
|
-
// resized lane cannot shrink below the minimum width
|
|
173
|
-
// but remaining lanes' dimensions are kept intact
|
|
174
|
-
return participant.width - resizedLane.width + VERTICAL_LANE_MIN_DIMENSIONS.width;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Find nested lane which is currently resized.
|
|
179
|
-
*
|
|
180
|
-
* @param {Shape[]} lanes
|
|
181
|
-
* @param {number} resizeStart
|
|
182
|
-
* @param {boolean} isHorizontalResize
|
|
183
|
-
*
|
|
184
|
-
* @return {Shape}
|
|
185
|
-
*/
|
|
186
|
-
function findResizedLane(lanes, resizeStart, isHorizontalResize) {
|
|
187
|
-
var i, lane, childLanes;
|
|
188
|
-
|
|
189
|
-
for (i = 0; i < lanes.length; i++) {
|
|
190
|
-
lane = lanes[i];
|
|
191
|
-
|
|
192
|
-
// resizing current lane or a lane nested
|
|
193
|
-
if (!isHorizontalResize && resizeStart >= lane.y && resizeStart <= lane.y + lane.height ||
|
|
194
|
-
isHorizontalResize && resizeStart >= lane.x && resizeStart <= lane.x + lane.width) {
|
|
195
|
-
|
|
196
|
-
childLanes = getChildLanes(lane);
|
|
197
|
-
|
|
198
|
-
// a nested lane is resized
|
|
199
|
-
if (childLanes.length) {
|
|
200
|
-
return findResizedLane(childLanes, resizeStart, isHorizontalResize);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// current lane is the resized one
|
|
204
|
-
return lane;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
1
|
+
import { forEach } from 'min-dash';
|
|
2
|
+
|
|
3
|
+
import { is } from '../../../util/ModelUtil';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
isExpanded,
|
|
7
|
+
isHorizontal
|
|
8
|
+
} from '../../../util/DiUtil';
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
GROUP_MIN_DIMENSIONS,
|
|
12
|
+
LANE_MIN_DIMENSIONS,
|
|
13
|
+
VERTICAL_LANE_MIN_DIMENSIONS,
|
|
14
|
+
PARTICIPANT_MIN_DIMENSIONS,
|
|
15
|
+
VERTICAL_PARTICIPANT_MIN_DIMENSIONS,
|
|
16
|
+
SUB_PROCESS_MIN_DIMENSIONS,
|
|
17
|
+
TEXT_ANNOTATION_MIN_DIMENSIONS
|
|
18
|
+
} from './ResizeBehavior';
|
|
19
|
+
|
|
20
|
+
import { getChildLanes } from '../util/LaneUtil';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
|
|
24
|
+
*
|
|
25
|
+
* @typedef {import('../../../model/Types').Shape} Shape
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
var max = Math.max;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @param {EventBus} eventBus
|
|
32
|
+
*/
|
|
33
|
+
export default function SpaceToolBehavior(eventBus) {
|
|
34
|
+
eventBus.on('spaceTool.getMinDimensions', function(context) {
|
|
35
|
+
var shapes = context.shapes,
|
|
36
|
+
axis = context.axis,
|
|
37
|
+
start = context.start,
|
|
38
|
+
minDimensions = {};
|
|
39
|
+
|
|
40
|
+
forEach(shapes, function(shape) {
|
|
41
|
+
var id = shape.id;
|
|
42
|
+
|
|
43
|
+
if (is(shape, 'bpmn:Participant')) {
|
|
44
|
+
minDimensions[ id ] = getParticipantMinDimensions(shape, axis, start);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (is(shape, 'bpmn:Lane')) {
|
|
48
|
+
minDimensions[ id ] = isHorizontal(shape) ? LANE_MIN_DIMENSIONS : VERTICAL_LANE_MIN_DIMENSIONS;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (is(shape, 'bpmn:SubProcess') && isExpanded(shape)) {
|
|
52
|
+
minDimensions[ id ] = SUB_PROCESS_MIN_DIMENSIONS;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (is(shape, 'bpmn:TextAnnotation')) {
|
|
56
|
+
minDimensions[ id ] = TEXT_ANNOTATION_MIN_DIMENSIONS;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (is(shape, 'bpmn:Group')) {
|
|
60
|
+
minDimensions[ id ] = GROUP_MIN_DIMENSIONS;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return minDimensions;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
SpaceToolBehavior.$inject = [ 'eventBus' ];
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
// helpers //////////
|
|
72
|
+
function isHorizontalAxis(axis) {
|
|
73
|
+
return axis === 'x';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Get minimum dimensions for participant taking lanes into account.
|
|
78
|
+
*
|
|
79
|
+
* @param {Shape} participant
|
|
80
|
+
* @param {Axis} axis
|
|
81
|
+
* @param {number} start
|
|
82
|
+
*
|
|
83
|
+
* @return {number}
|
|
84
|
+
*/
|
|
85
|
+
function getParticipantMinDimensions(participant, axis, start) {
|
|
86
|
+
var isHorizontalLane = isHorizontal(participant);
|
|
87
|
+
|
|
88
|
+
if (!hasChildLanes(participant)) {
|
|
89
|
+
return isHorizontalLane ? PARTICIPANT_MIN_DIMENSIONS : VERTICAL_PARTICIPANT_MIN_DIMENSIONS;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
var isHorizontalResize = isHorizontalAxis(axis);
|
|
93
|
+
var minDimensions = {};
|
|
94
|
+
|
|
95
|
+
if (isHorizontalResize) {
|
|
96
|
+
if (isHorizontalLane) {
|
|
97
|
+
minDimensions = PARTICIPANT_MIN_DIMENSIONS;
|
|
98
|
+
} else {
|
|
99
|
+
minDimensions = {
|
|
100
|
+
width: getParticipantMinWidth(participant, start, isHorizontalResize),
|
|
101
|
+
height: VERTICAL_PARTICIPANT_MIN_DIMENSIONS.height
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
} else {
|
|
106
|
+
if (isHorizontalLane) {
|
|
107
|
+
minDimensions = {
|
|
108
|
+
width: PARTICIPANT_MIN_DIMENSIONS.width,
|
|
109
|
+
height: getParticipantMinHeight(participant, start, isHorizontalResize)
|
|
110
|
+
};
|
|
111
|
+
} else {
|
|
112
|
+
minDimensions = VERTICAL_PARTICIPANT_MIN_DIMENSIONS;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return minDimensions;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Get minimum height for participant taking lanes into account.
|
|
121
|
+
*
|
|
122
|
+
* @param {Shape} participant
|
|
123
|
+
* @param {number} start
|
|
124
|
+
* @param {boolean} isHorizontalResize
|
|
125
|
+
*
|
|
126
|
+
* @return {number}
|
|
127
|
+
*/
|
|
128
|
+
function getParticipantMinHeight(participant, start, isHorizontalResize) {
|
|
129
|
+
var lanesMinHeight;
|
|
130
|
+
lanesMinHeight = getLanesMinHeight(participant, start, isHorizontalResize);
|
|
131
|
+
return max(PARTICIPANT_MIN_DIMENSIONS.height, lanesMinHeight);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Get minimum width for participant taking lanes into account.
|
|
136
|
+
*
|
|
137
|
+
* @param {Shape} participant
|
|
138
|
+
* @param {number} start
|
|
139
|
+
* @param {boolean} isHorizontalResize
|
|
140
|
+
*
|
|
141
|
+
* @return {number}
|
|
142
|
+
*/
|
|
143
|
+
function getParticipantMinWidth(participant, start, isHorizontalResize) {
|
|
144
|
+
var lanesMinWidth;
|
|
145
|
+
lanesMinWidth = getLanesMinWidth(participant, start, isHorizontalResize);
|
|
146
|
+
return max(VERTICAL_PARTICIPANT_MIN_DIMENSIONS.width, lanesMinWidth);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function hasChildLanes(element) {
|
|
150
|
+
return !!getChildLanes(element).length;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function getLanesMinHeight(participant, resizeStart, isHorizontalResize) {
|
|
154
|
+
var lanes = getChildLanes(participant),
|
|
155
|
+
resizedLane;
|
|
156
|
+
|
|
157
|
+
// find the nested lane which is currently resized
|
|
158
|
+
resizedLane = findResizedLane(lanes, resizeStart, isHorizontalResize);
|
|
159
|
+
|
|
160
|
+
// resized lane cannot shrink below the minimum height
|
|
161
|
+
// but remaining lanes' dimensions are kept intact
|
|
162
|
+
return participant.height - resizedLane.height + LANE_MIN_DIMENSIONS.height;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function getLanesMinWidth(participant, resizeStart, isHorizontalResize) {
|
|
166
|
+
var lanes = getChildLanes(participant),
|
|
167
|
+
resizedLane;
|
|
168
|
+
|
|
169
|
+
// find the nested lane which is currently resized
|
|
170
|
+
resizedLane = findResizedLane(lanes, resizeStart, isHorizontalResize);
|
|
171
|
+
|
|
172
|
+
// resized lane cannot shrink below the minimum width
|
|
173
|
+
// but remaining lanes' dimensions are kept intact
|
|
174
|
+
return participant.width - resizedLane.width + VERTICAL_LANE_MIN_DIMENSIONS.width;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Find nested lane which is currently resized.
|
|
179
|
+
*
|
|
180
|
+
* @param {Shape[]} lanes
|
|
181
|
+
* @param {number} resizeStart
|
|
182
|
+
* @param {boolean} isHorizontalResize
|
|
183
|
+
*
|
|
184
|
+
* @return {Shape}
|
|
185
|
+
*/
|
|
186
|
+
function findResizedLane(lanes, resizeStart, isHorizontalResize) {
|
|
187
|
+
var i, lane, childLanes;
|
|
188
|
+
|
|
189
|
+
for (i = 0; i < lanes.length; i++) {
|
|
190
|
+
lane = lanes[i];
|
|
191
|
+
|
|
192
|
+
// resizing current lane or a lane nested
|
|
193
|
+
if (!isHorizontalResize && resizeStart >= lane.y && resizeStart <= lane.y + lane.height ||
|
|
194
|
+
isHorizontalResize && resizeStart >= lane.x && resizeStart <= lane.x + lane.width) {
|
|
195
|
+
|
|
196
|
+
childLanes = getChildLanes(lane);
|
|
197
|
+
|
|
198
|
+
// a nested lane is resized
|
|
199
|
+
if (childLanes.length) {
|
|
200
|
+
return findResizedLane(childLanes, resizeStart, isHorizontalResize);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// current lane is the resized one
|
|
204
|
+
return lane;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|