mirror of
https://github.com/sartography/bpmn-js.git
synced 2025-02-17 03:16:32 +00:00
parent
67d81c346c
commit
1c0ade9d51
@ -21,7 +21,7 @@ var startEventReplace = REPLACE_OPTIONS.START_EVENT,
|
|||||||
* @param {PopupMenu} popupMenu
|
* @param {PopupMenu} popupMenu
|
||||||
* @param {Replace} replace
|
* @param {Replace} replace
|
||||||
*/
|
*/
|
||||||
function BpmnReplace(bpmnFactory, moddle, popupMenu, replace) {
|
function BpmnReplace(bpmnFactory, moddle, popupMenu, replace, selection) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepares a new business object for the replacement element
|
* Prepares a new business object for the replacement element
|
||||||
@ -71,7 +71,11 @@ function BpmnReplace(bpmnFactory, moddle, popupMenu, replace) {
|
|||||||
// TODO: copy other elligable properties from old business object
|
// TODO: copy other elligable properties from old business object
|
||||||
businessObject.name = oldBusinessObject.name;
|
businessObject.name = oldBusinessObject.name;
|
||||||
|
|
||||||
return replace.replaceElement(element, newElement);
|
newElement = replace.replaceElement(element, newElement);
|
||||||
|
|
||||||
|
selection.select(newElement);
|
||||||
|
|
||||||
|
return newElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -165,6 +169,6 @@ function BpmnReplace(bpmnFactory, moddle, popupMenu, replace) {
|
|||||||
this.replaceElement = replaceElement;
|
this.replaceElement = replaceElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
BpmnReplace.$inject = [ 'bpmnFactory', 'moddle', 'popupMenu', 'replace' ];
|
BpmnReplace.$inject = [ 'bpmnFactory', 'moddle', 'popupMenu', 'replace', 'selection' ];
|
||||||
|
|
||||||
module.exports = BpmnReplace;
|
module.exports = BpmnReplace;
|
@ -2,6 +2,7 @@ module.exports = {
|
|||||||
__depends__: [
|
__depends__: [
|
||||||
require('diagram-js/lib/features/popup-menu'),
|
require('diagram-js/lib/features/popup-menu'),
|
||||||
require('diagram-js/lib/features/replace'),
|
require('diagram-js/lib/features/replace'),
|
||||||
|
require('diagram-js/lib/features/selection'),
|
||||||
require('../modeling')
|
require('../modeling')
|
||||||
],
|
],
|
||||||
bpmnReplace: [ 'type', require('./BpmnReplace') ]
|
bpmnReplace: [ 'type', require('./BpmnReplace') ]
|
||||||
|
@ -85,6 +85,26 @@ describe('features/replace', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
describe('selection', function() {
|
||||||
|
|
||||||
|
it('should select after replace', inject(function(elementRegistry, selection, bpmnReplace) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var task = elementRegistry.get('Task_1');
|
||||||
|
var newElementData = {
|
||||||
|
type: 'bpmn:UserTask'
|
||||||
|
};
|
||||||
|
|
||||||
|
// when
|
||||||
|
var newElement = bpmnReplace.replaceElement(task, newElementData);
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(selection.get()).toContain(newElement);
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('label', function() {
|
describe('label', function() {
|
||||||
|
|
||||||
it('should keep copy label', inject(function(elementRegistry, bpmnReplace) {
|
it('should keep copy label', inject(function(elementRegistry, bpmnReplace) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user