Skip to content

Commit 12342af

Browse files
authored
Align web events with native (#3707)
## Description This PR removes `target` field from web events and `pointerInside` from v3 event types, aligning web events with native behaviour. ## Test plan `yarn ts-check`
1 parent ff41c6a commit 12342af

File tree

4 files changed

+26
-28
lines changed

4 files changed

+26
-28
lines changed

packages/react-native-gesture-handler/src/v3/types.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
import { Animated, NativeSyntheticEvent } from 'react-native';
2-
import {
3-
GestureEventPayload,
4-
GestureTouchEvent,
5-
HandlerStateChangeEventPayload,
6-
} from '../handlers/gestureHandlerCommon';
2+
import { GestureTouchEvent } from '../handlers/gestureHandlerCommon';
3+
import { State } from '../State';
74

8-
export type GestureUpdateEvent<THandlerData> = GestureEventPayload & {
5+
export interface EventPayload {
6+
handlerTag: number;
7+
state: State;
8+
}
9+
export interface StateChangeEventPayload extends EventPayload {
10+
oldState: State;
11+
}
12+
13+
export type GestureUpdateEvent<THandlerData> = EventPayload & {
914
handlerData: THandlerData;
1015
};
1116

12-
export type GestureStateChangeEvent<THandlerData> =
13-
HandlerStateChangeEventPayload & {
14-
handlerData: THandlerData;
15-
};
17+
export type GestureStateChangeEvent<THandlerData> = StateChangeEventPayload & {
18+
handlerData: THandlerData;
19+
};
1620

1721
export type GestureHandlerEvent<THandlerData> =
1822
| UpdateEvent<THandlerData>

packages/react-native-gesture-handler/src/web/handlers/GestureHandler.ts

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -445,12 +445,8 @@ export default abstract class GestureHandler implements IGestureHandler {
445445
nativeEvent: {
446446
numberOfPointers: this.tracker.trackedPointersCount,
447447
state: newState,
448-
pointerInside: this.delegate.isPointerInBounds(
449-
this.tracker.getAbsoluteCoordsAverage()
450-
),
451448
...this.transformNativeEvent(),
452449
handlerTag: this.handlerTag,
453-
target: this.viewRef,
454450
oldState: newState !== oldState ? oldState : undefined,
455451
pointerType: this.pointerType,
456452
},
@@ -467,15 +463,11 @@ export default abstract class GestureHandler implements IGestureHandler {
467463
nativeEvent: {
468464
state: newState,
469465
handlerTag: this.handlerTag,
470-
pointerType: this.pointerType,
471466
oldState: oldState,
472-
numberOfPointers: this.tracker.trackedPointersCount,
473467
handlerData: {
474-
pointerInside: this.delegate.isPointerInBounds(
475-
this.tracker.getAbsoluteCoordsAverage()
476-
),
468+
numberOfPointers: this.tracker.trackedPointersCount,
469+
pointerType: this.pointerType,
477470
...this.transformNativeEvent(),
478-
target: this.viewRef,
479471
},
480472
},
481473
timeStamp: Date.now(),
@@ -490,14 +482,10 @@ export default abstract class GestureHandler implements IGestureHandler {
490482
nativeEvent: {
491483
state: newState,
492484
handlerTag: this.handlerTag,
493-
pointerType: this.pointerType,
494-
numberOfPointers: this.tracker.trackedPointersCount,
495485
handlerData: {
496-
pointerInside: this.delegate.isPointerInBounds(
497-
this.tracker.getAbsoluteCoordsAverage()
498-
),
486+
pointerType: this.pointerType,
487+
numberOfPointers: this.tracker.trackedPointersCount,
499488
...this.transformNativeEvent(),
500-
target: this.viewRef,
501489
},
502490
},
503491
timeStamp: Date.now(),

packages/react-native-gesture-handler/src/web/handlers/NativeViewGestureHandler.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,12 @@ export default class NativeViewGestureHandler extends GestureHandler {
183183
public isButton(): boolean {
184184
return this.buttonRole;
185185
}
186+
187+
protected override transformNativeEvent(): Record<string, unknown> {
188+
return {
189+
pointerInside: this.delegate.isPointerInBounds(
190+
this.tracker.getAbsoluteCoordsAverage()
191+
),
192+
};
193+
}
186194
}

packages/react-native-gesture-handler/src/web/interfaces.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,7 @@ export interface GestureHandlerNativeEvent
9191
extends Record<string, NativeEventArgs> {
9292
numberOfPointers: number;
9393
state: State;
94-
pointerInside: boolean | undefined;
9594
handlerTag: number;
96-
target: number;
9795
oldState?: State;
9896
pointerType: PointerType;
9997
}

0 commit comments

Comments
 (0)