1 | import { Direction } from './web/constants';
|
2 | import FlingGestureHandler from './web/FlingGestureHandler';
|
3 | import LongPressGestureHandler from './web/LongPressGestureHandler';
|
4 | import NativeViewGestureHandler from './web/NativeViewGestureHandler';
|
5 | import * as NodeManager from './web/NodeManager';
|
6 | import PanGestureHandler from './web/PanGestureHandler';
|
7 | import PinchGestureHandler from './web/PinchGestureHandler';
|
8 | import RotationGestureHandler from './web/RotationGestureHandler';
|
9 | import TapGestureHandler from './web/TapGestureHandler';
|
10 |
|
11 | export const Gestures = {
|
12 | PanGestureHandler,
|
13 | RotationGestureHandler,
|
14 | PinchGestureHandler,
|
15 | TapGestureHandler,
|
16 | NativeViewGestureHandler,
|
17 | LongPressGestureHandler,
|
18 | FlingGestureHandler,
|
19 |
|
20 | };
|
21 |
|
22 | export 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 |
|
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 | };
|