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.
This temporarily disallows connections from and to the same element
because it rendered the connection unusable..
This change can be reverted once proper auto layout for circular connections is implemented.
Closes#176
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 adds the modeling#updateProperties(element, props) method to the
modeler that can be used to set BPMN 2.0 properties on elements.
By assigning the properties this way, the modeler is aware of the
elements that got changed and can update / redraw the elements
accordingly.
This hooks up with the modelers undo/redo chain, too.
Related to #167
This commit updates the default direct editing behavior.
It activates on non-touch environments only and only on embedded
labels, too.
This provides a way smoother modeling experience.
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 improves the label handling by
* showing the label only if it exists
* updating the status accordingly
* positioning the label correctly on import
Related to #113
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 commit extracts the test helper utility to its own module.
Use in bpmn-js extensions via
var Helper = require('bpmn-js/test/helper');
This adds the global helper bindings bootstrapModeler/Viewer and inject.
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 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.
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
Behind the scenes changes:
* use diagram-js Matcher util in tests
* add test cases for LayoutConnection
* add test cases for CreateConnection
* cleanup unused test diagram
Related to #2
This commit adds
* handling of bpmn update as command listeners
* label support
Related to bpmn-io/diagram-js#45
BREAKING CHANGE:
* rename bpmnModeling -> modeling to achive parity with diagram-js
This commit fixes the append node command by caching and reusing created
shapes and bpmn elements.
This ensures we do not invalidate actions that build on these element
references.
Related to #6
This commit ensures we pipe invisible root elements (Process,
Collaboration) through our import infrastructure, too.
This way we we receive proper events for them.
Related to #6
Instead of failing hard when we parse invalid flow elements (i.e.
TextAnnotation) we log a warning that may be handled by the diagram
import.
Related to #74