Commit Graph

1035 Commits

Author SHA1 Message Date
Nico Rehwaldt a66e9a5c8d test(copy-paste): assert elements.changed behavior 2019-12-09 12:52:35 +01:00
Nico Rehwaldt a1be2ea631 test(project): register BpmnJS in integration tests 2019-12-09 08:32:04 +00:00
Nico Rehwaldt 991ab38c3d feat(test): expose BpmnJS set and clear utilities 2019-12-09 08:32:04 +00:00
Nico Rehwaldt 4455c3fc35 fix(modeling/behavior): hook UpdateFlowNodeRefs behavior in on elements.create 2019-12-06 15:24:54 +00:00
Nico Rehwaldt d769e6ddb0 fix(grid-snapping): do not update waypoints on multiple create
Related to https://github.com/camunda/camunda-modeler/issues/1617
2019-12-06 15:24:54 +00:00
Philipp Fromme b2b607f558 fix(adaptive-label-positioning): do not adjust on paste
Related to camunda/camunda-modeler#1617
2019-11-29 20:38:16 +00:00
Nico Rehwaldt 748674fb35 fix(modeling): correctly fix hover on cleanup, too
Related to #1599
2019-11-25 17:42:58 +00:00
Nico Rehwaldt 6527e7d116 fix(draw): render colored BPMN group elements
Related to https://github.com/camunda/camunda-modeler/issues/1598
2019-11-25 14:44:43 +00:00
Philipp Fromme c8559cd4d9 chore(element-factory): fix test description 2019-11-20 15:53:53 +01:00
Philipp Fromme 8722b6e3c2 fix(element-factory): use BPMN factory to ensure IDs
Closes #1162
2019-11-20 14:41:09 +00:00
Philipp Fromme ec13d8e7b8 chore(copy-paste): add failing test case verifying #798
Failing test case was removed during refactoring.

Related to #798.
2019-11-19 23:54:12 +01:00
Philipp Fromme c8412c27f2 fix(modeling): update association parent on source or target move
Closes #683
2019-11-19 15:27:56 +00:00
Nico Rehwaldt e9687562d0 test(popup-menu): further simplify ReplaceMenuProviderSpec 2019-11-18 16:10:10 +00:00
Philipp Fromme 06e1478fc8 chore(rules): remove <connection.reconnectStart/End> rule 2019-11-18 13:38:19 +01:00
Philipp Fromme 1fa167088c feat(hover-fix): fix hover
* fix start instead of source
2019-11-18 13:38:19 +01:00
Philipp Fromme ca53ab56bb feat(modeling): replace connection on reconnect 2019-11-18 13:38:19 +01:00
Philipp Fromme ef5a72d722 Merge branch 'master' into develop 2019-11-18 11:03:25 +01:00
Philipp Fromme fe11c2ee78 fix(modeling): unclaim ID on shape/connection delete
* unclaim ID of deleted shapes and connections
* unclaim ID of referenced processes when deleting participant
* this does NOT ensure we unclaim IDs of elements like DI, events, errors, ...

Related to camunda/camunda-modeler#1503
Related to #608
2019-11-18 09:57:51 +01:00
Philipp Fromme dd3a139a29 fix(replace): do not resize on replace sub process with ad hoc
Requires bpmn-io/diagram-js#432
Closes #1231
2019-11-15 14:04:08 +01:00
Maciej Barelkowski 7041a1ab9b test(popup-menu): remove dependency on internals 2019-11-13 10:26:21 +01:00
Philipp Fromme e68978bf66 fix(bpmn-renderer): properly escape marker ids
Only characters and numbers are allowed. Anything else will be escaped.

Closes #1209
2019-11-07 21:58:09 +00:00
Maciej Barelkowski 5aa162efcd chore(project): use source maps in tests 2019-11-06 11:54:02 +01:00
Oguz Eroglu 64d360575b fix(modeling): skip moving if label is not yet created.
Related to https://github.com/zeebe-io/zeebe-modeler/issues/134
2019-10-25 13:16:43 +00:00
Oguz Eroglu 41c6af1830 feat(adaptive-label-positioning): adjust label position post creation
Closes #1220
2019-10-14 14:48:32 +00:00
Philipp Fromme 2e27d74306 feat(modeling): copy and paste boundary events
* allow copying boundary events without host
* remove CreateBoundaryEventBehavior in favor of AttachEventBehavior

Closes #1154
Closes #1202
Closes #1204
Closes #1205
2019-10-13 23:19:52 +02:00
Philipp Fromme 59de7598b1 Merge branch 'master' into develop 2019-10-11 16:38:08 +02:00
Philipp Fromme 44cceb5da2 fix(adaptive-label-positioning): ignore labels that are being created
Closes #1211
2019-10-11 16:29:30 +02:00
Philipp Fromme 168a1493b2 fix(modeling): do not duplicate flow node refs
Closes: https://github.com/camunda/camunda-modeler/issues/1504
2019-10-11 16:29:24 +02:00
Philipp Fromme 5bed0aeca5 Merge branch 'master' into develop 2019-09-27 14:33:32 +02:00
ssoorriiin 37bcd070e8 fix(modeling): do not remove default sequence flow on type change
* do not remove default sequence flow when changing type to intermediate catch

Closes #1197
2019-09-27 14:33:08 +02:00
ssoorriiin b290078600 fix(modeling): do not remove sequence flow condition on type change
* do not remove sequence flow condition when changing type to intermediate catch

