@nativescript-community/gesturehandler 2.0.0 → 2.0.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/.pnpm-debug.log +1 -0
- package/CHANGELOG.md +68 -144
- package/README.md +132 -12
- package/{packages/gesturehandler/blueprint.md → blueprint.md} +0 -0
- package/gesturehandler.android.d.ts +180 -0
- package/{.history/src/gesturehandler/gesturehandler.android_20220328163618.ts → gesturehandler.android.js} +208 -228
- package/gesturehandler.android.js.map +1 -0
- package/gesturehandler.common.d.ts +96 -0
- package/{.history/src/gesturehandler.common_20210512114125.ts → gesturehandler.common.js} +74 -161
- package/gesturehandler.common.js.map +1 -0
- package/{src/gesturehandler/gesturehandler.d.ts → gesturehandler.d.ts} +0 -0
- package/gesturehandler.ios.d.ts +56 -0
- package/{.history/src/gesturehandler.ios_20210422150701.ts → gesturehandler.ios.js} +71 -100
- package/gesturehandler.ios.js.map +1 -0
- package/gestures_override.d.ts +29 -0
- package/{.history/src/gesturehandler/gestures_override_20220328170818.ts → gestures_override.js} +63 -171
- package/gestures_override.js.map +1 -0
- package/package.json +51 -60
- package/{packages/gesturehandler/platforms → platforms}/android/AndroidManifest.xml +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/include.gradle +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/nativescript/gesturehandler/GestureHandlerInteractionController.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/nativescript/gesturehandler/PageLayout.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/nativescript/gesturehandler/RootViewGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureUtils.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PointerEvents.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PointerEventsConfig.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PointerEventsSpec.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/ScaleGestureDetector.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/native-api-usage.json +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/res/values/config.xml +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/FlingHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/FlingHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/ForceTouchHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/ForceTouchHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerDirection.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerEvents.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerEvents.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerHeader.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerManager.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerManager.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerRegistry.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerRegistry.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerState.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/LongPressHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/LongPressHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/NativeViewHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/NativeViewHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PanHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PanHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PinchHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PinchHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RootViewGestureRecognizer.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RootViewGestureRecognizer.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RotationHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RotationHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/TapHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/TapHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/module.modulemap +0 -0
- package/react/index.d.ts +20 -0
- package/react/index.js +9 -0
- package/react/index.js.map +1 -0
- package/references.d.ts +3 -3
- package/svelte/index.d.ts +11 -0
- package/svelte/index.js +26 -0
- package/svelte/index.js.map +1 -0
- package/tsconfig.json +8 -4
- package/{src/gesturehandler/typings → typings}/android.d.ts +0 -0
- package/{src/gesturehandler/typings → typings}/extensions.android.d.ts +0 -0
- package/{src/gesturehandler/typings → typings}/ios.d.ts +0 -0
- package/vue/index.d.ts +4 -0
- package/{.history/src/gesturehandler/vue/index_20220328163021.ts → vue/index.js} +1 -1
- package/vue/index.js.map +1 -0
- package/.classpath +0 -12
- package/.eslintrc.js +0 -3
- package/.gitattributes +0 -17
- package/.github/FUNDING.yml +0 -1
- package/.github/issue_template.md +0 -28
- package/.gitmodules +0 -6
- package/.gradle/7.3/checksums/checksums.lock +0 -0
- package/.gradle/7.3/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/.gradle/7.3/dependencies-accessors/gc.properties +0 -0
- package/.gradle/7.3/fileChanges/last-build.bin +0 -0
- package/.gradle/7.3/fileHashes/fileHashes.lock +0 -0
- package/.gradle/7.3/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/.gradle/checksums/checksums.lock +0 -0
- package/.gradle/checksums/md5-checksums.bin +0 -0
- package/.gradle/checksums/sha1-checksums.bin +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/.history/build_20201106173734.gradle +0 -22
- package/.history/build_20220218093019.gradle +0 -22
- package/.history/build_20220218093024.gradle +0 -22
- package/.history/build_20220218093151.gradle +0 -22
- package/.history/build_20220218093200.gradle +0 -22
- package/.history/build_20220218093224.gradle +0 -22
- package/.history/build_20220218093249.gradle +0 -22
- package/.history/build_20220218093334.gradle +0 -22
- package/.history/build_20220218093339.gradle +0 -22
- package/.history/build_20220218093341.gradle +0 -22
- package/.history/build_20220218093411.gradle +0 -22
- package/.history/build_20220218093413.gradle +0 -22
- package/.history/build_20220218093416.gradle +0 -22
- package/.history/build_20220218093421.gradle +0 -23
- package/.history/build_20220218093423.gradle +0 -22
- package/.history/build_20220218100008.gradle +0 -22
- package/.history/demo-snippets/package_20211119094134.json +0 -7
- package/.history/demo-snippets/package_20220328153105.json +0 -7
- package/.history/demo-snippets/package_20220328153251.json +0 -7
- package/.history/demo-snippets/package_20220328153410.json +0 -7
- package/.history/demo-snippets/vue/Basic_20210917174642.vue +0 -46
- package/.history/demo-snippets/vue/Basic_20220328154031.vue +0 -44
- package/.history/demo-snippets/vue/Basic_20220328154730.vue +0 -46
- package/.history/demo-snippets/vue/Basic_20220328154741.vue +0 -46
- package/.history/demo-snippets/vue/Basic_20220328154807.vue +0 -47
- package/.history/demo-snippets/vue/Basic_20220328154838.vue +0 -51
- package/.history/demo-snippets/vue/Basic_20220328154839.vue +0 -51
- package/.history/demo-snippets/vue/Basic_20220328154901.vue +0 -52
- package/.history/demo-snippets/vue/Basic_20220328154925.vue +0 -52
- package/.history/demo-snippets/vue/Basic_20220328162644.vue +0 -52
- package/.history/demo-snippets/vue/Basic_20220328162656.vue +0 -48
- package/.history/demo-snippets/vue/Basic_20220328162658.vue +0 -48
- package/.history/demo-snippets/vue/Basic_20220328162731.vue +0 -48
- package/.history/demo-snippets/vue/ModalView_20220328154527.vue +0 -0
- package/.history/demo-snippets/vue/ModalView_20220328154555.vue +0 -15
- package/.history/demo-snippets/vue/ModalView_20220328162755.vue +0 -15
- package/.history/demo-snippets/vue/ModalView_20220328162915.vue +0 -17
- package/.history/demo-snippets/vue/install_20211117134051.ts +0 -14
- package/.history/demo-snippets/vue/install_20220328153411.ts +0 -10
- package/.history/demo-snippets/vue/install_20220328154031.ts +0 -9
- package/.history/demo-snippets/vue/install_20220328162915.ts +0 -10
- package/.history/demo-vue/.npmrc_20220328151942 +0 -1
- package/.history/demo-vue/.npmrc_20220329084955 +0 -2
- package/.history/demo-vue/package_20220328151942.json +0 -60
- package/.history/demo-vue/package_20220328153206.json +0 -60
- package/.history/demo-vue/package_20220328153218.json +0 -59
- package/.history/demo-vue/package_20220328153326.json +0 -60
- package/.history/demo-vue/package_20220328153411.json +0 -60
- package/.history/demo_vue/app/App_20201115162303.vue +0 -118
- package/.history/demo_vue/app/App_20220328150238.vue +0 -118
- package/.history/demo_vue/app/App_20220328150240.vue +0 -116
- package/.history/demo_vue/app/App_20220328150241.vue +0 -115
- package/.history/demo_vue/package_20210511163846.json +0 -30
- package/.history/demo_vue/package_20220328145031.json +0 -30
- package/.history/demo_vue/package_20220328150155.json +0 -30
- package/.history/demo_vue/package_20220328151156.json +0 -29
- package/.history/demo_vue/tsconfig_20200909142713.json +0 -30
- package/.history/demo_vue/tsconfig_20220328151126.json +0 -28
- package/.history/demo_vue/tsconfig_20220328151129.json +0 -27
- package/.history/demo_vue/webpack.config_20200909141619.js +0 -370
- package/.history/demo_vue/webpack.config_20220328145113.js +0 -6
- package/.history/demo_vue/webpack.config_20220328145115.js +0 -5
- package/.history/lerna_20220104212014.json +0 -21
- package/.history/lerna_20220328152313.json +0 -21
- package/.history/package_20220311095923.json +0 -74
- package/.history/package_20220328152312.json +0 -74
- package/.history/packages/gesturehandler/blueprint_20220306151807.md +0 -221
- package/.history/packages/gesturehandler/blueprint_20220328164413.md +0 -74
- package/.history/packages/gesturehandler/package_20220325110528.json +0 -39
- package/.history/packages/gesturehandler/package_20220328152653.json +0 -52
- package/.history/packages/gesturehandler/package_20220328152719.json +0 -52
- package/.history/packages/gesturehandler/package_20220328153446.json +0 -52
- package/.history/packages/gesturehandler/package_20220328164418.json +0 -52
- package/.history/packages/gesturehandler/package_20220328164722.json +0 -52
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/GestureHandler_20210517182228.java +0 -544
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/GestureHandler_20220331104607.java +0 -540
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/LongPressGestureHandler_20210512101356.java +0 -81
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/LongPressGestureHandler_20220331111050.java +0 -81
- package/.history/packages/gesturehandler/tsconfig_20220328152950.json +0 -13
- package/.history/packages/gesturehandler/tsconfig_20220328153011.json +0 -13
- package/.history/plugin/platforms/android/include_20220125161223.gradle +0 -10
- package/.history/plugin/platforms/android/include_20220217110818.gradle +0 -19
- package/.history/plugin/platforms/android/include_20220217112410.gradle +0 -18
- package/.history/plugin/platforms/android/include_20220217153211.gradle +0 -19
- package/.history/plugin/platforms/android/include_20220218092908.gradle +0 -19
- package/.history/plugin/platforms/android/java/com/nativescript/gesturehandler/GestureLayout_20220217101202.java +0 -189
- package/.history/plugin/platforms/android/java/com/nativescript/gesturehandler/GestureLayout_20220217101931.java +0 -185
- package/.history/plugin/platforms/ios/src/GestureHandler_20201106183454.h +0 -98
- package/.history/plugin/platforms/ios/src/GestureHandler_20201111112216.m +0 -365
- package/.history/plugin/platforms/ios/src/GestureHandler_20220104160100.m +0 -369
- package/.history/plugin/platforms/ios/src/GestureHandler_20220104172158.h +0 -101
- package/.history/src/gesturehandler/gesturehandler.android_20220328144612.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.android_20220328154126.ts +0 -609
- package/.history/src/gesturehandler/gesturehandler.android_20220328154143.ts +0 -609
- package/.history/src/gesturehandler/gesturehandler.android_20220328154730.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.android_20220328160735.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.android_20220328161307.ts +0 -612
- package/.history/src/gesturehandler/gesturehandler.android_20220328161410.ts +0 -613
- package/.history/src/gesturehandler/gesturehandler.android_20220328161742.ts +0 -612
- package/.history/src/gesturehandler/gesturehandler.android_20220328162317.ts +0 -613
- package/.history/src/gesturehandler/gesturehandler.android_20220328162541.ts +0 -613
- package/.history/src/gesturehandler/gesturehandler.android_20220328162915.ts +0 -611
- package/.history/src/gesturehandler/gesturehandler.android_20220328163707.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.common_20220328144620.ts +0 -325
- package/.history/src/gesturehandler/gesturehandler.common_20220328153656.ts +0 -325
- package/.history/src/gesturehandler/gestures_override_20210512114352.ts +0 -523
- package/.history/src/gesturehandler/gestures_override_20220328155041.ts +0 -523
- package/.history/src/gesturehandler/gestures_override_20220328155424.ts +0 -525
- package/.history/src/gesturehandler/gestures_override_20220328160121.ts +0 -527
- package/.history/src/gesturehandler/gestures_override_20220328160132.ts +0 -527
- package/.history/src/gesturehandler/gestures_override_20220328160220.ts +0 -528
- package/.history/src/gesturehandler/gestures_override_20220328160416.ts +0 -529
- package/.history/src/gesturehandler/gestures_override_20220328160731.ts +0 -535
- package/.history/src/gesturehandler/gestures_override_20220328160808.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328160834.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328160909.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328160931.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328161052.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328161319.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328161759.ts +0 -534
- package/.history/src/gesturehandler/gestures_override_20220328162317.ts +0 -535
- package/.history/src/gesturehandler/gestures_override_20220328162503.ts +0 -535
- package/.history/src/gesturehandler/gestures_override_20220328170816.ts +0 -533
- package/.history/src/gesturehandler/vue/index_20201021164506.ts +0 -12
- package/.history/src/gesturehandler.android_20220325103749.ts +0 -574
- package/.history/src/gesturehandler.android_20220325110406.ts +0 -574
- package/.history/src/gesturehandler.android_20220328144613.ts +0 -610
- package/.history/src/gesturehandler.common_20220328144621.ts +0 -325
- package/.history/src/gesturehandler.d_20210422150412.ts +0 -154
- package/.history/src/gesturehandler.d_20220328144718.ts +0 -156
- package/.history/src/gesturehandler.ios_20220328144653.ts +0 -296
- package/.history/src/references.d_20200412093513.ts +0 -3
- package/.history/src/references.d_20220328144701.ts +0 -3
- package/.history/tsconfig_20220306153539.json +0 -9
- package/.history/tsconfig_20220328152313.json +0 -9
- package/.prettierignore +0 -4
- package/.prettierrc +0 -6
- package/.prettierrc.js +0 -7
- package/.settings/org.eclipse.buildship.core.prefs +0 -13
- package/.vscode/settings.json +0 -19
- package/CONTRIBUTING.md +0 -19
- package/build.gradle +0 -22
- package/config.json +0 -7
- package/demo-snippets/node_modules/.package-lock.json +0 -20
- package/demo-snippets/package.json +0 -7
- package/demo-snippets/vue/Basic.vue +0 -48
- package/demo-snippets/vue/ModalView.vue +0 -17
- package/demo-snippets/vue/install.ts +0 -10
- package/demo-vue/App_Resources/Android/app.gradle +0 -20
- package/demo-vue/App_Resources/Android/src/main/AndroidManifest.xml +0 -42
- package/demo-vue/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml +0 -15
- package/demo-vue/App_Resources/Android/src/main/res/drawable-hdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-hdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-ldpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-ldpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-mdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-mdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml +0 -8
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xhdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/values/colors.xml +0 -7
- package/demo-vue/App_Resources/Android/src/main/res/values/ic_launcher_background.xml +0 -4
- package/demo-vue/App_Resources/Android/src/main/res/values/styles.xml +0 -42
- package/demo-vue/App_Resources/Android/src/main/res/values-v21/colors.xml +0 -4
- package/demo-vue/App_Resources/Android/src/main/res/values-v21/styles.xml +0 -28
- package/demo-vue/App_Resources/Android/src/main/res/values-v29/styles.xml +0 -12
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -122
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/Contents.json +0 -6
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json +0 -23
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json +0 -23
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Info.plist +0 -47
- package/demo-vue/App_Resources/iOS/LaunchScreen.storyboard +0 -53
- package/demo-vue/App_Resources/iOS/build.xcconfig +0 -6
- package/demo-vue/app/app.scss +0 -11
- package/demo-vue/app/app.ts +0 -9
- package/demo-vue/app/components/Menu.vue +0 -54
- package/demo-vue/nativescript.config.ts +0 -11
- package/demo-vue/package.json +0 -60
- package/demo-vue/tsconfig.json +0 -25
- package/demo-vue/types/references.d.ts +0 -1
- package/demo-vue/types/shims.vue.d.ts +0 -4
- package/demo-vue/webpack.config.js +0 -42
- package/images/demo.gif +0 -0
- package/lerna.json +0 -21
- package/packages/gesturehandler/CHANGELOG.md +0 -609
- package/packages/gesturehandler/README.md +0 -176
- package/packages/gesturehandler/package.json +0 -52
- package/packages/gesturehandler/tsconfig.json +0 -13
- package/src/gesturehandler/gesturehandler.android.ts +0 -610
- package/src/gesturehandler/gesturehandler.common.ts +0 -325
- package/src/gesturehandler/gesturehandler.ios.ts +0 -296
- package/src/gesturehandler/gestures_override.ts +0 -532
- package/src/gesturehandler/references.d.ts +0 -3
- package/src/gesturehandler/vue/index.ts +0 -7
- package/src-native/.vscode/settings.json +0 -3
- package/src-native/android/.settings/org.eclipse.buildship.core.prefs +0 -13
- package/src-native/android/.vscode/settings.json +0 -3
- package/src-native/android/README.md +0 -14
- package/src-native/android/build.gradle +0 -25
- package/src-native/android/build.sh +0 -36
- package/src-native/android/gesturehandler/.classpath +0 -6
- package/src-native/android/gesturehandler/.settings/org.eclipse.buildship.core.prefs +0 -2
- package/src-native/android/gesturehandler/build.gradle +0 -84
- package/src-native/android/gesturehandler/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src-native/android/gesturehandler/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/src-native/android/gesturehandler/gradlew +0 -160
- package/src-native/android/gesturehandler/gradlew.bat +0 -90
- package/src-native/android/gesturehandler/local.properties +0 -9
- package/src-native/android/gesturehandler/proguard-rules.pro +0 -17
- package/src-native/android/gesturehandler/src/main/AndroidManifest.xml +0 -9
- package/src-native/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src-native/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/src-native/android/gradle.properties +0 -23
- package/src-native/android/gradlew +0 -160
- package/src-native/android/gradlew.bat +0 -90
- package/src-native/android/settings.gradle +0 -1
- package/src-native/ios/GestureHandler.xcodeproj/project.pbxproj +0 -662
- package/src-native/ios/GestureHandler.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/src-native/ios/GestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandler.xcscheme +0 -76
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandlerApp.xcscheme +0 -87
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandlerLib.xcscheme +0 -76
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/test.xcscheme +0 -76
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/universal.xcscheme +0 -76
- package/src-native/ios/build.sh +0 -10
- package/tools/.eslintrc.js +0 -252
- package/tools/builddoc.mjs +0 -54
- package/tools/common/.eslintrc.js +0 -3
- package/tools/common/.prettierignore +0 -4
- package/tools/common/.prettierrc.js +0 -7
- package/tools/common/references.d.ts +0 -3
- package/tools/package.json +0 -116
- package/tools/readme/blueprint.json +0 -10
- package/tools/readme/demos-and-development.md +0 -35
- package/tools/readme/edit-warning.md +0 -20
- package/tools/readme/questions.md +0 -3
- package/tools/readme.js +0 -54
- package/tools/sync.js +0 -102
- package/tools/tsconfig.doc.json +0 -10
- package/tools/tsconfig.eslint.json +0 -4
- package/tools/tsconfig.json +0 -38
- package/tools/typedoc.js +0 -17
- package/tools/update.js +0 -32
@@ -1,325 +0,0 @@
|
|
1
|
-
/* eslint-disable no-redeclare */
|
2
|
-
// import { launchEvent } from '@nativescript/core/application';
|
3
|
-
// console.log(launchEvent);
|
4
|
-
// console.log('gestures common', global.NativeScriptHasInitGlobal);
|
5
|
-
|
6
|
-
import Observable from '@nativescript-community/observable';
|
7
|
-
import { EventData, GridLayout } from '@nativescript/core';
|
8
|
-
import { CssProperty, Property, Style, View, booleanConverter } from '@nativescript/core/ui';
|
9
|
-
import {
|
10
|
-
FlingGestureHandler,
|
11
|
-
FlingGestureHandlerOptions,
|
12
|
-
ForceTouchGestureHandler,
|
13
|
-
ForceTouchGestureHandlerOptions,
|
14
|
-
Handler,
|
15
|
-
LongPressGestureHandler,
|
16
|
-
LongPressGestureHandlerOptions,
|
17
|
-
Manager,
|
18
|
-
NativePropertyOptions,
|
19
|
-
NativeViewGestureHandler,
|
20
|
-
NativeViewGestureHandlerOptions,
|
21
|
-
PanGestureHandler,
|
22
|
-
PanGestureHandlerOptions,
|
23
|
-
PinchGestureHandler,
|
24
|
-
PinchGestureHandlerOptions,
|
25
|
-
RotationGestureHandler,
|
26
|
-
RotationGestureHandlerOptions,
|
27
|
-
TapGestureHandler,
|
28
|
-
TapGestureHandlerOptions,
|
29
|
-
} from './gesturehandler';
|
30
|
-
|
31
|
-
export const GestureHandlerStateEvent = 'GestureHandlerStateEvent';
|
32
|
-
export const GestureHandlerTouchEvent = 'GestureHandlerTouchEvent';
|
33
|
-
export const ROOT_GESTURE_HANDLER_TAG = -12345;
|
34
|
-
|
35
|
-
export enum HandlerType {
|
36
|
-
PAN = 'pan',
|
37
|
-
TAP = 'tap',
|
38
|
-
FLING = 'fling',
|
39
|
-
LONG_PRESS = 'longPress',
|
40
|
-
NATIVE_VIEW = 'nativeView',
|
41
|
-
PINCH = 'pinch',
|
42
|
-
ROTATION = 'rotation',
|
43
|
-
FORCE_TOUCH = 'forceTouch',
|
44
|
-
}
|
45
|
-
|
46
|
-
export interface OptionsTypeMap {
|
47
|
-
[HandlerType.TAP]: TapGestureHandlerOptions;
|
48
|
-
[HandlerType.LONG_PRESS]: LongPressGestureHandlerOptions;
|
49
|
-
[HandlerType.PINCH]: PinchGestureHandlerOptions;
|
50
|
-
[HandlerType.FLING]: FlingGestureHandlerOptions;
|
51
|
-
[HandlerType.PAN]: PanGestureHandlerOptions;
|
52
|
-
[HandlerType.ROTATION]: RotationGestureHandlerOptions;
|
53
|
-
[HandlerType.NATIVE_VIEW]: NativeViewGestureHandlerOptions;
|
54
|
-
[HandlerType.FORCE_TOUCH]: ForceTouchGestureHandlerOptions;
|
55
|
-
}
|
56
|
-
export interface TypeMap {
|
57
|
-
[HandlerType.TAP]: TapGestureHandler;
|
58
|
-
[HandlerType.LONG_PRESS]: LongPressGestureHandler;
|
59
|
-
[HandlerType.PINCH]: PinchGestureHandler;
|
60
|
-
[HandlerType.FLING]: FlingGestureHandler;
|
61
|
-
[HandlerType.PAN]: PanGestureHandler;
|
62
|
-
[HandlerType.ROTATION]: RotationGestureHandler;
|
63
|
-
[HandlerType.NATIVE_VIEW]: NativeViewGestureHandler;
|
64
|
-
[HandlerType.FORCE_TOUCH]: ForceTouchGestureHandler;
|
65
|
-
}
|
66
|
-
|
67
|
-
function createGetter(key: string, options: NativePropertyOptions) {
|
68
|
-
// console.log('createGetter', key, options);
|
69
|
-
const nativeGetterName = ((global.isAndroid ? options.android : options.ios) || options).nativeGetterName || 'get' + key.charAt(0).toUpperCase() + key.slice(1);
|
70
|
-
const converter = options.converter;
|
71
|
-
return function () {
|
72
|
-
let result;
|
73
|
-
// console.log('getter', key, nativeGetterName);
|
74
|
-
if (this.native && this.native[nativeGetterName]) {
|
75
|
-
result = this.native[nativeGetterName]();
|
76
|
-
} else {
|
77
|
-
result = this.options[key] || options.defaultValue;
|
78
|
-
}
|
79
|
-
result = converter && converter.fromNative ? converter.fromNative.call(this, result, key) : result;
|
80
|
-
// console.log('getter', key, options, nativeGetterName, !!getConverter, result);
|
81
|
-
return result;
|
82
|
-
};
|
83
|
-
}
|
84
|
-
function createSetter(key, options: NativePropertyOptions) {
|
85
|
-
const nativeSetterName = ((global.isAndroid ? options.android : options.ios) || options).nativeSetterName || 'set' + key.charAt(0).toUpperCase() + key.slice(1);
|
86
|
-
return function (newVal) {
|
87
|
-
this.options[key] = newVal;
|
88
|
-
if (this.native && this.native[nativeSetterName]) {
|
89
|
-
const actualVal = options.converter && options.converter.toNative ? options.converter.toNative.call(this, newVal, key) : newVal;
|
90
|
-
(this.native[nativeSetterName] as Function).call(this.native, actualVal);
|
91
|
-
}
|
92
|
-
};
|
93
|
-
}
|
94
|
-
|
95
|
-
function nativePropertyGenerator(target: Object, key: string, options?: NativePropertyOptions) {
|
96
|
-
Object.defineProperty(target, key, {
|
97
|
-
get: createGetter(key, options),
|
98
|
-
set: createSetter(key, options),
|
99
|
-
enumerable: true,
|
100
|
-
configurable: true,
|
101
|
-
});
|
102
|
-
}
|
103
|
-
export function nativeProperty(target: any, k?, desc?: PropertyDescriptor): any;
|
104
|
-
export function nativeProperty(options: NativePropertyOptions): (target: any, k?, desc?: PropertyDescriptor) => any;
|
105
|
-
export function nativeProperty(...args) {
|
106
|
-
if (args.length === 1) {
|
107
|
-
/// this must be a factory
|
108
|
-
return function (target: any, key?: string, descriptor?: PropertyDescriptor) {
|
109
|
-
return nativePropertyGenerator(target, key, args[0] || {});
|
110
|
-
};
|
111
|
-
} else {
|
112
|
-
const options = typeof args[1] === 'string' ? undefined : args[0];
|
113
|
-
const startIndex = !!options ? 1 : 0;
|
114
|
-
return nativePropertyGenerator(args[startIndex], args[startIndex + 1], options || {});
|
115
|
-
}
|
116
|
-
}
|
117
|
-
export abstract class BaseNative<T, U extends {}> extends Observable {
|
118
|
-
constructor(public options?: U, native?: T) {
|
119
|
-
super();
|
120
|
-
if (native) {
|
121
|
-
this.native = native;
|
122
|
-
}
|
123
|
-
}
|
124
|
-
native: T;
|
125
|
-
initNativeView(native: T, options: U) {
|
126
|
-
for (const key in options) {
|
127
|
-
(this as any)[key] = options[key];
|
128
|
-
}
|
129
|
-
}
|
130
|
-
disposeNativeView() {
|
131
|
-
this.native = null;
|
132
|
-
}
|
133
|
-
getNative = () => {
|
134
|
-
if (!this.native) {
|
135
|
-
this.native = this.createNative(this.options);
|
136
|
-
this.initNativeView(this.native, this.options);
|
137
|
-
}
|
138
|
-
return this.native;
|
139
|
-
};
|
140
|
-
abstract createNative(options: U): T;
|
141
|
-
}
|
142
|
-
|
143
|
-
export abstract class ManagerBase extends Observable {
|
144
|
-
abstract createGestureHandler<T extends HandlerType>(handlerName: T, handlerTag: number, config?: OptionsTypeMap[T]): TypeMap[T];
|
145
|
-
}
|
146
|
-
|
147
|
-
export enum GestureState {
|
148
|
-
UNDETERMINED,
|
149
|
-
FAILED,
|
150
|
-
BEGAN,
|
151
|
-
CANCELLED,
|
152
|
-
ACTIVE,
|
153
|
-
END,
|
154
|
-
}
|
155
|
-
|
156
|
-
export interface GestureStateEventData extends EventData {
|
157
|
-
object: Handler<any, any>;
|
158
|
-
data: {
|
159
|
-
state: GestureState;
|
160
|
-
prevState: GestureState;
|
161
|
-
ios?: any; // native View
|
162
|
-
android?: any; // native View
|
163
|
-
view: View;
|
164
|
-
extraData: {
|
165
|
-
[k: string]: number;
|
166
|
-
};
|
167
|
-
};
|
168
|
-
}
|
169
|
-
export interface GestureTouchEventData extends EventData {
|
170
|
-
object: Handler<any, any>;
|
171
|
-
data: {
|
172
|
-
state: GestureState;
|
173
|
-
ios?: any; // native View
|
174
|
-
android?: any; // native View
|
175
|
-
view?: View; // native View
|
176
|
-
extraData: {
|
177
|
-
[k: string]: number;
|
178
|
-
};
|
179
|
-
};
|
180
|
-
}
|
181
|
-
|
182
|
-
export class BaseGestureRootView extends GridLayout {}
|
183
|
-
|
184
|
-
export function applyMixins(
|
185
|
-
derivedCtor: any,
|
186
|
-
baseCtors: any[],
|
187
|
-
options?: {
|
188
|
-
after?: boolean;
|
189
|
-
override?: boolean;
|
190
|
-
omit?: (string | symbol)[];
|
191
|
-
}
|
192
|
-
) {
|
193
|
-
const omits = options && options.omit ? options.omit : [];
|
194
|
-
baseCtors.forEach((baseCtor) => {
|
195
|
-
Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
|
196
|
-
if (omits.indexOf(name) !== -1) {
|
197
|
-
return;
|
198
|
-
}
|
199
|
-
const descriptor = Object.getOwnPropertyDescriptor(baseCtor.prototype, name);
|
200
|
-
|
201
|
-
if (name === 'constructor') return;
|
202
|
-
if (descriptor && (!descriptor.writable || !descriptor.configurable || descriptor.get || descriptor.set)) {
|
203
|
-
Object.defineProperty(derivedCtor.prototype, name, descriptor);
|
204
|
-
} else {
|
205
|
-
const oldImpl = derivedCtor.prototype[name];
|
206
|
-
if (!oldImpl) {
|
207
|
-
derivedCtor.prototype[name] = baseCtor.prototype[name];
|
208
|
-
} else {
|
209
|
-
derivedCtor.prototype[name] = function (...args) {
|
210
|
-
if (options) {
|
211
|
-
if (!!options.override) {
|
212
|
-
return baseCtor.prototype[name].apply(this, args);
|
213
|
-
} else if (!!options.after) {
|
214
|
-
oldImpl.apply(this, args);
|
215
|
-
return baseCtor.prototype[name].apply(this, args);
|
216
|
-
} else {
|
217
|
-
baseCtor.prototype[name].apply(this, args);
|
218
|
-
return oldImpl.apply(this, args);
|
219
|
-
}
|
220
|
-
} else {
|
221
|
-
baseCtor.prototype[name].apply(this, args);
|
222
|
-
return oldImpl.apply(this, args);
|
223
|
-
}
|
224
|
-
};
|
225
|
-
}
|
226
|
-
}
|
227
|
-
});
|
228
|
-
Object.getOwnPropertySymbols(baseCtor.prototype).forEach((symbol) => {
|
229
|
-
if (omits.indexOf(symbol) !== -1) {
|
230
|
-
return;
|
231
|
-
}
|
232
|
-
const oldImpl: Function = derivedCtor.prototype[symbol];
|
233
|
-
if (!oldImpl) {
|
234
|
-
derivedCtor.prototype[symbol] = baseCtor.prototype[symbol];
|
235
|
-
} else {
|
236
|
-
derivedCtor.prototype[symbol] = function (...args) {
|
237
|
-
if (options) {
|
238
|
-
if (!!options.override) {
|
239
|
-
return baseCtor.prototype[symbol].apply(this, args);
|
240
|
-
} else if (!!options.after) {
|
241
|
-
oldImpl.apply(this, args);
|
242
|
-
return baseCtor.prototype[symbol].apply(this, args);
|
243
|
-
} else {
|
244
|
-
baseCtor.prototype[symbol].apply(this, args);
|
245
|
-
return oldImpl.apply(this, args);
|
246
|
-
}
|
247
|
-
} else {
|
248
|
-
baseCtor.prototype[symbol].apply(this, args);
|
249
|
-
return oldImpl.apply(this, args);
|
250
|
-
}
|
251
|
-
};
|
252
|
-
}
|
253
|
-
});
|
254
|
-
});
|
255
|
-
}
|
256
|
-
|
257
|
-
export const exclusiveTouchProperty = new CssProperty<Style, boolean>({
|
258
|
-
name: 'exclusiveTouch',
|
259
|
-
cssName: 'exclusive-touch',
|
260
|
-
defaultValue: false,
|
261
|
-
valueConverter: booleanConverter,
|
262
|
-
});
|
263
|
-
|
264
|
-
export const ViewInitEvent = 'ViewInitEvent';
|
265
|
-
export const ViewDisposeEvent = 'ViewDisposeEvent';
|
266
|
-
|
267
|
-
let NATIVE_GESTURE_TAG = 74000;
|
268
|
-
class ViewGestureExtended extends View {
|
269
|
-
exclusiveTouchGestureHandler: NativeViewGestureHandler;
|
270
|
-
|
271
|
-
set exclusiveTouch(value) {
|
272
|
-
this.style['exclusiveTouch'] = value;
|
273
|
-
}
|
274
|
-
get exclusiveTouch() {
|
275
|
-
return this.style['exclusiveTouch'];
|
276
|
-
}
|
277
|
-
initNativeView() {
|
278
|
-
if (this.nativeView) {
|
279
|
-
this.nativeView.nsView = new WeakRef(this);
|
280
|
-
}
|
281
|
-
this.notify({ eventName: ViewInitEvent, object: this });
|
282
|
-
}
|
283
|
-
disposeNativeView() {
|
284
|
-
if (this.nativeView) {
|
285
|
-
this.nativeView.nsView = null;
|
286
|
-
}
|
287
|
-
if (this.exclusiveTouchGestureHandler) {
|
288
|
-
this.exclusiveTouchGestureHandler.detachFromView();
|
289
|
-
this.exclusiveTouchGestureHandler = null;
|
290
|
-
}
|
291
|
-
this.notify({ eventName: ViewDisposeEvent, object: this });
|
292
|
-
}
|
293
|
-
[exclusiveTouchProperty.setNative](value: boolean) {
|
294
|
-
// console.log('exclusiveTouchProperty', this, value);
|
295
|
-
if (value) {
|
296
|
-
if (!this.exclusiveTouchGestureHandler) {
|
297
|
-
const gestureHandler = Manager.getInstance().createGestureHandler(HandlerType.NATIVE_VIEW, NATIVE_GESTURE_TAG++, {
|
298
|
-
disallowInterruption: true,
|
299
|
-
shouldActivateOnStart: false,
|
300
|
-
shouldCancelWhenOutside: false,
|
301
|
-
});
|
302
|
-
this.exclusiveTouchGestureHandler = gestureHandler as any;
|
303
|
-
}
|
304
|
-
this.exclusiveTouchGestureHandler.attachToView(this);
|
305
|
-
} else if (this.exclusiveTouchGestureHandler) {
|
306
|
-
this.exclusiveTouchGestureHandler.detachFromView();
|
307
|
-
}
|
308
|
-
}
|
309
|
-
}
|
310
|
-
|
311
|
-
exclusiveTouchProperty.register(Style);
|
312
|
-
|
313
|
-
let installed = false;
|
314
|
-
export function overrideViewBase() {
|
315
|
-
const NSView = require('@nativescript/core/ui/core/view').View;
|
316
|
-
applyMixins(NSView, [ViewGestureExtended]);
|
317
|
-
}
|
318
|
-
|
319
|
-
export function install(overrideNGestures?: boolean) {
|
320
|
-
if (installed) {
|
321
|
-
return;
|
322
|
-
}
|
323
|
-
installed = true;
|
324
|
-
overrideViewBase();
|
325
|
-
}
|
@@ -1,296 +0,0 @@
|
|
1
|
-
import { View } from '@nativescript/core/ui';
|
2
|
-
import { GestureEventData, GestureTypes } from '@nativescript/core/ui/gestures';
|
3
|
-
import { getClass } from '@nativescript/core/utils/types';
|
4
|
-
import { HandlerOptions } from './gesturehandler';
|
5
|
-
import {
|
6
|
-
BaseGestureRootView,
|
7
|
-
BaseNative,
|
8
|
-
GestureHandlerStateEvent,
|
9
|
-
GestureHandlerTouchEvent,
|
10
|
-
GestureState,
|
11
|
-
GestureStateEventData,
|
12
|
-
GestureTouchEventData,
|
13
|
-
HandlerType,
|
14
|
-
ManagerBase,
|
15
|
-
OptionsTypeMap,
|
16
|
-
TypeMap,
|
17
|
-
ViewDisposeEvent,
|
18
|
-
ViewInitEvent,
|
19
|
-
install as installBase,
|
20
|
-
nativeProperty,
|
21
|
-
} from './gesturehandler.common';
|
22
|
-
import { observe as gestureObserve } from './gestures_override';
|
23
|
-
export { GestureState, GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureStateEventData, GestureTouchEventData, HandlerType, ViewInitEvent, ViewDisposeEvent };
|
24
|
-
|
25
|
-
export enum FlingDirection {
|
26
|
-
DIRECTION_LEFT = UISwipeGestureRecognizerDirection.Left,
|
27
|
-
DIRECTION_UP = UISwipeGestureRecognizerDirection.Up,
|
28
|
-
DIRECTION_DOWN = UISwipeGestureRecognizerDirection.Down,
|
29
|
-
DIRECTION_RIGHT = UISwipeGestureRecognizerDirection.Right,
|
30
|
-
}
|
31
|
-
|
32
|
-
let installed = false;
|
33
|
-
let installedOverrides = false;
|
34
|
-
export function install(overrideNGestures = false) {
|
35
|
-
if (!installed) {
|
36
|
-
installed = true;
|
37
|
-
installBase(overrideNGestures);
|
38
|
-
}
|
39
|
-
|
40
|
-
if (overrideNGestures === true && !installedOverrides) {
|
41
|
-
installedOverrides = true;
|
42
|
-
const NSView = require('@nativescript/core/ui/core/view').View;
|
43
|
-
NSView.prototype._observe = function (type: GestureTypes, callback: (args: GestureEventData) => void, thisArg?: any): void {
|
44
|
-
if (!this._gestureObservers[type]) {
|
45
|
-
this._gestureObservers[type] = [];
|
46
|
-
}
|
47
|
-
|
48
|
-
this._gestureObservers[type].push(gestureObserve(this, type, callback, thisArg));
|
49
|
-
// if (type & GestureTypes.touch && this.isLoaded && !this.touchListenerIsSet) {
|
50
|
-
// this.setOnTouchListener();
|
51
|
-
// }
|
52
|
-
};
|
53
|
-
}
|
54
|
-
}
|
55
|
-
function toJsObject(objCObj) {
|
56
|
-
if (objCObj === null || typeof objCObj !== 'object') {
|
57
|
-
return objCObj;
|
58
|
-
}
|
59
|
-
let node, key, i, l;
|
60
|
-
const oKeyArr = objCObj.allKeys;
|
61
|
-
|
62
|
-
if (oKeyArr === undefined && objCObj.count !== undefined) {
|
63
|
-
// array
|
64
|
-
node = [];
|
65
|
-
for (i = 0, l = objCObj.count; i < l; i++) {
|
66
|
-
key = objCObj.objectAtIndex(i);
|
67
|
-
node.push(toJsObject(key));
|
68
|
-
}
|
69
|
-
} else if (oKeyArr !== undefined) {
|
70
|
-
// object
|
71
|
-
node = {};
|
72
|
-
for (i = 0, l = oKeyArr.count; i < l; i++) {
|
73
|
-
key = oKeyArr.objectAtIndex(i);
|
74
|
-
const val = objCObj.valueForKey(key);
|
75
|
-
|
76
|
-
// Firestore can store nulls
|
77
|
-
if (val === null) {
|
78
|
-
node[key] = null;
|
79
|
-
continue;
|
80
|
-
}
|
81
|
-
node[key] = getValueForClass(val);
|
82
|
-
}
|
83
|
-
} else {
|
84
|
-
node = getValueForClass(objCObj);
|
85
|
-
}
|
86
|
-
|
87
|
-
return node;
|
88
|
-
}
|
89
|
-
|
90
|
-
function getValueForClass(val) {
|
91
|
-
switch (getClass(val)) {
|
92
|
-
case 'NSArray':
|
93
|
-
case 'NSMutableArray':
|
94
|
-
return toJsObject(val);
|
95
|
-
case 'NSDictionary':
|
96
|
-
case 'NSMutableDictionary':
|
97
|
-
return toJsObject(val);
|
98
|
-
case 'String':
|
99
|
-
return String(val);
|
100
|
-
case 'Boolean':
|
101
|
-
return val;
|
102
|
-
case 'Number':
|
103
|
-
case 'NSDecimalNumber':
|
104
|
-
return Number(String(val));
|
105
|
-
case 'Date':
|
106
|
-
return new Date(val);
|
107
|
-
|
108
|
-
default:
|
109
|
-
console.log(
|
110
|
-
"Please report this at https://github.com/farfromrefug/@nativescript-community/gesturehandler-febase/issues: iOS toJsObject is missing a converter for class '" +
|
111
|
-
getClass(val) +
|
112
|
-
"'. Casting to String as a fallback."
|
113
|
-
);
|
114
|
-
return String(val);
|
115
|
-
}
|
116
|
-
}
|
117
|
-
|
118
|
-
export class GestureRootView extends BaseGestureRootView {}
|
119
|
-
|
120
|
-
@NativeClass
|
121
|
-
export class HandlerDelegate extends NSObject implements GestureHandlerDelegate {
|
122
|
-
public static ObjCProtocols = [GestureHandlerDelegate];
|
123
|
-
private _owner: WeakRef<Handler<any, any>>;
|
124
|
-
static new(): HandlerDelegate {
|
125
|
-
return super.new() as HandlerDelegate;
|
126
|
-
}
|
127
|
-
// public initWithOwner(owner: WeakRef<Handler<any, any>>): HandlerDelegate {
|
128
|
-
// this._owner = owner;
|
129
|
-
// return this;
|
130
|
-
// }
|
131
|
-
|
132
|
-
public static initWithOwner(owner: WeakRef<Handler<any, any>>): HandlerDelegate {
|
133
|
-
const impl = HandlerDelegate.new();
|
134
|
-
impl._owner = owner;
|
135
|
-
return impl;
|
136
|
-
}
|
137
|
-
gestureHandlerDidChangeStatePrevStateExtraDataView(
|
138
|
-
handler: GestureHandler,
|
139
|
-
state: GestureHandlerState,
|
140
|
-
prevState: GestureHandlerState,
|
141
|
-
extraData: NSDictionary<any, any>,
|
142
|
-
view: UIView & { nsView?: WeakRef<View> }
|
143
|
-
): void {
|
144
|
-
const owner = this._owner && this._owner.get();
|
145
|
-
if (owner) {
|
146
|
-
owner.notify({
|
147
|
-
eventName: GestureHandlerStateEvent,
|
148
|
-
object: owner,
|
149
|
-
data: {
|
150
|
-
state,
|
151
|
-
prevState,
|
152
|
-
ios: view,
|
153
|
-
extraData: toJsObject(extraData),
|
154
|
-
view: view.nsView ? view.nsView.get() : null,
|
155
|
-
},
|
156
|
-
});
|
157
|
-
}
|
158
|
-
}
|
159
|
-
gestureHandlerTouchEventOnViewStateExtraData(handler: GestureHandler, view: UIView & { nsView?: WeakRef<View> }, state: GestureHandlerState, extraData: NSDictionary<any, any>): void {
|
160
|
-
const owner = this._owner && this._owner.get();
|
161
|
-
if (owner) {
|
162
|
-
owner.notify({
|
163
|
-
eventName: GestureHandlerTouchEvent,
|
164
|
-
object: owner,
|
165
|
-
data: {
|
166
|
-
state,
|
167
|
-
ios: view,
|
168
|
-
extraData: toJsObject(extraData),
|
169
|
-
view: view.nsView ? view.nsView.get() : null,
|
170
|
-
},
|
171
|
-
});
|
172
|
-
}
|
173
|
-
}
|
174
|
-
gestureHandlerShouldActivateForEvent(handler: GestureHandler, extraData: NSDictionary<any, any>) {
|
175
|
-
const owner = this._owner && this._owner.get();
|
176
|
-
if (owner && owner.options && owner.options.shouldStartGesture) {
|
177
|
-
return owner.options.shouldStartGesture(toJsObject(extraData));
|
178
|
-
}
|
179
|
-
return true;
|
180
|
-
}
|
181
|
-
}
|
182
|
-
|
183
|
-
export class Handler<T extends GestureHandler, U extends HandlerOptions> extends BaseNative<T, U> {
|
184
|
-
manager: WeakRef<Manager>;
|
185
|
-
delegate: HandlerDelegate;
|
186
|
-
@nativeProperty enabled: boolean;
|
187
|
-
@nativeProperty shouldCancelWhenOutside: boolean;
|
188
|
-
createNative() {
|
189
|
-
return null;
|
190
|
-
}
|
191
|
-
attachedView: View;
|
192
|
-
nativeGetterKey = 'nativeView';
|
193
|
-
attachToView(view: View) {
|
194
|
-
if (view === this.attachedView) {
|
195
|
-
return;
|
196
|
-
}
|
197
|
-
if (this.attachedView) {
|
198
|
-
this.detachFromView(this.attachedView);
|
199
|
-
}
|
200
|
-
this.attachedView = view;
|
201
|
-
this.delegate = HandlerDelegate.initWithOwner(new WeakRef(this));
|
202
|
-
this.native.delegate = this.delegate;
|
203
|
-
this.manager.get().attachGestureHandler(this, view);
|
204
|
-
}
|
205
|
-
detachFromView(view?: View) {
|
206
|
-
if ((view && view !== this.attachedView) || !this.attachedView) {
|
207
|
-
return;
|
208
|
-
}
|
209
|
-
|
210
|
-
if (!this.attachedView) {
|
211
|
-
return;
|
212
|
-
}
|
213
|
-
const tag = this.native.tag;
|
214
|
-
this.delegate = this.native.delegate = null;
|
215
|
-
this.manager.get().detachGestureHandler(tag, this.attachedView);
|
216
|
-
this.attachedView = null;
|
217
|
-
}
|
218
|
-
getTag() {
|
219
|
-
return this.native.tag;
|
220
|
-
}
|
221
|
-
setTag(value) {
|
222
|
-
// cant change tag on ios
|
223
|
-
}
|
224
|
-
getView() {
|
225
|
-
return this.attachedView;
|
226
|
-
}
|
227
|
-
cancel() {
|
228
|
-
this.native.reset();
|
229
|
-
}
|
230
|
-
}
|
231
|
-
|
232
|
-
export class Manager extends ManagerBase {
|
233
|
-
_manager: GestureHandlerManager;
|
234
|
-
get manager() {
|
235
|
-
if (!this._manager) {
|
236
|
-
this._manager = GestureHandlerManager.alloc().init();
|
237
|
-
}
|
238
|
-
return this._manager;
|
239
|
-
}
|
240
|
-
|
241
|
-
static sManager: Manager;
|
242
|
-
static getInstance() {
|
243
|
-
if (!Manager.sManager) {
|
244
|
-
Manager.sManager = new Manager();
|
245
|
-
}
|
246
|
-
return Manager.sManager;
|
247
|
-
}
|
248
|
-
createGestureHandler<T extends HandlerType>(handlerName: T, handlerTag: number, config?: OptionsTypeMap[T]): TypeMap[T] {
|
249
|
-
const nHandler = this.manager.createGestureHandlerTagConfig(handlerName, handlerTag, config ? NSDictionary.dictionaryWithDictionary(config as any) : null);
|
250
|
-
const result = new Handler(config, nHandler);
|
251
|
-
result.manager = new WeakRef(this);
|
252
|
-
return result as any;
|
253
|
-
}
|
254
|
-
|
255
|
-
viewListeners = new Map<View, Map<number, { init: () => void; dispose: () => void }>>();
|
256
|
-
attachGestureHandler(handler: Handler<any, any>, view: View) {
|
257
|
-
const tag = handler.native.tag;
|
258
|
-
if (view.nativeView) {
|
259
|
-
this.manager.attachGestureHandlerToView(tag, view[handler.nativeGetterKey]);
|
260
|
-
}
|
261
|
-
const onInit = () => {
|
262
|
-
this.manager.attachGestureHandlerToView(tag, view[handler.nativeGetterKey]);
|
263
|
-
};
|
264
|
-
const onDispose = () => this.manager.dropGestureHandler(tag);
|
265
|
-
view.on(ViewInitEvent, onInit, this);
|
266
|
-
view.on(ViewDisposeEvent, onDispose, this);
|
267
|
-
let viewListeners = this.viewListeners.get(view);
|
268
|
-
if (!viewListeners) {
|
269
|
-
viewListeners = new Map();
|
270
|
-
this.viewListeners.set(view, viewListeners);
|
271
|
-
}
|
272
|
-
viewListeners.set(tag, {
|
273
|
-
init: onInit,
|
274
|
-
dispose: onDispose,
|
275
|
-
});
|
276
|
-
}
|
277
|
-
detachGestureHandler(handlerTag: number, view: View) {
|
278
|
-
if (view.nativeView) {
|
279
|
-
this.manager.dropGestureHandler(handlerTag);
|
280
|
-
}
|
281
|
-
if (view) {
|
282
|
-
const viewListeners = this.viewListeners.get(view);
|
283
|
-
if (viewListeners) {
|
284
|
-
const listeners = viewListeners.get(handlerTag);
|
285
|
-
if (listeners) {
|
286
|
-
view.off(ViewInitEvent, listeners.init, this);
|
287
|
-
view.off(ViewDisposeEvent, () => listeners.dispose, this);
|
288
|
-
viewListeners.delete(handlerTag);
|
289
|
-
if (viewListeners.size === 0) {
|
290
|
-
this.viewListeners.delete(view);
|
291
|
-
}
|
292
|
-
}
|
293
|
-
}
|
294
|
-
}
|
295
|
-
}
|
296
|
-
}
|