[Flare] Small Swipe/Drag fixes (#15825)

This commit is contained in:
Dominic Gannaway
2019-06-05 17:51:41 +01:00
committed by GitHub
parent 6aaa43708d
commit c72dceffbc
3 changed files with 21 additions and 13 deletions
+4 -1
View File
@@ -166,7 +166,10 @@ const DragResponder = {
const y = (obj: any).screenY;
state.x = x;
state.y = y;
if (!state.isDragging && x !== state.startX && y !== state.startY) {
if (x === state.startX && y === state.startY) {
return;
}
if (!state.isDragging) {
let shouldEnableDragging = true;
if (
+8 -6
View File
@@ -53,12 +53,14 @@ function createSwipeEvent(
target: Element | Document,
eventData?: EventData,
): SwipeEvent {
return {
target,
type,
timeStamp: context.getTimeStamp(),
...eventData,
};
return context.objectAssign(
{
target,
type,
timeStamp: context.getTimeStamp(),
},
eventData,
);
}
function dispatchSwipeEvent(
@@ -155,7 +155,7 @@ describe('Drag event responder', () => {
ReactDOM.render(<Component />, container);
const mouseOverEvent = document.createEvent('MouseEvents');
mouseOverEvent.initEvent('mousedown', true, true);
mouseOverEvent.initEvent('mousedown', true, true, window, 1, 0, 0);
divRef.current.dispatchEvent(mouseOverEvent);
const mouseMoveEvent = document.createEvent('MouseEvents');
@@ -166,8 +166,8 @@ describe('Drag event responder', () => {
true,
window,
1,
index,
index,
index + 1,
index + 1,
50,
50,
);
@@ -178,12 +178,15 @@ describe('Drag event responder', () => {
mouseUpEvent.initEvent('mouseup', true, true);
divRef.current.dispatchEvent(mouseUpEvent);
expect(events).toHaveLength(20);
let index = 0;
expect(events).toEqual(
expect.arrayContaining([
expect.objectContaining({
diffX: index,
diffY: index++,
diffX: 2,
diffY: 2,
}),
expect.objectContaining({
diffX: 21,
diffY: 21,
}),
]),
);