Closes #1199
2019-09-27 14:30:55 +02:00
Niklas Kiefer 0143595230 Merge branch 'master' into develop 2019-09-25 13:34:54 +02:00
Philipp Fromme a74d838dc7 fix(copy-paste): do NOT copy generic properties
Related to camunda/camunda-modeler#1507
2019-09-25 13:09:00 +02:00
Philipp Fromme 5736cfe794 Merge branch 'master' into develop 2019-09-24 14:41:03 +02:00
Oguz Eroglu d55e3afe35 fix(copy-paste): copy attacher properties
Closes #1190
2019-09-24 12:34:15 +00:00
Philipp Fromme 51232830e2 Merge branch 'master' into develop 2019-09-23 08:59:02 +02:00
Philipp Fromme f177a462ea fix(viewer): do not clear diagram if no diagram to clear
Closes #1181
2019-09-20 11:11:49 +00:00
Philipp Fromme 83e9f05efa fix(connect-snapping): snap to sub process mid
Related to camunda/camunda-modeler#1436
2019-09-13 14:29:38 +00:00
Niklas Kiefer dcf440b076 fix(auto-place): complete direct editing on auto place
Related to camunda/camunda-modeler#1502
2019-09-12 07:55:34 +02:00
Philipp Fromme 5294133a58 Merge branch 'master' into develop 2019-09-11 16:57:23 +02:00
Oguz Eroglu 86c61b0c0d fix(snapping): snap to task mid
Related to https://github.com/camunda/camunda-modeler/issues/1436
2019-09-11 16:56:40 +02:00
Jonathan Irwin aea527775e chore(context-pad): update spelling 2019-09-09 14:45:41 +02:00
Philipp Fromme ddaa3f0b03 fix(keyboard-move-selection): ensure moving lanes is not possible
Closes #943
2019-09-06 15:27:23 +00:00
Philipp Fromme 2f001e1f4a feat(copy-paste): copy process properties
Clone the linked process when copying a participant.

This ensures that properties attached to the process
are not getting lost.

Closes #1161
2019-09-06 15:27:31 +02:00
Philipp Fromme e1d8a67527 fix(drop-on-flow-behavior): handle shape created with bounds
* take into account that shapes can be created with position OR bounds

Fixes #1178
2019-08-29 12:47:53 +00:00
Nico Rehwaldt 70e8da3b9d Merge branch 'master' into develop 2019-08-21 09:53:30 +02:00
Philipp Fromme 6aaf816802 fix(bpmn-layouter): get preferred layout from orientation
Requires https://github.com/bpmn-io/diagram-js/pull/401

Closes #1121
2019-08-21 06:58:15 +00:00
Maciej Barelkowski 33156e43be chore(project): fix linting errors 2019-08-19 14:27:33 +00:00
Niklas Kiefer 5a7d579d3a fix(import): handle data associations on boundary import
Closes #1170
2019-08-19 08:19:04 +00:00
Maciej Barelkowski 6ed51fc036 fix(rules): allow to create attachments
Related to https://github.com/camunda/camunda-modeler/issues/1462
2019-08-13 08:40:37 +00:00
Niklas Kiefer 715d2cca2e fix(label-editing): prevent direct editing after create
Closes #1164
2019-08-13 06:20:34 +00:00
Maciej Barelkowski bf180321a3 fix(modeling): repair event based gateway target pasting
The incoming connections of an event based gateway
target should not be removed when pasting.

Closes #1163
2019-08-12 12:16:45 +00:00
Philipp Fromme 891e0e044d test(grid-snapping): verify start event mid snapping
Closes #1158
2019-08-09 20:30:48 +02:00
Niklas Kiefer 1470d043ba feat(palette): select start event when creating sub process
* use autoSelect hint to only select start event after create

Related to #1152
2019-08-09 12:40:22 +00:00
Philipp Fromme 969472ec9f fix(rules): always allow copying labels
* basic copy rules are implemented in diagram-js CopyPaste e.g. labels can only be copied when their label target is copied

Closes #1153
2019-08-08 09:33:02 +00:00
Philipp Fromme d6b8acc715 fix(copy-paste): copy name property
Closes #921
2019-08-08 07:50:23 +00:00
Philipp Fromme 194b963959 chore(copy-paste): rework and base upon diagram-js@5
* use <copyPaste.canCopyProperty> event to copy category value when copying group
* add camunda-bpmn-moddle for integration tests

BREAKING CHANGES

* CopyPaste: remove <property.clone>, add <moddleCopy.canCopyProperties>, <moddleCopy.canCopyProperty>, <moddleCopy.canSetCopiedProperty>
* BpmnRules: removed <elements.paste> rule in favor of <elements.create> rule
* BpmnRules: removed <element.paste> rule
* ElementFactory: use <attrs.di> property instead of <attrs.colors> for fill and stroke when creating element through ElementFactory#createBpmnElement
2019-08-07 16:03:55 +00:00
Philipp Fromme 14bf3a32ee feat(create): create multiple elements
* add <elements.create> rule for creating multiple elements
* handle creating multiple elements in CreateParticipantBehavior
* create sub process with start event through palette
2019-08-07 16:03:55 +00:00
Nico Rehwaldt 1f706fd9b8 Merge branch 'master' into develop 2019-08-05 14:14:07 +02:00
Niklas Kiefer 5d5f33c38b fix(create-participant-behavior): ensure available children
* Ensure there are leftover children to calculate createConstraints

Closes #1133
2019-08-05 09:56:18 +00:00
Maciej Barelkowski 4ca0a6c9fb Merge branch 'master' into develop 2019-07-22 15:37:51 +02:00
Nico Rehwaldt e7d66b4461 fix(rules): disallow dropping on labels and groups
* test create
* disallow drop on label
* disallow drop on group
* verify create group everywhere

Required by https://github.com/camunda/camunda-modeler/issues/1431
2019-07-22 15:37:07 +02:00
Philipp Fromme d0044f8313 fix(graphics-factory): add test case verifying fix
Related to #1129
2019-07-18 15:46:08 +02:00
Philipp Fromme ab56fc21ad feat(modeling): prevent accidential dragging of container elements
This implements custom hit areas for participants, lanes and
expanded subprocesses.

Given these changes, users need to grab container elements
on the boarder or the label area to move them.

