@nativescript-community/gesturehandler 2.0.19 → 2.0.20
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/package.json +2 -2
- package/platforms/ios/src/GestureHandlerManager.h +1 -1
- package/platforms/ios/src/GestureHandlerManager.m +4 -4
- package/platforms/ios/src/GestureHandlerRegistry.h +0 -2
- package/platforms/ios/src/GestureHandlerRegistry.m +2 -5
- package/gesturehandler.android.d.ts +0 -180
- package/gesturehandler.android.js +0 -633
- package/gesturehandler.android.js.map +0 -1
- package/gesturehandler.common.d.ts +0 -97
- package/gesturehandler.common.js +0 -274
- package/gesturehandler.common.js.map +0 -1
- package/gesturehandler.d.ts +0 -156
- package/gesturehandler.ios.d.ts +0 -56
- package/gesturehandler.ios.js +0 -271
- package/gesturehandler.ios.js.map +0 -1
- package/gestures_override.d.ts +0 -29
- package/gestures_override.js +0 -417
- package/gestures_override.js.map +0 -1
- package/references.d.ts +0 -3
- package/typings/android.d.ts +0 -458
- package/typings/extensions.android.d.ts +0 -18
- package/typings/ios.d.ts +0 -246
- package/vue/index.d.ts +0 -4
- package/vue/index.js +0 -7
- package/vue/index.js.map +0 -1
@@ -1,633 +0,0 @@
|
|
1
|
-
import { Application, Utils, View } from '@nativescript/core';
|
2
|
-
import { GestureTypes } from '@nativescript/core/ui/gestures';
|
3
|
-
import { Page } from '@nativescript/core/ui/page';
|
4
|
-
import { BaseGestureRootView, BaseNative, GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureState, HandlerType, ManagerBase, ROOT_GESTURE_HANDLER_TAG, ViewDisposeEvent, ViewInitEvent, applyMixins, install as installBase, nativeProperty } from './gesturehandler.common';
|
5
|
-
import { observe as gestureObserve } from './gestures_override';
|
6
|
-
export { GestureState, GestureHandlerStateEvent, GestureHandlerTouchEvent, HandlerType, ViewInitEvent, ViewDisposeEvent };
|
7
|
-
let PageLayout;
|
8
|
-
class PageGestureExtended extends Page {
|
9
|
-
initNativeView() {
|
10
|
-
this.nativeViewProtected.initialize();
|
11
|
-
}
|
12
|
-
disposeNativeView() {
|
13
|
-
this.nativeViewProtected.tearDown();
|
14
|
-
}
|
15
|
-
get registry() {
|
16
|
-
return this.nativeViewProtected && this.nativeViewProtected.registry();
|
17
|
-
}
|
18
|
-
}
|
19
|
-
let installed = false;
|
20
|
-
let installedOverrides = false;
|
21
|
-
export class GestureRootView extends BaseGestureRootView {
|
22
|
-
createNativeView() {
|
23
|
-
if (!PageLayout) {
|
24
|
-
PageLayout = com.nativescript.gesturehandler.PageLayout;
|
25
|
-
}
|
26
|
-
const layout = new PageLayout(this._context, ROOT_GESTURE_HANDLER_TAG);
|
27
|
-
return layout;
|
28
|
-
}
|
29
|
-
initNativeView() {
|
30
|
-
super.initNativeView();
|
31
|
-
this.nativeView.initialize();
|
32
|
-
}
|
33
|
-
disposeNativeView() {
|
34
|
-
super.disposeNativeView();
|
35
|
-
this.nativeView.tearDown();
|
36
|
-
}
|
37
|
-
get registry() {
|
38
|
-
return this.nativeView && this.nativeView.registry();
|
39
|
-
}
|
40
|
-
}
|
41
|
-
export function install(overrideNGestures = false) {
|
42
|
-
if (!installed) {
|
43
|
-
installed = true;
|
44
|
-
installBase(overrideNGestures);
|
45
|
-
const NSPage = require('@nativescript/core/ui/page').Page;
|
46
|
-
NSPage.prototype.createNativeView = function () {
|
47
|
-
if (!PageLayout) {
|
48
|
-
PageLayout = com.nativescript.gesturehandler.PageLayout;
|
49
|
-
}
|
50
|
-
const layout = new PageLayout(this._context, ROOT_GESTURE_HANDLER_TAG);
|
51
|
-
//@ts-ignore
|
52
|
-
if (layout.addRowsFromJSON) {
|
53
|
-
//@ts-ignore
|
54
|
-
layout.addRowsFromJSON(JSON.stringify([
|
55
|
-
{ value: 1, type: 0 /* org.nativescript.widgets.GridUnitType.auto */ },
|
56
|
-
{ value: 1, type: 2 /* org.nativescript.widgets.GridUnitType.star */ }
|
57
|
-
]));
|
58
|
-
}
|
59
|
-
else {
|
60
|
-
layout.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.auto));
|
61
|
-
layout.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.star));
|
62
|
-
}
|
63
|
-
// this.gestureRegistry = layout.registry();
|
64
|
-
return layout;
|
65
|
-
};
|
66
|
-
applyMixins(NSPage, [PageGestureExtended]);
|
67
|
-
}
|
68
|
-
if (overrideNGestures === true && !installedOverrides) {
|
69
|
-
installedOverrides = true;
|
70
|
-
const NSView = require('@nativescript/core/ui/core/view').View;
|
71
|
-
const NSButtonBase = require('@nativescript/core/ui/button').ButtonBase;
|
72
|
-
const NSButton = require('@nativescript/core/ui/button').Button;
|
73
|
-
delete NSButtonBase.tapEvent;
|
74
|
-
delete NSButton.tapEvent;
|
75
|
-
// we need to disable on click listener
|
76
|
-
NSButton.prototype.initNativeView = function () {
|
77
|
-
NSButtonBase.prototype.initNativeView.call(this);
|
78
|
-
};
|
79
|
-
NSButton.prototype.disposeNativeView = function () {
|
80
|
-
NSButtonBase.prototype.disposeNativeView.call(this);
|
81
|
-
};
|
82
|
-
NSView.prototype._observe = function (type, callback, thisArg) {
|
83
|
-
if (!this._gestureObservers[type]) {
|
84
|
-
this._gestureObservers[type] = [];
|
85
|
-
}
|
86
|
-
this._gestureObservers[type].push(gestureObserve(this, type, callback, thisArg));
|
87
|
-
if (this.isLoaded && !this.touchListenerIsSet) {
|
88
|
-
this.setOnTouchListener();
|
89
|
-
}
|
90
|
-
};
|
91
|
-
// NSView.prototype.setOnTouchListener = function () {
|
92
|
-
// if (!this.nativeViewProtected || !this.getGestureObservers(GestureTypes.touch)) {
|
93
|
-
// return;
|
94
|
-
// }
|
95
|
-
// // do not set noop listener that handles the event (disabled listener) if IsUserInteractionEnabled is
|
96
|
-
// // false as we might need the ability for the event to pass through to a parent view
|
97
|
-
// this.touchListener =
|
98
|
-
// this.touchListener ||
|
99
|
-
// new android.view.View.OnTouchListener({
|
100
|
-
// onTouch: (view: android.view.View, event: android.view.MotionEvent) => {
|
101
|
-
// this.handleGestureTouch(event);
|
102
|
-
// const nativeView = this.nativeViewProtected;
|
103
|
-
// if (!nativeView || !nativeView.onTouchEvent) {
|
104
|
-
// return false;
|
105
|
-
// }
|
106
|
-
// return nativeView.onTouchEvent(event);
|
107
|
-
// },
|
108
|
-
// });
|
109
|
-
// this.nativeViewProtected.setOnTouchListener(this.touchListener);
|
110
|
-
// this.touchListenerIsSet = true;
|
111
|
-
// console.log('setOnTouchListener', this);
|
112
|
-
// if (this.nativeViewProtected.setClickable) {
|
113
|
-
// this.nativeViewProtected.setClickable(this.isUserInteractionEnabled);
|
114
|
-
// }
|
115
|
-
// };
|
116
|
-
}
|
117
|
-
}
|
118
|
-
const KEY_HIT_SLOP_LEFT = 'left';
|
119
|
-
const KEY_HIT_SLOP_TOP = 'top';
|
120
|
-
const KEY_HIT_SLOP_RIGHT = 'right';
|
121
|
-
const KEY_HIT_SLOP_BOTTOM = 'bottom';
|
122
|
-
const KEY_HIT_SLOP_VERTICAL = 'vertical';
|
123
|
-
const KEY_HIT_SLOP_HORIZONTAL = 'horizontal';
|
124
|
-
const KEY_HIT_SLOP_WIDTH = 'width';
|
125
|
-
const KEY_HIT_SLOP_HEIGHT = 'height';
|
126
|
-
export class Handler extends BaseNative {
|
127
|
-
constructor() {
|
128
|
-
super(...arguments);
|
129
|
-
this.nativeGetterKey = 'nativeView';
|
130
|
-
this.tag = 0;
|
131
|
-
}
|
132
|
-
getExtraData(handler) {
|
133
|
-
const numberOfPointers = handler.getNumberOfPointers();
|
134
|
-
const positions = [];
|
135
|
-
for (let index = 0; index < numberOfPointers; index++) {
|
136
|
-
positions.push(Utils.layout.toDeviceIndependentPixels(handler.getXAtIndex(index)));
|
137
|
-
positions.push(Utils.layout.toDeviceIndependentPixels(handler.getYAtIndex(index)));
|
138
|
-
}
|
139
|
-
return {
|
140
|
-
// x: Utils.layout.toDeviceIndependentPixels(handler.getX()),
|
141
|
-
// y: Utils.layout.toDeviceIndependentPixels(handler.getY()),
|
142
|
-
positions,
|
143
|
-
numberOfPointers
|
144
|
-
};
|
145
|
-
}
|
146
|
-
initNativeView(native, options) {
|
147
|
-
super.initNativeView(native, options);
|
148
|
-
this.native.setTag(this.tag);
|
149
|
-
this.touchListener = new com.swmansion.gesturehandler.OnTouchEventListener({
|
150
|
-
shouldStartGesture: this.handleShouldStartGesture.bind(this),
|
151
|
-
onTouchEvent: this.onTouchEvent.bind(this),
|
152
|
-
onStateChange: this.onStateChange.bind(this)
|
153
|
-
});
|
154
|
-
native.setOnTouchEventListener(this.touchListener);
|
155
|
-
this.manager?.get()?.configureInteractions(this, options);
|
156
|
-
}
|
157
|
-
disposeNativeView() {
|
158
|
-
this.native.setInteractionController(null);
|
159
|
-
this.native.setOnTouchEventListener(null);
|
160
|
-
this.touchListener = null;
|
161
|
-
super.disposeNativeView();
|
162
|
-
}
|
163
|
-
handleShouldStartGesture(handler, event) {
|
164
|
-
if (this.shouldStartGesture) {
|
165
|
-
return this.shouldStartGesture(this.getExtraData(handler));
|
166
|
-
}
|
167
|
-
return true;
|
168
|
-
}
|
169
|
-
onTouchEvent(handler, event) {
|
170
|
-
const view = handler.getView();
|
171
|
-
this.notify({
|
172
|
-
eventName: GestureHandlerTouchEvent,
|
173
|
-
object: this,
|
174
|
-
data: {
|
175
|
-
state: handler.getState(),
|
176
|
-
android: view,
|
177
|
-
extraData: this.getExtraData(handler),
|
178
|
-
view: view.nsView ? view.nsView?.get() : null
|
179
|
-
}
|
180
|
-
});
|
181
|
-
}
|
182
|
-
onStateChange(handler, state, prevState) {
|
183
|
-
const view = handler.getView();
|
184
|
-
this.notify({
|
185
|
-
eventName: GestureHandlerStateEvent,
|
186
|
-
object: this,
|
187
|
-
data: {
|
188
|
-
state,
|
189
|
-
prevState,
|
190
|
-
android: view,
|
191
|
-
extraData: this.getExtraData(handler),
|
192
|
-
view: view.nsView ? view.nsView?.get() : null
|
193
|
-
}
|
194
|
-
});
|
195
|
-
}
|
196
|
-
setTag(tag) {
|
197
|
-
this.tag = tag;
|
198
|
-
if (this.native) {
|
199
|
-
this.native.setTag(tag);
|
200
|
-
}
|
201
|
-
}
|
202
|
-
getTag() {
|
203
|
-
return this.tag;
|
204
|
-
// return this.getNative().getTag();
|
205
|
-
}
|
206
|
-
getView() {
|
207
|
-
return this.getNative().getView();
|
208
|
-
}
|
209
|
-
cancel() {
|
210
|
-
return this.getNative().cancel();
|
211
|
-
}
|
212
|
-
attachToView(view) {
|
213
|
-
if (view === this.attachedView) {
|
214
|
-
return;
|
215
|
-
}
|
216
|
-
if (this.attachedView) {
|
217
|
-
this.detachFromView(this.attachedView);
|
218
|
-
}
|
219
|
-
this.attachedView = view;
|
220
|
-
this.manager?.get()?.attachGestureHandler(this, view);
|
221
|
-
}
|
222
|
-
detachFromView(view) {
|
223
|
-
if ((view && view !== this.attachedView) || !this.attachedView) {
|
224
|
-
return;
|
225
|
-
}
|
226
|
-
if (!this.attachedView) {
|
227
|
-
return;
|
228
|
-
}
|
229
|
-
this.manager?.get()?.detachGestureHandler(this, this.attachedView);
|
230
|
-
this.attachedView = null;
|
231
|
-
}
|
232
|
-
}
|
233
|
-
__decorate([
|
234
|
-
nativeProperty({
|
235
|
-
nativeSetterName: 'setHitSlop',
|
236
|
-
nativegetterName: 'getHitSlop',
|
237
|
-
converter: {
|
238
|
-
toNative(value) {
|
239
|
-
const HIT_SLOP_NONE = GestureHandler.HIT_SLOP_NONE;
|
240
|
-
if (typeof value === 'number') {
|
241
|
-
const hitSlop = Utils.layout.toDevicePixels(value);
|
242
|
-
return [hitSlop, hitSlop, hitSlop, hitSlop, HIT_SLOP_NONE, HIT_SLOP_NONE];
|
243
|
-
}
|
244
|
-
else {
|
245
|
-
let left = HIT_SLOP_NONE, top = HIT_SLOP_NONE, right = HIT_SLOP_NONE, bottom = HIT_SLOP_NONE;
|
246
|
-
let width = HIT_SLOP_NONE, height = HIT_SLOP_NONE;
|
247
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_HORIZONTAL)) {
|
248
|
-
const horizontalPad = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_HORIZONTAL]);
|
249
|
-
left = right = horizontalPad;
|
250
|
-
}
|
251
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_VERTICAL)) {
|
252
|
-
const verticalPad = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_VERTICAL]);
|
253
|
-
top = bottom = verticalPad;
|
254
|
-
}
|
255
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_LEFT)) {
|
256
|
-
left = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_LEFT]);
|
257
|
-
}
|
258
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_TOP)) {
|
259
|
-
top = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_TOP]);
|
260
|
-
}
|
261
|
-
if (value.hasKey(KEY_HIT_SLOP_RIGHT)) {
|
262
|
-
right = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_RIGHT]);
|
263
|
-
}
|
264
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_BOTTOM)) {
|
265
|
-
bottom = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_BOTTOM]);
|
266
|
-
}
|
267
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_WIDTH)) {
|
268
|
-
width = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_WIDTH]);
|
269
|
-
}
|
270
|
-
if (value.hasOwnProperty(KEY_HIT_SLOP_HEIGHT)) {
|
271
|
-
height = Utils.layout.toDevicePixels(value[KEY_HIT_SLOP_HEIGHT]);
|
272
|
-
}
|
273
|
-
return [left, top, right, bottom, width, height];
|
274
|
-
}
|
275
|
-
}
|
276
|
-
}
|
277
|
-
})
|
278
|
-
], Handler.prototype, "hitSlop", void 0);
|
279
|
-
__decorate([
|
280
|
-
nativeProperty
|
281
|
-
], Handler.prototype, "enabled", void 0);
|
282
|
-
__decorate([
|
283
|
-
nativeProperty
|
284
|
-
], Handler.prototype, "shouldCancelWhenOutside", void 0);
|
285
|
-
export class TapGestureHandler extends Handler {
|
286
|
-
createNative(options) {
|
287
|
-
return new com.swmansion.gesturehandler.TapGestureHandler();
|
288
|
-
}
|
289
|
-
getExtraData(handler) {
|
290
|
-
return Object.assign(super.getExtraData(handler), {
|
291
|
-
x: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionX()),
|
292
|
-
y: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionY()),
|
293
|
-
absoluteX: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionX()),
|
294
|
-
absoluteY: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionY())
|
295
|
-
});
|
296
|
-
}
|
297
|
-
}
|
298
|
-
__decorate([
|
299
|
-
nativeProperty
|
300
|
-
], TapGestureHandler.prototype, "numberOfTaps", void 0);
|
301
|
-
__decorate([
|
302
|
-
nativeProperty
|
303
|
-
], TapGestureHandler.prototype, "maxDurationMs", void 0);
|
304
|
-
__decorate([
|
305
|
-
nativeProperty
|
306
|
-
], TapGestureHandler.prototype, "maxDelayMs", void 0);
|
307
|
-
__decorate([
|
308
|
-
nativeProperty({ nativeSetterName: 'setMaxDx' })
|
309
|
-
], TapGestureHandler.prototype, "maxDeltaX", void 0);
|
310
|
-
__decorate([
|
311
|
-
nativeProperty({ nativeSetterName: 'setMaxDy' })
|
312
|
-
], TapGestureHandler.prototype, "maxDeltaY", void 0);
|
313
|
-
__decorate([
|
314
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
315
|
-
], TapGestureHandler.prototype, "maxDist", void 0);
|
316
|
-
__decorate([
|
317
|
-
nativeProperty({ nativeSetterName: 'setMinNumberOfPointers' })
|
318
|
-
], TapGestureHandler.prototype, "minPointers", void 0);
|
319
|
-
export class PanGestureHandler extends Handler {
|
320
|
-
createNative(options) {
|
321
|
-
const context = Utils.android.getApplicationContext();
|
322
|
-
return new com.swmansion.gesturehandler.PanGestureHandler(context);
|
323
|
-
}
|
324
|
-
getExtraData(handler) {
|
325
|
-
return Object.assign(super.getExtraData(handler), {
|
326
|
-
x: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionX()),
|
327
|
-
y: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionY()),
|
328
|
-
absoluteX: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionX()),
|
329
|
-
absoluteY: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionY()),
|
330
|
-
translationX: Utils.layout.toDeviceIndependentPixels(handler.getTranslationX()),
|
331
|
-
translationY: Utils.layout.toDeviceIndependentPixels(handler.getTranslationY()),
|
332
|
-
velocityX: Utils.layout.toDeviceIndependentPixels(handler.getVelocityX()),
|
333
|
-
velocityY: Utils.layout.toDeviceIndependentPixels(handler.getVelocityY())
|
334
|
-
});
|
335
|
-
}
|
336
|
-
}
|
337
|
-
__decorate([
|
338
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
339
|
-
], PanGestureHandler.prototype, "minDist", void 0);
|
340
|
-
__decorate([
|
341
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
342
|
-
], PanGestureHandler.prototype, "activeOffsetXStart", void 0);
|
343
|
-
__decorate([
|
344
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
345
|
-
], PanGestureHandler.prototype, "activeOffsetXEnd", void 0);
|
346
|
-
__decorate([
|
347
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
348
|
-
], PanGestureHandler.prototype, "failOffsetXStart", void 0);
|
349
|
-
__decorate([
|
350
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
351
|
-
], PanGestureHandler.prototype, "failOffsetXEnd", void 0);
|
352
|
-
__decorate([
|
353
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
354
|
-
], PanGestureHandler.prototype, "activeOffsetYStart", void 0);
|
355
|
-
__decorate([
|
356
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
357
|
-
], PanGestureHandler.prototype, "activeOffsetYEnd", void 0);
|
358
|
-
__decorate([
|
359
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
360
|
-
], PanGestureHandler.prototype, "failOffsetYStart", void 0);
|
361
|
-
__decorate([
|
362
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
363
|
-
], PanGestureHandler.prototype, "failOffsetYEnd", void 0);
|
364
|
-
__decorate([
|
365
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
366
|
-
], PanGestureHandler.prototype, "minVelocity", void 0);
|
367
|
-
__decorate([
|
368
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
369
|
-
], PanGestureHandler.prototype, "minVelocityX", void 0);
|
370
|
-
__decorate([
|
371
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
372
|
-
], PanGestureHandler.prototype, "minVelocityY", void 0);
|
373
|
-
__decorate([
|
374
|
-
nativeProperty
|
375
|
-
], PanGestureHandler.prototype, "minPointers", void 0);
|
376
|
-
__decorate([
|
377
|
-
nativeProperty
|
378
|
-
], PanGestureHandler.prototype, "maxPointers", void 0);
|
379
|
-
__decorate([
|
380
|
-
nativeProperty({ nativeSetterName: 'setAverageTouches' })
|
381
|
-
], PanGestureHandler.prototype, "avgTouches", void 0);
|
382
|
-
__decorate([
|
383
|
-
nativeProperty
|
384
|
-
], PanGestureHandler.prototype, "numberOfPointers", void 0);
|
385
|
-
export class PinchGestureHandler extends Handler {
|
386
|
-
createNative(options) {
|
387
|
-
return new com.swmansion.gesturehandler.PinchGestureHandler();
|
388
|
-
}
|
389
|
-
getExtraData(handler) {
|
390
|
-
return Object.assign(super.getExtraData(handler), {
|
391
|
-
x: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionX()),
|
392
|
-
y: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionY()),
|
393
|
-
absoluteX: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionX()),
|
394
|
-
absoluteY: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionY()),
|
395
|
-
scale: handler.getScale(),
|
396
|
-
focalX: Utils.layout.toDeviceIndependentPixels(handler.getFocalPointX()),
|
397
|
-
focalY: Utils.layout.toDeviceIndependentPixels(handler.getFocalPointY()),
|
398
|
-
velocity: handler.getVelocity()
|
399
|
-
});
|
400
|
-
}
|
401
|
-
}
|
402
|
-
__decorate([
|
403
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
404
|
-
], PinchGestureHandler.prototype, "minSpan", void 0);
|
405
|
-
const GestureHandler = com.swmansion.gesturehandler.GestureHandler;
|
406
|
-
export var FlingDirection;
|
407
|
-
(function (FlingDirection) {
|
408
|
-
FlingDirection[FlingDirection["DIRECTION_LEFT"] = GestureHandler.DIRECTION_LEFT] = "DIRECTION_LEFT";
|
409
|
-
FlingDirection[FlingDirection["DIRECTION_UP"] = GestureHandler.DIRECTION_UP] = "DIRECTION_UP";
|
410
|
-
FlingDirection[FlingDirection["DIRECTION_DOWN"] = GestureHandler.DIRECTION_DOWN] = "DIRECTION_DOWN";
|
411
|
-
FlingDirection[FlingDirection["DIRECTION_RIGHT"] = GestureHandler.DIRECTION_RIGHT] = "DIRECTION_RIGHT";
|
412
|
-
})(FlingDirection || (FlingDirection = {}));
|
413
|
-
function directionToString(direction) {
|
414
|
-
switch (direction) {
|
415
|
-
case GestureHandler.DIRECTION_RIGHT:
|
416
|
-
return 'right';
|
417
|
-
case GestureHandler.DIRECTION_UP:
|
418
|
-
return 'up';
|
419
|
-
case GestureHandler.DIRECTION_DOWN:
|
420
|
-
return 'down';
|
421
|
-
default:
|
422
|
-
return 'left';
|
423
|
-
}
|
424
|
-
}
|
425
|
-
function directionFromString(direction) {
|
426
|
-
switch (direction) {
|
427
|
-
case 'right':
|
428
|
-
return GestureHandler.DIRECTION_RIGHT;
|
429
|
-
case 'up':
|
430
|
-
return GestureHandler.DIRECTION_UP;
|
431
|
-
case 'down':
|
432
|
-
return GestureHandler.DIRECTION_DOWN;
|
433
|
-
default:
|
434
|
-
return GestureHandler.DIRECTION_LEFT;
|
435
|
-
}
|
436
|
-
}
|
437
|
-
export class FlingGestureHandler extends Handler {
|
438
|
-
createNative(options) {
|
439
|
-
return new com.swmansion.gesturehandler.FlingGestureHandler();
|
440
|
-
}
|
441
|
-
getExtraData(handler) {
|
442
|
-
return Object.assign(super.getExtraData(handler), {
|
443
|
-
direction: directionToString(handler.getRecognizedDirection())
|
444
|
-
});
|
445
|
-
}
|
446
|
-
}
|
447
|
-
__decorate([
|
448
|
-
nativeProperty
|
449
|
-
], FlingGestureHandler.prototype, "numberOfPointers", void 0);
|
450
|
-
__decorate([
|
451
|
-
nativeProperty
|
452
|
-
], FlingGestureHandler.prototype, "direction", void 0);
|
453
|
-
export class LongPressGestureHandler extends Handler {
|
454
|
-
createNative(options) {
|
455
|
-
const context = Utils.android.getApplicationContext();
|
456
|
-
return new com.swmansion.gesturehandler.LongPressGestureHandler(context);
|
457
|
-
}
|
458
|
-
getExtraData(handler) {
|
459
|
-
return Object.assign(super.getExtraData(handler), {
|
460
|
-
x: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionX()),
|
461
|
-
y: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionY()),
|
462
|
-
absoluteX: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionX()),
|
463
|
-
absoluteY: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionY())
|
464
|
-
});
|
465
|
-
}
|
466
|
-
}
|
467
|
-
__decorate([
|
468
|
-
nativeProperty
|
469
|
-
], LongPressGestureHandler.prototype, "minDurationMs", void 0);
|
470
|
-
__decorate([
|
471
|
-
nativeProperty({ converter: { fromNative: Utils.layout.toDevicePixels } })
|
472
|
-
], LongPressGestureHandler.prototype, "maxDist", void 0);
|
473
|
-
export class RotationGestureHandler extends Handler {
|
474
|
-
createNative(options) {
|
475
|
-
return new com.swmansion.gesturehandler.RotationGestureHandler();
|
476
|
-
}
|
477
|
-
getExtraData(handler) {
|
478
|
-
return Object.assign(super.getExtraData(handler), {
|
479
|
-
x: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionX()),
|
480
|
-
y: Utils.layout.toDeviceIndependentPixels(handler.getLastRelativePositionY()),
|
481
|
-
absoluteX: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionX()),
|
482
|
-
absoluteY: Utils.layout.toDeviceIndependentPixels(handler.getLastAbsolutePositionY()),
|
483
|
-
rotation: handler.getRotation(),
|
484
|
-
anchorX: Utils.layout.toDeviceIndependentPixels(handler.getAnchorX()),
|
485
|
-
anchorY: Utils.layout.toDeviceIndependentPixels(handler.getAnchorY()),
|
486
|
-
velocity: handler.getVelocity()
|
487
|
-
});
|
488
|
-
}
|
489
|
-
}
|
490
|
-
export class NativeViewGestureHandler extends Handler {
|
491
|
-
createNative(options) {
|
492
|
-
return new com.swmansion.gesturehandler.NativeViewGestureHandler();
|
493
|
-
}
|
494
|
-
getExtraData(handler) {
|
495
|
-
return Object.assign(super.getExtraData(handler), {
|
496
|
-
pointerInside: handler.isWithinBounds()
|
497
|
-
});
|
498
|
-
}
|
499
|
-
}
|
500
|
-
__decorate([
|
501
|
-
nativeProperty
|
502
|
-
], NativeViewGestureHandler.prototype, "shouldActivateOnStart", void 0);
|
503
|
-
__decorate([
|
504
|
-
nativeProperty
|
505
|
-
], NativeViewGestureHandler.prototype, "disallowInterruption", void 0);
|
506
|
-
export class Manager extends ManagerBase {
|
507
|
-
constructor() {
|
508
|
-
super(...arguments);
|
509
|
-
this.viewListeners = new Map();
|
510
|
-
}
|
511
|
-
configureInteractions(handler, options = {}) {
|
512
|
-
this.interactionManager.configureInteractions(handler.getNative(), options.waitFor, options.simultaneousHandlers);
|
513
|
-
}
|
514
|
-
get interactionManager() {
|
515
|
-
if (!this._interactionManager) {
|
516
|
-
this._interactionManager = new com.nativescript.gesturehandler.GestureHandlerInteractionController();
|
517
|
-
}
|
518
|
-
return this._interactionManager;
|
519
|
-
}
|
520
|
-
static getInstance() {
|
521
|
-
if (!Manager.sManager) {
|
522
|
-
Manager.sManager = new Manager();
|
523
|
-
}
|
524
|
-
return Manager.sManager;
|
525
|
-
}
|
526
|
-
createGestureHandler(handlerName, handlerTag, config) {
|
527
|
-
let handler = null;
|
528
|
-
switch (handlerName) {
|
529
|
-
case 'tap':
|
530
|
-
handler = new TapGestureHandler(config);
|
531
|
-
break;
|
532
|
-
case 'pan':
|
533
|
-
handler = new PanGestureHandler(config);
|
534
|
-
break;
|
535
|
-
case 'nativeView':
|
536
|
-
handler = new NativeViewGestureHandler(config);
|
537
|
-
break;
|
538
|
-
case 'pinch':
|
539
|
-
handler = new PinchGestureHandler(config);
|
540
|
-
break;
|
541
|
-
case 'fling':
|
542
|
-
handler = new FlingGestureHandler(config);
|
543
|
-
break;
|
544
|
-
case 'rotation':
|
545
|
-
handler = new RotationGestureHandler(config);
|
546
|
-
break;
|
547
|
-
case 'longPress':
|
548
|
-
handler = new LongPressGestureHandler(config);
|
549
|
-
break;
|
550
|
-
}
|
551
|
-
if (handler) {
|
552
|
-
handler.manager = new WeakRef(this);
|
553
|
-
handler.setTag(handlerTag);
|
554
|
-
}
|
555
|
-
return handler;
|
556
|
-
}
|
557
|
-
findRegistry(view) {
|
558
|
-
let registry;
|
559
|
-
const page = view.page;
|
560
|
-
if (page) {
|
561
|
-
registry = page.registry;
|
562
|
-
}
|
563
|
-
else {
|
564
|
-
// no root page try to find a parent GestureRootView
|
565
|
-
let parent = view.parent;
|
566
|
-
while (parent) {
|
567
|
-
if (parent instanceof GestureRootView) {
|
568
|
-
return parent.registry;
|
569
|
-
}
|
570
|
-
parent = parent.parent;
|
571
|
-
}
|
572
|
-
}
|
573
|
-
return registry;
|
574
|
-
}
|
575
|
-
attachGestureHandlerToView(handler, view) {
|
576
|
-
const nHandler = handler.getNative();
|
577
|
-
if (nHandler) {
|
578
|
-
const registry = this.findRegistry(view);
|
579
|
-
if (registry) {
|
580
|
-
registry.registerHandler(nHandler);
|
581
|
-
registry.attachHandlerToView(nHandler.getTag(), view[handler.nativeGetterKey]);
|
582
|
-
}
|
583
|
-
else {
|
584
|
-
throw new Error('a Page or a GestureRootView is needed to attach a gesture');
|
585
|
-
}
|
586
|
-
}
|
587
|
-
}
|
588
|
-
detachGestureHandlerFromView(handler, view) {
|
589
|
-
const nHandler = handler.getNative();
|
590
|
-
if (nHandler) {
|
591
|
-
const registry = this.findRegistry(view);
|
592
|
-
if (registry) {
|
593
|
-
registry.dropHandler(nHandler.getTag());
|
594
|
-
}
|
595
|
-
}
|
596
|
-
}
|
597
|
-
attachGestureHandler(handler, view) {
|
598
|
-
if (view.nativeView) {
|
599
|
-
this.attachGestureHandlerToView(handler, view);
|
600
|
-
}
|
601
|
-
const onInit = () => this.attachGestureHandlerToView(handler, view);
|
602
|
-
const onDispose = () => this.detachGestureHandlerFromView(handler, view);
|
603
|
-
view.on(ViewInitEvent, onInit, this);
|
604
|
-
view.on(ViewDisposeEvent, onDispose, this);
|
605
|
-
let viewListeners = this.viewListeners.get(view);
|
606
|
-
if (!viewListeners) {
|
607
|
-
viewListeners = new Map();
|
608
|
-
this.viewListeners.set(view, viewListeners);
|
609
|
-
}
|
610
|
-
viewListeners.set(handler.getTag(), {
|
611
|
-
init: onInit,
|
612
|
-
dispose: onDispose
|
613
|
-
});
|
614
|
-
}
|
615
|
-
detachGestureHandler(handler, view) {
|
616
|
-
if (view) {
|
617
|
-
const viewListeners = this.viewListeners.get(view);
|
618
|
-
if (viewListeners) {
|
619
|
-
const listeners = viewListeners.get(handler.getTag());
|
620
|
-
if (listeners) {
|
621
|
-
view.off(ViewInitEvent, listeners.init, this);
|
622
|
-
view.off(ViewDisposeEvent, () => listeners.dispose, this);
|
623
|
-
viewListeners.delete(handler.getTag());
|
624
|
-
if (viewListeners.size === 0) {
|
625
|
-
this.viewListeners.delete(view);
|
626
|
-
}
|
627
|
-
}
|
628
|
-
}
|
629
|
-
}
|
630
|
-
this.detachGestureHandlerFromView(handler, view);
|
631
|
-
}
|
632
|
-
}
|
633
|
-
//# sourceMappingURL=gesturehandler.android.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"gesturehandler.android.js","sourceRoot":"../src/","sources":["gesturehandler.android.ts"],"names":[],"mappings":"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"}
|