* use ES6 import / export
* UTILS: export individual utilities
* TESTS: localize TestHelper includes
BREAKING CHANGE:
* all utilities export independent functions
* library sources got ported to ES6. You must now use
a ES module bundler such as Browserify + babelify or
Webpack to consume this library (or parts of it).
* take target attach and parent hints on `connection.create`
rule into account to implement create from context-menu
Related to bpmn-io/diagram-js#242
Closes#742
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 } });
```
This commit makes use of the provider concept introduced
in diagram-js. The replace menu entries are now created
in the replace menu provider. This separates BpmnReplace
from the entry creation in the popup menu.
Closes#428
This commit ensures we correctly detect and import
Data*Associations and Associations.
It aligns logging across the import components, too, being slightly more
verbose and helpful.
Related to #112
This commit puts all import related stuff into the import module.
The core module remains as an entry point to require the basic modules
needed by bpmn-js. At the time this is { import, draw }.
This commit replaces the test helper #bootstrapBpmnJS with either
This ensures we can have different Modeler/Viewer specific bootstrap
code being called based on whether we test modeling or viewing only
features.
This commit cleans up reminders of the node-js test suite removal
by removing the test/node folder.
The test structure has been aligned by moving all tests from
* test/spec/browser to test/spec
* test/spec/integration to test/integration