Closes https://github.com/bpmn-io/bpmn-js/issues/957
2019-07-18 15:42:05 +02:00
Maciej Barelkowski 9ee90ef089 fix(modeling): correctly create connection replacement
Closes https://github.com/bpmn-io/bpmn-js/issues/1072
2019-07-02 12:21:49 +00:00
Maciej Barelkowski 23505a4783 Revert "feat(modeling): prevent accidential dragging of container elements"
This reverts commit 7b0e304062.

Related to https://github.com/camunda/camunda-modeler/issues/1416
Opens https://github.com/bpmn-io/bpmn-js/issues/957
2019-07-02 08:12:41 +00:00
Niklas Kiefer 9e52e4ee3e feat(group-behavior): set copied name value to pasted group elements
Closes camunda/camunda-modeler#1417
2019-07-02 07:42:22 +00:00
Niklas Kiefer e31c4d13ed chore(copy-paste): ensure pasted group has new category value
Relates to camunda/camunda-modeler#1417
2019-07-02 07:42:22 +00:00
Niklas Kiefer b7d6d62184 feat(label-behavior): correctly retrieve label from element
Relates to camunda/camunda-modeler#1417
2019-07-02 07:42:22 +00:00
Maciej Barelkowski 9c063f867b feat(Viewer): restore Viewer#importDefinitions
This was removed in f8f9334, but it occurred that
the method is used productively  by some of the clients.
This commit restores the method as part of public API.

Use `Viewer#importDefinitions` to import previously
parsed definitions. Now it is also possible to pass
the diagram or diagram id to be rendered during
graphical import.
2019-06-28 10:26:58 +02:00
Maciej Barelkowski ff45cab7c1 test(Viewer): correctly call done 2019-06-28 10:26:58 +02:00
Nico Rehwaldt 3b4251967d feat(snapping): add TRBL snapping against containers
Adds TRBL snapping with containers only.

Closes #1104
2019-06-27 13:09:22 +00:00
Sergio Rossi 92bdcb83eb feat(bpmn-renderer): correctly render all parallel and multiple events
Closes #1090
2019-06-27 10:41:27 +00:00
Nico Rehwaldt fdb299dc88 feat(modeling): allow to drag participant via nested lane
Related to https://github.com/bpmn-io/bpmn-js/issues/957
2019-06-25 18:01:40 +02:00
Philipp Fromme 7b0e304062 feat(modeling): prevent accidential dragging of container elements
This implements custom hit areas for participants, lanes and
expanded subprocesses.

Given these changes, users need to grab container elements
on the boarder or the label area to move them.

Closes https://github.com/bpmn-io/bpmn-js/issues/957
2019-06-25 18:01:40 +02:00
Maciej Barelkowski 890e466161 fix(bpmn-rules): allow to drop Boundary Events only on containers
Closes https://github.com/bpmn-io/bpmn-js/issues/1095
2019-06-24 13:47:08 +00:00
Niklas Kiefer 827df52e4b test(modeling): add test for center-to-center connection
Relates to #1087
2019-06-19 13:26:17 +00:00
Niklas Kiefer 9b9ff934d2 feat(snapping): snap to task mid on center interaction
Closes #1086
2019-06-19 13:26:17 +00:00
Niklas Kiefer cfad2f49aa feat(snapping): restore center snapping for Gateways and Events
Closes #1079
2019-06-19 13:26:17 +00:00
Nico Rehwaldt ca64b1b353 test(draw): fix broken test diagram 2019-06-18 11:31:15 +00:00
Nico Rehwaldt 19be51abc7 feat(modeling): ignore lanes when connecting message flows
Closes #950

Related to camunda/camunda-modeler#1213
2019-06-18 07:07:03 +00:00
Nico Rehwaldt 055fdf75e1 feat(modeling): allow label and group movement everywhere, round two
This partially reverts 0c0932d4c6f54181d7f06a626ef109ae7c00dccb.

Closes #1076
2019-06-18 07:07:03 +00:00
Nico Rehwaldt 5a69f9c0bc chore(modeling/behavior): rename Create -> FixHover behavior 2019-06-18 07:07:03 +00:00
Philipp Fromme bef75b2435 fix(snapping): snap to docking points
Closes #1081
2019-06-17 18:54:28 +00:00
Nico Rehwaldt 06cd481146 fix(grid-snapping): correctly update snapped waypoints
* make side-effect free
* use Modeling#updateWaypoints for actual update
2019-06-17 12:34:09 +00:00
Niklas Kiefer 405669e376 feat(bpmn-rules): ignore labels movement visually
* Set canMove to null if external label

Closes #1054
2019-06-13 08:44:41 +00:00
Maciej Barelkowski a09e0a3bed feat(bpmn-snapping): snap boundary event loop when close to source
Closes #903
2019-06-12 20:46:39 +02:00
Maciej Barelkowski 085cedfda1 feat(layout): correctly lay out Boundary Event loops
Loops will now be laid out with respect to minimum
second segment width.
2019-06-12 20:46:39 +02:00
Maciej Barelkowski d80076a034 feat(bpmn-snapping): snap inside the target instead of target center 2019-06-12 20:46:39 +02:00
Maciej Barelkowski eadc1fb159 test(layout): remove awesome test 2019-06-12 20:46:39 +02:00
Maciej Barelkowski 6eba64d666 test(layout): extract boundary event loop tests 2019-06-12 20:46:39 +02:00
Niklas Kiefer 144157f9eb feat(label-behavior): move external label after resizing
* Generate reference point for external label 
* Adjust label position after resizing due to reference point delta

