@samitouri / QOS-React-2 / commits / 5368f7316c

[Flare] Fix keyboard keyup regression (#15938)

Dominic Gannaway committed Jun 20, 2019 at 17:00 UTC 5368f7316c8ae489c6a271694166158428ee4a5e
2 files changed +7 -1
packages/react-events/src/Press.js
+5 -1
@@ -871,6 +871,7 @@ const PressResponder = {
871 return;
872 }
873 isKeyboardEvent = true;
874 + removeRootEventTypes(context, state);
875 }
876
877 // Determine whether to call preventDefault on subsequent native events.
@@ -940,7 +941,10 @@ const PressResponder = {
941 }
942
943 case 'click': {
943 - removeRootEventTypes(context, state);
944 + // "keyup" occurs after "click"
945 + if (state.pointerType !== 'keyboard') {
946 + removeRootEventTypes(context, state);
947 + }
948 if (state.shouldPreventClick) {
949 nativeEvent.preventDefault();
950 }
packages/react-events/src/__tests__/Press-test.internal.js
+2
@@ -335,6 +335,8 @@ describe('Event responder: Press', () => {
335
336 it('is called after "keyup" event for Enter', () => {
337 ref.current.dispatchEvent(createKeyboardEvent('keydown', {key: 'Enter'}));
338 + // click occurs before keyup
339 + ref.current.dispatchEvent(createKeyboardEvent('click'));
340 ref.current.dispatchEvent(createKeyboardEvent('keyup', {key: 'Enter'}));
341 expect(onPressEnd).toHaveBeenCalledTimes(1);
342 expect(onPressEnd).toHaveBeenCalledWith(