diff --git a/tns-core-modules/ui/gestures/gestures.android.ts b/tns-core-modules/ui/gestures/gestures.android.ts index 4c60aa53c..4a948d972 100644 --- a/tns-core-modules/ui/gestures/gestures.android.ts +++ b/tns-core-modules/ui/gestures/gestures.android.ts @@ -380,6 +380,7 @@ function _getArgs(type: GestureTypes, view: View, e: android.view.MotionEvent): ios: undefined, object: view, eventName: toString(type), + state:undefined, }; } diff --git a/tns-core-modules/ui/gestures/gestures.d.ts b/tns-core-modules/ui/gestures/gestures.d.ts index 886cc2ad8..80912ba67 100644 --- a/tns-core-modules/ui/gestures/gestures.d.ts +++ b/tns-core-modules/ui/gestures/gestures.d.ts @@ -226,7 +226,12 @@ export interface PanGestureEventData extends GestureEventDataWithState { deltaX: number; deltaY: number; } - +/** + * Provides gesture event data for longPress gesture. + */ +export interface LongPressGestureEventData extends GestureEventDataWithState { + state: number; +} /** * Provides gesture event data for rotation gesture. */ diff --git a/tns-core-modules/ui/gestures/gestures.ios.ts b/tns-core-modules/ui/gestures/gestures.ios.ts index 7ecb87657..e1976bba6 100644 --- a/tns-core-modules/ui/gestures/gestures.ios.ts +++ b/tns-core-modules/ui/gestures/gestures.ios.ts @@ -1,5 +1,5 @@ // Definitions. -import { GestureEventData, SwipeGestureEventData, PanGestureEventData, RotationGestureEventData, PinchGestureEventData } from "."; +import { GestureEventData, SwipeGestureEventData, PanGestureEventData, LongPressGestureEventData, RotationGestureEventData, PinchGestureEventData } from "."; import { View, EventData } from "../core/view"; // Types. @@ -167,7 +167,9 @@ export class GesturesObserver extends GesturesObserverBase { } if (type & GestureTypes.longPress) { - nativeView.addGestureRecognizer(this._createRecognizer(GestureTypes.longPress)); + nativeView.addGestureRecognizer(this._createRecognizer(GestureTypes.longPress, args => { + this._executeCallback(_getLongPressData(args)); + })); } if (type & GestureTypes.touch) { @@ -344,6 +346,19 @@ function _getPanData(args: GestureEventData, view: UIView): PanGestureEventData }; } +function _getLongPressData(args: GestureEventData): LongPressGestureEventData { + const recognizer = args.ios; + return { + type: args.type, + view: args.view, + ios: args.ios, + android: undefined, + object: args.view, + eventName: toString(args.type), + state: recognizer.state, + }; +} + function _getRotationData(args: GestureEventData): RotationGestureEventData { const recognizer = args.ios;