Closes #1051
2019-06-11 22:15:18 +00:00
Niklas Kiefer 4777b42f63 chore(label-behavior): move test file
* Adjust to fit the existing behavior test file structure
2019-06-11 22:15:18 +00:00
Maciej Barelkowski debb96f49d test(modeling): ensure reconnecting data association works
Closes #1008
2019-06-06 17:42:48 +00:00
Maciej Barelkowski dd3d7e9c64 fix(modeling): fix selection during reconnection with replacement
Closes #896
2019-06-06 09:10:56 +00:00
Maciej Barelkowski 4c10420017 feat(modeling): replace connection with correct type if rules allow
As a side effect, this corrects also the layout of the replacement.

Closes #1049
2019-06-06 09:10:56 +00:00
Philipp Fromme 8815b73599 feat(grid-snapping): snap width and height on create first participant
Closes #1061
2019-06-05 15:50:47 +02:00
Philipp Fromme a98c8e3bc8 chore(bpmn-snapping): seperate snapping into create/move and connect
* move create/move snapping to BpmnCreateMoveSnapping
* move connect snapping to BpmnConnectSnapping
* refactor tests

Related camunda/camunda-modeler#1290
2019-06-05 14:36:39 +02:00
Philipp Fromme a4e160c48b chore(bpmn-snapping): move create behavior to seperate behavior 2019-06-05 14:36:39 +02:00
Philipp Fromme d42d5e3448 chore(resize-behavior): move resize behavior to seperate behavior
* setting minimum bounds and resize constraints moved to ResizeBehavior

Related to #1290
2019-06-05 14:36:39 +02:00
Philipp Fromme ca12ac91a4 chore(bpmn-snapping): move participant fitting to participant behavior
Related to #1290
2019-06-05 14:36:39 +02:00
Niklas Kiefer 8862865e2a feat(modeling): improve label positioning for boundary events
* Do not allow placing label onto host

Relates to camunda/camunda-modeler#1206
2019-06-05 06:04:42 +00:00
Maciej Barelkowski 2804e559e9 test(layout): skip connection preview test for create 2019-06-04 19:46:05 +02:00
Nico Rehwaldt 0a6cecc609 feat(modeling): lay out connection once per event attachment 2019-06-04 17:44:47 +00:00
Maciej Barelkowski d14e3735a4 test(layout): verify attached event connection layout 2019-06-04 17:44:47 +00:00
Maciej Barelkowski 9dbc3c88df feat(modeling): allow to attach intermediate event with connections
Closes #478
2019-06-04 17:44:47 +00:00
Maciej Barelkowski 33f9e7be6e feat(modeling): allow to attach events with event definition
This feature is allowed only for events which have their boundary
counteparts, i.e. intermediate throw, message catch, timer catch,
signal catch and conditional catch events.
2019-06-04 17:44:47 +00:00
Maciej Barelkowski 1e9aceecd7 feat(modeling): create boundary event via moving intermediate event 2019-06-04 17:44:47 +00:00
Maciej Barelkowski c1052383da feat(modeling): layout connection once per detachment 2019-06-04 16:07:13 +02:00
Maciej Barelkowski 4d6c8586e4 feat(modeling): allow to detach Boundary Events
Closes #1045
2019-06-04 16:07:13 +02:00
Maciej Barelkowski ecf9118a09 style(bpmn-replace): lint tests 2019-06-04 16:07:13 +02:00
Maciej Barelkowski 66bc72d5e3 test(modeling): remove doubled module in test setup 2019-06-04 16:07:13 +02:00
Maciej Barelkowski ba5bf31e42 fix(bpmn-rules): correctly evaluate waypoints update rule
Closes #1048
2019-06-03 09:56:39 +00:00
Gustavo E. Jimenez Folta 3a0f044d9e feat(modeling): add subprocess with start event included
When:

1. Creating expanded subprocess from palette.
2. Replacing task with expanded subprocess.
2019-05-29 16:05:22 +02:00
Philipp Fromme 9e5a5f4944 fix(layout-connection-behavior): do NOT snap on reconnect start and end
Closes #1056
2019-05-29 09:46:30 +00:00
Gustavo E. Jimenez Folta bc5a3f803e revert: feat(modeling): prevent expanded subprocess overlap of previous content
This reverts commit 05fea05834.
2019-05-29 11:23:41 +02:00
Gustavo E. Jimenez Folta 68635fcb33 revert: test(modeling/behavior): remove unnecessary sinon usage
This reverts commit 82dbcc9451.
2019-05-29 11:23:29 +02:00
Niklas Kiefer 643ca2193c fix(snapping): prevent participants snap to group bounds 2019-05-29 06:42:54 +00:00
Niklas Kiefer 46c5a8cb36 fix(ordering): render group elements on collaboration level
Closes #1043
2019-05-29 06:42:54 +00:00
Niklas Kiefer 93a4a579dd feat(label-editing): create categoryValue if not exist
Relates to #955
2019-05-28 06:46:53 +00:00
Niklas Kiefer fb3398fa39 feat(label-editing): enable direct editing for group labels
* Adds external label for Groups
* Modifies referenced categoryValue

Closes #955
2019-05-28 06:46:53 +00:00
Niklas Kiefer f6f9ac29f2 chore(draw): remove internal label for groups 2019-05-28 06:46:53 +00:00
Philipp Fromme bc4b6cbfd8 fix(tests): fix custom elements tests
* in the context of bpmn-js returning true when asked wether two elements can be connected is not sufficient
* remove BpmnConnectionPreview since it's not needed after tests are fixed

