Inline `ResizeUtil` into behavior to prevent circular depdendency.
It is not being used outside the behavior anyway and uses behavior
internals (lane dimensions).
This ensures our FixHoverBehavior (that ensures we drop onto /
connect to participants, not lanes) does fix the hover element
during *.out, too.
Otherwise there is no way for other behaviors to correctly
remove hover indicators.
Closes https://github.com/bpmn-io/bpmn-js/issues/1413
Modeling#updateModdleProperties allows users to update moddle elements
that are backed up by diagram elements.
It provides us a path forward when we start to update more _hidden_
things from within the modeling canvas.
This commit promisifies following APIs:
BaseViewer#importXML
BaseViewer#importDefinitions
BaseViewer#open
BaseViewer#saveXML
BaseViewer#saveSVG
Modeler#createDiagram
Related to https://github.com/bpmn-io/bpmn-js/issues/812
BREAKING CHANGES:
* Users are now expected to have Promises either by default or
polyfilled as the APIs return a Promise now.
This prevents a bug that cause the label target to be accidentally
resized if the user updates the label value to an empty string (or null).
Closes#1294
This makes sure that the semantic ID prefix reflects
the common type of all replace options.
ID prefixes for elements will match the examples:
* `bpmn:ServiceTask` => `Activity_<id_suffix>`
* `bpmn:EndEvent` => `Event_<id_suffix>`
* `bpmn:EventBasedGateway` => `Gateway_<id_suffix>`
* `bpmn:SequenceFlow` => `Flow_<id_suffix>`
Related to https://github.com/camunda/camunda-modeler/issues/1654
* copy references when copying element
* add referenced root element if it doesn't exist
* do NOT add referenced root element if root element with same ID exists
Related to camunda/camunda-modeler#1049.
Related to camunda/camunda-modeler#1463.
With diagram-js@5 we've introduced the CreateBehavior that ensures
elements are not created on top of lanes but always on top of the actual
participant.
Unfortunately we forgot about the fact that lanes are created once in a
while, too.
This commit accounts for this fact and ensures we do not adjust the
parent of to-be-created lanes.
(A test cases for splitting nested lanes did not exist until now).
Closes#1254Closes#1253