Commit Graph

415 Commits

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