Closes #1034
2019-05-23 18:26:12 +02:00
Niklas Kiefer 92640b9c06 test(group-behavior): add test for existing categoryValueRef 2019-05-23 15:12:38 +02:00
Niklas Kiefer a7e3980059 feat(modeling/behaviors): add GroupBehavior
* Create new Category + Value for every new Group
* Cleanup on Group deletion
2019-05-23 15:12:38 +02:00
Niklas Kiefer 20f6d9ab03 feat(palette): add group-entry
Closes #954
2019-05-23 15:12:38 +02:00
Niklas Kiefer 1575b5b26f fix(copy-paste): adjust categoryValueRef when group is copied
Closes #958
2019-05-20 07:56:27 +00:00
Nico Rehwaldt 576a3dec15 fix(rules): do not allow message flows to outside diagram shapes
Closes #1033
2019-05-17 11:01:29 +00:00
Maciej Barelkowski 87bfe23ff8 feat(connection-preview): support general connection preview
Closes #744
2019-05-17 11:15:06 +02:00
Maciej Barelkowski 654fa067d4 test(modeling): verify re-connect preview layout 2019-05-17 11:15:06 +02:00
Gustavo E. Jimenez Folta 82dbcc9451 test(modeling/behavior): remove unnecessary sinon usage 2019-05-16 15:25:15 +02:00
Philipp Fromme 05fea05834 feat(modeling): prevent expanded subprocess overlap of previous content
This covers two scenarios:

1. When a shape is replaced with an expanded subprocess
2. When a subprocess is toggled from collapsed to expanded

Only when:

1. There are incoming sequence flows (previous content)
2. There are no outgoing sequence flows (following content)
2019-05-15 16:57:32 +02:00
Philipp Fromme 62d7746e81 feat(bpmn-snapping): snap shape to itself
Closes #993
2019-05-13 07:25:26 +00:00
Philipp Fromme 8b4ddd53c0 chore(bpmn-auto-resize): add test 2019-05-10 07:22:51 +00:00
Maciej Barelkowski 2bdb36919d test(modeling): verify connection preview layout 2019-05-09 14:12:37 +00:00
Philipp Fromme 2335282a82 fix(bpmn-create-connect-preview): override #getConnection 2019-05-09 14:12:37 +00:00
Maciej Barelkowski 48fcececbf test(layout): add integration test for connection preview 2019-05-08 12:59:27 +00:00
Niklas Kiefer 883d6c8ad3 test(ResizeShape): add test coverage
* Restructure tests to make them more clear
* Add tests for businessObject updates (especially groups)
2019-05-07 14:36:32 +02:00
Philipp Fromme 175e395768 feat(ordering): always render groups on top
Closes #979
2019-05-07 14:36:32 +02:00
Niklas Kiefer bf2dfe4338 feat(rules): add resizing of groups
Closes #956
2019-05-07 14:36:32 +02:00
Niklas Kiefer 89886d7c12 feat(ElementFactory): add #isFrame property on group creation
This allows basic support for diagram-js frame elements.

Closes #959
Closes #960
2019-05-07 14:36:32 +02:00
Philipp Fromme 13f1e05ee7 feat(grid-snapping): integrate with connection layout
Closes #1010
Related to #973
2019-05-07 10:08:35 +02:00
Gustavo E. Jimenez Folta 424a05a18a feat(modeling): correctly handle event based gateway connections
Handles two new scenarios:

1. A user wants to connect an event-based gateway to an event-based
gateway target with existing incoming sequence flows. The existing
sequence flows are removed before connecting the new one.

2. A user wants to replace a gateway, that is already connected to
event-based gateway targets, with an event-based gateway. The existing
incoming sequence flows of the targets, which do not belong to the
newly replaced event-based gateway, are removed before the replacement
operation finishes.

This is because target elements in an event gateway configuration
must not have any additional incoming sequence flows other than
that from the event gateway.
2019-05-06 12:41:11 +02:00
Gustavo E. Jimenez Folta b6e9c2186a fix(BpmnRules): update canConnectSequenceFlow()
This prevents multiple incoming sequence flows to target events of an
event-based gateway when the connection source is not an event-based
gateway.
2019-05-06 12:41:11 +02:00
Philipp Fromme 867b41c04f feat(grid-snapping): integrate grid snapping with auto place feature
Closes #1003
2019-04-30 09:32:42 +00:00
Nico Rehwaldt d73ffd5991 style(tests): adopt cleaner pattern 2019-04-29 12:04:01 +00:00
Nico Rehwaldt 5affe25705 feat(modeling): adjust default collapsed participant height to 60px
This better aligns our collapse behavior with other tools.
2019-04-29 12:04:01 +00:00
Nico Rehwaldt 02848564cf test(grid-snapping): use bound matcher 2019-04-26 18:31:36 +00:00
Philipp Fromme fa2e472361 feat(grid-snapping): integrate auto resize
Related to camunda/camunda-modeler#1344
Related to camunda/camunda-modeler#1349
2019-04-26 18:31:36 +00:00
Philipp Fromme 3b756e0725 feat(grid-snapping): snap resizable elements top-left
Related to camunda/camunda-modeler#1344
2019-04-26 18:31:36 +00:00
Nico Rehwaldt 2935b23ee4 test(modeling/behavior): reorganize label positioning behavior specs 2019-04-25 16:27:58 +02:00
Maciej Barelkowski 06ffc9d407 fix(modeling/BpmnLayouter): properly lay out boundary event connections
Closes #891
2019-04-24 11:56:01 +00:00
Gustavo E. Jimenez Folta 0f7b8f483c feat(replace): auto-resize height when toggling pool collapse/expand 2019-04-23 15:56:50 +02:00
Nico Rehwaldt a40b95cf2f test(modeling): verify connection layouting on element removal
Closes #989
2019-04-18 18:15:31 +02:00
Maciej Barelkowski 55ca4c8f3d chore(modeling/label): adjust label position to laid out connection
Closes #718
2019-04-18 16:06:44 +00:00
Maciej Barelkowski 6c191590b5 test(modeling/layout): expect layout on reconnect end 2019-04-18 16:06:44 +00:00
Maciej Barelkowski 6a396fb947 test(modeling/layout): add integration test for reconnection 2019-04-18 16:06:44 +00:00
Philipp Fromme 76ed2b4c26 fix(tests): fix Firefox 2019-04-18 14:42:01 +00:00
Nico Rehwaldt 65e4a1ab19 test(draw): double check marker coloring
* improves color detection to not fail on CI
* verifies message flow markers are being re-used
2019-04-18 14:42:01 +00:00
Nico Rehwaldt f106187a98 test(draw): in-source colors diagram
* don'r rely on diagram in fixtures
2019-04-18 14:42:01 +00:00
Nico Rehwaldt 13e3752f94 fix(draw): render hex and rgb encoded color markers
Until now we did not properly sanitize the IDs we create for colored
markers. This would make the marker retrival fail with fill and
stroke colors encoded in hex and rgb(a, b, c) form.

