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
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
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
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
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