Skip to content

Commit

Permalink
setting a flag, so that the first movement will have the correct value
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonwilliams committed Jun 20, 2018
1 parent b0f6089 commit 741f842
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions packages/react-dom/src/events/SyntheticMouseEvent.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@
import SyntheticUIEvent from './SyntheticUIEvent';
import getEventModifierState from './getEventModifierState';

let previousScreenX = null;
let previousScreenY = null;
let previousScreenX = 0;
let previousScreenY = 0;

/*
* Flags to signal if mouseEvent has already fired
*/
let isMovementXSet = false;
let isMovementYSet = false;

/**
* @interface MouseEvent
Expand Down Expand Up @@ -44,7 +50,13 @@ const SyntheticMouseEvent = SyntheticUIEvent.extend({

const screenX = previousScreenX;
previousScreenX = event.screenX;
return screenX ? event.screenX - screenX : 0;

if (!isMovementXSet) {
isMovementXSet = true;
return 0;
}

return event.screenX - screenX;
},
movementY: function(event) {
if ('movementY' in event) {
Expand All @@ -53,7 +65,13 @@ const SyntheticMouseEvent = SyntheticUIEvent.extend({

const screenY = previousScreenY;
previousScreenY = event.screenY;
return screenY ? event.screenY - screenY : 0;

if (!isMovementYSet) {
isMovementYSet = true;
return 0;
}

return event.screenY - screenY;
},
});

Expand Down

0 comments on commit 741f842

Please sign in to comment.