@samitouri / QOS-React-2 / commits / 121acae090

Flare: simplify dispatchEvent discrete argument (#15694)

Dominic Gannaway committed May 21, 2019 at 16:06 UTC 121acae09060803d2fdc23fdfd2f671a47908d1f
8 files changed +29 -42
packages/react-dom/src/events/DOMEventResponderSystem.js
+1 -2
@@ -23,7 +23,6 @@ import type {
23 ReactEventComponentInstance,
24 ReactResponderContext,
25 ReactResponderEvent,
26 - ReactResponderDispatchEventOptions,
26 } from 'shared/ReactTypes';
27 import type {DOMTopLevelEventType} from 'events/TopLevelEventTypes';
28 import {batchedUpdates, interactiveUpdates} from 'events/ReactGenericBatching';
@@ -104,7 +103,7 @@ const eventResponderContext: ReactResponderContext = {
103 dispatchEvent(
104 possibleEventObject: Object,
105 listener: ($Shape<PartialEventObject>) => void,
107 - {discrete}: ReactResponderDispatchEventOptions,
106 + discrete: boolean,
107 ): void {
108 validateResponderContext();
109 const {target, type, timeStamp} = possibleEventObject;
packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js
+10 -16
@@ -403,9 +403,7 @@ describe('DOMEventResponderSystem', () => {
403 phase: 'bubble',
404 timeStamp: context.getTimeStamp(),
405 };
406 - context.dispatchEvent(syntheticEvent, props.onMagicClick, {
407 - discrete: true,
408 - });
406 + context.dispatchEvent(syntheticEvent, props.onMagicClick, true);
407 }
408 },
409 onEventCapture: (event, context, props) => {
@@ -416,9 +414,7 @@ describe('DOMEventResponderSystem', () => {
414 phase: 'capture',
415 timeStamp: context.getTimeStamp(),
416 };
419 - context.dispatchEvent(syntheticEvent, props.onMagicClick, {
420 - discrete: true,
421 - });
417 + context.dispatchEvent(syntheticEvent, props.onMagicClick, true);
418 }
419 },
420 });
@@ -460,7 +456,7 @@ describe('DOMEventResponderSystem', () => {
456 phase,
457 timeStamp: context.getTimeStamp(),
458 };
463 - context.dispatchEvent(pressEvent, props.onPress, {discrete: true});
459 + context.dispatchEvent(pressEvent, props.onPress, true);
460
461 context.setTimeout(() => {
462 if (props.onLongPress) {
@@ -470,9 +466,7 @@ describe('DOMEventResponderSystem', () => {
466 phase,
467 timeStamp: context.getTimeStamp(),
468 };
473 - context.dispatchEvent(longPressEvent, props.onLongPress, {
474 - discrete: true,
475 - });
469 + context.dispatchEvent(longPressEvent, props.onLongPress, true);
470 }
471
472 if (props.onLongPressChange) {
@@ -482,9 +476,11 @@ describe('DOMEventResponderSystem', () => {
476 phase,
477 timeStamp: context.getTimeStamp(),
478 };
485 - context.dispatchEvent(longPressChangeEvent, props.onLongPressChange, {
486 - discrete: true,
487 - });
479 + context.dispatchEvent(
480 + longPressChangeEvent,
481 + props.onLongPressChange,
482 + true,
483 + );
484 }
485 }, 500);
486 }
@@ -842,9 +838,7 @@ describe('DOMEventResponderSystem', () => {
838 type: 'click',
839 timeStamp: context.getTimeStamp(),
840 };
845 - context.dispatchEvent(syntheticEvent, props.onClick, {
846 - discrete: true,
847 - });
841 + context.dispatchEvent(syntheticEvent, props.onClick, true);
842 },
843 });
844
packages/react-events/src/Drag.js
+1 -1
@@ -79,7 +79,7 @@ function dispatchDragEvent(
79 ): void {
80 const target = ((state.dragTarget: any): Element | Document);
81 const syntheticEvent = createDragEvent(context, name, target, eventData);
82 - context.dispatchEvent(syntheticEvent, listener, {discrete});
82 + context.dispatchEvent(syntheticEvent, listener, discrete);
83 }
84
85 const DragResponder = {
packages/react-events/src/Focus.js
+6 -6
@@ -93,7 +93,7 @@ function dispatchFocusInEvents(
93 target,
94 pointerType,
95 );
96 - context.dispatchEvent(syntheticEvent, props.onFocus, {discrete: true});
96 + context.dispatchEvent(syntheticEvent, props.onFocus, true);
97 }
98 if (props.onFocusChange) {
99 const listener = () => {
@@ -105,7 +105,7 @@ function dispatchFocusInEvents(
105 target,
106 pointerType,
107 );
108 - context.dispatchEvent(syntheticEvent, listener, {discrete: true});
108 + context.dispatchEvent(syntheticEvent, listener, true);
109 }
110 if (props.onFocusVisibleChange && state.isLocalFocusVisible) {
111 const listener = () => {
@@ -117,7 +117,7 @@ function dispatchFocusInEvents(
117 target,
118 pointerType,
119 );
120 - context.dispatchEvent(syntheticEvent, listener, {discrete: true});
120 + context.dispatchEvent(syntheticEvent, listener, true);
121 }
122 }
123
@@ -135,7 +135,7 @@ function dispatchFocusOutEvents(
135 target,
136 pointerType,
137 );
138 - context.dispatchEvent(syntheticEvent, props.onBlur, {discrete: true});
138 + context.dispatchEvent(syntheticEvent, props.onBlur, true);
139 }
140 if (props.onFocusChange) {
141 const listener = () => {
@@ -147,7 +147,7 @@ function dispatchFocusOutEvents(
147 target,
148 pointerType,
149 );
150 - context.dispatchEvent(syntheticEvent, listener, {discrete: true});
150 + context.dispatchEvent(syntheticEvent, listener, true);
151 }
152 dispatchFocusVisibleOutEvent(context, props, state);
153 }
@@ -169,7 +169,7 @@ function dispatchFocusVisibleOutEvent(
169 target,
170 pointerType,
171 );
172 - context.dispatchEvent(syntheticEvent, listener, {discrete: true});
172 + context.dispatchEvent(syntheticEvent, listener, true);
173 state.isLocalFocusVisible = false;
174 }
175 }
packages/react-events/src/Hover.js
+8 -8
@@ -86,7 +86,7 @@ function dispatchHoverChangeEvent(
86 'hoverchange',
87 ((state.hoverTarget: any): Element | Document),
88 );
89 - context.dispatchEvent(syntheticEvent, listener, {discrete: true});
89 + context.dispatchEvent(syntheticEvent, listener, true);
90 }
91
92 function dispatchHoverStartEvents(
@@ -123,9 +123,7 @@ function dispatchHoverStartEvents(
123 'hoverstart',
124 ((target: any): Element | Document),
125 );
126 - context.dispatchEvent(syntheticEvent, props.onHoverStart, {
127 - discrete: true,
128 - });
126 + context.dispatchEvent(syntheticEvent, props.onHoverStart, true);
127 }
128 if (props.onHoverChange) {
129 dispatchHoverChangeEvent(context, props, state);
@@ -183,7 +181,7 @@ function dispatchHoverEndEvents(
181 'hoverend',
182 ((target: any): Element | Document),
183 );
186 - context.dispatchEvent(syntheticEvent, props.onHoverEnd, {discrete: true});
184 + context.dispatchEvent(syntheticEvent, props.onHoverEnd, true);
185 }
186 if (props.onHoverChange) {
187 dispatchHoverChangeEvent(context, props, state);
@@ -322,9 +320,11 @@ const HoverResponder = {
320 'hovermove',
321 state.hoverTarget,
322 );
325 - context.dispatchEvent(syntheticEvent, props.onHoverMove, {
326 - discrete: false,
327 - });
323 + context.dispatchEvent(
324 + syntheticEvent,
325 + props.onHoverMove,
326 + true,
327 + );
328 }
329 }
330 }
packages/react-events/src/Press.js
+1 -3
@@ -211,9 +211,7 @@ function dispatchEvent(
211 pointerType,
212 event,
213 );
214 - context.dispatchEvent(syntheticEvent, listener, {
215 - discrete,
216 - });
214 + context.dispatchEvent(syntheticEvent, listener, discrete);
215 }
216
217 function dispatchPressChangeEvent(
packages/react-events/src/Swipe.js
+1 -1
@@ -69,7 +69,7 @@ function dispatchSwipeEvent(
69 ) {
70 const target = ((state.swipeTarget: any): Element | Document);
71 const syntheticEvent = createSwipeEvent(context, name, target, eventData);
72 - context.dispatchEvent(syntheticEvent, listener, {discrete});
72 + context.dispatchEvent(syntheticEvent, listener, discrete);
73 }
74
75 type SwipeState = {
packages/shared/ReactTypes.js
+1 -5
@@ -158,15 +158,11 @@ export type ReactResponderEvent = {
158 passiveSupported: boolean,
159 };
160
161 -export type ReactResponderDispatchEventOptions = {
162 - discrete?: boolean,
163 -};
164 -
161 export type ReactResponderContext = {
162 dispatchEvent: (
163 eventObject: Object,
164 listener: (Object) => void,
169 - options: ReactResponderDispatchEventOptions,
165 + discrete: boolean,
166 ) => void,
167 isTargetWithinElement: (
168 childTarget: Element | Document,