react-native-gesture-handler 2.22.1 → 2.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNGestureHandler.podspec +8 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
- package/android/src/main/jni/cpp-adapter.cpp +19 -12
- package/apple/RNGestureHandler.mm +15 -8
- package/apple/RNGestureHandlerButton.mm +12 -2
- package/apple/RNGestureHandlerModule.mm +17 -5
- package/lib/commonjs/RNGestureHandlerModule.web.js +2 -2
- package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/commonjs/components/DrawerLayout.js +6 -0
- package/lib/commonjs/components/DrawerLayout.js.map +1 -1
- package/lib/commonjs/components/GestureButtons.js +11 -2
- package/lib/commonjs/components/GestureButtons.js.map +1 -1
- package/lib/commonjs/components/Pressable/Pressable.js +21 -5
- package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
- package/lib/commonjs/components/Pressable/index.js.map +1 -1
- package/lib/commonjs/components/ReanimatedSwipeable.js +49 -20
- package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/commonjs/components/Text.js +10 -4
- package/lib/commonjs/components/Text.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableHighlight.js +2 -0
- package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +2 -0
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -1
- package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableOpacity.js +2 -0
- package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +3 -0
- package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/commonjs/findNodeHandle.web.js +9 -1
- package/lib/commonjs/findNodeHandle.web.js.map +1 -1
- package/lib/commonjs/handlers/FlingGestureHandler.js +8 -0
- package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js +5 -1
- package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/LongPressGestureHandler.js +8 -0
- package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/NativeViewGestureHandler.js +8 -0
- package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PanGestureHandler.js +8 -0
- package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/PinchGestureHandler.js +8 -0
- package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/RotationGestureHandler.js +8 -0
- package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/TapGestureHandler.js +8 -0
- package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/handlers/createHandler.js +6 -2
- package/lib/commonjs/handlers/createHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +2 -2
- package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +1 -1
- package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/commonjs/handlers/handlersRegistry.js +7 -2
- package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils.js +3 -3
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/detectors/RotationGestureDetector.js +22 -22
- package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js +24 -24
- package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/commonjs/web/handlers/FlingGestureHandler.js +6 -6
- package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/GestureHandler.js +112 -92
- package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/HoverGestureHandler.js +2 -2
- package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js +6 -6
- package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +13 -13
- package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PanGestureHandler.js +15 -15
- package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/PinchGestureHandler.js +15 -15
- package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/RotationGestureHandler.js +12 -12
- package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/commonjs/web/handlers/TapGestureHandler.js +4 -4
- package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/commonjs/web/tools/CircularBuffer.js +15 -15
- package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +40 -40
- package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +32 -13
- package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/commonjs/web/tools/InteractionManager.js +16 -18
- package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
- package/lib/commonjs/web/tools/NodeManager.js +2 -2
- package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
- package/lib/commonjs/web/tools/PointerTracker.js +18 -18
- package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
- package/lib/commonjs/web/tools/Vector.js.map +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js +1 -1
- package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
- package/lib/module/RNGestureHandlerModule.web.js +2 -2
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/components/DrawerLayout.js +7 -0
- package/lib/module/components/DrawerLayout.js.map +1 -1
- package/lib/module/components/GestureButtons.js +10 -2
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +22 -6
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/Pressable/index.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable.js +49 -20
- package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/components/Text.js +8 -3
- package/lib/module/components/Text.js.map +1 -1
- package/lib/module/components/touchables/TouchableHighlight.js +2 -0
- package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js +2 -0
- package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
- package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
- package/lib/module/components/touchables/TouchableOpacity.js +5 -0
- package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
- package/lib/module/components/touchables/TouchableWithoutFeedback.js +4 -0
- package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
- package/lib/module/findNodeHandle.web.js +8 -1
- package/lib/module/findNodeHandle.web.js.map +1 -1
- package/lib/module/handlers/FlingGestureHandler.js +7 -0
- package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js +5 -1
- package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
- package/lib/module/handlers/LongPressGestureHandler.js +7 -0
- package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/handlers/NativeViewGestureHandler.js +7 -0
- package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/handlers/PanGestureHandler.js +7 -0
- package/lib/module/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/handlers/PinchGestureHandler.js +11 -0
- package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/handlers/RotationGestureHandler.js +11 -0
- package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/handlers/TapGestureHandler.js +7 -0
- package/lib/module/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/handlers/createHandler.js +9 -4
- package/lib/module/handlers/createHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/index.js +2 -2
- package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +2 -2
- package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +2 -2
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/handlersRegistry.js +6 -3
- package/lib/module/handlers/handlersRegistry.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils.js +2 -2
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/detectors/RotationGestureDetector.js +22 -22
- package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
- package/lib/module/web/detectors/ScaleGestureDetector.js +24 -24
- package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
- package/lib/module/web/handlers/FlingGestureHandler.js +6 -6
- package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/GestureHandler.js +112 -92
- package/lib/module/web/handlers/GestureHandler.js.map +1 -1
- package/lib/module/web/handlers/HoverGestureHandler.js +2 -2
- package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/LongPressGestureHandler.js +6 -6
- package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/NativeViewGestureHandler.js +13 -13
- package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PanGestureHandler.js +15 -15
- package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/PinchGestureHandler.js +15 -15
- package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/RotationGestureHandler.js +12 -12
- package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
- package/lib/module/web/handlers/TapGestureHandler.js +4 -4
- package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
- package/lib/module/web/tools/CircularBuffer.js +15 -15
- package/lib/module/web/tools/CircularBuffer.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerOrchestrator.js +40 -40
- package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
- package/lib/module/web/tools/GestureHandlerWebDelegate.js +32 -13
- package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
- package/lib/module/web/tools/InteractionManager.js +16 -16
- package/lib/module/web/tools/InteractionManager.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +2 -2
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/module/web/tools/PointerTracker.js +18 -18
- package/lib/module/web/tools/PointerTracker.js.map +1 -1
- package/lib/module/web/tools/Vector.js.map +1 -1
- package/lib/module/web/tools/VelocityTracker.js +1 -1
- package/lib/module/web/tools/VelocityTracker.js.map +1 -1
- package/lib/typescript/components/DrawerLayout.d.ts +27 -0
- package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
- package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
- package/lib/typescript/components/Pressable/index.d.ts +1 -1
- package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
- package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
- package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
- package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
- package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
- package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
- package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
- package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils.d.ts +1 -1
- package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
- package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
- package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
- package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
- package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
- package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
- package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
- package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
- package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
- package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
- package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
- package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
- package/package.json +2 -2
- package/src/RNGestureHandlerModule.web.ts +2 -2
- package/src/components/DrawerLayout.tsx +29 -0
- package/src/components/GestureButtons.tsx +13 -2
- package/src/components/GestureButtonsProps.ts +31 -2
- package/src/components/Pressable/Pressable.tsx +22 -5
- package/src/components/Pressable/PressableProps.tsx +4 -11
- package/src/components/Pressable/index.ts +4 -1
- package/src/components/ReanimatedSwipeable.tsx +97 -66
- package/src/components/Text.tsx +13 -4
- package/src/components/touchables/TouchableHighlight.tsx +5 -0
- package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
- package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
- package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
- package/src/components/touchables/TouchableOpacity.tsx +5 -0
- package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
- package/src/findNodeHandle.web.ts +6 -0
- package/src/handlers/FlingGestureHandler.ts +10 -0
- package/src/handlers/ForceTouchGestureHandler.ts +9 -0
- package/src/handlers/LongPressGestureHandler.ts +10 -0
- package/src/handlers/NativeViewGestureHandler.ts +10 -0
- package/src/handlers/PanGestureHandler.ts +10 -0
- package/src/handlers/PinchGestureHandler.ts +10 -0
- package/src/handlers/RotationGestureHandler.ts +10 -0
- package/src/handlers/TapGestureHandler.ts +10 -0
- package/src/handlers/createHandler.tsx +11 -4
- package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
- package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
- package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
- package/src/handlers/handlersRegistry.ts +7 -3
- package/src/index.ts +4 -1
- package/src/utils.ts +2 -2
- package/src/web/detectors/RotationGestureDetector.ts +22 -22
- package/src/web/detectors/ScaleGestureDetector.ts +24 -24
- package/src/web/handlers/FlingGestureHandler.ts +6 -7
- package/src/web/handlers/GestureHandler.ts +115 -105
- package/src/web/handlers/HoverGestureHandler.ts +2 -2
- package/src/web/handlers/IGestureHandler.ts +12 -13
- package/src/web/handlers/LongPressGestureHandler.ts +7 -7
- package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
- package/src/web/handlers/PanGestureHandler.ts +17 -17
- package/src/web/handlers/PinchGestureHandler.ts +17 -21
- package/src/web/handlers/RotationGestureHandler.ts +12 -12
- package/src/web/handlers/TapGestureHandler.ts +4 -6
- package/src/web/tools/CircularBuffer.ts +15 -15
- package/src/web/tools/GestureHandlerDelegate.ts +1 -1
- package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
- package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
- package/src/web/tools/InteractionManager.ts +16 -16
- package/src/web/tools/NodeManager.ts +2 -2
- package/src/web/tools/PointerTracker.ts +20 -20
- package/src/web/tools/Vector.ts +1 -1
- package/src/web/tools/VelocityTracker.ts +1 -1
@@ -28,37 +28,37 @@ class GestureHandler {
|
|
28
28
|
constructor(delegate) {
|
29
29
|
_defineProperty(this, "lastSentState", null);
|
30
30
|
|
31
|
-
_defineProperty(this, "
|
31
|
+
_defineProperty(this, "_state", _State.State.UNDETERMINED);
|
32
32
|
|
33
|
-
_defineProperty(this, "
|
33
|
+
_defineProperty(this, "_shouldCancelWhenOutside", false);
|
34
34
|
|
35
35
|
_defineProperty(this, "hasCustomActivationCriteria", false);
|
36
36
|
|
37
|
-
_defineProperty(this, "
|
37
|
+
_defineProperty(this, "_enabled", false);
|
38
38
|
|
39
39
|
_defineProperty(this, "viewRef", void 0);
|
40
40
|
|
41
41
|
_defineProperty(this, "propsRef", void 0);
|
42
42
|
|
43
|
-
_defineProperty(this, "
|
43
|
+
_defineProperty(this, "_handlerTag", void 0);
|
44
44
|
|
45
|
-
_defineProperty(this, "
|
45
|
+
_defineProperty(this, "_config", {
|
46
46
|
enabled: false
|
47
47
|
});
|
48
48
|
|
49
|
-
_defineProperty(this, "
|
49
|
+
_defineProperty(this, "_tracker", new _PointerTracker.default());
|
50
50
|
|
51
|
-
_defineProperty(this, "
|
51
|
+
_defineProperty(this, "_activationIndex", 0);
|
52
52
|
|
53
|
-
_defineProperty(this, "
|
53
|
+
_defineProperty(this, "_awaiting", false);
|
54
54
|
|
55
|
-
_defineProperty(this, "
|
55
|
+
_defineProperty(this, "_active", false);
|
56
56
|
|
57
|
-
_defineProperty(this, "
|
57
|
+
_defineProperty(this, "_shouldResetProgress", false);
|
58
58
|
|
59
|
-
_defineProperty(this, "
|
59
|
+
_defineProperty(this, "_pointerType", _PointerType.PointerType.MOUSE);
|
60
60
|
|
61
|
-
_defineProperty(this, "
|
61
|
+
_defineProperty(this, "_delegate", void 0);
|
62
62
|
|
63
63
|
_defineProperty(this, "sendEvent", (newState, oldState) => {
|
64
64
|
const {
|
@@ -75,13 +75,13 @@ class GestureHandler {
|
|
75
75
|
invokeNullableMethod(onGestureHandlerStateChange, resultEvent);
|
76
76
|
}
|
77
77
|
|
78
|
-
if (this.
|
78
|
+
if (this.state === _State.State.ACTIVE) {
|
79
79
|
resultEvent.nativeEvent.oldState = undefined;
|
80
80
|
invokeNullableMethod(onGestureHandlerEvent, resultEvent);
|
81
81
|
}
|
82
82
|
});
|
83
83
|
|
84
|
-
this.
|
84
|
+
this._delegate = delegate;
|
85
85
|
} //
|
86
86
|
// Initializing handler
|
87
87
|
//
|
@@ -90,7 +90,7 @@ class GestureHandler {
|
|
90
90
|
init(viewRef, propsRef) {
|
91
91
|
this.propsRef = propsRef;
|
92
92
|
this.viewRef = viewRef;
|
93
|
-
this.
|
93
|
+
this.state = _State.State.UNDETERMINED;
|
94
94
|
this.delegate.init(viewRef, this);
|
95
95
|
}
|
96
96
|
|
@@ -124,30 +124,30 @@ class GestureHandler {
|
|
124
124
|
this.onReset();
|
125
125
|
this.resetProgress();
|
126
126
|
this.delegate.reset();
|
127
|
-
this.
|
127
|
+
this.state = _State.State.UNDETERMINED;
|
128
128
|
} //
|
129
129
|
// State logic
|
130
130
|
//
|
131
131
|
|
132
132
|
|
133
133
|
moveToState(newState, sendIfDisabled) {
|
134
|
-
if (this.
|
134
|
+
if (this.state === newState) {
|
135
135
|
return;
|
136
136
|
}
|
137
137
|
|
138
|
-
const oldState = this.
|
139
|
-
this.
|
138
|
+
const oldState = this.state;
|
139
|
+
this.state = newState;
|
140
140
|
|
141
|
-
if (this.tracker.
|
141
|
+
if (this.tracker.trackedPointersCount > 0 && this.config.needsPointerData && this.isFinished()) {
|
142
142
|
this.cancelTouches();
|
143
143
|
}
|
144
144
|
|
145
|
-
_GestureHandlerOrchestrator.default.
|
145
|
+
_GestureHandlerOrchestrator.default.instance.onHandlerStateChange(this, newState, oldState, sendIfDisabled);
|
146
146
|
|
147
147
|
this.onStateChange(newState, oldState);
|
148
148
|
|
149
149
|
if (!this.enabled && this.isFinished()) {
|
150
|
-
this.
|
150
|
+
this.state = _State.State.UNDETERMINED;
|
151
151
|
}
|
152
152
|
}
|
153
153
|
|
@@ -158,7 +158,7 @@ class GestureHandler {
|
|
158
158
|
return;
|
159
159
|
}
|
160
160
|
|
161
|
-
if (this.
|
161
|
+
if (this.state === _State.State.UNDETERMINED) {
|
162
162
|
this.moveToState(_State.State.BEGAN);
|
163
163
|
}
|
164
164
|
}
|
@@ -168,7 +168,7 @@ class GestureHandler {
|
|
168
168
|
|
169
169
|
|
170
170
|
fail(sendIfDisabled) {
|
171
|
-
if (this.
|
171
|
+
if (this.state === _State.State.ACTIVE || this.state === _State.State.BEGAN) {
|
172
172
|
// Here the order of calling the delegate and moveToState is important.
|
173
173
|
// At this point we can use currentState as previuos state, because immediately after changing cursor we call moveToState method.
|
174
174
|
this.delegate.onFail();
|
@@ -183,7 +183,7 @@ class GestureHandler {
|
|
183
183
|
|
184
184
|
|
185
185
|
cancel(sendIfDisabled) {
|
186
|
-
if (this.
|
186
|
+
if (this.state === _State.State.ACTIVE || this.state === _State.State.UNDETERMINED || this.state === _State.State.BEGAN) {
|
187
187
|
this.onCancel(); // Same as above - order matters
|
188
188
|
|
189
189
|
this.delegate.onCancel();
|
@@ -192,14 +192,14 @@ class GestureHandler {
|
|
192
192
|
}
|
193
193
|
|
194
194
|
activate(force = false) {
|
195
|
-
if ((this.config.manualActivation !== true || force) && (this.
|
195
|
+
if ((this.config.manualActivation !== true || force) && (this.state === _State.State.UNDETERMINED || this.state === _State.State.BEGAN)) {
|
196
196
|
this.delegate.onActivate();
|
197
197
|
this.moveToState(_State.State.ACTIVE);
|
198
198
|
}
|
199
199
|
}
|
200
200
|
|
201
201
|
end() {
|
202
|
-
if (this.
|
202
|
+
if (this.state === _State.State.BEGAN || this.state === _State.State.ACTIVE) {
|
203
203
|
// Same as above - order matters
|
204
204
|
this.delegate.onEnd();
|
205
205
|
this.moveToState(_State.State.END);
|
@@ -211,22 +211,6 @@ class GestureHandler {
|
|
211
211
|
//
|
212
212
|
|
213
213
|
|
214
|
-
isAwaiting() {
|
215
|
-
return this.awaiting;
|
216
|
-
}
|
217
|
-
|
218
|
-
setAwaiting(value) {
|
219
|
-
this.awaiting = value;
|
220
|
-
}
|
221
|
-
|
222
|
-
isActive() {
|
223
|
-
return this.active;
|
224
|
-
}
|
225
|
-
|
226
|
-
setActive(value) {
|
227
|
-
this.active = value;
|
228
|
-
}
|
229
|
-
|
230
214
|
getShouldResetProgress() {
|
231
215
|
return this.shouldResetProgress;
|
232
216
|
}
|
@@ -235,20 +219,12 @@ class GestureHandler {
|
|
235
219
|
this.shouldResetProgress = value;
|
236
220
|
}
|
237
221
|
|
238
|
-
getActivationIndex() {
|
239
|
-
return this.activationIndex;
|
240
|
-
}
|
241
|
-
|
242
|
-
setActivationIndex(value) {
|
243
|
-
this.activationIndex = value;
|
244
|
-
}
|
245
|
-
|
246
222
|
shouldWaitForHandlerFailure(handler) {
|
247
223
|
if (handler === this) {
|
248
224
|
return false;
|
249
225
|
}
|
250
226
|
|
251
|
-
return _InteractionManager.default.
|
227
|
+
return _InteractionManager.default.instance.shouldWaitForHandlerFailure(this, handler);
|
252
228
|
}
|
253
229
|
|
254
230
|
shouldRequireToWaitForFailure(handler) {
|
@@ -256,7 +232,7 @@ class GestureHandler {
|
|
256
232
|
return false;
|
257
233
|
}
|
258
234
|
|
259
|
-
return _InteractionManager.default.
|
235
|
+
return _InteractionManager.default.instance.shouldRequireHandlerToWaitForFailure(this, handler);
|
260
236
|
}
|
261
237
|
|
262
238
|
shouldRecognizeSimultaneously(handler) {
|
@@ -264,7 +240,7 @@ class GestureHandler {
|
|
264
240
|
return true;
|
265
241
|
}
|
266
242
|
|
267
|
-
return _InteractionManager.default.
|
243
|
+
return _InteractionManager.default.instance.shouldRecognizeSimultaneously(this, handler);
|
268
244
|
}
|
269
245
|
|
270
246
|
shouldBeCancelledByOther(handler) {
|
@@ -272,19 +248,19 @@ class GestureHandler {
|
|
272
248
|
return false;
|
273
249
|
}
|
274
250
|
|
275
|
-
return _InteractionManager.default.
|
251
|
+
return _InteractionManager.default.instance.shouldHandlerBeCancelledBy(this, handler);
|
276
252
|
} //
|
277
253
|
// Event actions
|
278
254
|
//
|
279
255
|
|
280
256
|
|
281
257
|
onPointerDown(event) {
|
282
|
-
_GestureHandlerOrchestrator.default.
|
258
|
+
_GestureHandlerOrchestrator.default.instance.recordHandlerIfNotPresent(this);
|
283
259
|
|
284
260
|
this.pointerType = event.pointerType;
|
285
261
|
|
286
262
|
if (this.pointerType === _PointerType.PointerType.TOUCH) {
|
287
|
-
_GestureHandlerOrchestrator.default.
|
263
|
+
_GestureHandlerOrchestrator.default.instance.cancelMouseAndPenGestures(this);
|
288
264
|
} // TODO: Bring back touch events along with introducing `handleDown` method that will handle handler specific stuff
|
289
265
|
|
290
266
|
} // Adding another pointer to existing ones
|
@@ -309,7 +285,7 @@ class GestureHandler {
|
|
309
285
|
|
310
286
|
onPointerLeave(event) {
|
311
287
|
if (this.shouldCancelWhenOutside) {
|
312
|
-
switch (this.
|
288
|
+
switch (this.state) {
|
313
289
|
case _State.State.ACTIVE:
|
314
290
|
this.cancel();
|
315
291
|
break;
|
@@ -354,7 +330,7 @@ class GestureHandler {
|
|
354
330
|
}
|
355
331
|
|
356
332
|
if (this.active) {
|
357
|
-
this.sendEvent(this.
|
333
|
+
this.sendEvent(this.state, this.state);
|
358
334
|
}
|
359
335
|
|
360
336
|
this.tryToSendTouchEvent(event);
|
@@ -387,7 +363,7 @@ class GestureHandler {
|
|
387
363
|
transformEventData(newState, oldState) {
|
388
364
|
return {
|
389
365
|
nativeEvent: {
|
390
|
-
numberOfPointers: this.tracker.
|
366
|
+
numberOfPointers: this.tracker.trackedPointersCount,
|
391
367
|
state: newState,
|
392
368
|
pointerInside: this.delegate.isPointerInBounds(this.tracker.getAbsoluteCoordsAverage()),
|
393
369
|
...this.transformNativeEvent(),
|
@@ -404,7 +380,7 @@ class GestureHandler {
|
|
404
380
|
const rect = this.delegate.measureView();
|
405
381
|
const all = [];
|
406
382
|
const changed = [];
|
407
|
-
const trackerData = this.tracker.
|
383
|
+
const trackerData = this.tracker.trackedPointers; // This if handles edge case where all pointers have been cancelled
|
408
384
|
// When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled
|
409
385
|
// The problem is, that handler will receive another pointercancel event from the rest of the pointers
|
410
386
|
// To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset
|
@@ -480,7 +456,7 @@ class GestureHandler {
|
|
480
456
|
return {
|
481
457
|
nativeEvent: {
|
482
458
|
handlerTag: this.handlerTag,
|
483
|
-
state: this.
|
459
|
+
state: this.state,
|
484
460
|
eventType: eventType,
|
485
461
|
changedTouches: changed,
|
486
462
|
allTouches: all,
|
@@ -495,7 +471,7 @@ class GestureHandler {
|
|
495
471
|
const rect = this.delegate.measureView();
|
496
472
|
const all = [];
|
497
473
|
const changed = [];
|
498
|
-
const trackerData = this.tracker.
|
474
|
+
const trackerData = this.tracker.trackedPointers;
|
499
475
|
|
500
476
|
if (trackerData.size === 0) {
|
501
477
|
return;
|
@@ -521,7 +497,7 @@ class GestureHandler {
|
|
521
497
|
const cancelEvent = {
|
522
498
|
nativeEvent: {
|
523
499
|
handlerTag: this.handlerTag,
|
524
|
-
state: this.
|
500
|
+
state: this.state,
|
525
501
|
eventType: _interfaces.TouchEventType.CANCELLED,
|
526
502
|
changedTouches: changed,
|
527
503
|
allTouches: all,
|
@@ -555,7 +531,7 @@ class GestureHandler {
|
|
555
531
|
enabled = true,
|
556
532
|
...props
|
557
533
|
}) {
|
558
|
-
this.
|
534
|
+
this._config = {
|
559
535
|
enabled: enabled,
|
560
536
|
...props
|
561
537
|
};
|
@@ -563,7 +539,7 @@ class GestureHandler {
|
|
563
539
|
this.delegate.onEnabledChange(enabled);
|
564
540
|
|
565
541
|
if (this.config.shouldCancelWhenOutside !== undefined) {
|
566
|
-
this.
|
542
|
+
this.shouldCancelWhenOutside = this.config.shouldCancelWhenOutside;
|
567
543
|
}
|
568
544
|
|
569
545
|
this.validateHitSlops();
|
@@ -572,13 +548,13 @@ class GestureHandler {
|
|
572
548
|
return;
|
573
549
|
}
|
574
550
|
|
575
|
-
switch (this.
|
551
|
+
switch (this.state) {
|
576
552
|
case _State.State.ACTIVE:
|
577
553
|
this.fail(true);
|
578
554
|
break;
|
579
555
|
|
580
556
|
case _State.State.UNDETERMINED:
|
581
|
-
_GestureHandlerOrchestrator.default.
|
557
|
+
_GestureHandlerOrchestrator.default.instance.removeHandlerFromOrchestrator(this);
|
582
558
|
|
583
559
|
break;
|
584
560
|
|
@@ -697,52 +673,96 @@ class GestureHandler {
|
|
697
673
|
//
|
698
674
|
|
699
675
|
|
700
|
-
|
701
|
-
return this.
|
676
|
+
get handlerTag() {
|
677
|
+
return this._handlerTag;
|
702
678
|
}
|
703
679
|
|
704
|
-
|
705
|
-
this.
|
680
|
+
set handlerTag(value) {
|
681
|
+
this._handlerTag = value;
|
706
682
|
}
|
707
683
|
|
708
|
-
|
709
|
-
return this.
|
684
|
+
get config() {
|
685
|
+
return this._config;
|
710
686
|
}
|
711
687
|
|
712
|
-
|
713
|
-
return this.
|
688
|
+
get delegate() {
|
689
|
+
return this._delegate;
|
714
690
|
}
|
715
691
|
|
716
|
-
|
717
|
-
return this.
|
692
|
+
get tracker() {
|
693
|
+
return this._tracker;
|
718
694
|
}
|
719
695
|
|
720
|
-
|
721
|
-
return this.
|
696
|
+
get state() {
|
697
|
+
return this._state;
|
722
698
|
}
|
723
699
|
|
724
|
-
|
725
|
-
|
700
|
+
set state(value) {
|
701
|
+
this._state = value;
|
726
702
|
}
|
727
703
|
|
728
|
-
|
729
|
-
return this.
|
704
|
+
get shouldCancelWhenOutside() {
|
705
|
+
return this._shouldCancelWhenOutside;
|
730
706
|
}
|
731
707
|
|
732
|
-
|
733
|
-
|
708
|
+
set shouldCancelWhenOutside(value) {
|
709
|
+
this._shouldCancelWhenOutside = value;
|
710
|
+
}
|
711
|
+
|
712
|
+
get enabled() {
|
713
|
+
return this._enabled;
|
714
|
+
}
|
715
|
+
|
716
|
+
set enabled(value) {
|
717
|
+
this._enabled = value;
|
718
|
+
}
|
719
|
+
|
720
|
+
get pointerType() {
|
721
|
+
return this._pointerType;
|
722
|
+
}
|
723
|
+
|
724
|
+
set pointerType(value) {
|
725
|
+
this._pointerType = value;
|
726
|
+
}
|
727
|
+
|
728
|
+
get active() {
|
729
|
+
return this._active;
|
734
730
|
}
|
735
731
|
|
736
|
-
|
737
|
-
this.
|
732
|
+
set active(value) {
|
733
|
+
this._active = value;
|
738
734
|
}
|
739
735
|
|
740
|
-
|
741
|
-
return this.
|
736
|
+
get awaiting() {
|
737
|
+
return this._awaiting;
|
742
738
|
}
|
743
739
|
|
744
|
-
|
745
|
-
|
740
|
+
set awaiting(value) {
|
741
|
+
this._awaiting = value;
|
742
|
+
}
|
743
|
+
|
744
|
+
get activationIndex() {
|
745
|
+
return this._activationIndex;
|
746
|
+
}
|
747
|
+
|
748
|
+
set activationIndex(value) {
|
749
|
+
this._activationIndex = value;
|
750
|
+
}
|
751
|
+
|
752
|
+
get shouldResetProgress() {
|
753
|
+
return this._shouldResetProgress;
|
754
|
+
}
|
755
|
+
|
756
|
+
set shouldResetProgress(value) {
|
757
|
+
this._shouldResetProgress = value;
|
758
|
+
}
|
759
|
+
|
760
|
+
getTrackedPointersID() {
|
761
|
+
return this.tracker.trackedPointersIDs;
|
762
|
+
}
|
763
|
+
|
764
|
+
isFinished() {
|
765
|
+
return this.state === _State.State.END || this.state === _State.State.FAILED || this.state === _State.State.CANCELLED;
|
746
766
|
}
|
747
767
|
|
748
768
|
}
|