parent
e951d1dafd
commit
748674fb35
|
@ -49,7 +49,13 @@ export default function FixHoverBehavior(elementRegistry, eventBus, canvas) {
|
||||||
|
|
||||||
eventBus.on([
|
eventBus.on([
|
||||||
'connect.hover',
|
'connect.hover',
|
||||||
'global-connect.hover'
|
'connect.out',
|
||||||
|
'connect.end',
|
||||||
|
'connect.cleanup',
|
||||||
|
'global-connect.hover',
|
||||||
|
'global-connect.out',
|
||||||
|
'global-connect.end',
|
||||||
|
'global-connect.cleanup'
|
||||||
], HIGH_PRIORITY, function(event) {
|
], HIGH_PRIORITY, function(event) {
|
||||||
var hover = event.hover;
|
var hover = event.hover;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ import createModule from 'diagram-js/lib/features/create';
|
||||||
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 globalConnectModule from 'diagram-js/lib/features/global-connect';
|
import globalConnectModule from 'diagram-js/lib/features/global-connect';
|
||||||
|
import connectionPreview from 'diagram-js/lib/features/connection-preview';
|
||||||
import bendpointsModule from 'diagram-js/lib/features/bendpoints';
|
import bendpointsModule from 'diagram-js/lib/features/bendpoints';
|
||||||
|
|
||||||
import { createCanvasEvent as canvasEvent } from '../../../../util/MockEvents';
|
import { createCanvasEvent as canvasEvent } from '../../../../util/MockEvents';
|
||||||
|
@ -218,7 +219,8 @@ describe('features/modeling/behavior - fix hover', function() {
|
||||||
beforeEach(bootstrapModeler(diagramXML, {
|
beforeEach(bootstrapModeler(diagramXML, {
|
||||||
modules: testModules.concat([
|
modules: testModules.concat([
|
||||||
globalConnectModule,
|
globalConnectModule,
|
||||||
bendpointsModule
|
bendpointsModule,
|
||||||
|
connectionPreview
|
||||||
])
|
])
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -227,30 +229,92 @@ describe('features/modeling/behavior - fix hover', function() {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
it('should set global connect source to participant', inject(
|
describe('global-connect', function() {
|
||||||
function(globalConnect, elementRegistry, eventBus, dragging) {
|
|
||||||
|
|
||||||
// given
|
it('should set global connect source to participant', inject(
|
||||||
var participant_lanes = elementRegistry.get('Participant_Lanes');
|
function(globalConnect, elementRegistry, eventBus, dragging) {
|
||||||
var lane_1 = elementRegistry.get('Lane_1');
|
|
||||||
|
|
||||||
var connectSpy = spy(function(event) {
|
// given
|
||||||
expect(event.context.startTarget).to.eql(participant_lanes);
|
var participant_lanes = elementRegistry.get('Participant_Lanes');
|
||||||
});
|
var lane_1 = elementRegistry.get('Lane_1');
|
||||||
|
|
||||||
eventBus.once('global-connect.end', connectSpy);
|
var connectSpy = spy(function(event) {
|
||||||
|
expect(event.context.startTarget).to.eql(participant_lanes);
|
||||||
|
});
|
||||||
|
|
||||||
// when
|
eventBus.once('global-connect.end', connectSpy);
|
||||||
globalConnect.start(canvasEvent({ x: 0, y: 0 }));
|
|
||||||
|
|
||||||
dragging.move(canvasEvent({ x: 150, y: 130 }));
|
// when
|
||||||
dragging.hover(canvasEvent({ x: 150, y: 130 }, { element: lane_1 }));
|
globalConnect.start(canvasEvent({ x: 0, y: 0 }));
|
||||||
dragging.end(canvasEvent({ x: 0, y: 0 }));
|
|
||||||
|
|
||||||
// then
|
dragging.move(canvasEvent({ x: 150, y: 130 }));
|
||||||
expect(connectSpy).to.have.been.called;
|
dragging.hover(canvasEvent({ x: 150, y: 130 }, { element: lane_1 }));
|
||||||
}
|
dragging.end(canvasEvent({ x: 0, y: 0 }));
|
||||||
));
|
|
||||||
|
// then
|
||||||
|
expect(connectSpy).to.have.been.called;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
|
||||||
|
describe('fix hover', function() {
|
||||||
|
|
||||||
|
it('on out', inject(
|
||||||
|
function(globalConnect, dragging, elementRegistry, eventBus) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var participant_lanes = elementRegistry.get('Participant_Lanes');
|
||||||
|
var lane_1 = elementRegistry.get('Lane_1');
|
||||||
|
|
||||||
|
var connectSpy = spy(function(event) {
|
||||||
|
expect(event.hover).to.eql(participant_lanes);
|
||||||
|
});
|
||||||
|
|
||||||
|
// when
|
||||||
|
globalConnect.start(canvasEvent({ x: 240, y: 0 }));
|
||||||
|
|
||||||
|
dragging.move(canvasEvent({ x: 240, y: 300 }));
|
||||||
|
dragging.hover(canvasEvent({ x: 240, y: 300 }, { element: lane_1 }));
|
||||||
|
|
||||||
|
eventBus.once('global-connect.out', connectSpy);
|
||||||
|
|
||||||
|
dragging.out();
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(connectSpy).to.have.been.calledOnce;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
|
||||||
|
it('on end/cleanup', inject(
|
||||||
|
function(globalConnect, dragging, elementRegistry, eventBus) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var participant_lanes = elementRegistry.get('Participant_Lanes');
|
||||||
|
var lane_1 = elementRegistry.get('Lane_1');
|
||||||
|
|
||||||
|
var connectSpy = spy(function(event) {
|
||||||
|
expect(event.hover).to.eql(participant_lanes);
|
||||||
|
});
|
||||||
|
|
||||||
|
eventBus.on('global-connect.end', connectSpy);
|
||||||
|
eventBus.on('global-connect.cleanup', connectSpy);
|
||||||
|
|
||||||
|
// when
|
||||||
|
globalConnect.start(canvasEvent({ x: 240, y: 0 }));
|
||||||
|
|
||||||
|
dragging.move(canvasEvent({ x: 240, y: 300 }));
|
||||||
|
|
||||||
|
dragging.hover(canvasEvent({ x: 240, y: 300 }, { element: lane_1 }));
|
||||||
|
dragging.end();
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(connectSpy).to.have.been.calledTwice;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('reconnect', function() {
|
describe('reconnect', function() {
|
||||||
|
@ -371,10 +435,71 @@ describe('features/modeling/behavior - fix hover', function() {
|
||||||
dragging.end();
|
dragging.end();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
expect(connectSpy).to.have.been.called;
|
expect(connectSpy).to.have.been.calledOnce;
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
||||||
|
describe('fix hover', function() {
|
||||||
|
|
||||||
|
it('on out', inject(
|
||||||
|
function(connect, dragging, elementRegistry, eventBus) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var participant_lanes = elementRegistry.get('Participant_Lanes');
|
||||||
|
var participant_no_lanes = elementRegistry.get('Participant_No_Lanes');
|
||||||
|
var lane_1 = elementRegistry.get('Lane_1');
|
||||||
|
|
||||||
|
var connectSpy = spy(function(event) {
|
||||||
|
expect(event.hover).to.eql(participant_lanes);
|
||||||
|
});
|
||||||
|
|
||||||
|
// when
|
||||||
|
connect.start(canvasEvent({ x: 240, y: 0 }), participant_no_lanes);
|
||||||
|
|
||||||
|
dragging.move(canvasEvent({ x: 240, y: 300 }));
|
||||||
|
dragging.hover(canvasEvent({ x: 240, y: 300 }, { element: lane_1 }));
|
||||||
|
|
||||||
|
eventBus.once('connect.out', connectSpy);
|
||||||
|
|
||||||
|
dragging.out();
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(connectSpy).to.have.been.calledOnce;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
|
||||||
|
it('on end/cleanup', inject(
|
||||||
|
function(connect, dragging, elementRegistry, eventBus) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var participant_lanes = elementRegistry.get('Participant_Lanes');
|
||||||
|
var participant_no_lanes = elementRegistry.get('Participant_No_Lanes');
|
||||||
|
var lane_1 = elementRegistry.get('Lane_1');
|
||||||
|
|
||||||
|
var connectSpy = spy(function(event) {
|
||||||
|
expect(event.hover).to.eql(participant_lanes);
|
||||||
|
});
|
||||||
|
|
||||||
|
eventBus.on('connect.end', connectSpy);
|
||||||
|
eventBus.on('connect.cleanup', connectSpy);
|
||||||
|
|
||||||
|
// when
|
||||||
|
connect.start(canvasEvent({ x: 240, y: 0 }), participant_no_lanes);
|
||||||
|
|
||||||
|
dragging.move(canvasEvent({ x: 240, y: 300 }));
|
||||||
|
|
||||||
|
dragging.hover(canvasEvent({ x: 240, y: 300 }, { element: lane_1 }));
|
||||||
|
dragging.end();
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(connectSpy).to.have.been.calledTwice;
|
||||||
|
}
|
||||||
|
));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue