628 Commits

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