UNPKG

2.01 kBPlain TextView Raw
1import { Direction } from './web/constants';
2import FlingGestureHandler from './web/FlingGestureHandler';
3import LongPressGestureHandler from './web/LongPressGestureHandler';
4import NativeViewGestureHandler from './web/NativeViewGestureHandler';
5import * as NodeManager from './web/NodeManager';
6import PanGestureHandler from './web/PanGestureHandler';
7import PinchGestureHandler from './web/PinchGestureHandler';
8import RotationGestureHandler from './web/RotationGestureHandler';
9import TapGestureHandler from './web/TapGestureHandler';
10
11export const Gestures = {
12 PanGestureHandler,
13 RotationGestureHandler,
14 PinchGestureHandler,
15 TapGestureHandler,
16 NativeViewGestureHandler,
17 LongPressGestureHandler,
18 FlingGestureHandler,
19 // ForceTouchGestureHandler,
20};
21
22export default {
23 Direction,
24 handleSetJSResponder(tag: number, blockNativeResponder: boolean) {
25 console.warn('handleSetJSResponder: ', tag, blockNativeResponder);
26 },
27 handleClearJSResponder() {
28 console.warn('handleClearJSResponder: ');
29 },
30 createGestureHandler<T>(
31 handlerName: keyof typeof Gestures,
32 handlerTag: number,
33 config: T
34 ) {
35 //TODO(TS) extends config
36 if (!(handlerName in Gestures))
37 throw new Error(
38 `react-native-gesture-handler: ${handlerName} is not supported on web.`
39 );
40 const GestureClass = Gestures[handlerName];
41 NodeManager.createGestureHandler(handlerTag, new GestureClass());
42 this.updateGestureHandler(handlerTag, config);
43 },
44 attachGestureHandler(
45 handlerTag: number,
46 newView: number,
47 propsRef: React.RefObject<unknown>
48 ) {
49 NodeManager.getHandler(handlerTag).setView(newView, propsRef);
50 },
51 updateGestureHandler(handlerTag: number, newConfig: any) {
52 NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);
53 },
54 getGestureHandlerNode(handlerTag: number) {
55 return NodeManager.getHandler(handlerTag);
56 },
57 dropGestureHandler(handlerTag: number) {
58 NodeManager.dropGestureHandler(handlerTag);
59 },
60};