Commit Graph

791 Commits

Author SHA1 Message Date
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