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
* unclaim ID of deleted shapes and connections
* unclaim ID of referenced processes when deleting participant
* this does NOT ensure we unclaim IDs of elements like DI, events, errors, ...
Related to camunda/camunda-modeler#1503
Related to #608
* allow copying boundary events without host
* remove CreateBoundaryEventBehavior in favor of AttachEventBehavior
Closes#1154Closes#1202Closes#1204Closes#1205
* use <copyPaste.canCopyProperty> event to copy category value when copying group
* add camunda-bpmn-moddle for integration tests
BREAKING CHANGES
* CopyPaste: remove <property.clone>, add <moddleCopy.canCopyProperties>, <moddleCopy.canCopyProperty>, <moddleCopy.canSetCopiedProperty>
* BpmnRules: removed <elements.paste> rule in favor of <elements.create> rule
* BpmnRules: removed <element.paste> rule
* ElementFactory: use <attrs.di> property instead of <attrs.colors> for fill and stroke when creating element through ElementFactory#createBpmnElement
* add <elements.create> rule for creating multiple elements
* handle creating multiple elements in CreateParticipantBehavior
* create sub process with start event through palette