This commit improves the situation by removing forbidden chars from
the marker ID.

Closes #981
Related to camunda/camunda-modeler#1342
2019-04-18 14:42:01 +00:00
Maciej Barelkowski 0affb3b3bc test(Viewer): simplify multiple-diagrams test cases 2019-04-16 15:20:12 +02:00
Maciej Barelkowski 87c1d2d142 test(Viewer): expect no warnings when DIs use same elements 2019-04-16 15:20:12 +02:00
Maciej Barelkowski a7c0bb8f57 test(Viewer): make sure it opens only selected diagram 2019-04-16 15:20:12 +02:00
Nico Rehwaldt 7b03e5289a test(import): verify duplicate DI import behavior 2019-04-16 15:20:12 +02:00
Nico Rehwaldt ba987734f8 test(Viewer): make diagram names human readable 2019-04-16 15:20:12 +02:00
Nico Rehwaldt 2f99cff34a test(Viewer): verify non-args #open 2019-04-16 15:20:12 +02:00
Nico Rehwaldt b1ee678fe3 test(Viewer): split config -> container handling into own describe 2019-04-16 15:20:12 +02:00
Nico Rehwaldt a78f8037c7 test(Viewer): group multiple diagram handling 2019-04-16 15:20:12 +02:00
Valerio Spadaro 3f0583ad5f feat(Viewer): add #open method
This adds a method to switch displayed diagram without reimporting
xml via

```
var viewer = new Viewer({ container: container });
viewer.importXML(xml, diagramId, done);

var diagrams = viewer.getDefinitions().diagrams;
viewer.open(diagrams[1], done);
```
2019-04-16 15:20:12 +02:00
Valerio Spadaro 1c0585aaaf feat(Viewer): allow to select diagram to view
This introduces a new parameter to `Viewer#importXML`
which enables to choose the diagram to display.

```
var viewer = new Viewer({ container: container });
viewer.importXML(xml, diagramId, done);
```

Closes #87
2019-04-16 15:20:12 +02:00
Maciej Barelkowski 0c71ad30a0 feat(Viewer): remove businessObject#di binding on #clear
Closes #978
2019-04-16 15:10:43 +02:00
Maciej Barelkowski 00b7d9ecc2 fix(import/BpmnTreeWalker): pass context to unhandled process handler 2019-04-16 09:15:14 +00:00
Maciej Barelkowski 8eced8a3fb test(modeling): ensure layout is done after element removal
* adjust test suite to pass with diagram-js@3.2
* verify new cropping behavior
* verify #940 is fixed
2019-04-10 19:08:49 +00:00
Maciej Barelkowski 6f7925080c chore(modeling/BpmnUpdater): remove now unnecessary crop on reconnect
As of diagram-js@3.2.0 layouting will be triggered
on reconnectStart / reconnectEnd.

Related to #940
2019-04-10 19:08:49 +00:00
Nico Rehwaldt 3348c9e207 style(project): reformat test diagram 2019-03-29 13:21:34 +00:00
Nico Rehwaldt 8ca4c1d7b0 feat(modeling): allow basic movement of DataInput / DataOutput
Allow moving DataInput / DataOutput as
long as they do not leave their original
container.

Related to #951
2019-03-29 13:21:34 +00:00
Nico Rehwaldt fe9d4ff06d feat(modeling): ensure wrapping DataInput/Output in participant works 2019-03-29 13:21:34 +00:00
Nico Rehwaldt 8c49cb679b fix(modeling): properly handle DataInput / DataOutput move
Closes #961
2019-03-29 13:21:34 +00:00
Nico Rehwaldt 4c270a01e4 test(Modeler): add data input / output editing spec 2019-03-26 11:55:36 +01:00
Nico Rehwaldt 2fff30a284 feat(label-editing): support data input/output
Related to #951
2019-03-26 11:55:36 +01:00
Nico Rehwaldt 89719de3be feat(import): render DataInput and DataOutput labels
Related to #951
Related to camunda/camunda-modeler#1324
2019-03-26 11:55:36 +01:00
Nico Rehwaldt 1538bd8a9e style(tests): use appropriate chai matcher 2019-03-12 08:56:03 +00:00
Nico Rehwaldt 45486f2afe fix(import): gracefully handle missing waypoints
This ensures we do not blow up if a diagram
is missing waypoints for connections.

Related to camunda/camunda-modeler#1294
2019-03-12 08:56:03 +00:00
Nico Rehwaldt 0a9efb793b test(modeling/behavior): localize test diagram 2019-03-12 08:56:03 +00:00
Maciej Barelkowski 39d4f1c57e feat(modeling): set isHorizontal=true for partipant/lane DIs
Closes #934
2019-01-31 10:46:16 +00:00
Nico Rehwaldt b00c673c7d test(project): use built-in progress reporter
* yields performance gains up to 30% compared to spec reporter
2019-01-10 12:36:02 +01:00
Nico Rehwaldt 31271059d4 fix(ordering): render labels always on top 2018-12-04 13:48:12 +00:00
Nico Rehwaldt 7aad42d178 fix(modeling): limit flow join behavior to bpmn:SequenceFlows
Closes #917
2018-11-30 09:32:05 +00:00
Nico Rehwaldt b410eed96f test(keyboard): use standard KeyEvents util 2018-11-21 09:41:52 +01:00
Niklas Kiefer e6c073ebea test(Modeler): add regression test for correct module injection 2018-11-06 13:56:53 +00:00
Nico Rehwaldt a94406e423 feat(modeler): (re-)integrate selection moving via keyboard
Closes #376
2018-10-29 14:52:41 +00:00
Nico Rehwaldt a525c633a2 chore(keyboard): register keys backed by editor actions only
* only register keyboard bindings that are backed by actual
  editor actions
