This improves the import and export of BPMN 2.0 XML documents
+ improves di prefix collision handling
+ proper deconflicting of prefixes during export
+ validate and detect non-BPMN root elements
+ replace underlying XML parser for higher speed and smaller
bundle size
+ pass parse warnings with errors
NOTE:
* some error messages on broken XML may have changed
due to changes in the underlying XML parser
Closes#655
BREAKING CHANGE:
* Viewer / Modeler do not attach to `body` anymore per
default. Use `new Viewer({ container: 'body' })` to
restore the old behavior.
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
Instead of directly redirecting to the project website
the project logo will now open a lightbox, stating the
powered by and allowing the user visit the project
site as part of an informed decision.
Closes#445
This may have unwanted side-effects, i.e. when using id
validation and caching.
We must ensure the meta-model element is actually instance stateless in
order to safely cache it.
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 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 fixes the SVG export of bpmn-js.
* exports the base layer only (no overlays, no markers)
* assigns correct view box to exported SVG
Related to #97
This enables users to instantiate Viewers/Modelers via
```
new Viewer({
additionalModules: [ ... ]
});
```
to bootstrap their own modules with the viewer without overriding the
existing ones.