Merge branch 'master' into develop
This commit is contained in:
commit
448a8250ab
|
@ -30,7 +30,7 @@ export default function LayoutConnectionBehavior(eventBus, gridSnapping, modelin
|
||||||
hints = context.hints || {},
|
hints = context.hints || {},
|
||||||
waypoints = connection.waypoints;
|
waypoints = connection.waypoints;
|
||||||
|
|
||||||
if (hints.connectionStart || hints.connectionEnd) {
|
if (hints.connectionStart || hints.connectionEnd || hints.createElementsBehavior === false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,8 +72,9 @@ export default function UpdateFlowNodeRefsBehavior(eventBus, modeling, translate
|
||||||
'lane.add',
|
'lane.add',
|
||||||
'lane.resize',
|
'lane.resize',
|
||||||
'lane.split',
|
'lane.split',
|
||||||
'elements.move',
|
'elements.create',
|
||||||
'elements.delete',
|
'elements.delete',
|
||||||
|
'elements.move',
|
||||||
'shape.create',
|
'shape.create',
|
||||||
'shape.delete',
|
'shape.delete',
|
||||||
'shape.move',
|
'shape.move',
|
||||||
|
|
|
@ -7,10 +7,15 @@ import coreModule from 'lib/core';
|
||||||
import gridSnappingModule from 'lib/features/grid-snapping';
|
import gridSnappingModule from 'lib/features/grid-snapping';
|
||||||
import modelingModule from 'lib/features/modeling';
|
import modelingModule from 'lib/features/modeling';
|
||||||
import moveModule from 'diagram-js/lib/features/move';
|
import moveModule from 'diagram-js/lib/features/move';
|
||||||
|
import copyPasteModule from 'lib/features/copy-paste';
|
||||||
|
|
||||||
|
/* global sinon */
|
||||||
|
|
||||||
|
|
||||||
describe('features/grid-snapping - layout connection', function() {
|
describe('features/grid-snapping - layout connection', function() {
|
||||||
|
|
||||||
|
describe('on connection create', function() {
|
||||||
|
|
||||||
var diagramXML = require('./LayoutConnectionBehavior.bpmn');
|
var diagramXML = require('./LayoutConnectionBehavior.bpmn');
|
||||||
|
|
||||||
beforeEach(bootstrapModeler(diagramXML, {
|
beforeEach(bootstrapModeler(diagramXML, {
|
||||||
|
@ -23,8 +28,6 @@ describe('features/grid-snapping - layout connection', function() {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
describe('on connection create', function() {
|
|
||||||
|
|
||||||
it('should snap 3 segment connection (1 middle segment)', inject(
|
it('should snap 3 segment connection (1 middle segment)', inject(
|
||||||
function(elementRegistry, modeling) {
|
function(elementRegistry, modeling) {
|
||||||
|
|
||||||
|
@ -64,6 +67,17 @@ describe('features/grid-snapping - layout connection', function() {
|
||||||
|
|
||||||
describe('on connection layout', function() {
|
describe('on connection layout', function() {
|
||||||
|
|
||||||
|
var diagramXML = require('./LayoutConnectionBehavior.bpmn');
|
||||||
|
|
||||||
|
beforeEach(bootstrapModeler(diagramXML, {
|
||||||
|
modules: [
|
||||||
|
coreModule,
|
||||||
|
gridSnappingModule,
|
||||||
|
modelingModule,
|
||||||
|
moveModule
|
||||||
|
]
|
||||||
|
}));
|
||||||
|
|
||||||
var task1, task2, connection;
|
var task1, task2, connection;
|
||||||
|
|
||||||
beforeEach(inject(function(elementRegistry, modeling) {
|
beforeEach(inject(function(elementRegistry, modeling) {
|
||||||
|
@ -129,4 +143,50 @@ describe('features/grid-snapping - layout connection', function() {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
describe('on paste multiple', function() {
|
||||||
|
|
||||||
|
var diagramXML = require('./LayoutConnectionBehavior.bpmn');
|
||||||
|
|
||||||
|
beforeEach(bootstrapModeler(diagramXML, {
|
||||||
|
modules: [
|
||||||
|
coreModule,
|
||||||
|
gridSnappingModule,
|
||||||
|
modelingModule,
|
||||||
|
moveModule,
|
||||||
|
copyPasteModule
|
||||||
|
]
|
||||||
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
it('should not update waypoints', inject(
|
||||||
|
function(canvas, eventBus, copyPaste, elementRegistry) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var layoutSpy = sinon.spy();
|
||||||
|
|
||||||
|
copyPaste.copy([
|
||||||
|
elementRegistry.get('Task_2'),
|
||||||
|
elementRegistry.get('SequenceFlow_1'),
|
||||||
|
elementRegistry.get('Task_5')
|
||||||
|
]);
|
||||||
|
|
||||||
|
eventBus.on('commandStack.connection.updateWaypoints.execute', layoutSpy);
|
||||||
|
|
||||||
|
// when
|
||||||
|
copyPaste.paste({
|
||||||
|
element: canvas.getRootElement(),
|
||||||
|
point: {
|
||||||
|
x: 100,
|
||||||
|
y: 200
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(layoutSpy).not.to.have.been.called;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
|
@ -5,15 +5,22 @@ import {
|
||||||
|
|
||||||
import modelingModule from 'lib/features/modeling';
|
import modelingModule from 'lib/features/modeling';
|
||||||
import coreModule from 'lib/core';
|
import coreModule from 'lib/core';
|
||||||
|
import copyPasteModule from 'lib/features/copy-paste';
|
||||||
|
|
||||||
|
/* global sinon */
|
||||||
|
|
||||||
|
|
||||||
describe('features/modeling - lanes - flowNodeRefs', function() {
|
describe('features/modeling - lanes - flowNodeRefs', function() {
|
||||||
|
|
||||||
var diagramXML = require('./flowNodeRefs.bpmn');
|
var diagramXML = require('./flowNodeRefs.bpmn');
|
||||||
|
|
||||||
var testModules = [ coreModule, modelingModule ];
|
beforeEach(bootstrapModeler(diagramXML, {
|
||||||
|
modules: [
|
||||||
beforeEach(bootstrapModeler(diagramXML, { modules: testModules }));
|
coreModule,
|
||||||
|
modelingModule,
|
||||||
|
copyPasteModule
|
||||||
|
]
|
||||||
|
}));
|
||||||
|
|
||||||
|
|
||||||
describe('should unwire during move', function() {
|
describe('should unwire during move', function() {
|
||||||
|
@ -290,4 +297,34 @@ describe('features/modeling - lanes - flowNodeRefs', function() {
|
||||||
expect(lane1.flowNodeRef).to.have.length(1);
|
expect(lane1.flowNodeRef).to.have.length(1);
|
||||||
expect(lane2.flowNodeRef).to.have.length(2);
|
expect(lane2.flowNodeRef).to.have.length(2);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
describe('should wire once during paste', function() {
|
||||||
|
|
||||||
|
it('execute', inject(function(canvas, eventBus, elementRegistry, copyPaste) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var participant = elementRegistry.get('Participant_A');
|
||||||
|
|
||||||
|
var updateRefsSpy = sinon.spy();
|
||||||
|
|
||||||
|
eventBus.on('commandStack.lane.updateRefs.execute', updateRefsSpy);
|
||||||
|
|
||||||
|
// when
|
||||||
|
copyPaste.copy(participant);
|
||||||
|
|
||||||
|
copyPaste.paste({
|
||||||
|
element: canvas.getRootElement(),
|
||||||
|
point: {
|
||||||
|
x: 350,
|
||||||
|
y: 150
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(updateRefsSpy).to.have.been.calledOnce;
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue