@react-native-oh-tpl/react-native-gesture-handler 2.14.15 → 2.14.17-rc.0

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.
Files changed (106) hide show
  1. package/DrawerLayout/index.ts +2 -2
  2. package/Swipeable/index.ts +2 -2
  3. package/harmony/gesture_handler.har +0 -0
  4. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  5. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  6. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  9. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  10. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  11. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  12. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  13. package/lib/module/handlers/createHandler.js.map +1 -1
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  16. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  17. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  18. package/lib/typescript/RNGestureHandlerModule.d.ts +2 -2
  19. package/lib/typescript/components/GestureHandlerRootView.d.ts +6 -6
  20. package/lib/typescript/handlers/createHandler.d.ts +11 -11
  21. package/lib/typescript/index.d.ts +47 -47
  22. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +14 -14
  23. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +14 -14
  24. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +6 -6
  25. package/package.json +83 -78
  26. package/src/RNGestureHandlerModule.ts +4 -4
  27. package/src/components/GestureHandlerRootView.tsx +23 -23
  28. package/src/handlers/createHandler.tsx +534 -534
  29. package/src/index.ts +172 -172
  30. package/src/specs/NativeRNGestureHandlerModule.ts +26 -26
  31. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +18 -18
  32. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -6
  33. package/harmony/gesture_handler/BuildProfile.ets +0 -17
  34. package/harmony/gesture_handler/build-profile.json5 +0 -12
  35. package/harmony/gesture_handler/hvigorfile.ts +0 -2
  36. package/harmony/gesture_handler/index.ets +0 -2
  37. package/harmony/gesture_handler/oh-package-lock.json5 +0 -18
  38. package/harmony/gesture_handler/oh-package.json5 +0 -12
  39. package/harmony/gesture_handler/src/main/cpp/CMakeLists.txt +0 -8
  40. package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.h +0 -12
  41. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonComponentDescriptor.h +0 -36
  42. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonJSIBinder.h +0 -32
  43. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.cpp +0 -22
  44. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.h +0 -15
  45. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewComponentDescriptor.h +0 -36
  46. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewJSIBinder.h +0 -25
  47. package/harmony/gesture_handler/src/main/cpp/RnohReactNativeHarmonyGestureHandlerPackage.cpp +0 -157
  48. package/harmony/gesture_handler/src/main/cpp/RnohReactNativeHarmonyGestureHandlerPackage.h +0 -21
  49. package/harmony/gesture_handler/src/main/cpp/componentInstances/RNGestureHandlerButtonComponentInstance.h +0 -27
  50. package/harmony/gesture_handler/src/main/cpp/componentInstances/RNGestureHandlerRootViewComponentInstance.h +0 -245
  51. package/harmony/gesture_handler/src/main/ets/RNOHPackage.ets +0 -17
  52. package/harmony/gesture_handler/src/main/ets/core/CircularBuffer.ts +0 -42
  53. package/harmony/gesture_handler/src/main/ets/core/GestureHandler.ts +0 -739
  54. package/harmony/gesture_handler/src/main/ets/core/GestureHandlerOrchestrator.ts +0 -344
  55. package/harmony/gesture_handler/src/main/ets/core/GestureHandlerRegistry.ts +0 -63
  56. package/harmony/gesture_handler/src/main/ets/core/IncomingEvent.ts +0 -78
  57. package/harmony/gesture_handler/src/main/ets/core/InteractionManager.ts +0 -144
  58. package/harmony/gesture_handler/src/main/ets/core/LeastSquareSolver.ts +0 -182
  59. package/harmony/gesture_handler/src/main/ets/core/Multiset.ts +0 -26
  60. package/harmony/gesture_handler/src/main/ets/core/OutgoingEvent.ts +0 -34
  61. package/harmony/gesture_handler/src/main/ets/core/OutgoingEventDispatcher.ts +0 -12
  62. package/harmony/gesture_handler/src/main/ets/core/PointerTracker.ts +0 -239
  63. package/harmony/gesture_handler/src/main/ets/core/RNGHError.ts +0 -5
  64. package/harmony/gesture_handler/src/main/ets/core/RNGHLogger.ts +0 -16
  65. package/harmony/gesture_handler/src/main/ets/core/State.ts +0 -47
  66. package/harmony/gesture_handler/src/main/ets/core/Vector2D.ts +0 -80
  67. package/harmony/gesture_handler/src/main/ets/core/VelocityTracker.ts +0 -106
  68. package/harmony/gesture_handler/src/main/ets/core/View.ts +0 -21
  69. package/harmony/gesture_handler/src/main/ets/core/ViewRegistry.ts +0 -7
  70. package/harmony/gesture_handler/src/main/ets/core/index.ts +0 -15
  71. package/harmony/gesture_handler/src/main/ets/detectors/ScaleGestureDetector.ts +0 -169
  72. package/harmony/gesture_handler/src/main/ets/gesture-handlers/FlingGestureHandler.ts +0 -219
  73. package/harmony/gesture_handler/src/main/ets/gesture-handlers/GestureHandlerFactory.ts +0 -67
  74. package/harmony/gesture_handler/src/main/ets/gesture-handlers/LongPressGestureHandler.ts +0 -139
  75. package/harmony/gesture_handler/src/main/ets/gesture-handlers/ManualGestureHandler.ts +0 -50
  76. package/harmony/gesture_handler/src/main/ets/gesture-handlers/NativeViewGestureHandler.ts +0 -124
  77. package/harmony/gesture_handler/src/main/ets/gesture-handlers/PanGestureHandler.ts +0 -375
  78. package/harmony/gesture_handler/src/main/ets/gesture-handlers/PinchGestureHandler.ts +0 -174
  79. package/harmony/gesture_handler/src/main/ets/gesture-handlers/RotationGestureHandler.ts +0 -172
  80. package/harmony/gesture_handler/src/main/ets/gesture-handlers/TapGestureHandler.ts +0 -216
  81. package/harmony/gesture_handler/src/main/ets/gesture-handlers/detectors/RotationGestureDetector.ts +0 -167
  82. package/harmony/gesture_handler/src/main/ets/gesture-handlers/index.ts +0 -1
  83. package/harmony/gesture_handler/src/main/ets/namespace/RNGestureHandlerModule.ts +0 -24
  84. package/harmony/gesture_handler/src/main/ets/namespace/components/RNGestureHandlerButton.ts +0 -139
  85. package/harmony/gesture_handler/src/main/ets/namespace/components/RNGestureHandlerRootView.ts +0 -101
  86. package/harmony/gesture_handler/src/main/ets/namespace/components/ts.ts +0 -2
  87. package/harmony/gesture_handler/src/main/ets/namespace/ts.ts +0 -2
  88. package/harmony/gesture_handler/src/main/ets/rnoh/GestureHandlerPackage.ts +0 -25
  89. package/harmony/gesture_handler/src/main/ets/rnoh/Logger.ts +0 -107
  90. package/harmony/gesture_handler/src/main/ets/rnoh/OutgoingEventDispatchers.ts +0 -94
  91. package/harmony/gesture_handler/src/main/ets/rnoh/RNGHRootViewController.ts +0 -196
  92. package/harmony/gesture_handler/src/main/ets/rnoh/RNGHView.ts +0 -85
  93. package/harmony/gesture_handler/src/main/ets/rnoh/RNGHViewController.ts +0 -255
  94. package/harmony/gesture_handler/src/main/ets/rnoh/RNGHViewRegistry.ts +0 -19
  95. package/harmony/gesture_handler/src/main/ets/rnoh/RNGestureHandlerModule.ts +0 -267
  96. package/harmony/gesture_handler/src/main/ets/rnoh/RNOHGestureResponder.ts +0 -15
  97. package/harmony/gesture_handler/src/main/ets/rnoh/RNOHScrollLocker.ts +0 -25
  98. package/harmony/gesture_handler/src/main/ets/rnoh/types.ts +0 -25
  99. package/harmony/gesture_handler/src/main/module.json5 +0 -9
  100. package/harmony/gesture_handler/src/main/resources/base/element/color.json +0 -8
  101. package/harmony/gesture_handler/src/main/resources/base/element/string.json +0 -16
  102. package/harmony/gesture_handler/src/main/resources/base/media/icon.png +0 -0
  103. package/harmony/gesture_handler/src/main/resources/base/profile/main_pages.json +0 -5
  104. package/harmony/gesture_handler/src/main/resources/en_US/element/string.json +0 -16
  105. package/harmony/gesture_handler/src/main/resources/zh_CN/element/string.json +0 -16
  106. package/harmony/gesture_handler/ts.ts +0 -2
@@ -1,167 +0,0 @@
1
- import { PointerTracker, IncomingEvent, EventType } from '../../core';
2
-
3
- export interface RotationGestureListener {
4
- onRotationBegin: (detector: RotationGestureDetector) => boolean;
5
- onRotation: (detector: RotationGestureDetector) => boolean;
6
- onRotationEnd: (detector: RotationGestureDetector) => void;
7
- }
8
-
9
- export default class RotationGestureDetector
10
- implements RotationGestureListener
11
- {
12
- onRotationBegin: (detector: RotationGestureDetector) => boolean;
13
- onRotation: (detector: RotationGestureDetector) => boolean;
14
- onRotationEnd: (detector: RotationGestureDetector) => void;
15
-
16
- private currentTime = 0;
17
- private previousTime = 0;
18
-
19
- private previousAngle = 0;
20
- private rotation = 0;
21
-
22
- private anchorX = 0;
23
- private anchorY = 0;
24
-
25
- private isInProgress = false;
26
-
27
- private keyPointers: number[] = [NaN, NaN];
28
-
29
- constructor(callbacks: RotationGestureListener) {
30
- this.onRotationBegin = callbacks.onRotationBegin;
31
- this.onRotation = callbacks.onRotation;
32
- this.onRotationEnd = callbacks.onRotationEnd;
33
- }
34
-
35
- private updateCurrent(event: IncomingEvent, tracker: PointerTracker): void {
36
- this.previousTime = this.currentTime;
37
- this.currentTime = event.time;
38
-
39
- const [firstPointerID, secondPointerID] = this.keyPointers;
40
-
41
- const firstPointerX: number = tracker.getLastX(firstPointerID);
42
- const firstPointerY: number = tracker.getLastY(firstPointerID);
43
- const secondPointerX: number = tracker.getLastX(secondPointerID);
44
- const secondPointerY: number = tracker.getLastY(secondPointerID);
45
-
46
- const vectorX: number = secondPointerX - firstPointerX;
47
- const vectorY: number = secondPointerY - firstPointerY;
48
-
49
- this.anchorX = (firstPointerX + secondPointerX) / 2;
50
- this.anchorY = (firstPointerY + secondPointerY) / 2;
51
-
52
- //Angle diff should be positive when rotating in clockwise direction
53
- const angle: number = -Math.atan2(vectorY, vectorX);
54
-
55
- this.rotation = Number.isNaN(this.previousAngle)
56
- ? 0
57
- : this.previousAngle - angle;
58
-
59
- this.previousAngle = angle;
60
-
61
- if (this.rotation > Math.PI) {
62
- this.rotation -= Math.PI;
63
- } else if (this.rotation < -Math.PI) {
64
- this.rotation += Math.PI;
65
- }
66
-
67
- if (this.rotation > Math.PI / 2) {
68
- this.rotation -= Math.PI;
69
- } else if (this.rotation < -Math.PI / 2) {
70
- this.rotation += Math.PI;
71
- }
72
- }
73
-
74
- private finish(): void {
75
- if (!this.isInProgress) {
76
- return;
77
- }
78
-
79
- this.isInProgress = false;
80
- this.keyPointers = [NaN, NaN];
81
- this.onRotationEnd(this);
82
- }
83
-
84
- private setKeyPointers(tracker: PointerTracker): void {
85
- if (this.keyPointers[0] && this.keyPointers[1]) {
86
- return;
87
- }
88
-
89
- const pointerIDs: IterableIterator<number> = tracker.getData().keys();
90
-
91
- this.keyPointers[0] = pointerIDs.next().value as number;
92
- this.keyPointers[1] = pointerIDs.next().value as number;
93
- }
94
-
95
- public onTouchEvent(event: IncomingEvent, tracker: PointerTracker): boolean {
96
- switch (event.eventType) {
97
- case EventType.DOWN:
98
- this.isInProgress = false;
99
- break;
100
-
101
- case EventType.ADDITIONAL_POINTER_DOWN:
102
- if (this.isInProgress) {
103
- break;
104
- }
105
- this.isInProgress = true;
106
-
107
- this.previousTime = event.time;
108
- this.previousAngle = NaN;
109
-
110
- this.setKeyPointers(tracker);
111
-
112
- this.updateCurrent(event, tracker);
113
- this.onRotationBegin(this);
114
- break;
115
-
116
- case EventType.MOVE:
117
- if (!this.isInProgress) {
118
- break;
119
- }
120
-
121
- this.updateCurrent(event, tracker);
122
- this.onRotation(this);
123
-
124
- break;
125
-
126
- case EventType.ADDITIONAL_POINTER_UP:
127
- if (!this.isInProgress) {
128
- break;
129
- }
130
-
131
- if (this.keyPointers.indexOf(event.pointerId) >= 0) {
132
- this.finish();
133
- }
134
-
135
- break;
136
-
137
- case EventType.UP:
138
- if (this.isInProgress) {
139
- this.finish();
140
- }
141
- break;
142
- }
143
-
144
- return true;
145
- }
146
-
147
- public getTimeDelta(): number {
148
- return this.currentTime + this.previousTime;
149
- }
150
-
151
- public getAnchorX(): number {
152
- return this.anchorX;
153
- }
154
-
155
- public getAnchorY(): number {
156
- return this.anchorY;
157
- }
158
-
159
- public getRotation(): number {
160
- return this.rotation;
161
- }
162
-
163
- public reset(): void {
164
- this.keyPointers = [NaN, NaN];
165
- this.isInProgress = false;
166
- }
167
- }
@@ -1 +0,0 @@
1
- export * from "./GestureHandlerFactory"
@@ -1,24 +0,0 @@
1
- // This file was generated.
2
-
3
- export namespace RNGestureHandlerModule {
4
- export const NAME = 'RNGestureHandlerModule' as const
5
-
6
- export interface Spec {
7
- handleSetJSResponder(tag: number, blockNativeResponder: boolean): void;
8
-
9
- handleClearJSResponder(): void;
10
-
11
- createGestureHandler(handlerName: string, handlerTag: number, config: Object): void;
12
-
13
- attachGestureHandler(handlerTag: number, newView: number, actionType: number): void;
14
-
15
- updateGestureHandler(handlerTag: number, newConfig: Object): void;
16
-
17
- dropGestureHandler(handlerTag: number): void;
18
-
19
- install(): boolean;
20
-
21
- flushOperations(): void;
22
-
23
- }
24
- }
@@ -1,139 +0,0 @@
1
- // This file was generated.
2
- import {
3
- Descriptor as ComponentDescriptor,
4
- ViewBaseProps,
5
- ViewRawProps,
6
- ViewDescriptorWrapperBase,
7
- ColorValue,
8
- Color,
9
- RNInstance,
10
- Tag,
11
- RNComponentCommandReceiver,
12
- ViewPropsSelector,
13
- } from '@rnoh/react-native-openharmony/ts';
14
-
15
-
16
- export namespace RNGestureHandlerButton {
17
- export const NAME = "RNGestureHandlerButton" as const
18
-
19
- export interface DirectRawProps {
20
- exclusive?: boolean;
21
- foreground?: boolean;
22
- borderless?: boolean;
23
- enabled?: boolean;
24
- rippleColor?: ColorValue;
25
- rippleRadius?: number;
26
- touchSoundDisabled?: boolean;
27
- }
28
-
29
- export interface Props extends ViewBaseProps {}
30
-
31
- export interface State {}
32
-
33
- export interface RawProps extends ViewRawProps, DirectRawProps {}
34
-
35
- export class PropsSelector extends ViewPropsSelector<Props, RawProps> {
36
- get exclusive() {
37
- return this.rawProps.exclusive ?? true;
38
- }
39
-
40
- get foreground() {
41
- return this.rawProps.foreground ?? false;
42
- }
43
-
44
- get borderless() {
45
- return this.rawProps.borderless ?? false;
46
- }
47
-
48
- get enabled() {
49
- return this.rawProps.enabled ?? true;
50
- }
51
-
52
- get rippleRadius() {
53
- return this.rawProps.rippleRadius ?? 0;
54
- }
55
-
56
- get touchSoundDisabled() {
57
- return this.rawProps.touchSoundDisabled ?? false;
58
- }
59
-
60
-
61
- get rippleColor() {
62
- if (this.rawProps.rippleColor) {
63
- return Color.fromColorValue(this.rawProps.rippleColor)
64
- } else {
65
- return new Color({ r: 0, g: 0, b: 0, a: 255})
66
- }
67
- }
68
-
69
- }
70
-
71
- export type Descriptor = ComponentDescriptor<
72
- typeof NAME,
73
- Props,
74
- State,
75
- RawProps
76
- >;
77
-
78
- export class DescriptorWrapper extends ViewDescriptorWrapperBase<
79
- typeof NAME,
80
- Props,
81
- State,
82
- RawProps,
83
- PropsSelector
84
- > {
85
- protected createPropsSelector() {
86
- return new PropsSelector(this.descriptor.props, this.descriptor.rawProps)
87
- }
88
- }
89
-
90
- export interface EventPayloadByName {
91
- }
92
-
93
- export class EventEmitter {
94
- constructor(private rnInstance: RNInstance, private tag: Tag) {}
95
-
96
- emit<TEventName extends keyof EventPayloadByName>(eventName: TEventName, payload: EventPayloadByName[TEventName]) {
97
- this.rnInstance.emitComponentEvent(this.tag, eventName, payload)
98
- }
99
- }
100
-
101
- export interface CommandArgvByName {
102
- }
103
-
104
- export class CommandReceiver {
105
- private listenersByCommandName = new Map<string, Set<(...args: any[]) => void>>()
106
- private cleanUp: (() => void) | undefined = undefined
107
-
108
- constructor(private componentCommandReceiver: RNComponentCommandReceiver, private tag: Tag) {
109
- }
110
-
111
- subscribe<TCommandName extends keyof CommandArgvByName>(commandName: TCommandName, listener: (argv: CommandArgvByName[TCommandName]) => void) {
112
- if (!this.listenersByCommandName.has(commandName)) {
113
- this.listenersByCommandName.set(commandName, new Set())
114
- }
115
- this.listenersByCommandName.get(commandName)!.add(listener)
116
- const hasRegisteredCommandReceiver = !!this.cleanUp
117
- if (!hasRegisteredCommandReceiver) {
118
- this.cleanUp = this.componentCommandReceiver.registerCommandCallback(this.tag, (commandName: string, argv: any[]) => {
119
- if (this.listenersByCommandName.has(commandName)) {
120
- const listeners = this.listenersByCommandName.get(commandName)!
121
- listeners.forEach(listener => {
122
- listener(argv)
123
- })
124
- }
125
- })
126
- }
127
-
128
- return () => {
129
- this.listenersByCommandName.get(commandName)?.delete(listener)
130
- if (this.listenersByCommandName.get(commandName)?.size ?? 0 === 0) {
131
- this.listenersByCommandName.delete(commandName)
132
- }
133
- if (this.listenersByCommandName.size === 0) {
134
- this.cleanUp?.()
135
- }
136
- }
137
- }
138
- }
139
- }
@@ -1,101 +0,0 @@
1
- // This file was generated.
2
- import {
3
- Descriptor as ComponentDescriptor,
4
- ViewBaseProps,
5
- ViewRawProps,
6
- ViewDescriptorWrapperBase,
7
- ColorValue,
8
- Color,
9
- RNInstance,
10
- Tag,
11
- RNComponentCommandReceiver,
12
- ViewPropsSelector,
13
- } from '@rnoh/react-native-openharmony/ts';
14
-
15
-
16
- export namespace RNGestureHandlerRootView {
17
- export const NAME = "RNGestureHandlerRootView" as const
18
-
19
- export interface DirectRawProps {
20
- }
21
-
22
- export interface Props extends ViewBaseProps {}
23
-
24
- export interface State {}
25
-
26
- export interface RawProps extends ViewRawProps, DirectRawProps {}
27
-
28
- export class PropsSelector extends ViewPropsSelector<Props, RawProps> {
29
-
30
- }
31
-
32
- export type Descriptor = ComponentDescriptor<
33
- typeof NAME,
34
- Props,
35
- State,
36
- RawProps
37
- >;
38
-
39
- export class DescriptorWrapper extends ViewDescriptorWrapperBase<
40
- typeof NAME,
41
- Props,
42
- State,
43
- RawProps,
44
- PropsSelector
45
- > {
46
- protected createPropsSelector() {
47
- return new PropsSelector(this.descriptor.props, this.descriptor.rawProps)
48
- }
49
- }
50
-
51
- export interface EventPayloadByName {
52
- }
53
-
54
- export class EventEmitter {
55
- constructor(private rnInstance: RNInstance, private tag: Tag) {}
56
-
57
- emit<TEventName extends keyof EventPayloadByName>(eventName: TEventName, payload: EventPayloadByName[TEventName]) {
58
- this.rnInstance.emitComponentEvent(this.tag, eventName, payload)
59
- }
60
- }
61
-
62
- export interface CommandArgvByName {
63
- }
64
-
65
- export class CommandReceiver {
66
- private listenersByCommandName = new Map<string, Set<(...args: any[]) => void>>()
67
- private cleanUp: (() => void) | undefined = undefined
68
-
69
- constructor(private componentCommandReceiver: RNComponentCommandReceiver, private tag: Tag) {
70
- }
71
-
72
- subscribe<TCommandName extends keyof CommandArgvByName>(commandName: TCommandName, listener: (argv: CommandArgvByName[TCommandName]) => void) {
73
- if (!this.listenersByCommandName.has(commandName)) {
74
- this.listenersByCommandName.set(commandName, new Set())
75
- }
76
- this.listenersByCommandName.get(commandName)!.add(listener)
77
- const hasRegisteredCommandReceiver = !!this.cleanUp
78
- if (!hasRegisteredCommandReceiver) {
79
- this.cleanUp = this.componentCommandReceiver.registerCommandCallback(this.tag, (commandName: string, argv: any[]) => {
80
- if (this.listenersByCommandName.has(commandName)) {
81
- const listeners = this.listenersByCommandName.get(commandName)!
82
- listeners.forEach(listener => {
83
- listener(argv)
84
- })
85
- }
86
- })
87
- }
88
-
89
- return () => {
90
- this.listenersByCommandName.get(commandName)?.delete(listener)
91
- if (this.listenersByCommandName.get(commandName)?.size ?? 0 === 0) {
92
- this.listenersByCommandName.delete(commandName)
93
- }
94
- if (this.listenersByCommandName.size === 0) {
95
- this.cleanUp?.()
96
- }
97
- }
98
- }
99
- }
100
-
101
- }
@@ -1,2 +0,0 @@
1
- export * from "./RNGestureHandlerButton"
2
- export * from "./RNGestureHandlerRootView"
@@ -1,2 +0,0 @@
1
- export * as RNC from "./components/ts"
2
- export * as TM from "./RNGestureHandlerModule"
@@ -1,25 +0,0 @@
1
- import {RNPackage, TurboModulesFactory} from "@rnoh/react-native-openharmony/ts";
2
- import type {TurboModule, TurboModuleContext} from "@rnoh/react-native-openharmony/ts";
3
- import {RNGestureHandlerModule} from './RNGestureHandlerModule';
4
-
5
- class GestureHandlerTurboModuleFactory extends TurboModulesFactory {
6
- createTurboModule(name: string): TurboModule | null {
7
- if (name === RNGestureHandlerModule.NAME) {
8
- return new RNGestureHandlerModule(this.ctx);
9
- }
10
- return null;
11
- }
12
-
13
- hasTurboModule(name: string): boolean {
14
- return name === RNGestureHandlerModule.NAME;
15
- }
16
- }
17
-
18
- /**
19
- * @deprecated: Use the package class exported from ../RNOHPackage.ets (2024-10-10)
20
- */
21
- export class GestureHandlerPackage extends RNPackage {
22
- createTurboModulesFactory(ctx: TurboModuleContext): TurboModulesFactory {
23
- return new GestureHandlerTurboModuleFactory(ctx);
24
- }
25
- }
@@ -1,107 +0,0 @@
1
- import { RNOHContext } from '@rnoh/react-native-openharmony/ts';
2
- import { RNGHLogger, RNGHLoggerMessage } from "../core"
3
- import hiTrace from "@ohos.hiTraceMeter"
4
-
5
- class Tracer {
6
- private activeTracesCount: number = 0
7
-
8
- public startTrace(name: string) {
9
- /**
10
- * hiTrace.startTrace creates a new lane which makes the traces useless
11
- */
12
- hiTrace.startTrace(name, 0)
13
- this.activeTracesCount++
14
- return () => {
15
- hiTrace.finishTrace(name, 0)
16
- this.activeTracesCount--
17
- }
18
- }
19
-
20
- public getActiveTracesCount(): number {
21
- return this.activeTracesCount
22
- }
23
- }
24
-
25
- export class DevelopmentRNGHLogger implements RNGHLogger {
26
- constructor(
27
- protected rnohLogger: RNOHContext['logger'],
28
- protected prefix: string,
29
- protected tracer: Tracer = new Tracer(),
30
- ) {
31
- }
32
-
33
- error(msg: string) {
34
- this.log("error", msg);
35
- }
36
-
37
- warn(msg: string) {
38
- this.log("warn", msg);
39
- }
40
-
41
- info(msg: string) {
42
- this.log("info", msg);
43
- }
44
-
45
- debug(msg: RNGHLoggerMessage) {
46
- this.log("debug", typeof msg === "string" ? msg : JSON.stringify(msg));
47
- }
48
-
49
- protected log(type: "debug" | "info" | "warn" | "error", msg: string, offset: number | undefined = undefined) {
50
- this.rnohLogger[type](" ".repeat(offset ?? this.tracer.getActiveTracesCount() * 2),
51
- `${this.prefix}: ${this.stringifyMsg(msg)}`)
52
- }
53
-
54
- startTracing(): () => void {
55
- const startTime = Date.now()
56
- const currentOffset = this.tracer.getActiveTracesCount() * 2
57
- this.log("debug", "START", currentOffset)
58
- const stopTrace = this.tracer.startTrace(this.prefix)
59
- return () => {
60
- stopTrace()
61
- const stopTime = Date.now()
62
- const durationInMs = stopTime - startTime
63
- if (durationInMs < 16) {
64
- this.log("debug", "STOP", currentOffset)
65
- } else {
66
- this.log("debug", `STOP (${durationInMs} ms)`, currentOffset)
67
- }
68
- }
69
- }
70
-
71
- private stringifyMsg(msg: RNGHLoggerMessage): string {
72
- if (typeof msg === "string") {
73
- return msg
74
- } else {
75
- return JSON.stringify(msg)
76
- }
77
- }
78
-
79
- cloneAndJoinPrefix(prefix: string) {
80
- return new DevelopmentRNGHLogger(this.rnohLogger, `${this.prefix}::${prefix}`, this.tracer);
81
- }
82
- }
83
-
84
- export class ProductionRNGHLogger extends DevelopmentRNGHLogger {
85
- override debug(msg: string) {
86
- // NOOP
87
- }
88
-
89
- override cloneAndJoinPrefix(prefix: string) {
90
- return new ProductionRNGHLogger(this.rnohLogger, `${this.prefix}::${prefix}`, this.tracer);
91
- }
92
-
93
- override startTracing(): () => void {
94
- const startTime = Date.now()
95
- const currentOffset = this.tracer.getActiveTracesCount() * 2
96
-
97
- const stopTrace = this.tracer.startTrace(this.prefix)
98
- return () => {
99
- stopTrace()
100
- const stopTime = Date.now()
101
- const durationInMs = stopTime - startTime
102
- if (durationInMs > 16) {
103
- this.log("warn", `STOP (${durationInMs} ms)`, currentOffset)
104
- }
105
- }
106
- }
107
- }
@@ -1,94 +0,0 @@
1
- import { RNInstance } from '@rnoh/react-native-openharmony/ts';
2
- import {
3
- OutgoingEventDispatcher,
4
- GestureStateChangeEvent,
5
- GestureUpdateEvent,
6
- GestureTouchEvent,
7
- RNGHLogger
8
- } from "../core"
9
-
10
- export class JSEventDispatcher implements OutgoingEventDispatcher {
11
- private logger: RNGHLogger
12
-
13
- constructor(private rnInstance: RNInstance, logger: RNGHLogger) {
14
- this.logger = logger.cloneAndJoinPrefix("JSEventDispatcher")
15
- }
16
-
17
- public onGestureHandlerStateChange(event: GestureStateChangeEvent) {
18
- const stopTracing = this.logger.cloneAndJoinPrefix(`onGestureHandlerStateChange`).startTracing();
19
- this.rnInstance.emitDeviceEvent('onGestureHandlerStateChange', event);
20
- stopTracing()
21
- }
22
-
23
- public onGestureHandlerEvent(
24
- event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,
25
- ) {
26
- const stopTracing = this.logger.cloneAndJoinPrefix(`onGestureHandlerEvent`).startTracing();
27
- this.rnInstance.emitDeviceEvent('onGestureHandlerEvent', event);
28
- stopTracing()
29
- }
30
- }
31
-
32
- export class AnimatedEventDispatcher implements OutgoingEventDispatcher {
33
- private logger: RNGHLogger
34
-
35
- constructor(
36
- private rnInstance: RNInstance,
37
- logger: RNGHLogger,
38
- private viewTag: number,
39
- ) {
40
- this.logger = logger.cloneAndJoinPrefix("AnimatedEventDispatcher")
41
- }
42
-
43
- public onGestureHandlerStateChange(event: GestureStateChangeEvent) {
44
- const stopTracing = this.logger.cloneAndJoinPrefix(`onGestureHandlerStateChange`).startTracing()
45
- this.rnInstance.emitDeviceEvent('onGestureHandlerStateChange', event);
46
- stopTracing()
47
- }
48
-
49
- public onGestureHandlerEvent(
50
- event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,
51
- ) {
52
- const stopTracing = this.logger.cloneAndJoinPrefix(`onGestureHandlerEvent`).startTracing();
53
- this.rnInstance.emitComponentEvent(
54
- this.viewTag,
55
- 'onGestureHandlerEvent',
56
- event,
57
- );
58
- stopTracing()
59
- }
60
- }
61
-
62
- export class ReanimatedEventDispatcher implements OutgoingEventDispatcher {
63
- private logger: RNGHLogger
64
-
65
- constructor(
66
- private rnInstance: RNInstance,
67
- logger: RNGHLogger,
68
- private viewTag: number,
69
- ) {
70
- this.logger = logger.cloneAndJoinPrefix("ReanimatedEventDispatcher")
71
- }
72
-
73
- public onGestureHandlerStateChange(event: GestureStateChangeEvent) {
74
- const stopTracing = this.logger.cloneAndJoinPrefix(`onGestureHandlerStateChange`).startTracing();
75
- this.rnInstance.emitComponentEvent(
76
- this.viewTag,
77
- 'onGestureHandlerStateChange',
78
- event,
79
- );
80
- stopTracing()
81
- }
82
-
83
- public onGestureHandlerEvent(
84
- event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,
85
- ) {
86
- const stopTracing = this.logger.cloneAndJoinPrefix(`onGestureHandlerEvent`).startTracing();
87
- this.rnInstance.emitComponentEvent(
88
- this.viewTag,
89
- 'onGestureHandlerEvent',
90
- event,
91
- );
92
- stopTracing()
93
- }
94
- }