bpmn-js 18.1.2 → 18.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -23
- package/README.md +95 -95
- package/dist/assets/bpmn-js.css +145 -145
- package/dist/bpmn-modeler.development.js +38666 -38635
- package/dist/bpmn-modeler.production.min.js +4 -4
- package/dist/bpmn-navigated-viewer.development.js +20798 -20798
- package/dist/bpmn-navigated-viewer.production.min.js +3 -3
- package/dist/bpmn-viewer.development.js +20735 -20735
- package/dist/bpmn-viewer.production.min.js +3 -3
- 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 +206 -206
- package/lib/NavigatedViewer.d.ts +11 -11
- package/lib/NavigatedViewer.js +37 -37
- package/lib/Viewer.d.ts +47 -47
- package/lib/Viewer.js +76 -76
- 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 +116 -116
- package/lib/draw/BpmnRenderer.js +2339 -2339
- 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 +15 -15
- package/lib/features/auto-place/BpmnAutoPlace.js +22 -22
- package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +52 -52
- package/lib/features/auto-place/BpmnAutoPlaceUtil.js +226 -226
- 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 +62 -62
- package/lib/features/context-pad/ContextPadProvider.js +582 -582
- 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/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 +138 -138
- package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
- package/lib/features/drilldown/DrilldownCentering.js +122 -122
- package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +20 -20
- package/lib/features/drilldown/DrilldownOverlayBehavior.js +218 -218
- package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
- package/lib/features/drilldown/SubprocessCompatibility.js +266 -266
- 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 +14 -14
- 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 +146 -146
- 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 +145 -145
- 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 +30 -30
- package/lib/features/modeling/BpmnLayouter.js +488 -488
- package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
- package/lib/features/modeling/BpmnUpdater.js +818 -818
- package/lib/features/modeling/ElementFactory.d.ts +117 -117
- package/lib/features/modeling/ElementFactory.js +412 -412
- package/lib/features/modeling/ElementFactory.test.ts +132 -132
- package/lib/features/modeling/Modeling.d.ts +150 -150
- package/lib/features/modeling/Modeling.js +309 -309
- package/lib/features/modeling/Modeling.test.ts +147 -147
- package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +19 -19
- package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +288 -288
- 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/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 +59 -59
- 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 +64 -64
- package/lib/features/modeling/behavior/ResizeBehavior.js +265 -265
- 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/SetCompensationActivityAfterPasteBehavior.d.ts +16 -16
- package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js +66 -66
- 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 +131 -131
- 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 +187 -187
- 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 +23 -23
- package/lib/features/modeling/util/ModelingUtil.js +88 -88
- 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 +39 -39
- package/lib/features/outline/OutlineProvider.js +189 -189
- package/lib/features/outline/OutlineUtil.d.ts +23 -23
- package/lib/features/outline/OutlineUtil.js +35 -35
- 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 +629 -677
- 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 +45 -45
- package/lib/features/replace/BpmnReplace.js +391 -391
- package/lib/features/replace/ReplaceOptions.d.ts +79 -75
- package/lib/features/replace/ReplaceOptions.js +998 -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 +34 -34
- package/lib/features/search/BpmnSearchProvider.js +91 -91
- package/lib/features/search/index.d.ts +7 -7
- package/lib/features/search/index.js +14 -14
- 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 +222 -222
- 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/index.d.ts +1 -1
- package/lib/index.js +2 -2
- 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 +266 -266
- 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 +131 -131
- 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
package/test/helper/index.js
CHANGED
|
@@ -1,314 +1,314 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A helper file that may be used in test cases for bpmn-js and extensions.
|
|
3
|
-
*
|
|
4
|
-
* Provides the globals
|
|
5
|
-
*
|
|
6
|
-
* * bootstrapModeler(): bootstrap a modeler instance
|
|
7
|
-
* * bootstrapViewer(): bootstrap a viewer instance
|
|
8
|
-
* * inject(function(a, b) {}): inject the bpmn-js services in the given function
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* In addition it provides the utilities
|
|
12
|
-
*
|
|
13
|
-
* * insertCSS(name, css): add a CSS file to be used in test cases
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* It is recommended to expose the helper through a per-project utility and
|
|
17
|
-
* and perform custom bootstrapping (CSS, ...) in that utility.
|
|
18
|
-
*
|
|
19
|
-
* ```
|
|
20
|
-
* export * from 'bpmn-js/test/helper';
|
|
21
|
-
*
|
|
22
|
-
* import {
|
|
23
|
-
* insertCSS
|
|
24
|
-
* } from 'bpmn-js/test/helper';
|
|
25
|
-
*
|
|
26
|
-
* // insert diagram.css
|
|
27
|
-
* insertCSS('diagram.css', require('./some-css.css'));
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
import {
|
|
32
|
-
isFunction,
|
|
33
|
-
forEach,
|
|
34
|
-
merge
|
|
35
|
-
} from 'min-dash';
|
|
36
|
-
|
|
37
|
-
import TestContainer from 'mocha-test-container-support';
|
|
38
|
-
|
|
39
|
-
import Modeler from '../../lib/Modeler';
|
|
40
|
-
import NavigatedViewer from '../../lib/NavigatedViewer';
|
|
41
|
-
import Viewer from '../../lib/Viewer';
|
|
42
|
-
|
|
43
|
-
var OPTIONS, BPMN_JS;
|
|
44
|
-
|
|
45
|
-
import translationModule from './TranslationCollector';
|
|
46
|
-
|
|
47
|
-
export var collectTranslations = window.__env__ && window.__env__.COLLECT_TRANSLATIONS;
|
|
48
|
-
|
|
49
|
-
// inject logging translation module into default modules
|
|
50
|
-
if (collectTranslations) {
|
|
51
|
-
|
|
52
|
-
[ Modeler, Viewer, NavigatedViewer ].forEach(function(constructor) {
|
|
53
|
-
constructor.prototype._modules.push(translationModule);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function bootstrapBpmnJS(BpmnJS, diagram, options, locals) {
|
|
58
|
-
|
|
59
|
-
return function() {
|
|
60
|
-
var testContainer;
|
|
61
|
-
|
|
62
|
-
// Make sure the test container is an optional dependency and we fall back
|
|
63
|
-
// to an empty <div> if it does not exist.
|
|
64
|
-
//
|
|
65
|
-
// This is needed if other libraries rely on this helper for testing
|
|
66
|
-
// while not adding the mocha-test-container-support as a dependency.
|
|
67
|
-
try {
|
|
68
|
-
|
|
69
|
-
// 'this' is the current test context
|
|
70
|
-
testContainer = TestContainer.get(this);
|
|
71
|
-
} catch (e) {
|
|
72
|
-
testContainer = document.createElement('div');
|
|
73
|
-
testContainer.classList.add('test-content-container');
|
|
74
|
-
|
|
75
|
-
document.body.appendChild(testContainer);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var _options = options,
|
|
79
|
-
_locals = locals;
|
|
80
|
-
|
|
81
|
-
if (_locals === undefined && isFunction(_options)) {
|
|
82
|
-
_locals = _options;
|
|
83
|
-
_options = null;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (isFunction(_options)) {
|
|
87
|
-
_options = _options();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
if (isFunction(_locals)) {
|
|
91
|
-
_locals = _locals();
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
_options = merge({
|
|
95
|
-
container: testContainer,
|
|
96
|
-
canvas: {
|
|
97
|
-
deferUpdate: false
|
|
98
|
-
}
|
|
99
|
-
}, OPTIONS, _options);
|
|
100
|
-
|
|
101
|
-
if (_locals) {
|
|
102
|
-
var mockModule = {};
|
|
103
|
-
|
|
104
|
-
forEach(_locals, function(v, k) {
|
|
105
|
-
mockModule[k] = [ 'value', v ];
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
_options.modules = [].concat(_options.modules || [], [ mockModule ]);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
if (_options.modules && !_options.modules.length) {
|
|
112
|
-
_options.modules = undefined;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// used to extract translations used during tests
|
|
116
|
-
if (collectTranslations) {
|
|
117
|
-
_options.additionalModules = [].concat(
|
|
118
|
-
_options.additionalModules || [],
|
|
119
|
-
[ translationModule ]
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
clearBpmnJS();
|
|
124
|
-
|
|
125
|
-
var instance = new BpmnJS(_options);
|
|
126
|
-
|
|
127
|
-
setBpmnJS(instance);
|
|
128
|
-
|
|
129
|
-
return instance.importXML(diagram).then(function(result) {
|
|
130
|
-
return { error: null, warnings: result.warnings };
|
|
131
|
-
}).catch(function(err) {
|
|
132
|
-
return { error: err, warnings: err.warnings };
|
|
133
|
-
});
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Bootstrap the Modeler given the specified options and a number of locals (i.e. services)
|
|
140
|
-
*
|
|
141
|
-
* @example
|
|
142
|
-
*
|
|
143
|
-
* describe(function() {
|
|
144
|
-
*
|
|
145
|
-
* var mockEvents;
|
|
146
|
-
*
|
|
147
|
-
* beforeEach(bootstrapModeler('some-xml', function() {
|
|
148
|
-
* mockEvents = new Events();
|
|
149
|
-
*
|
|
150
|
-
* return {
|
|
151
|
-
* events: mockEvents
|
|
152
|
-
* };
|
|
153
|
-
* }));
|
|
154
|
-
*
|
|
155
|
-
* });
|
|
156
|
-
*
|
|
157
|
-
* @param {string} xml document to display
|
|
158
|
-
* @param {Object} (options) optional options to be passed to the diagram upon instantiation
|
|
159
|
-
* @param {Object|Function} locals the local overrides to be used by the diagram or a function that produces them
|
|
160
|
-
* @return {Function} a function to be passed to beforeEach
|
|
161
|
-
*/
|
|
162
|
-
export function bootstrapModeler(diagram, options, locals) {
|
|
163
|
-
return bootstrapBpmnJS(Modeler, diagram, options, locals);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Bootstrap the Viewer given the specified options and a number of locals (i.e. services)
|
|
168
|
-
*
|
|
169
|
-
* @example
|
|
170
|
-
*
|
|
171
|
-
* describe(function() {
|
|
172
|
-
*
|
|
173
|
-
* var mockEvents;
|
|
174
|
-
*
|
|
175
|
-
* beforeEach(bootstrapViewer('some-xml', function() {
|
|
176
|
-
* mockEvents = new Events();
|
|
177
|
-
*
|
|
178
|
-
* return {
|
|
179
|
-
* events: mockEvents
|
|
180
|
-
* };
|
|
181
|
-
* }));
|
|
182
|
-
*
|
|
183
|
-
* });
|
|
184
|
-
*
|
|
185
|
-
* @param {string} xml document to display
|
|
186
|
-
* @param {Object} (options) optional options to be passed to the diagram upon instantiation
|
|
187
|
-
* @param {Object|Function} locals the local overrides to be used by the diagram or a function that produces them
|
|
188
|
-
* @return {Function} a function to be passed to beforeEach
|
|
189
|
-
*/
|
|
190
|
-
export function bootstrapViewer(diagram, options, locals) {
|
|
191
|
-
return bootstrapBpmnJS(Viewer, diagram, options, locals);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Injects services of an instantiated diagram into the argument.
|
|
197
|
-
*
|
|
198
|
-
* Use it in conjunction with {@link #bootstrapModeler} or {@link #bootstrapViewer}.
|
|
199
|
-
*
|
|
200
|
-
* @example
|
|
201
|
-
*
|
|
202
|
-
* describe(function() {
|
|
203
|
-
*
|
|
204
|
-
* var mockEvents;
|
|
205
|
-
*
|
|
206
|
-
* beforeEach(bootstrapViewer(...));
|
|
207
|
-
*
|
|
208
|
-
* it('should provide mocked events', inject(function(events) {
|
|
209
|
-
* expect(events).to.eql(mockEvents);
|
|
210
|
-
* }));
|
|
211
|
-
*
|
|
212
|
-
* });
|
|
213
|
-
*
|
|
214
|
-
* @param {Function} fn the function to inject to
|
|
215
|
-
* @return {Function} a function that can be passed to it to carry out the injection
|
|
216
|
-
*/
|
|
217
|
-
export function inject(fn) {
|
|
218
|
-
return function() {
|
|
219
|
-
|
|
220
|
-
if (!BPMN_JS) {
|
|
221
|
-
throw new Error(
|
|
222
|
-
'no bootstraped bpmn-js instance, ' +
|
|
223
|
-
'ensure you created it via #boostrap(Modeler|Viewer)'
|
|
224
|
-
);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
return BPMN_JS.invoke(fn);
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* Returns the current active BpmnJS instance.
|
|
234
|
-
*
|
|
235
|
-
* @return {BpmnJS}
|
|
236
|
-
*/
|
|
237
|
-
export function getBpmnJS() {
|
|
238
|
-
return BPMN_JS;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
export function clearBpmnJS() {
|
|
242
|
-
|
|
243
|
-
// clean up old bpmn-js instance
|
|
244
|
-
if (BPMN_JS) {
|
|
245
|
-
BPMN_JS.destroy();
|
|
246
|
-
|
|
247
|
-
BPMN_JS = null;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// This method always resolves.
|
|
252
|
-
// It helps us to do done(err) within the same block.
|
|
253
|
-
export function createViewer(container, viewerInstance, xml, diagramId) {
|
|
254
|
-
|
|
255
|
-
clearBpmnJS();
|
|
256
|
-
|
|
257
|
-
var viewer = new viewerInstance({ container: container });
|
|
258
|
-
|
|
259
|
-
setBpmnJS(viewer);
|
|
260
|
-
|
|
261
|
-
return viewer.importXML(xml, diagramId).then(function(result) {
|
|
262
|
-
return { warnings: result.warnings, viewer: viewer };
|
|
263
|
-
}).catch(function(err) {
|
|
264
|
-
return { error: err, viewer: viewer, warnings: err.warnings };
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
function logConfigured(type, force) {
|
|
269
|
-
var url = new URL(window.location.href);
|
|
270
|
-
|
|
271
|
-
var log = ('searchParams' in url) && url.searchParams.get('log') || '';
|
|
272
|
-
|
|
273
|
-
return force || log.includes('save-xml');
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Enable logging on a modeler instance.
|
|
278
|
-
*
|
|
279
|
-
* @param {import('bpmn-js')} modeler
|
|
280
|
-
* @param {boolean} [force=false]
|
|
281
|
-
*/
|
|
282
|
-
export function enableLogging(modeler, force) {
|
|
283
|
-
|
|
284
|
-
var saveXML = logConfigured('save-xml', force);
|
|
285
|
-
|
|
286
|
-
saveXML && modeler.on('commandStack.changed', function() {
|
|
287
|
-
Promise.resolve()
|
|
288
|
-
.then(() => modeler.saveXML({ format: true }))
|
|
289
|
-
.then((result) => console.log(result.xml));
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
export function setBpmnJS(instance) {
|
|
294
|
-
BPMN_JS = instance;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
export function insertCSS(name, css) {
|
|
298
|
-
if (document.querySelector('[data-css-file="' + name + '"]')) {
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
var head = document.head || document.getElementsByTagName('head')[0],
|
|
303
|
-
style = document.createElement('style');
|
|
304
|
-
style.setAttribute('data-css-file', name);
|
|
305
|
-
|
|
306
|
-
style.type = 'text/css';
|
|
307
|
-
if (style.styleSheet) {
|
|
308
|
-
style.styleSheet.cssText = css;
|
|
309
|
-
} else {
|
|
310
|
-
style.appendChild(document.createTextNode(css));
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
head.appendChild(style);
|
|
1
|
+
/**
|
|
2
|
+
* A helper file that may be used in test cases for bpmn-js and extensions.
|
|
3
|
+
*
|
|
4
|
+
* Provides the globals
|
|
5
|
+
*
|
|
6
|
+
* * bootstrapModeler(): bootstrap a modeler instance
|
|
7
|
+
* * bootstrapViewer(): bootstrap a viewer instance
|
|
8
|
+
* * inject(function(a, b) {}): inject the bpmn-js services in the given function
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* In addition it provides the utilities
|
|
12
|
+
*
|
|
13
|
+
* * insertCSS(name, css): add a CSS file to be used in test cases
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* It is recommended to expose the helper through a per-project utility and
|
|
17
|
+
* and perform custom bootstrapping (CSS, ...) in that utility.
|
|
18
|
+
*
|
|
19
|
+
* ```
|
|
20
|
+
* export * from 'bpmn-js/test/helper';
|
|
21
|
+
*
|
|
22
|
+
* import {
|
|
23
|
+
* insertCSS
|
|
24
|
+
* } from 'bpmn-js/test/helper';
|
|
25
|
+
*
|
|
26
|
+
* // insert diagram.css
|
|
27
|
+
* insertCSS('diagram.css', require('./some-css.css'));
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
import {
|
|
32
|
+
isFunction,
|
|
33
|
+
forEach,
|
|
34
|
+
merge
|
|
35
|
+
} from 'min-dash';
|
|
36
|
+
|
|
37
|
+
import TestContainer from 'mocha-test-container-support';
|
|
38
|
+
|
|
39
|
+
import Modeler from '../../lib/Modeler';
|
|
40
|
+
import NavigatedViewer from '../../lib/NavigatedViewer';
|
|
41
|
+
import Viewer from '../../lib/Viewer';
|
|
42
|
+
|
|
43
|
+
var OPTIONS, BPMN_JS;
|
|
44
|
+
|
|
45
|
+
import translationModule from './TranslationCollector';
|
|
46
|
+
|
|
47
|
+
export var collectTranslations = window.__env__ && window.__env__.COLLECT_TRANSLATIONS;
|
|
48
|
+
|
|
49
|
+
// inject logging translation module into default modules
|
|
50
|
+
if (collectTranslations) {
|
|
51
|
+
|
|
52
|
+
[ Modeler, Viewer, NavigatedViewer ].forEach(function(constructor) {
|
|
53
|
+
constructor.prototype._modules.push(translationModule);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function bootstrapBpmnJS(BpmnJS, diagram, options, locals) {
|
|
58
|
+
|
|
59
|
+
return function() {
|
|
60
|
+
var testContainer;
|
|
61
|
+
|
|
62
|
+
// Make sure the test container is an optional dependency and we fall back
|
|
63
|
+
// to an empty <div> if it does not exist.
|
|
64
|
+
//
|
|
65
|
+
// This is needed if other libraries rely on this helper for testing
|
|
66
|
+
// while not adding the mocha-test-container-support as a dependency.
|
|
67
|
+
try {
|
|
68
|
+
|
|
69
|
+
// 'this' is the current test context
|
|
70
|
+
testContainer = TestContainer.get(this);
|
|
71
|
+
} catch (e) {
|
|
72
|
+
testContainer = document.createElement('div');
|
|
73
|
+
testContainer.classList.add('test-content-container');
|
|
74
|
+
|
|
75
|
+
document.body.appendChild(testContainer);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
var _options = options,
|
|
79
|
+
_locals = locals;
|
|
80
|
+
|
|
81
|
+
if (_locals === undefined && isFunction(_options)) {
|
|
82
|
+
_locals = _options;
|
|
83
|
+
_options = null;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (isFunction(_options)) {
|
|
87
|
+
_options = _options();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (isFunction(_locals)) {
|
|
91
|
+
_locals = _locals();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
_options = merge({
|
|
95
|
+
container: testContainer,
|
|
96
|
+
canvas: {
|
|
97
|
+
deferUpdate: false
|
|
98
|
+
}
|
|
99
|
+
}, OPTIONS, _options);
|
|
100
|
+
|
|
101
|
+
if (_locals) {
|
|
102
|
+
var mockModule = {};
|
|
103
|
+
|
|
104
|
+
forEach(_locals, function(v, k) {
|
|
105
|
+
mockModule[k] = [ 'value', v ];
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
_options.modules = [].concat(_options.modules || [], [ mockModule ]);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (_options.modules && !_options.modules.length) {
|
|
112
|
+
_options.modules = undefined;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// used to extract translations used during tests
|
|
116
|
+
if (collectTranslations) {
|
|
117
|
+
_options.additionalModules = [].concat(
|
|
118
|
+
_options.additionalModules || [],
|
|
119
|
+
[ translationModule ]
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
clearBpmnJS();
|
|
124
|
+
|
|
125
|
+
var instance = new BpmnJS(_options);
|
|
126
|
+
|
|
127
|
+
setBpmnJS(instance);
|
|
128
|
+
|
|
129
|
+
return instance.importXML(diagram).then(function(result) {
|
|
130
|
+
return { error: null, warnings: result.warnings };
|
|
131
|
+
}).catch(function(err) {
|
|
132
|
+
return { error: err, warnings: err.warnings };
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Bootstrap the Modeler given the specified options and a number of locals (i.e. services)
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
*
|
|
143
|
+
* describe(function() {
|
|
144
|
+
*
|
|
145
|
+
* var mockEvents;
|
|
146
|
+
*
|
|
147
|
+
* beforeEach(bootstrapModeler('some-xml', function() {
|
|
148
|
+
* mockEvents = new Events();
|
|
149
|
+
*
|
|
150
|
+
* return {
|
|
151
|
+
* events: mockEvents
|
|
152
|
+
* };
|
|
153
|
+
* }));
|
|
154
|
+
*
|
|
155
|
+
* });
|
|
156
|
+
*
|
|
157
|
+
* @param {string} xml document to display
|
|
158
|
+
* @param {Object} (options) optional options to be passed to the diagram upon instantiation
|
|
159
|
+
* @param {Object|Function} locals the local overrides to be used by the diagram or a function that produces them
|
|
160
|
+
* @return {Function} a function to be passed to beforeEach
|
|
161
|
+
*/
|
|
162
|
+
export function bootstrapModeler(diagram, options, locals) {
|
|
163
|
+
return bootstrapBpmnJS(Modeler, diagram, options, locals);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Bootstrap the Viewer given the specified options and a number of locals (i.e. services)
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
*
|
|
171
|
+
* describe(function() {
|
|
172
|
+
*
|
|
173
|
+
* var mockEvents;
|
|
174
|
+
*
|
|
175
|
+
* beforeEach(bootstrapViewer('some-xml', function() {
|
|
176
|
+
* mockEvents = new Events();
|
|
177
|
+
*
|
|
178
|
+
* return {
|
|
179
|
+
* events: mockEvents
|
|
180
|
+
* };
|
|
181
|
+
* }));
|
|
182
|
+
*
|
|
183
|
+
* });
|
|
184
|
+
*
|
|
185
|
+
* @param {string} xml document to display
|
|
186
|
+
* @param {Object} (options) optional options to be passed to the diagram upon instantiation
|
|
187
|
+
* @param {Object|Function} locals the local overrides to be used by the diagram or a function that produces them
|
|
188
|
+
* @return {Function} a function to be passed to beforeEach
|
|
189
|
+
*/
|
|
190
|
+
export function bootstrapViewer(diagram, options, locals) {
|
|
191
|
+
return bootstrapBpmnJS(Viewer, diagram, options, locals);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Injects services of an instantiated diagram into the argument.
|
|
197
|
+
*
|
|
198
|
+
* Use it in conjunction with {@link #bootstrapModeler} or {@link #bootstrapViewer}.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
*
|
|
202
|
+
* describe(function() {
|
|
203
|
+
*
|
|
204
|
+
* var mockEvents;
|
|
205
|
+
*
|
|
206
|
+
* beforeEach(bootstrapViewer(...));
|
|
207
|
+
*
|
|
208
|
+
* it('should provide mocked events', inject(function(events) {
|
|
209
|
+
* expect(events).to.eql(mockEvents);
|
|
210
|
+
* }));
|
|
211
|
+
*
|
|
212
|
+
* });
|
|
213
|
+
*
|
|
214
|
+
* @param {Function} fn the function to inject to
|
|
215
|
+
* @return {Function} a function that can be passed to it to carry out the injection
|
|
216
|
+
*/
|
|
217
|
+
export function inject(fn) {
|
|
218
|
+
return function() {
|
|
219
|
+
|
|
220
|
+
if (!BPMN_JS) {
|
|
221
|
+
throw new Error(
|
|
222
|
+
'no bootstraped bpmn-js instance, ' +
|
|
223
|
+
'ensure you created it via #boostrap(Modeler|Viewer)'
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return BPMN_JS.invoke(fn);
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Returns the current active BpmnJS instance.
|
|
234
|
+
*
|
|
235
|
+
* @return {BpmnJS}
|
|
236
|
+
*/
|
|
237
|
+
export function getBpmnJS() {
|
|
238
|
+
return BPMN_JS;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export function clearBpmnJS() {
|
|
242
|
+
|
|
243
|
+
// clean up old bpmn-js instance
|
|
244
|
+
if (BPMN_JS) {
|
|
245
|
+
BPMN_JS.destroy();
|
|
246
|
+
|
|
247
|
+
BPMN_JS = null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// This method always resolves.
|
|
252
|
+
// It helps us to do done(err) within the same block.
|
|
253
|
+
export function createViewer(container, viewerInstance, xml, diagramId) {
|
|
254
|
+
|
|
255
|
+
clearBpmnJS();
|
|
256
|
+
|
|
257
|
+
var viewer = new viewerInstance({ container: container });
|
|
258
|
+
|
|
259
|
+
setBpmnJS(viewer);
|
|
260
|
+
|
|
261
|
+
return viewer.importXML(xml, diagramId).then(function(result) {
|
|
262
|
+
return { warnings: result.warnings, viewer: viewer };
|
|
263
|
+
}).catch(function(err) {
|
|
264
|
+
return { error: err, viewer: viewer, warnings: err.warnings };
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function logConfigured(type, force) {
|
|
269
|
+
var url = new URL(window.location.href);
|
|
270
|
+
|
|
271
|
+
var log = ('searchParams' in url) && url.searchParams.get('log') || '';
|
|
272
|
+
|
|
273
|
+
return force || log.includes('save-xml');
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Enable logging on a modeler instance.
|
|
278
|
+
*
|
|
279
|
+
* @param {import('bpmn-js')} modeler
|
|
280
|
+
* @param {boolean} [force=false]
|
|
281
|
+
*/
|
|
282
|
+
export function enableLogging(modeler, force) {
|
|
283
|
+
|
|
284
|
+
var saveXML = logConfigured('save-xml', force);
|
|
285
|
+
|
|
286
|
+
saveXML && modeler.on('commandStack.changed', function() {
|
|
287
|
+
Promise.resolve()
|
|
288
|
+
.then(() => modeler.saveXML({ format: true }))
|
|
289
|
+
.then((result) => console.log(result.xml));
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export function setBpmnJS(instance) {
|
|
294
|
+
BPMN_JS = instance;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
export function insertCSS(name, css) {
|
|
298
|
+
if (document.querySelector('[data-css-file="' + name + '"]')) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
var head = document.head || document.getElementsByTagName('head')[0],
|
|
303
|
+
style = document.createElement('style');
|
|
304
|
+
style.setAttribute('data-css-file', name);
|
|
305
|
+
|
|
306
|
+
style.type = 'text/css';
|
|
307
|
+
if (style.styleSheet) {
|
|
308
|
+
style.styleSheet.cssText = css;
|
|
309
|
+
} else {
|
|
310
|
+
style.appendChild(document.createTextNode(css));
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
head.appendChild(style);
|
|
314
314
|
}
|