bpmn-js/test/spec/features
Nico Rehwaldt ae96f3714d feat(modeling): add auto placement from context menu
Elements will automatically be created at appropriate
positions when context menu create entries are being
clicked (rather than dragged).

This marks a major step forward for mobile modeling,
too as dragging, especially dragging out from very small
controls is very cumbersome to do.

Things we take into account:

* for bpmn:FlowNodes, we try to compute the current
  distance between elements on the flow based on
  connections going in and out of the flow nodes
  source element
* for bpmn:TextAnnotation we assume placement of the
  element top right of the source shape
* for bpmn:DataObject and friends we assume a
  placement bottom right of the source shape
* for all elements, we try not to place elements on
  top of each other; i.e. new elements will be pushed
  up or down accordingly, if an element at a chosen
  position does already exist

Integration into other services:

* context pad provider works with autoPlace, if
  available and defaults to drag start without
* auto placed elements are selected and direct editing
  may conditionally be activated based on element type
  (LabelEditingProvider knows the rules)

Users can out out of autoPlace by specifying the configuration
property `config.contextPad.autoPlace = false`.

Closes #563

BREAKING CHANGE:

* This breaks the default interaction from the context
  pad; if you rely on clicking to start the drag
  you can opt out of autoPlace:

  ```
  new BpmnJS({ contextPad: { autoPlace: false } });
  ```
2017-12-22 10:30:44 +01:00
..
align-elements feat(align-elements): elements can be aligned 2016-06-21 15:29:03 +02:00
auto-place feat(modeling): add auto placement from context menu 2017-12-22 10:30:44 +01:00
auto-resize chore(tests): depend on move module, where used 2017-12-10 23:04:11 +01:00
context-pad feat(modeling): add auto placement from context menu 2017-12-22 10:30:44 +01:00
copy-paste fix(copy-paste): ignore data associations during cloning 2017-12-11 15:14:31 +01:00
distribute-elements fix(distribute-elements): exclude boundary events from distrubution 2016-08-15 15:33:25 +02:00
editor-actions fix(move-to-origin): ignore children of subprocesses 2017-01-09 14:36:58 +01:00
global-connect feat(global-connect): connect distant elements 2016-04-14 17:03:58 +02:00
keyboard chore(project): bump test dependency versions 2017-10-22 23:22:58 +02:00
label-editing chore(project): bump test dependency versions 2017-10-22 23:22:58 +02:00
modeling test(modeling): verify connection move behavior 2017-12-14 23:42:02 +01:00
ordering feat(draw): render sequence flows behind tasks 2017-12-14 11:56:00 +01:00
palette chore(project): switch to eslint 2016-06-07 09:55:32 +02:00
popup-menu fix(replace-menu): a compensation handler can also be a call-activity 2016-08-16 16:02:38 +02:00
replace fix(copy-paste): ignore data associations during cloning 2017-12-11 15:14:31 +01:00
replace-preview chore(tests): depend on move module, where used 2017-12-10 23:04:11 +01:00
rules fix(rules): allow TextAnnotation <-> Data(Store|Object) connection 2017-05-22 12:55:43 +02:00
search chore(project): switch to eslint 2016-06-07 09:55:32 +02:00
snapping fix(snapping): correct bendpoint snapping on shape move 2017-12-10 13:48:46 +01:00