* rename BpmnKeyBindings -> BpmnKeyboardBindings for parity with
  diagram-js@latest
* sub-class and override _keyboardBindings_ service provided
  by diagram-js
* extend spec to verify default actions
2018-10-29 14:52:41 +00:00
Nico Rehwaldt b60feba531 test(Viewer): verify editor action support 2018-10-29 14:52:41 +00:00
Nico Rehwaldt a348092230 test(NavigatedViewer): verify editor action support 2018-10-29 14:52:41 +00:00
Nico Rehwaldt 37e38e9a2a test(Modeler): verify existing editorActions 2018-10-29 14:52:41 +00:00
Maciej Barelkowski f0610721c9 feat(keyboard): use key value for bindings
`KeyboardEvent.keyCode` is deprecated, so the BpmnKeyBindings will
use non-deprecated `KeyboardEvent.key` instead.
2018-10-29 14:52:41 +00:00
Niklas Kiefer acd2fe520b feat(draw): render group names
Closes #844
2018-10-25 14:32:07 +02:00
Philipp Fromme 6d54ff34e3 chore(boundary-event-behavior): clean up tests 2018-10-17 14:31:40 +00:00
Niklas Kiefer 178e1cfccb fix(modeling/behaviors): add a behavior that deletes attached boundaries after replacing a gateway with an event based gateway 2018-10-17 13:12:31 +00:00
Niklas Kiefer b3e4b1dc1f fix(modeling/behaviors): add behavior for deleting boundaries on receive tasks after connecting to event based gateway 2018-10-16 10:53:57 +00:00
Niklas Kiefer ea681df2d3 fix(bpmn-rules): adjust canAttach rule for boundary events after event based gateways 2018-10-16 10:53:57 +00:00
Maciej Barelkowski ba42e9edde feat(global-connect): use rules for connection starting
* remove `BpmnGlobalConnect` provider
* use `connection.start` rule to determine whether
  an element can start a connection

Closes #565
Closes #870

BREAKING CHANGE:

* `BpmnGlobalConnect` got removed. Add `connection.start`
  rule to specify whether connection should be allowed.
2018-10-11 09:28:30 +00:00
Nico Rehwaldt f99a0a9609 chore(project): add test coverage
* monitor coverage via codecov
* run coverage locally via COVERAGE=1 npm test
2018-10-04 07:37:01 +00:00
Nico Rehwaldt e54a3a7692 test(draw): visually verify label rendering 2018-09-20 22:18:10 +02:00
Nico Rehwaldt 374c7d7f18 fix(rules): correct bpmn:Lane insert rule
Closes #855
2018-08-29 00:38:03 +02:00
Nico Rehwaldt 6689af6f5b feat(snapping): snap message flows to bpmn:Event mid
This snaps source / target to the element mid, if
the element is a `bpmn:Event`.

There is usually no more than one snap point for
an event other than the center.

Closes #850
2018-08-22 14:43:16 +02:00
Nico Rehwaldt 905ee6f667 fix(rules): allow labels to be dropped everywhere
Closes #849
2018-08-22 14:41:59 +02:00
Nico Rehwaldt 8a6ab27b04 test(rules/Helper): accept actual elements 2018-08-22 14:41:59 +02:00
Nico Rehwaldt 898a0fa9c8 fix(modeling/DropOnFlowBehavior): filter redundant connections
This prevents duplicate flows from being created, accidentially.

Closes #774
2018-07-25 11:10:51 +02:00
Nico Rehwaldt 249ea6a3ea fix(modeling): disallow inserting on incoming/outgoing connection
Closes #836
2018-07-25 11:10:51 +02:00
Nico Rehwaldt 6d9b04a5f1 chore(project): use karma-webpack for testing
* no need to transform test via browserify
* works 🍰
2018-07-16 13:00:55 +02:00
Nico Rehwaldt 311e5d7bc7 chore(tests): convert BpmnTreeWalker test to ES5 2018-07-16 13:00:55 +02:00
Philipp Fromme e637a8e57b feat(modeling/BpmnLayouter): layout Element -> Element loops
Closes #824
2018-07-13 10:29:00 +02:00
Philipp Fromme 220c0a73f3 feat(modeling/BpmnLayouter): handle boundary events
This adds proper connection layouting for sequence
flows leaving from boundary events.

If needed, such connections will be layoute with
an U-turn.

Closes #467
2018-07-13 10:16:11 +02:00
Nico Rehwaldt 4806938600 feat(modeling): create label at appropriate position
This re-introduces adaptive label positioning
on label creation as a feature.

It worked before but broke during the introduction
of optional labels.

Closes #825
2018-07-11 13:26:43 +02:00
Nico Rehwaldt 15596ef97c test(modeling): verify correct label adjustment 2018-07-11 13:10:18 +02:00
Nico Rehwaldt abbe54912f test(modeling): correct test cases
Ensure the test cases are not affected by accidential
automatic label adjumstment (TM).
2018-07-11 13:09:40 +02:00
Philipp Fromme 82a37e7253 chore(test): clean up test setup 2018-07-09 12:30:45 +02:00
Nico Rehwaldt 75c0880341 chore(replace): retain definitions where appropriate
* simplify implementation
* retain event definitions when switching from interrupting
  to non-interrupting and vice versa

