@nativescript/core
Version:
A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.
221 lines • 6.08 kB
JavaScript
export * from './touch-manager';
/**
* Events emitted during gesture lifecycle
*/
export var GestureEvents;
(function (GestureEvents) {
/**
* When the gesture is attached to the view
* Provides access to the native gesture recognizer for further customization
*
* @nsEvent {GestureEventData} gestureAttached
*/
GestureEvents["gestureAttached"] = "gestureAttached";
/**
* When a touch down was detected
*
* @nsEvent touchDown
*/
GestureEvents["touchDown"] = "touchDown";
/**
* When a touch up was detected
*
* @nsEvent touchUp
*/
GestureEvents["touchUp"] = "touchUp";
})(GestureEvents || (GestureEvents = {}));
/**
* Defines an enum with supported gesture types.
*/
export var GestureTypes;
(function (GestureTypes) {
/**
* Denotes tap (click) gesture.
*
* @nsEvent {TapGestureEventData} tap
*/
GestureTypes[GestureTypes["tap"] = 1] = "tap";
/**
* Denotes double tap gesture.
*
* @nsEvent {TapGestureEventData} doubleTap
*/
GestureTypes[GestureTypes["doubleTap"] = 2] = "doubleTap";
/**
* Denotes pinch gesture.
*
* @nsEvent {PinchGestureEventData} pinch
*/
GestureTypes[GestureTypes["pinch"] = 4] = "pinch";
/**
* Denotes pan gesture.
*
* @nsEvent {PanGestureEventData} pan
*/
GestureTypes[GestureTypes["pan"] = 8] = "pan";
/**
* Denotes swipe gesture.
*
* @nsEvent {SwipeGestureEventData} swipe
*/
GestureTypes[GestureTypes["swipe"] = 16] = "swipe";
/**
* Denotes rotation gesture.
*
* @nsEvent {RotationGestureEventData} rotate
*/
GestureTypes[GestureTypes["rotation"] = 32] = "rotation";
/**
* Denotes long press gesture.
*
* @nsEvent {GestureEventDataWithState} longPress
*/
GestureTypes[GestureTypes["longPress"] = 64] = "longPress";
/**
* Denotes touch action.
*
* @nsEvent {TouchGestureEventData} touch
*/
GestureTypes[GestureTypes["touch"] = 128] = "touch";
})(GestureTypes || (GestureTypes = {}));
/**
* Defines an enum with supported gesture states.
*/
export var GestureStateTypes;
(function (GestureStateTypes) {
/**
* Gesture canceled.
*/
GestureStateTypes[GestureStateTypes["cancelled"] = 0] = "cancelled";
/**
* Gesture began.
*/
GestureStateTypes[GestureStateTypes["began"] = 1] = "began";
/**
* Gesture changed.
*/
GestureStateTypes[GestureStateTypes["changed"] = 2] = "changed";
/**
* Gesture ended.
*/
GestureStateTypes[GestureStateTypes["ended"] = 3] = "ended";
})(GestureStateTypes || (GestureStateTypes = {}));
/**
* Defines an enum for swipe gesture direction.
*/
export var SwipeDirection;
(function (SwipeDirection) {
/**
* Denotes right direction for swipe gesture.
*/
SwipeDirection[SwipeDirection["right"] = 1] = "right";
/**
* Denotes left direction for swipe gesture.
*/
SwipeDirection[SwipeDirection["left"] = 2] = "left";
/**
* Denotes up direction for swipe gesture.
*/
SwipeDirection[SwipeDirection["up"] = 4] = "up";
/**
* Denotes down direction for swipe gesture.
*/
SwipeDirection[SwipeDirection["down"] = 8] = "down";
})(SwipeDirection || (SwipeDirection = {}));
/**
* Defines a touch action
*/
export var TouchAction;
(function (TouchAction) {
/**
* Down action.
*/
TouchAction["down"] = "down";
/**
* Up action.
*/
TouchAction["up"] = "up";
/**
* Move action.
*/
TouchAction["move"] = "move";
/**
* Cancel action.
*/
TouchAction["cancel"] = "cancel";
})(TouchAction || (TouchAction = {}));
/**
* Returns a string representation of a gesture type.
* @param type - The singular type of the gesture. Looks for an exact match, so
* passing plural types like `GestureTypes.tap & GestureTypes.doubleTap` will
* simply return undefined.
*/
export function toString(type) {
switch (type) {
case GestureTypes.tap:
return GestureTypes[GestureTypes.tap];
case GestureTypes.doubleTap:
return GestureTypes[GestureTypes.doubleTap];
case GestureTypes.pinch:
return GestureTypes[GestureTypes.pinch];
case GestureTypes.pan:
return GestureTypes[GestureTypes.pan];
case GestureTypes.swipe:
return GestureTypes[GestureTypes.swipe];
case GestureTypes.rotation:
return GestureTypes[GestureTypes.rotation];
case GestureTypes.longPress:
return GestureTypes[GestureTypes.longPress];
case GestureTypes.touch:
return GestureTypes[GestureTypes.touch];
}
}
/**
* Returns a gesture type enum value from a string (case insensitive).
*
* @param type - A string representation of a single gesture type (e.g. "tap").
*/
export function fromString(type) {
const t = type.trim().toLowerCase();
switch (t) {
case 'tap':
return GestureTypes.tap;
case 'doubletap':
return GestureTypes.doubleTap;
case 'pinch':
return GestureTypes.pinch;
case 'pan':
return GestureTypes.pan;
case 'swipe':
return GestureTypes.swipe;
case 'rotation':
return GestureTypes.rotation;
case 'longpress':
return GestureTypes.longPress;
case 'touch':
return GestureTypes.touch;
}
return undefined;
}
export class GesturesObserverBase {
get callback() {
return this._callback;
}
get target() {
return this._target;
}
get context() {
return this._context;
}
constructor(target, callback, context) {
this._target = target;
this._callback = callback;
this._context = context;
}
disconnect() {
this._target = null;
this._callback = null;
this._context = null;
}
}
//# sourceMappingURL=gestures-common.js.map