This allows bundled users (f.ex without browserify)
to use the modeler + viewers easily without having to monkey patch or
load more than one bundled file.
Closes#541
This commit adds more life-cycle events users can
plug into during xml parsing and rendering:
* import.parse.start
* import.parse.complete
* import.render.start
* import.render.complete
* import.done
Some other events had to go because of that, namely
* import.start
* import.(success|error)
BREAKING CHANGE:
* the event import.start got renamed to import.render.start
* the events import.success and import.error got removed
in favour of import.render.complete (passing err, warnings)
* simplifies event handling
* relies on Diagram#clear to reset the diagram before
successive imports
* allows diagram services to be re-used across imports
* allows diagram services to be injected (or retrieved)
before import
Closes#237
This simplifies the ways we work with replacements.
Instead of monkey-patching the original replace functionality we
* create the business object / target object
* pass it to replace
A simple way that works well with our existing infrastructure.
Other changes:
* fixes redo / undo issues.
* splits context-pad + replace
Closes#180
It is now possible to add bendpoints to flows or drag bendpoints to
update their position / trigger reconnects.
Upon bendpoint move a rule is checked to figure out whether or not a
bendpoint operation is allowed or not.
Closes#123Closes#138Closes#139Closes#165
This makes a default set of keystrokes available to the user
if applications bind the keyevents via keyboard.bind(someNode).
Related to bpmn-io/diagram-js#61
This commit moves the navigation features from bpmn-js to diagram-js so
that they can be reused in other modeling / viewer tools.
Related to #124
BREAKING CHANGE:
Navigation features have been moved to diagram-js. If you use them in
custom bundles, update their location accordingly:
bpmn-js/lib/features/movecanvas -> diagram-js/lib/navigation/movecanvas
bpmn-js/lib/features/zoomscroll -> diagram-js/lib/navigation/zoomscroll
bpmn-js/lib/features/touch -> diagram-js/lib/navigation/touch
This adds id logging + validation to the Modeler. As a result the
modeler will throw hard exeptions on colliding id mappings and may
generated unique ids.
Related to bpmn-io/bpmn-js#92
This enables users to instantiate Viewers/Modelers via
```
new Viewer({
additionalModules: [ ... ]
});
```
to bootstrap their own modules with the viewer without overriding the
existing ones.