Closes #799
2018-06-28 09:03:34 +02:00
Nico Rehwaldt 628e2d1019 chore(test/matchers): improve jsonEquals matcher 2018-06-28 09:03:34 +02:00
Nico Rehwaldt 300e7010c4 fix(modeling): correct DataStoreBehavior updating multiple stores 2018-06-18 09:21:18 +02:00
Philipp Fromme 5cc28d5d55 fix(modeling): apply DataStoreBehavior in collaboration only
* updating parents of datastores in the root is only
  necessary when deleting a subprocess in a collaboration

Related to camunda/camunda-modeler#823
2018-06-13 13:48:39 +02:00
Philipp Fromme 100f3fb2ee fix(label-behavior): text annotation resizing after text property change
Depends on bpmn-io/diagram-js#259

Related to camunda/camunda-modeler#631
2018-06-13 11:02:55 +02:00
Nico Rehwaldt 3c87716895 feat(viewer): emit export events
This makes the viewer emit events during SVG and XML export.

These events allow others to hook in, i.e. to trigger additional _save_
actions.

Closes #811
2018-06-12 15:44:52 +02:00
Nico Rehwaldt 6c081d854f chore(label-editing): remove businessObject name on empty text
The following two actions will now unset the
business objects name property:

* deleting external label
* entering empty text via direct editing
2018-06-11 11:39:08 +02:00
Nico Rehwaldt a7a1743df0 fix(modeling): properly cascade label deletion
Ensure we execute the following nicely:

* unset name -> remove label shape
* remove label shape -> unset name
2018-06-11 11:39:08 +02:00
Philipp Fromme 4a0f6da814 fix(label-behavior): properly check for name property change
Related to camunda/camunda-modeler#824
2018-06-06 13:35:57 +02:00
Philipp Fromme 891cf4ac0c feat(draw+modeling): support lineHeight
* take numeric line height into account when
  rendering text labels
* take line height into account when directly
  editing labels
* use default line height of 1.2 for text rendering

Closes #803
2018-05-29 11:58:15 +02:00
Nico Rehwaldt b1a4e08ddd feat(modeling): assign ID when creating bpmn:LaneSet 2018-05-28 09:55:30 +02:00
Nico Rehwaldt 4bb270f192 chore(draw): unify text rendering into service
A newly introduced TextRenderer is responsible for text
rendering and text related bounds computation.

This removes a bunch of code duplication, too.
2018-05-24 16:26:01 +02:00
Philipp Fromme 7537757357 feat(labels): labels can be deleted
Related to camunda/camunda-modeler#243
2018-05-24 16:22:51 +02:00
Nico Rehwaldt 0b66b77483 chore(draw): retrieve default colors from bpmnRenderer config
Related to #713
2018-05-24 15:03:52 +02:00
Nico Rehwaldt 290b2f6121 chore(test): collapse completed test containers 2018-05-24 14:21:09 +02:00
Nico Rehwaldt f973ce807a test(draw): add colored labels to test diagram 2018-05-24 14:21:09 +02:00
Nico Rehwaldt 3a980af0e7 test(draw): run tests in test containers 2018-05-24 14:21:09 +02:00
Philipp Fromme dc1f18a497 feat(bpmn-renderer): accept default fill and stroke color
Related to #797
2018-05-24 07:39:30 +02:00
Philipp Fromme 690417b389 feat(modeling): allow data store anywhere in collaboration
ensure valid BPMN 2.0 parent when

* creating/moving data store
* removing participant
* turning process into collaboration
* turning collaboration into process

Closes #483
2018-05-17 15:09:37 +02:00
Nico Rehwaldt 0f62183410 test(modeling): verify missing bpmndi:BPMNLabel update behavior 2018-05-17 14:57:54 +02:00
Nico Rehwaldt b98dd6fe95 fix(modeling): correctly handle missing bpmndi:Label bounds
Closes #794
2018-05-17 14:57:54 +02:00
Nico Rehwaldt 92b0d4eced test(draw): unskip color spec 2018-05-17 11:26:38 +02:00
pedesen 17896df65c chore(contextPadProvider): adjust popupMenu method calls
Since breaking changes were introduced in diagram-js
popupMenu methos calls need to be adjusted

* call popupMenu#open with element, id and position as params
* call popupMenu#isEmpty with element and providerId as params
* remove popupMenu#create call
2018-05-14 15:13:29 +02:00
Nicolas Boissel-Dallier 9379abafcc fix(auto-place): fix infinite loop during auto-place
* NaN was returned when autoplacing an element after
  a boundary event, attached to its hosts corner.

Closes #788
2018-05-04 10:40:01 +02:00
Nico Rehwaldt 327eb90140 style(tests): use not.to matchers
...in favor of to.not.
2018-05-03 16:37:24 +02:00
Philipp Fromme 12a38da9c7 feat(import): expose additional BpmnTreeWalker functionality
* expose API needed for lazy sub-process imports
* also changes #handleDeferred to NOT expect deferred
  as a parameter anymore

Related to bpmn-io/bpmn-js-signavio-compat#1
2018-04-25 21:31:02 +02:00
Nico Rehwaldt 164005c88d chore(project): bump bpmn-moddle dependency
* improve well-known namespace attribute validation
* pull in model fixes
2018-04-13 22:48:42 +02:00
Nico Rehwaldt 68f85a171d fix(rules): allow message flows between collapsed pools
Adresses camunda/camunda-modeler#782
2018-04-12 19:35:19 +02:00
pedesen fcd1e2f12c feat(snapping): add initial snapping for associations
Snap to target mid when creating associations.

Closes #782
2018-04-11 13:55:16 +02:00
Nico Rehwaldt e5a3973107 fix(replace-preview): escape element ids in CSS selectors 2018-04-10 09:34:49 +02:00
Nico Rehwaldt e159b002cd fix(copy-paste): correctly set $parent on copied model elements
Related to camunda/camunda-modeler#625
2018-04-09 11:27:58 +02:00