bpmn-js/test/spec
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
..
draw chore(draw): render connections without source 2017-12-22 10:30:44 +01:00
environment chore(project): switch to eslint 2016-06-07 09:55:32 +02:00
features feat(modeling): add auto placement from context menu 2017-12-22 10:30:44 +01:00
i18n chore(project): switch to eslint 2016-06-07 09:55:32 +02:00
import feat(draw): render sequence flows behind tasks 2017-12-14 11:56:00 +01:00
util chore(tests): rename suite 2017-12-22 10:30:44 +01:00
ModelerSpec.js chore(project): consistent async error handling 2017-12-09 22:31:15 +01:00
NavigatedViewerSpec.js chore(project): switch to eslint 2016-06-07 09:55:32 +02:00
ViewerSpec.js chore(project): consistent async error handling 2017-12-09 22:31:15 +01:00