Commit Graph

572 Commits

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