├── .sourcemaps └── main.css.map ├── src ├── pages │ ├── help │ │ └── help.scss │ ├── dynamic-plugin │ │ ├── dynamic-plugin.scss │ │ ├── dynamic-plugin.html │ │ └── dyanmic-plugin.ts │ ├── object-creator │ │ ├── object-creator.scss │ │ └── object-creator.module.ts │ ├── camera │ │ ├── camera.scss │ │ ├── camera.html │ │ └── camera.ts │ ├── media │ │ ├── media.scss │ │ └── media.html │ ├── contacts │ │ ├── contacts.scss │ │ ├── contacts.html │ │ └── contacts.ts │ ├── home │ │ ├── home.scss │ │ ├── home.module.ts │ │ ├── home.html │ │ └── home.ts │ ├── about-app │ │ ├── about-app.scss │ │ ├── about-app.module.ts │ │ ├── about-app.ts │ │ └── about-app.html │ ├── ad-mob-free │ │ ├── ad-mob-free.scss │ │ ├── ad-mob-free.module.ts │ │ └── ad-mob-free.html │ ├── brightness │ │ ├── brightness.scss │ │ ├── brightness.html │ │ └── brightness.ts │ ├── google-maps │ │ ├── google-maps.scss │ │ ├── google-maps.html │ │ └── google-maps.ts │ ├── action-sheet │ │ ├── action-sheet.scss │ │ ├── action-sheet.html │ │ └── action-sheet.ts │ ├── plugin-params │ │ ├── plugin-params.scss │ │ └── plugin-params.ts │ └── camera-preview │ │ ├── camera-preview.scss │ │ └── camera-preview.html ├── components │ ├── plugin-config │ │ ├── plugin-config.scss │ │ ├── plugin-config.html │ │ └── plugin-config.ts │ ├── plugin-methods │ │ ├── plugin-methods.scss │ │ └── plugin-methods.html │ └── plugin-result │ │ ├── plugin-result.html │ │ └── plugin-result.scss ├── assets │ ├── icon.png │ ├── icon │ │ └── favicon.ico │ └── ionic-native-signatures │ │ ├── interfaces │ │ ├── Callback.json │ │ ├── CategoryArray.json │ │ ├── EntryCallback.json │ │ ├── FileCallback.json │ │ ├── VoidCallback.json │ │ ├── EntriesCallback.json │ │ ├── MetadataCallback.json │ │ ├── ErrorCallback.json │ │ ├── FileEntryCallback.json │ │ ├── FileSystemCallback.json │ │ ├── FileWriterCallback.json │ │ ├── SuccessCallback.json │ │ ├── DirectoryEntryCallback.json │ │ ├── CaptureError.json │ │ ├── SerialOpenOptions.json │ │ ├── WheelSelectorData.json │ │ ├── WheelSelectorItem.json │ │ ├── MyLocationOptions.json │ │ ├── GetVideoInfoOptions.json │ │ ├── NotificationData.json │ │ ├── RegistrationEventResponse.json │ │ ├── NativeKeyboardLeftButton.json │ │ ├── BackgroundFetchConfig.json │ │ ├── CaptureImageOptions.json │ │ ├── SmsOptionsAndroid.json │ │ ├── FileError.json │ │ ├── RemoveResult.json │ │ ├── VisibleRegion.json │ │ ├── DeviceMotionAccelerometerOptions.json │ │ ├── DownloadProgress.json │ │ ├── MediaError.json │ │ ├── HotspotDevice.json │ │ ├── PayPalEnvironment.json │ │ ├── ZeroconfResult.json │ │ ├── NativeGeocoderForwardResult.json │ │ ├── SmsOptions.json │ │ ├── OSNotificationOpenedResult.json │ │ ├── PositionError.json │ │ ├── BatteryStatusResponse.json │ │ ├── Geoposition.json │ │ ├── Metadata.json │ │ ├── IWriteOptions.json │ │ ├── WriteOptions.json │ │ ├── AppRateCallbacks.json │ │ ├── PushOptions.json │ │ ├── CameraPreviewDimensions.json │ │ ├── SerialPermissionOptions.json │ │ ├── CategoryAction.json │ │ ├── FileEntry.json │ │ ├── StreamingVideoOptions.json │ │ ├── CaptureAudioOptions.json │ │ ├── DialogsPromptCallback.json │ │ ├── TTSOptions.json │ │ ├── DirectoryReader.json │ │ ├── AdMobFreeInterstitialConfig.json │ │ ├── AdMobFreeRewardVideoConfig.json │ │ ├── Flags.json │ │ ├── FacebookLoginResponse.json │ │ ├── OSActionButton.json │ │ ├── DeviceOrientationCompassOptions.json │ │ ├── MyLocation.json │ │ ├── CameraPreviewPictureOptions.json │ │ ├── FingerprintOptions.json │ │ ├── SQLiteDatabaseConfig.json │ │ ├── CategoryActionData.json │ │ ├── AFADecryptOptions.json │ │ ├── AFAEncryptResponse.json │ │ ├── CameraPosition.json │ │ ├── VideoOptions.json │ │ ├── SpinnerDialogIOSOptions.json │ │ ├── IContactField.json │ │ ├── IRemotePackage.json │ │ ├── OSBackgroundImageLayout.json │ │ ├── SpeechRecognitionListeningOptionsIOS.json │ │ ├── ConfigurationData.json │ │ ├── ThreeDeeTouchForceTouch.json │ │ ├── TwitterConnectResponse.json │ │ ├── HotspotNetworkConfig.json │ │ ├── CaptureVideoOptions.json │ │ ├── HttpdOptions.json │ │ ├── NativeKeyboardUpdateMessengerOptions.json │ │ ├── CircularRegion.json │ │ ├── DeeplinkMatch.json │ │ ├── EstimoteBeaconRegion.json │ │ ├── FlurryAnalyticsLocation.json │ │ ├── BarcodeScanResult.json │ │ ├── AnimateCameraOptions.json │ │ ├── InAppBrowserEvent.json │ │ ├── FileSystem.json │ │ ├── DeviceMotionAccelerationData.json │ │ ├── FileUploadResult.json │ │ ├── NotificationEventAdditionalData.json │ │ ├── AppUrls.json │ │ ├── SpeechRecognitionListeningOptionsAndroid.json │ │ ├── HTTPResponse.json │ │ ├── ThreeDeeTouchQuickAction.json │ │ ├── AdExtras.json │ │ ├── IPedometerData.json │ │ ├── TrimOptions.json │ │ ├── StreamingAudioOptions.json │ │ ├── InstallOptions.json │ │ ├── LocalNotificationOptions.json │ │ ├── CameraPopoverOptions.json │ │ ├── IContactFindOptions.json │ │ ├── IContactOrganization.json │ │ ├── SyncOptions.json │ │ ├── DirectoryEntry.json │ │ ├── ImagePickerOptions.json │ │ ├── ThemeableBrowserButton.json │ │ ├── DeviceOrientationCompassHeading.json │ │ ├── HotspotConnectionInfo.json │ │ ├── ILocalPackage.json │ │ ├── IContactName.json │ │ ├── MediaFileData.json │ │ ├── LocalFileSystem.json │ │ ├── StripeBankAccountParams.json │ │ ├── CreateThumbnailOptions.json │ │ ├── MediaFile.json │ │ ├── VideoInfo.json │ │ ├── NativeGeocoderReverseResult.json │ │ ├── IPackage.json │ │ ├── ZeroconfService.json │ │ ├── FileTransferError.json │ │ ├── ImageResizerOptions.json │ │ ├── ToastOptions.json │ │ ├── ZBarOptions.json │ │ ├── AdMobFreeBannerConfig.json │ │ ├── EmailComposerOptions.json │ │ └── BeaconRegion.json │ │ └── classes │ │ ├── PLNObject.json │ │ ├── ImageResizer.json │ │ ├── FileChooser.json │ │ ├── AppMinimize.json │ │ ├── CouchbaseLite.json │ │ ├── LaunchReview.json │ │ ├── Rollbar.json │ │ ├── UniqueDeviceID.json │ │ ├── IsDebug.json │ │ ├── FileError.json │ │ ├── SplashScreen.json │ │ ├── Backlight.json │ │ ├── ZBar.json │ │ ├── Insomnia.json │ │ ├── Alipay.json │ │ ├── IntelSecurity.json │ │ ├── SecureStorage.json │ │ ├── AppUpdate.json │ │ ├── Autostart.json │ │ ├── YoutubeVideoPlayer.json │ │ ├── HeaderColor.json │ │ ├── FilePath.json │ │ ├── Shake.json │ │ ├── VideoCapturePlus.json │ │ ├── DatePicker.json │ │ ├── FlurryAnalytics.json │ │ ├── AppAvailability.json │ │ ├── TwitterConnect.json │ │ ├── DBMeter.json │ │ ├── Sim.json │ │ ├── Crop.json │ │ ├── Vibration.json │ │ ├── BatteryStatus.json │ │ ├── TextToSpeech.json │ │ ├── Push.json │ │ ├── Clipboard.json │ │ ├── NavigationBar.json │ │ ├── WheelSelector.json │ │ ├── FingerprintAIO.json │ │ ├── AppRate.json │ │ ├── CallNumber.json │ │ ├── DeviceMotion.json │ │ ├── Httpd.json │ │ ├── AppVersion.json │ │ ├── Market.json │ │ ├── BrowserTab.json │ │ ├── DeviceOrientation.json │ │ ├── PhotoViewer.json │ │ ├── Transfer.json │ │ ├── UserAgent.json │ │ ├── Gyroscope.json │ │ ├── ActionSheet.json │ │ ├── ImagePicker.json │ │ ├── PinDialog.json │ │ ├── GoogleMaps.json │ │ ├── ThemeableBrowser.json │ │ ├── VideoPlayer.json │ │ ├── Zip.json │ │ ├── DeviceAccounts.json │ │ ├── Flashlight.json │ │ ├── Network.json │ │ ├── CardIO.json │ │ ├── Brightness.json │ │ ├── Base64ToGallery.json │ │ ├── PhonegapLocalNotifications.json │ │ ├── SMS.json │ │ ├── Broadcaster.json │ │ ├── Contacts.json │ │ ├── NativeRingtones.json │ │ ├── AdMobFree.json │ │ ├── DeviceFeedback.json │ │ ├── NativeGeocoder.json │ │ ├── SpeechRecognition.json │ │ ├── BarcodeScanner.json │ │ ├── SQLite.json │ │ ├── FileEncryption.json │ │ ├── InAppBrowser.json │ │ ├── ScreenOrientation.json │ │ ├── MediaPlugin.json │ │ ├── FileOpener.json │ │ ├── SpinnerDialog.json │ │ ├── PowerManagement.json │ │ ├── Geolocation.json │ │ └── Screenshot.json ├── app │ ├── main.ts │ └── app.html ├── pipes │ ├── pipes.modules.ts │ └── stringify │ │ └── stringify.ts ├── manifest.json └── providers │ └── app-config │ └── app-config.ts ├── resources ├── icon.png ├── splash.png ├── ios │ ├── icon │ │ ├── icon.png │ │ ├── icon-40.png │ │ ├── icon-50.png │ │ ├── icon-60.png │ │ ├── icon-72.png │ │ ├── icon-76.png │ │ ├── icon@2x.png │ │ ├── icon-40@2x.png │ │ ├── icon-50@2x.png │ │ ├── icon-60@2x.png │ │ ├── icon-60@3x.png │ │ ├── icon-72@2x.png │ │ ├── icon-76@2x.png │ │ ├── icon-small.png │ │ ├── icon-small@2x.png │ │ └── icon-small@3x.png │ └── splash │ │ ├── Default-667h.png │ │ ├── Default-736h.png │ │ ├── Default~iphone.png │ │ ├── Default@2x~iphone.png │ │ ├── Default-568h@2x~iphone.png │ │ ├── Default-Landscape-736h.png │ │ ├── Default-Landscape~ipad.png │ │ ├── Default-Portrait~ipad.png │ │ ├── Default-Portrait@2x~ipad.png │ │ └── Default-Landscape@2x~ipad.png └── android │ ├── icon │ ├── drawable-hdpi-icon.png │ ├── drawable-ldpi-icon.png │ ├── drawable-mdpi-icon.png │ ├── drawable-xhdpi-icon.png │ ├── drawable-xxhdpi-icon.png │ └── drawable-xxxhdpi-icon.png │ └── splash │ ├── drawable-land-hdpi-screen.png │ ├── drawable-land-ldpi-screen.png │ ├── drawable-land-mdpi-screen.png │ ├── drawable-port-hdpi-screen.png │ ├── drawable-port-ldpi-screen.png │ ├── drawable-port-mdpi-screen.png │ ├── drawable-land-xhdpi-screen.png │ ├── drawable-land-xxhdpi-screen.png │ ├── drawable-land-xxxhdpi-screen.png │ ├── drawable-port-xhdpi-screen.png │ ├── drawable-port-xxhdpi-screen.png │ └── drawable-port-xxxhdpi-screen.png ├── ionic.config.json ├── tslint.json ├── .editorconfig ├── .gitignore ├── app-settings.json └── tsconfig.json /.sourcemaps/main.css.map: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /src/pages/help/help.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/pages/dynamic-plugin/dynamic-plugin.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/pages/object-creator/object-creator.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/pages/camera/camera.scss: -------------------------------------------------------------------------------- 1 | page-camera { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/media/media.scss: -------------------------------------------------------------------------------- 1 | page-media { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/contacts/contacts.scss: -------------------------------------------------------------------------------- 1 | page-contacts { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/home/home.scss: -------------------------------------------------------------------------------- 1 | page-home { 2 | 3 | } 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/pages/about-app/about-app.scss: -------------------------------------------------------------------------------- 1 | page-about-app { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/ad-mob-free/ad-mob-free.scss: -------------------------------------------------------------------------------- 1 | page-ad-mob-free { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/brightness/brightness.scss: -------------------------------------------------------------------------------- 1 | page-brightness { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/google-maps/google-maps.scss: -------------------------------------------------------------------------------- 1 | page-google-maps { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/components/plugin-config/plugin-config.scss: -------------------------------------------------------------------------------- 1 | plugin-config { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/action-sheet/action-sheet.scss: -------------------------------------------------------------------------------- 1 | page-action-sheet { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/pages/plugin-params/plugin-params.scss: -------------------------------------------------------------------------------- 1 | page-plugin-params { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/components/plugin-methods/plugin-methods.scss: -------------------------------------------------------------------------------- 1 | plugin-methods { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/icon.png -------------------------------------------------------------------------------- /src/assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/src/assets/icon.png -------------------------------------------------------------------------------- /resources/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/splash.png -------------------------------------------------------------------------------- /resources/ios/icon/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon.png -------------------------------------------------------------------------------- /src/assets/icon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/src/assets/icon/favicon.ico -------------------------------------------------------------------------------- /resources/ios/icon/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-40.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-50.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-60.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-72.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-76.png -------------------------------------------------------------------------------- /resources/ios/icon/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-40@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-50@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-60@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-60@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-72@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-76@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-small.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-small@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/icon/icon-small@3x.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-667h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-667h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default@2x~iphone.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-hdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/icon/drawable-hdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-ldpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/icon/drawable-ldpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-mdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/icon/drawable-mdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/icon/drawable-xhdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/icon/drawable-xxhdpi-icon.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-568h@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-568h@2x~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-Landscape-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-Landscape~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-Portrait~ipad.png -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/Callback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Callback", 3 | "parent": "CodePush", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/icon/drawable-xxxhdpi-icon.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-Portrait@2x~ipad.png -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CategoryArray.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CategoryArray", 3 | "parent": "Push", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/EntryCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EntryCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/VoidCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VoidCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/ios/splash/Default-Landscape@2x~ipad.png -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/EntriesCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EntriesCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/MetadataCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MetadataCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-land-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-land-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-land-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-port-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-port-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-port-mdpi-screen.png -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ErrorCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ErrorCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileEntryCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileEntryCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileSystemCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileSystemCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileWriterCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileWriterCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SuccessCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SuccessCallback", 3 | "parent": "CodePush", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /ionic.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic-native-playground", 3 | "app_id": "", 4 | "type": "ionic-angular", 5 | "integrations": { 6 | "cordova": {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-land-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-land-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-land-xxxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-port-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-port-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zyra/ionic-native-playground/HEAD/resources/android/splash/drawable-port-xxxhdpi-screen.png -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DirectoryEntryCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DirectoryEntryCallback", 3 | "parent": "File", 4 | "properties": [ 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/app/main.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | 3 | import { AppModule } from './app.module'; 4 | 5 | platformBrowserDynamic().bootstrapModule(AppModule); 6 | -------------------------------------------------------------------------------- /src/pages/camera-preview/camera-preview.scss: -------------------------------------------------------------------------------- 1 | page-camera-preview { 2 | div.camera-preview-container { 3 | margin-top: 60px; 4 | height: calc(100% - 60px); 5 | display: block; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/PLNObject.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PLNObject", 3 | "members": [ 4 | { 5 | "name": "close", 6 | "description": "", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-duplicate-variable": true, 4 | "no-unused-variable": [ 5 | true 6 | ] 7 | }, 8 | "rulesDirectory": [ 9 | "node_modules/tslint-eslint-rules/dist/rules" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/ImageResizer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImageResizer", 3 | "members": [ 4 | { 5 | "name": "resize", 6 | "description": "", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FileChooser.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileChooser", 3 | "members": [ 4 | { 5 | "name": "open", 6 | "description": "Open a file", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/AppMinimize.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppMinimize", 3 | "members": [ 4 | { 5 | "name": "minimize", 6 | "description": "Minimizes the application", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/CouchbaseLite.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CouchbaseLite", 3 | "members": [ 4 | { 5 | "name": "getURL", 6 | "description": "Get the database url", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/LaunchReview.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LaunchReview", 3 | "members": [ 4 | { 5 | "name": "launch", 6 | "description": "Launch store app using given app ID", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Rollbar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Rollbar", 3 | "members": [ 4 | { 5 | "name": "init", 6 | "description": "This function initializes the monitoring of your application", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/UniqueDeviceID.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UniqueDeviceID", 3 | "members": [ 4 | { 5 | "name": "get", 6 | "description": "Gets a unique, cross-install, app-specific device id.", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/pipes/pipes.modules.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { StringifyPipe } from "./stringify/stringify"; 3 | 4 | @NgModule({ 5 | declarations: [ 6 | StringifyPipe 7 | ], 8 | exports: [ 9 | StringifyPipe 10 | ] 11 | }) 12 | export class PipesModule {} 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CaptureError.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CaptureError", 3 | "parent": "MediaCapture", 4 | "properties": [ 5 | { 6 | "name": "code", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SerialOpenOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SerialOpenOptions", 3 | "parent": "Serial", 4 | "properties": [ 5 | { 6 | "name": "baudRate", 7 | "description": "", 8 | "type": "number", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/WheelSelectorData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WheelSelectorData", 3 | "parent": "WheelSelector", 4 | "properties": [ 5 | { 6 | "name": "data", 7 | "description": "", 8 | "type": "any", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/components/plugin-result/plugin-result.html: -------------------------------------------------------------------------------- 1 |
2 | Plugin result: 3 |

 4 | 
5 | 6 |
7 | Plugin error: 8 |

 9 | 
10 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/IsDebug.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IsDebug", 3 | "members": [ 4 | { 5 | "name": "getIsDebug", 6 | "description": "Determine if an app was installed via xcode / eclipse / the ionic CLI etc", 7 | "params": [ 8 | ] 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/WheelSelectorItem.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WheelSelectorItem", 3 | "parent": "WheelSelector", 4 | "properties": [ 5 | { 6 | "name": "description", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/MyLocationOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MyLocationOptions", 3 | "parent": "GoogleMaps", 4 | "properties": [ 5 | { 6 | "name": "enableHighAccuracy", 7 | "description": "", 8 | "type": "boolean", 9 | "optional":true 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ionic", 3 | "short_name": "Ionic", 4 | "start_url": "index.html", 5 | "display": "standalone", 6 | "icons": [{ 7 | "src": "assets/imgs/logo.png", 8 | "sizes": "512x512", 9 | "type": "image/png" 10 | }], 11 | "background_color": "#4e8ef7", 12 | "theme_color": "#4e8ef7" 13 | } -------------------------------------------------------------------------------- /src/pages/google-maps/google-maps.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Google Maps 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/GetVideoInfoOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GetVideoInfoOptions", 3 | "parent": "VideoEditor", 4 | "properties": [ 5 | { 6 | "name": "fileUri", 7 | "description": "The path to the video on the device.", 8 | "type": "string", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FileError.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileError", 3 | "members": [ 4 | { 5 | "name": "code", 6 | "description": "Error code", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "message", 12 | "description": "", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/NotificationData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NotificationData", 3 | "parent": "FCM", 4 | "properties": [ 5 | { 6 | "name": "wasTapped", 7 | "description": "Determines whether the notification was pressed or not", 8 | "type": "boolean", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/pages/dynamic-plugin/dynamic-plugin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ pluginName }} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/pages/home/home.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { IonicPageModule } from 'ionic-angular'; 3 | import { HomePage } from './home'; 4 | 5 | @NgModule({ 6 | declarations: [ 7 | HomePage, 8 | ], 9 | imports: [ 10 | IonicPageModule.forChild(HomePage), 11 | ], 12 | exports: [ 13 | HomePage 14 | ] 15 | }) 16 | export class Module {} 17 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/RegistrationEventResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "RegistrationEventResponse", 3 | "parent": "Push", 4 | "properties": [ 5 | { 6 | "name": "registrationId", 7 | "description": "The registration ID provided by the 3rd party remote push service.", 8 | "type": "string", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/SplashScreen.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SplashScreen", 3 | "members": [ 4 | { 5 | "name": "show", 6 | "description": "Shows the splashscreen", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "hide", 12 | "description": "Hides the splashscreen", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Backlight.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Backlight", 3 | "members": [ 4 | { 5 | "name": "on", 6 | "description": "This function turns backlight on", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "off", 12 | "description": "This function turns backlight off", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/NativeKeyboardLeftButton.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeKeyboardLeftButton", 3 | "parent": "NativeKeyboard", 4 | "properties": [ 5 | { 6 | "name": "disabledWhenTextEntered", 7 | "description": "Set to `true` to disable the button once text has been entered.", 8 | "type": "boolean", 9 | "optional":false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/ZBar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZBar", 3 | "members": [ 4 | { 5 | "name": "scan", 6 | "description": "Open the scanner", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "Scan options", 11 | "type": "ZBarOptions", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Insomnia.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Insomnia", 3 | "members": [ 4 | { 5 | "name": "keepAwake", 6 | "description": "Keeps awake the application", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "allowSleepAgain", 12 | "description": "Allows the application to sleep again", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/BackgroundFetchConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BackgroundFetchConfig", 3 | "parent": "BackgroundFetch", 4 | "properties": [ 5 | { 6 | "name": "stopOnTerminate", 7 | "description": "Set true to cease background-fetch from operating after user \"closes\" the app. Defaults to true.", 8 | "type": "boolean", 9 | "optional":true 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CaptureImageOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CaptureImageOptions", 3 | "parent": "MediaCapture", 4 | "properties": [ 5 | { 6 | "name": "limit", 7 | "description": "Maximum number of images to capture. This limit is not supported on iOS, only one image will be taken per invocation.", 8 | "type": "number", 9 | "optional":true 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SmsOptionsAndroid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SmsOptionsAndroid", 3 | "parent": "SMS", 4 | "properties": [ 5 | { 6 | "name": "intent", 7 | "description": "Set to \"INTENT\" to send SMS with the native android SMS messaging. Leaving it empty will send the SMS without opening any app.", 8 | "type": "string", 9 | "optional":true 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/pages/about-app/about-app.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { IonicPageModule } from 'ionic-angular'; 3 | import { AboutAppPage } from './about-app'; 4 | 5 | @NgModule({ 6 | declarations: [ 7 | AboutAppPage, 8 | ], 9 | imports: [ 10 | IonicPageModule.forChild(AboutAppPage), 11 | ], 12 | exports: [ 13 | AboutAppPage 14 | ] 15 | }) 16 | export class AboutAppPageModule {} 17 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Alipay.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alipay", 3 | "members": [ 4 | { 5 | "name": "pay", 6 | "description": "Open Alipay to perform App pay", 7 | "params": [ 8 | { 9 | "name": "order", 10 | "description": "alipay options", 11 | "type": "AlipayOrder", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/IntelSecurity.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IntelSecurity", 3 | "members": [ 4 | { 5 | "name": "storage", 6 | "description": "returns an IntelSecurityStorage object", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "data", 12 | "description": "Returns an IntelSecurityData object", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/SecureStorage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SecureStorage", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Creates a namespaced storage.", 7 | "params": [ 8 | { 9 | "name": "store", 10 | "description": "", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileError.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileError", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "code", 7 | "description": "Error code", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "message", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/AppUpdate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppUpdate", 3 | "members": [ 4 | { 5 | "name": "checkAppUpdate", 6 | "description": "Check and update", 7 | "params": [ 8 | { 9 | "name": "updateUrl", 10 | "description": "update api url", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Autostart.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Autostart", 3 | "members": [ 4 | { 5 | "name": "enable", 6 | "description": "Enable the automatic startup after the boot", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "disable", 12 | "description": "Disable the automatic startup after the boot", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/RemoveResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "RemoveResult", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "success", 7 | "description": "", 8 | "type": "boolean", 9 | "optional":false 10 | }, 11 | { 12 | "name": "fileRemoved", 13 | "description": "", 14 | "type": "Entry", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/VisibleRegion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VisibleRegion", 3 | "parent": "GoogleMaps", 4 | "properties": [ 5 | { 6 | "name": "northeast", 7 | "description": "", 8 | "type": "any", 9 | "optional":true 10 | }, 11 | { 12 | "name": "southwest", 13 | "description": "", 14 | "type": "any", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | 10 | # We recommend you to keep these unchanged 11 | end_of_line = lf 12 | charset = utf-8 13 | trim_trailing_whitespace = true 14 | insert_final_newline = true 15 | 16 | [*.md] 17 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DeviceMotionAccelerometerOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceMotionAccelerometerOptions", 3 | "parent": "DeviceMotion", 4 | "properties": [ 5 | { 6 | "name": "frequency", 7 | "description": "Requested period of calls to accelerometerSuccess with acceleration data in Milliseconds. Default: 10000", 8 | "type": "number", 9 | "optional":true 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/pages/ad-mob-free/ad-mob-free.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { IonicPageModule } from 'ionic-angular'; 3 | import { AdMobFreePage } from './ad-mob-free'; 4 | 5 | @NgModule({ 6 | declarations: [ 7 | AdMobFreePage, 8 | ], 9 | imports: [ 10 | IonicPageModule.forChild(AdMobFreePage), 11 | ], 12 | exports: [ 13 | AdMobFreePage 14 | ] 15 | }) 16 | export class AdMobFreePageModule {} 17 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/YoutubeVideoPlayer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "YoutubeVideoPlayer", 3 | "members": [ 4 | { 5 | "name": "openVideo", 6 | "description": "Plays a YouTube video", 7 | "params": [ 8 | { 9 | "name": "videoId", 10 | "description": "Video ID", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/HeaderColor.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HeaderColor", 3 | "members": [ 4 | { 5 | "name": "tint", 6 | "description": "Set a color to the task header", 7 | "params": [ 8 | { 9 | "name": "color", 10 | "description": "The hex value of the color", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DownloadProgress.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DownloadProgress", 3 | "parent": "CodePush", 4 | "properties": [ 5 | { 6 | "name": "totalBytes", 7 | "description": "", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "receivedBytes", 13 | "description": "", 14 | "type": "number", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/MediaError.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MediaError", 3 | "parent": "MediaPlugin", 4 | "properties": [ 5 | { 6 | "name": "message", 7 | "description": "Error message", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "code", 13 | "description": "Error code", 14 | "type": "number", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/HotspotDevice.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HotspotDevice", 3 | "parent": "Hotspot", 4 | "properties": [ 5 | { 6 | "name": "ip", 7 | "description": "Hotspot IP Address", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "mac", 13 | "description": "Hotspot MAC Address", 14 | "type": "string", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FilePath.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FilePath", 3 | "members": [ 4 | { 5 | "name": "resolveNativePath", 6 | "description": "Resolve native path for given content URL/path.", 7 | "params": [ 8 | { 9 | "name": "path", 10 | "description": "Content URL/path.", 11 | "type": "String", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Shake.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Shake", 3 | "members": [ 4 | { 5 | "name": "startWatch", 6 | "description": "Watch for shake gesture", 7 | "params": [ 8 | { 9 | "name": "sensitivity", 10 | "description": "Optional sensitivity parameter. Defaults to 40", 11 | "type": "number", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/VideoCapturePlus.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VideoCapturePlus", 3 | "members": [ 4 | { 5 | "name": "captureVideo", 6 | "description": "Starts recordings", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "Configure options", 11 | "type": "VideoCapturePlusOptions", 12 | "optional": true 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/DatePicker.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DatePicker", 3 | "members": [ 4 | { 5 | "name": "show", 6 | "description": "Shows the date and/or time picker dialog(s)", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "Options for the date picker.", 11 | "type": "DatePickerOptions", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FlurryAnalytics.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FlurryAnalytics", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Creates a new instance of FlurryAnalyticsObject", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "options", 11 | "type": "FlurryAnalyticsOptions", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/PayPalEnvironment.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PayPalEnvironment", 3 | "parent": "PayPal", 4 | "properties": [ 5 | { 6 | "name": "PayPalEnvironmentProduction", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "PayPalEnvironmentSandbox", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/AppAvailability.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppAvailability", 3 | "members": [ 4 | { 5 | "name": "check", 6 | "description": "Checks if an app is available on device", 7 | "params": [ 8 | { 9 | "name": "app", 10 | "description": "Package name on android, or URI scheme on iOS", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ZeroconfResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZeroconfResult", 3 | "parent": "Zeroconf", 4 | "properties": [ 5 | { 6 | "name": "action", 7 | "description": "", 8 | "type": "'registered' | 'added' | 'removed'", 9 | "optional":false 10 | }, 11 | { 12 | "name": "service", 13 | "description": "", 14 | "type": "ZeroconfService", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/NativeGeocoderForwardResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeGeocoderForwardResult", 3 | "parent": "NativeGeocoder", 4 | "properties": [ 5 | { 6 | "name": "latitude", 7 | "description": "The latitude.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "longitude", 13 | "description": "The longitude.", 14 | "type": "string", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SmsOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SmsOptions", 3 | "parent": "SMS", 4 | "properties": [ 5 | { 6 | "name": "replaceLineBreaks", 7 | "description": "Set to true to replace \\n by a new line. Default: false", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "android", 13 | "description": "", 14 | "type": "SmsOptionsAndroid", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/OSNotificationOpenedResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OSNotificationOpenedResult", 3 | "parent": "OneSignal", 4 | "properties": [ 5 | { 6 | "name": "action", 7 | "description": "", 8 | "type": "*/ 9 | actionID?: string; 10 | }", 11 | "optional":false 12 | }, 13 | { 14 | "name": "notification", 15 | "description": "", 16 | "type": "OSNotification", 17 | "optional":false 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /src/pages/camera/camera.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Camera 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 | 16 | 17 | 18 |
19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/TwitterConnect.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TwitterConnect", 3 | "members": [ 4 | { 5 | "name": "login", 6 | "description": "Logs in", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "logout", 12 | "description": "Logs out", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "showUser", 18 | "description": "Returns user's profile information", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/PositionError.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PositionError", 3 | "parent": "Geolocation", 4 | "properties": [ 5 | { 6 | "name": "code", 7 | "description": "A code that indicates the error that occurred", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "message", 13 | "description": "A message that can describe the error that occurred", 14 | "type": "string", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/pages/home/home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | Ionic Native Playground 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/pages/object-creator/object-creator.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { IonicPageModule } from 'ionic-angular'; 3 | import {ObjectCreatorPage} from "./object-creator"; 4 | import {StringifyPipe} from "../../pipes/stringify/stringify"; 5 | import {PipesModule} from "../../pipes/pipes.modules"; 6 | 7 | @NgModule({ 8 | declarations: [ 9 | ObjectCreatorPage 10 | ], 11 | imports: [ 12 | PipesModule, 13 | IonicPageModule.forChild(ObjectCreatorPage) 14 | ] 15 | }) 16 | export class Module {} 17 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/DBMeter.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DBMeter", 3 | "members": [ 4 | { 5 | "name": "start", 6 | "description": "Starts listening", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "isListening", 12 | "description": "Check if the DB Meter is listening", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "delete", 18 | "description": "Delete the DB Meter instance", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/BatteryStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BatteryStatusResponse", 3 | "parent": "BatteryStatus", 4 | "properties": [ 5 | { 6 | "name": "level", 7 | "description": "The battery charge percentage", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "isPlugged", 13 | "description": "A boolean that indicates whether the device is plugged in", 14 | "type": "boolean", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Sim.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sim", 3 | "members": [ 4 | { 5 | "name": "getSimInfo", 6 | "description": "Returns info from the SIM card.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "hasReadPermission", 12 | "description": "Check permission", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "requestReadPermission", 18 | "description": "Request permission", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Crop.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Crop", 3 | "members": [ 4 | { 5 | "name": "crop", 6 | "description": "Crops an image", 7 | "params": [ 8 | { 9 | "name": "pathToImage", 10 | "description": "", 11 | "type": "", 12 | "optional": false 13 | }, 14 | { 15 | "name": "options", 16 | "description": "", 17 | "type": "", 18 | "optional": false 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/Geoposition.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Geoposition", 3 | "parent": "Geolocation", 4 | "properties": [ 5 | { 6 | "name": "coords", 7 | "description": "A Coordinates object defining the current location", 8 | "type": "Coordinates", 9 | "optional":false 10 | }, 11 | { 12 | "name": "timestamp", 13 | "description": "A timestamp representing the time at which the location was retrieved.", 14 | "type": "number", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/Metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Metadata", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "modificationTime", 7 | "description": "This is the time at which the file or directory was last modified.", 8 | "type": "Date", 9 | "optional":false 10 | }, 11 | { 12 | "name": "size", 13 | "description": "The size of the file, in bytes. This must return 0 for directories.", 14 | "type": "number", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IWriteOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IWriteOptions", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "replace", 7 | "description": "", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "append", 13 | "description": "", 14 | "type": "boolean", 15 | "optional":true 16 | }, 17 | { 18 | "name": "truncate", 19 | "description": "", 20 | "type": "number", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/WriteOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WriteOptions", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "replace", 7 | "description": "", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "append", 13 | "description": "", 14 | "type": "boolean", 15 | "optional":true 16 | }, 17 | { 18 | "name": "truncate", 19 | "description": "", 20 | "type": "number", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/google-maps/google-maps.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'page-google-maps', 5 | templateUrl: 'google-maps.html' 6 | }) 7 | export class GoogleMapsPage { 8 | 9 | options: any = { 10 | controls: { 11 | compass: true, 12 | myLocationButton: true, 13 | indoorPicker: true, 14 | zoom: true 15 | } 16 | }; 17 | 18 | onMapClick(e) { 19 | console.log('map was clicked', e); 20 | } 21 | 22 | onMapReady(e) { 23 | console.log('map is ready', e); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AppRateCallbacks.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppRateCallbacks", 3 | "parent": "AppRate", 4 | "properties": [ 5 | { 6 | "name": "onButtonClicked", 7 | "description": "call back function. called when user clicked on rate-dialog buttons", 8 | "type": "Function", 9 | "optional":true 10 | }, 11 | { 12 | "name": "onRateDialogShow", 13 | "description": "call back function. called when rate-dialog showing", 14 | "type": "Function", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/PushOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PushOptions", 3 | "parent": "Push", 4 | "properties": [ 5 | { 6 | "name": "ios", 7 | "description": "", 8 | "type": "IOSPushOptions", 9 | "optional":true 10 | }, 11 | { 12 | "name": "android", 13 | "description": "", 14 | "type": "AndroidPushOptions", 15 | "optional":true 16 | }, 17 | { 18 | "name": "windows", 19 | "description": "", 20 | "type": "any", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Vibration.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vibration", 3 | "members": [ 4 | { 5 | "name": "vibrate", 6 | "description": "Vibrates the device for given amount of time.", 7 | "params": [ 8 | { 9 | "name": "time", 10 | "description": "Milliseconds to vibrate the device. If passed an array of numbers, it will define a vibration pattern. Pass 0 to stop any vibration immediately.", 11 | "type": "number", 12 | "optional": false 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CameraPreviewDimensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CameraPreviewDimensions", 3 | "parent": "CameraPreview", 4 | "properties": [ 5 | { 6 | "name": "width", 7 | "description": "The width of the camera preview, default to window.screen.width", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "height", 13 | "description": "The height of the camera preview, default to window.screen.height", 14 | "type": "number", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SerialPermissionOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SerialPermissionOptions", 3 | "parent": "Serial", 4 | "properties": [ 5 | { 6 | "name": "vid", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "pid", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "driver", 19 | "description": "", 20 | "type": "string", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/action-sheet/action-sheet.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Action Sheet 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

13 | Click the button below to display a native action sheet. The plugin will then return back the index of the button that you clicked on. 14 |

15 | 16 |
17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Specifies intentionally untracked files to ignore when using Git 2 | # http://git-scm.com/docs/gitignore 3 | 4 | *~ 5 | *.sw[mnpcod] 6 | *.log 7 | *.tmp 8 | *.tmp.* 9 | log.txt 10 | *.sublime-project 11 | *.sublime-workspace 12 | .vscode/ 13 | npm-debug.log* 14 | 15 | .idea/ 16 | .sass-cache/ 17 | .tmp/ 18 | .versions/ 19 | coverage/ 20 | dist/ 21 | node_modules/ 22 | tmp/ 23 | temp/ 24 | hooks/ 25 | platforms/ 26 | plugins/ 27 | plugins/android.json 28 | plugins/ios.json 29 | www/ 30 | $RECYCLE.BIN/ 31 | 32 | .DS_Store 33 | Thumbs.db 34 | UserInterfaceState.xcuserstate 35 | -------------------------------------------------------------------------------- /app-settings.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "type":"group", 4 | "title":"Common", 5 | "items":[{ 6 | "title":"Title", 7 | "type":"textfield", 8 | "key":"title" 9 | }, { 10 | "title":"Language", 11 | "type":"radio", 12 | "key":"lang", 13 | "default": "en-us", 14 | "items":[{ 15 | "value":"en-us", 16 | "title":"English (US)" 17 | }, { 18 | "value":"en-gb", 19 | "title":"English (UK)" 20 | }] 21 | }, { 22 | "title":"Debug", 23 | "type":"toggle", 24 | "default":false, 25 | "key":"debug" 26 | }] 27 | } 28 | ] 29 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/BatteryStatus.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BatteryStatus", 3 | "members": [ 4 | { 5 | "name": "onChange", 6 | "description": "Watch the change in battery level", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "onLow", 12 | "description": "Watch when the battery level goes low", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "onCritical", 18 | "description": "Watch when the battery level goes to critial", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/TextToSpeech.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TextToSpeech", 3 | "members": [ 4 | { 5 | "name": "speak", 6 | "description": "This function speaks", 7 | "params": [ 8 | { 9 | "name": "textOrOptions", 10 | "description": "Text to speak or TTSOptions", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "stop", 18 | "description": "Stop any current TTS playback", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CategoryAction.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CategoryAction", 3 | "parent": "Push", 4 | "properties": [ 5 | { 6 | "name": "yes", 7 | "description": "", 8 | "type": "CategoryActionData", 9 | "optional":true 10 | }, 11 | { 12 | "name": "no", 13 | "description": "", 14 | "type": "CategoryActionData", 15 | "optional":true 16 | }, 17 | { 18 | "name": "maybe", 19 | "description": "", 20 | "type": "CategoryActionData", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileEntry", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "createWriter", 7 | "description": "Creates a new FileWriter associated with the file that this FileEntry represents.", 8 | "type": "void", 9 | "optional":false 10 | }, 11 | { 12 | "name": "file", 13 | "description": "Returns a File that represents the current state of the file that this FileEntry represents.", 14 | "type": "void", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/components/plugin-config/plugin-config.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{ name || 'Config'}} 5 | 6 | 7 | 8 | {{ prop.name }} 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Push.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Push", 3 | "members": [ 4 | { 5 | "name": "init", 6 | "description": "Init push notifications", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "", 11 | "type": "PushOptions", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "hasPermission", 18 | "description": "Check whether the push notification permission has been granted.", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Clipboard.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Clipboard", 3 | "members": [ 4 | { 5 | "name": "copy", 6 | "description": "Copies the given text", 7 | "params": [ 8 | { 9 | "name": "text", 10 | "description": "Text that gets copied on the system clipboard", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "paste", 18 | "description": "Pastes the text stored in clipboard", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/NavigationBar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NavigationBar", 3 | "members": [ 4 | { 5 | "name": "setUp", 6 | "description": "hide automatically (or not) the navigation bar.", 7 | "params": [ 8 | { 9 | "name": "autohide", 10 | "description": "", 11 | "type": "boolean", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "hideNavigationBar", 18 | "description": "Hide the navigation bar. ", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/pages/about-app/about-app.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { IonicPage } from 'ionic-angular'; 3 | import { BrowserTab } from "@ionic-native/browser-tab"; 4 | 5 | @IonicPage({ 6 | defaultHistory: ['HomePage'] 7 | }) 8 | @Component({ 9 | selector: 'page-about-app', 10 | templateUrl: 'about-app.html', 11 | }) 12 | export class AboutAppPage { 13 | 14 | constructor( 15 | private iab: BrowserTab 16 | ) { 17 | } 18 | 19 | openGithubRepo() { 20 | this.iab.openUrl('https://github.com/ihadeed/ionic-native-playground').catch(() => {}); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/WheelSelector.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WheelSelector", 3 | "members": [ 4 | { 5 | "name": "show", 6 | "description": "Shows the wheel selector", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "Options for the wheel selector", 11 | "type": "WheelSelectorOptions", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "hideSelector", 18 | "description": "Hide the selector", 19 | "params": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/pipes/stringify/stringify.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | 3 | /** 4 | * Generated class for the StringifyPipe pipe. 5 | * 6 | * See https://angular.io/docs/ts/latest/guide/pipes.html for more info on 7 | * Angular Pipes. 8 | */ 9 | @Pipe({ 10 | name: 'stringify', 11 | }) 12 | export class StringifyPipe implements PipeTransform { 13 | /** 14 | * Takes a value and makes it lowercase. 15 | */ 16 | transform(value: string, ...args) { 17 | try { 18 | return JSON.stringify(value); 19 | } catch (e) { 20 | return value; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/StreamingVideoOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "StreamingVideoOptions", 3 | "parent": "StreamingMedia", 4 | "properties": [ 5 | { 6 | "name": "successCallback", 7 | "description": "", 8 | "type": "Function", 9 | "optional":true 10 | }, 11 | { 12 | "name": "errorCallback", 13 | "description": "", 14 | "type": "Function", 15 | "optional":true 16 | }, 17 | { 18 | "name": "orientation", 19 | "description": "", 20 | "type": "string", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/ad-mob-free/ad-mob-free.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | AdMob Free 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CaptureAudioOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CaptureAudioOptions", 3 | "parent": "MediaCapture", 4 | "properties": [ 5 | { 6 | "name": "limit", 7 | "description": "Maximum number of audio clips. Defaults to 1.On iOS you can only record one file.", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "duration", 13 | "description": "Maximum duration of an audio sound clip, in seconds. This does not work on Android devices.", 14 | "type": "number", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DialogsPromptCallback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DialogsPromptCallback", 3 | "parent": "Dialogs", 4 | "properties": [ 5 | { 6 | "name": "buttonIndex", 7 | "description": "The index of the pressed button. (Number) Note that the index uses one-based indexing, so the value is 1, 2, 3, etc.", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "input1", 13 | "description": "The text entered in the prompt dialog box. (String)", 14 | "type": "string", 15 | "optional":false 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "declaration": false, 5 | "emitDecoratorMetadata": true, 6 | "experimentalDecorators": true, 7 | "lib": [ 8 | "dom", 9 | "es2015" 10 | ], 11 | "module": "es2015", 12 | "moduleResolution": "node", 13 | "sourceMap": true, 14 | "target": "es5", 15 | "skipLibCheck": true 16 | }, 17 | "include": [ 18 | "src/**/*.ts" 19 | ], 20 | "exclude": [ 21 | "node_modules" 22 | ], 23 | "compileOnSave": false, 24 | "atom": { 25 | "rewriteTsconfig": false 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/TTSOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TTSOptions", 3 | "parent": "TextToSpeech", 4 | "properties": [ 5 | { 6 | "name": "text", 7 | "description": "text to speak", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "locale", 13 | "description": "a string like 'en-US', 'zh-CN', etc", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "rate", 19 | "description": "speed rate, 0 ~ 1", 20 | "type": "number", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DirectoryReader.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DirectoryReader", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "localURL", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "hasReadEntries", 13 | "description": "", 14 | "type": "boolean", 15 | "optional":false 16 | }, 17 | { 18 | "name": "readEntries", 19 | "description": "Read the next block of entries from this directory.", 20 | "type": "void", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/providers/app-config/app-config.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | 3 | const ADS_ENABLED_KEY = 'inp_ads_enabled'; 4 | 5 | @Injectable() 6 | export class AppConfigProvider { 7 | 8 | set adsEnabled(val: boolean) { 9 | localStorage.setItem(ADS_ENABLED_KEY, JSON.stringify(val)); 10 | } 11 | 12 | get adsEnabled(): boolean { 13 | try { 14 | let config = JSON.parse(localStorage.getItem(ADS_ENABLED_KEY)); 15 | if (typeof config === 'boolean') { 16 | return config; 17 | } 18 | } catch (e) {} 19 | 20 | this.adsEnabled = false; 21 | return false; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AdMobFreeInterstitialConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdMobFreeInterstitialConfig", 3 | "parent": "AdMobFree", 4 | "properties": [ 5 | { 6 | "name": "id", 7 | "description": "Ad Unit ID", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "isTesting", 13 | "description": "Receiving test ad", 14 | "type": "boolean", 15 | "optional":true 16 | }, 17 | { 18 | "name": "autoShow", 19 | "description": "Auto show ad when loaded", 20 | "type": "boolean", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AdMobFreeRewardVideoConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdMobFreeRewardVideoConfig", 3 | "parent": "AdMobFree", 4 | "properties": [ 5 | { 6 | "name": "id", 7 | "description": "Ad Unit ID", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "isTesting", 13 | "description": "Receiving test ad", 14 | "type": "boolean", 15 | "optional":true 16 | }, 17 | { 18 | "name": "autoShow", 19 | "description": "Auto show ad when loaded", 20 | "type": "boolean", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/Flags.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flags", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "create", 7 | "description": "Used to indicate that the user wants to create a file or directory if it was not previously there.", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "exclusive", 13 | "description": "By itself, exclusive must have no effect. Used with create, it must cause getFile and getDirectory to fail if the target path already exists.", 14 | "type": "boolean", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/components/plugin-result/plugin-result.scss: -------------------------------------------------------------------------------- 1 | plugin-result { 2 | 3 | display: block; 4 | 5 | .result, .error { 6 | margin: 15px; 7 | border-radius: 5px; 8 | padding: 20px 10px; 9 | } 10 | 11 | .result { 12 | background: transparentize(green, 0.9); 13 | border: 1px green solid; 14 | } 15 | 16 | .error { 17 | background: transparentize(red, 0.9); 18 | border: 1px red solid; 19 | } 20 | 21 | pre { 22 | width: 100%; 23 | } 24 | 25 | .string { color: green; } 26 | .number { color: darkorange; } 27 | .boolean { color: blue; } 28 | .null { color: magenta; } 29 | .key { color: red; } 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FingerprintAIO.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FingerprintAIO", 3 | "members": [ 4 | { 5 | "name": "isAvailable", 6 | "description": "Check if fingerprint authentication is available", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "show", 12 | "description": "Show authentication dialogue", 13 | "params": [ 14 | { 15 | "name": "options", 16 | "description": "options for platform specific fingerprint API", 17 | "type": "FingerprintOptions", 18 | "optional": false 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FacebookLoginResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FacebookLoginResponse", 3 | "parent": "Facebook", 4 | "properties": [ 5 | { 6 | "name": "status", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "authResponse", 13 | "description": "", 14 | "type": "{ 15 | 16 | session_key: boolean; 17 | 18 | accessToken: string; 19 | 20 | expiresIn: number; 21 | 22 | sig: string; 23 | 24 | secret: string; 25 | 26 | userID: string; 27 | 28 | }", 29 | "optional":false 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/AppRate.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppRate", 3 | "members": [ 4 | { 5 | "name": "preferences", 6 | "description": "Configure various settings for the Rating View.See table below for options", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "promptForRating", 12 | "description": "Prompts the user for rating", 13 | "params": [ 14 | { 15 | "name": "immediately", 16 | "description": "Show the rating prompt immediately.", 17 | "type": "boolean", 18 | "optional": false 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/OSActionButton.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OSActionButton", 3 | "parent": "OneSignal", 4 | "properties": [ 5 | { 6 | "name": "id", 7 | "description": "Id assigned to the button.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "text", 13 | "description": "Text show on the button to the user.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "icon", 19 | "description": "**ANDROID** - Icon shown on the button.", 20 | "type": "string", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DeviceOrientationCompassOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceOrientationCompassOptions", 3 | "parent": "DeviceOrientation", 4 | "properties": [ 5 | { 6 | "name": "frequency", 7 | "description": "How often to retrieve the compass heading in milliseconds. (Number) (Default: 100)", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "filter", 13 | "description": "The change in degrees required to initiate a watchHeading success callback. When this value is set, frequency is ignored. (Number)", 14 | "type": "number", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/CallNumber.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CallNumber", 3 | "members": [ 4 | { 5 | "name": "callNumber", 6 | "description": "Calls a phone number", 7 | "params": [ 8 | { 9 | "name": "numberToCall", 10 | "description": "The phone number to call as a string", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "bypassAppChooser", 16 | "description": "Set to true to bypass the app chooser and go directly to dialer", 17 | "type": "boolean", 18 | "optional": false 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/MyLocation.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MyLocation", 3 | "parent": "GoogleMaps", 4 | "properties": [ 5 | { 6 | "name": "latLng", 7 | "description": "", 8 | "type": "LatLng", 9 | "optional":true 10 | }, 11 | { 12 | "name": "speed", 13 | "description": "", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "time", 19 | "description": "", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "bearing", 25 | "description": "", 26 | "type": "number", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CameraPreviewPictureOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CameraPreviewPictureOptions", 3 | "parent": "CameraPreview", 4 | "properties": [ 5 | { 6 | "name": "width", 7 | "description": "The width in pixels, default 0", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "height", 13 | "description": "The height in pixels, default 0", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "quality", 19 | "description": "The picture quality, 0 - 100, default 85", 20 | "type": "number", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FingerprintOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FingerprintOptions", 3 | "parent": "FingerprintAIO", 4 | "properties": [ 5 | { 6 | "name": "clientId", 7 | "description": "Key for platform keychain", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "clientSecret", 13 | "description": "Secret password. Only for android", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "disableBackup", 19 | "description": "Disable 'use backup' option. Only for android (optional)", 20 | "type": "boolean", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SQLiteDatabaseConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SQLiteDatabaseConfig", 3 | "parent": "SQLite", 4 | "properties": [ 5 | { 6 | "name": "name", 7 | "description": "Name of the database. Example: 'my.db'", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "location", 13 | "description": "Location of the database. Example: 'default'", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "iosDatabaseLocation", 19 | "description": "iOS Database Location. Example: 'Library'", 20 | "type": "string", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CategoryActionData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CategoryActionData", 3 | "parent": "Push", 4 | "properties": [ 5 | { 6 | "name": "callback", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "title", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "foreground", 19 | "description": "", 20 | "type": "boolean", 21 | "optional":false 22 | }, 23 | { 24 | "name": "destructive", 25 | "description": "", 26 | "type": "boolean", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/DeviceMotion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceMotion", 3 | "members": [ 4 | { 5 | "name": "getCurrentAcceleration", 6 | "description": "Get the current acceleration along the x, y, and z axes.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "watchAcceleration", 12 | "description": "Watch the device acceleration. Clear the watch by unsubscribing from the observable.", 13 | "params": [ 14 | { 15 | "name": "options", 16 | "description": "list of options for the accelerometer.", 17 | "type": "AccelerometerOptions", 18 | "optional": false 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Httpd.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Httpd", 3 | "members": [ 4 | { 5 | "name": "startServer", 6 | "description": "Starts a web server.", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "", 11 | "type": "HttpdOptions", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "getUrl", 18 | "description": "Gets the URL of the running server", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "getLocalPath", 24 | "description": "Get the local path of the running webserver", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AFADecryptOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AFADecryptOptions", 3 | "parent": "AndroidFingerprintAuth", 4 | "properties": [ 5 | { 6 | "name": "withFingerprint", 7 | "description": "Biometric authentication", 8 | "type": "boolean", 9 | "optional":false 10 | }, 11 | { 12 | "name": "withBackup", 13 | "description": "Authentication using backup credential activity", 14 | "type": "boolean", 15 | "optional":false 16 | }, 17 | { 18 | "name": "password", 19 | "description": "FingerprintAuth.CipherMode.DECRYPTDecrypted password", 20 | "type": "string", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AFAEncryptResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AFAEncryptResponse", 3 | "parent": "AndroidFingerprintAuth", 4 | "properties": [ 5 | { 6 | "name": "withFingerprint", 7 | "description": "Biometric authentication", 8 | "type": "boolean", 9 | "optional":false 10 | }, 11 | { 12 | "name": "withBackup", 13 | "description": "Authentication using backup credential activity", 14 | "type": "boolean", 15 | "optional":false 16 | }, 17 | { 18 | "name": "token", 19 | "description": "base64encoded string representation of user credentials", 20 | "type": "string", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CameraPosition.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CameraPosition", 3 | "parent": "GoogleMaps", 4 | "properties": [ 5 | { 6 | "name": "target", 7 | "description": "", 8 | "type": "LatLng | LatLngBounds | LatLng[]", 9 | "optional":true 10 | }, 11 | { 12 | "name": "zoom", 13 | "description": "", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "tilt", 19 | "description": "", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "bearing", 25 | "description": "", 26 | "type": "number", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/VideoOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VideoOptions", 3 | "parent": "VideoPlayer", 4 | "properties": [ 5 | { 6 | "name": "volume", 7 | "description": "Set the initial volume of the video playback, where 0.0 is 0% volume and 1.0 is 100%.For example: for a volume of 30% set the value to 0.3.", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "scalingMode", 13 | "description": "There are to options for the scaling mode. SCALE_TO_FIT which is default and SCALE_TO_FIT_WITH_CROPPING.These strings are the only ones which can be passed as option.", 14 | "type": "number", 15 | "optional":true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/AppVersion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppVersion", 3 | "members": [ 4 | { 5 | "name": "getAppName", 6 | "description": "Returns the name of the app", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "getPackageName", 12 | "description": "Returns the package name of the app", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "getVersionCode", 18 | "description": "Returns the build identifier of the app", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "getVersionNumber", 24 | "description": "Returns the version of the app", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Market.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Market", 3 | "members": [ 4 | { 5 | "name": "open", 6 | "description": "Opens an app in Google Play / App Store", 7 | "params": [ 8 | { 9 | "name": "appId", 10 | "description": "Package name", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "search", 18 | "description": "Search apps by keyword", 19 | "params": [ 20 | { 21 | "name": "keyword", 22 | "description": "Keyword", 23 | "type": "string", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/BrowserTab.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BrowserTab", 3 | "members": [ 4 | { 5 | "name": "isAvailable", 6 | "description": "Check if BrowserTab option is available", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "openUrl", 12 | "description": "Opens the provided URL using a browser tab", 13 | "params": [ 14 | { 15 | "name": "url", 16 | "description": "The URL you want to open", 17 | "type": "string", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "close", 24 | "description": "Closes browser tab", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/DeviceOrientation.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceOrientation", 3 | "members": [ 4 | { 5 | "name": "getCurrentHeading", 6 | "description": "Get the current compass heading.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "watchHeading", 12 | "description": "Get the device current heading at a regular intervalStop the watch by unsubscribing from the observable", 13 | "params": [ 14 | { 15 | "name": "options", 16 | "description": "Options for compass. Frequency and Filter. Optional", 17 | "type": "DeviceOrientationCompassOptions", 18 | "optional": false 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SpinnerDialogIOSOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SpinnerDialogIOSOptions", 3 | "parent": "SpinnerDialog", 4 | "properties": [ 5 | { 6 | "name": "overlayOpacity", 7 | "description": "", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "textColorRed", 13 | "description": "", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "textColorGreen", 19 | "description": "", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "textColorBlue", 25 | "description": "", 26 | "type": "number", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/contacts/contacts.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | Contacts 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/PhotoViewer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PhotoViewer", 3 | "members": [ 4 | { 5 | "name": "show", 6 | "description": "Shows an image in full screen", 7 | "params": [ 8 | { 9 | "name": "url", 10 | "description": "URL or path to image", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "title", 16 | "description": "", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "options", 22 | "description": "", 23 | "type": "any", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Transfer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Transfer", 3 | "members": [ 4 | { 5 | "name": "FileTransferErrorCode", 6 | "description": "Error code rejected from upload with FileTransferErrorDefined in FileTransferError. FILE_NOT_FOUND_ERR: 1 Return when file was not found INVALID_URL_ERR: 2, Return when url was invalid CONNECTION_ERR: 3, Return on connection error ABORT_ERR: 4, Return on aborting NOT_MODIFIED_ERR: 5 Return on '304 Not Modified' HTTP response", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "create", 12 | "description": "Creates a new FileTransfer object", 13 | "params": [ 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/UserAgent.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UserAgent", 3 | "members": [ 4 | { 5 | "name": "set", 6 | "description": "Changes the current user-agent to the one sent by argument.", 7 | "params": [ 8 | { 9 | "name": "userAgent", 10 | "description": "User-Agent", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "get", 18 | "description": "Returns the current user-agent string.", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "reset", 24 | "description": "Sets the user-agent back to default", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IContactField.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IContactField", 3 | "parent": "Contacts", 4 | "properties": [ 5 | { 6 | "name": "type", 7 | "description": "A string that indicates what type of field this is, home for example.", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "value", 13 | "description": "The value of the field, such as a phone number or email address.", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "pref", 19 | "description": "Set to true if this ContactField contains the user's preferred value.", 20 | "type": "boolean", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IRemotePackage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IRemotePackage", 3 | "parent": "CodePush", 4 | "properties": [ 5 | { 6 | "name": "downloadUrl", 7 | "description": "The URL at which the package is available for download.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "download", 13 | "description": "Downloads the package update from the CodePush service.", 14 | "type": "void", 15 | "optional":false 16 | }, 17 | { 18 | "name": "abortDownload", 19 | "description": "Aborts the current download session, previously started with download().", 20 | "type": "void", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/OSBackgroundImageLayout.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OSBackgroundImageLayout", 3 | "parent": "OneSignal", 4 | "properties": [ 5 | { 6 | "name": "image", 7 | "description": "Image URL or name used as the background image.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "titleTextColor", 13 | "description": "Text color of the title on the notification. ARGB Format.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "bodyTextColor", 19 | "description": "Text color of the body on the notification. ARGB Format.", 20 | "type": "string", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/camera-preview/camera-preview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CameraPreview 4 | 5 | 8 | 11 | 14 | 15 | 16 | 17 | 18 | 19 |
20 |
21 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Gyroscope.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Gyroscope", 3 | "members": [ 4 | { 5 | "name": "watch", 6 | "description": "Watching for gyroscope sensor changes", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "", 11 | "type": "GyroscopeOptions", 12 | "optional": true 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "getCurrent", 18 | "description": "Get current data from gyroscope sensor", 19 | "params": [ 20 | { 21 | "name": "options", 22 | "description": "", 23 | "type": "GyroscopeOptions", 24 | "optional": true 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/ActionSheet.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ActionSheet", 3 | "members": [ 4 | { 5 | "name": "ANDROID_THEMES", 6 | "description": "", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "show", 12 | "description": "Show a native ActionSheet component. See below for options.", 13 | "params": [ 14 | { 15 | "name": "options", 16 | "description": "Options See table below", 17 | "type": "ActionSheetOptions", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "hide", 24 | "description": "Progamtically hide the native ActionSheet", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SpeechRecognitionListeningOptionsIOS.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SpeechRecognitionListeningOptionsIOS", 3 | "parent": "SpeechRecognition", 4 | "properties": [ 5 | { 6 | "name": "language", 7 | "description": "used language for recognition (default `\"en-US\"`)", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "matches", 13 | "description": "umber of return matches (default `5`)", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "showPartial", 19 | "description": "Allow partial results to be returned (default `false`)", 20 | "type": "boolean", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/ImagePicker.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImagePicker", 3 | "members": [ 4 | { 5 | "name": "getPictures", 6 | "description": "Pick pictures from the library.", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "", 11 | "type": "ImagePickerOptions", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "hasReadPermission", 18 | "description": "Check if we have permission to read images", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "requestReadPermission", 24 | "description": "Request permission to read images", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/pages/about-app/about-app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | About App 4 | 5 | 6 | 7 | 8 | 9 |

10 | The Ionic Native Playground is an app created by Ibby Hadeed to allow people to experiment with different Cordova plugins via Ionic Native wrappers. This app is open source and is available on Github under an MIT license. 11 |

12 |

13 | Feel free to submit any suggestions or issues on the Github repository. Also, if you like this app, don't forget to share it with your friends and colleagues! 14 |

15 | 18 |
19 | -------------------------------------------------------------------------------- /src/app/app.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | icon 4 |
5 | 6 | 7 | 8 |

Toggle ads

9 |

Turn ads on or off.

10 |
11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 |
23 |
24 | 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/PinDialog.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PinDialog", 3 | "members": [ 4 | { 5 | "name": "prompt", 6 | "description": "Show pin dialog", 7 | "params": [ 8 | { 9 | "name": "message", 10 | "description": "Message to show the user", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "title", 16 | "description": "Title of the dialog", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "buttons", 22 | "description": "Buttons to show", 23 | "type": "string[]", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ConfigurationData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ConfigurationData", 3 | "parent": "MediaCapture", 4 | "properties": [ 5 | { 6 | "name": "type", 7 | "description": "The ASCII-encoded lowercase string representing the media type.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "height", 13 | "description": "The height of the image or video in pixels. The value is zero for sound clips.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "width", 19 | "description": "The width of the image or video in pixels. The value is zero for sound clips.", 20 | "type": "number", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ThreeDeeTouchForceTouch.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ThreeDeeTouchForceTouch", 3 | "parent": "ThreeDeeTouch", 4 | "properties": [ 5 | { 6 | "name": "force", 7 | "description": "Touch force", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "timestamp", 13 | "description": "Timestamp of action", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "x", 19 | "description": "X coordinate of action", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "y", 25 | "description": "Y coordinate of action", 26 | "type": "number", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/TwitterConnectResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TwitterConnectResponse", 3 | "parent": "TwitterConnect", 4 | "properties": [ 5 | { 6 | "name": "userName", 7 | "description": "Twitter Username", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "userId", 13 | "description": "Twitter User ID", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "secret", 19 | "description": "Twitter OAuth Secret", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "token", 25 | "description": "Twitter OAuth Token", 26 | "type": "string", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/GoogleMaps.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GoogleMaps", 3 | "members": [ 4 | { 5 | "name": "isAvailable", 6 | "description": "Checks if a map object has been created and is available.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "create", 12 | "description": "Creates a new GoogleMap instance", 13 | "params": [ 14 | { 15 | "name": "element", 16 | "description": "Element ID or reference to attach the map to", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "options", 22 | "description": "Options", 23 | "type": "any", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/ThemeableBrowser.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ThemeableBrowser", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Creates a browser instance", 7 | "params": [ 8 | { 9 | "name": "url", 10 | "description": "URL to open", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "target", 16 | "description": "Target", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "styleOptions", 22 | "description": "Themeable browser options", 23 | "type": "ThemeableBrowserOptions", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/VideoPlayer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VideoPlayer", 3 | "members": [ 4 | { 5 | "name": "play", 6 | "description": "Plays the video from the passed url.", 7 | "params": [ 8 | { 9 | "name": "fileUrl", 10 | "description": "File url to the video.", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "options", 16 | "description": "Optional video playback settings. See options above.", 17 | "type": "VideoOptions", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "close", 24 | "description": "Stops the video playback immediatly.", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Zip.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Zip", 3 | "members": [ 4 | { 5 | "name": "unzip", 6 | "description": "Extracts files from a ZIP archive", 7 | "params": [ 8 | { 9 | "name": "sourceZip", 10 | "description": "Source ZIP file", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "destUrl", 16 | "description": "Destination folder", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "onProgress", 22 | "description": "optional callback to be called on progress update", 23 | "type": "Function", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/HotspotNetworkConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HotspotNetworkConfig", 3 | "parent": "Hotspot", 4 | "properties": [ 5 | { 6 | "name": "deviceIPAddress", 7 | "description": "Device IP Address", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "deviceMacAddress", 13 | "description": "Device MAC Address", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "gatewayIPAddress", 19 | "description": "Gateway IP Address", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "gatewayMacAddress", 25 | "description": "Gateway MAC Address", 26 | "type": "string", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/DeviceAccounts.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceAccounts", 3 | "members": [ 4 | { 5 | "name": "get", 6 | "description": "Gets all accounts registered on the Android Device", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "getByType", 12 | "description": "Get all accounts registered on Android device for requested type", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "getEmails", 18 | "description": "Get all emails registered on Android device (accounts with 'com.google' type)", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "getEmail", 24 | "description": "Get the first email registered on Android device", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CaptureVideoOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CaptureVideoOptions", 3 | "parent": "MediaCapture", 4 | "properties": [ 5 | { 6 | "name": "limit", 7 | "description": "Maximum number of video clips to record. This value is ignored on iOS, only one video clip can be taken per invocation.", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "duration", 13 | "description": "Maximum duration per video clip. This will be ignored on BlackBerry.", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "quality", 19 | "description": "Quality of the video. This parameter can only be used with Android.", 20 | "type": "number", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/HttpdOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HttpdOptions", 3 | "parent": "Httpd", 4 | "properties": [ 5 | { 6 | "name": "www_root", 7 | "description": "The public root directory for your web server. This path is relative to your app's www directory.Default is current directory.", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "port", 13 | "description": "The port number to use.Default is 8888", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "localhost_only", 19 | "description": "Setting this option to false will allow remote access to your web server (over any IP).Default is false.", 20 | "type": "boolean", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/NativeKeyboardUpdateMessengerOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeKeyboardUpdateMessengerOptions", 3 | "parent": "NativeKeyboard", 4 | "properties": [ 5 | { 6 | "name": "text", 7 | "description": "Replace the messenger's text by this. The current text remains if omitted.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "caretIndex", 13 | "description": "Position the cursor anywhere in the text range. Defaults to the end of the text.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "showKeyboard", 19 | "description": "If `false` or omitted no changes to the keyboard state are made.", 20 | "type": "boolean", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CircularRegion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CircularRegion", 3 | "parent": "IBeacon", 4 | "properties": [ 5 | { 6 | "name": "identifier", 7 | "description": "A unique identifier for this region.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "latitude", 13 | "description": "The latitude of this region.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "longitude", 19 | "description": "The longitude of this region.", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "radius", 25 | "description": "The radius of the geofence for this region.", 26 | "type": "number", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DeeplinkMatch.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeeplinkMatch", 3 | "parent": "Deeplinks", 4 | "properties": [ 5 | { 6 | "name": "$route", 7 | "description": "The route info for the matched route", 8 | "type": "any", 9 | "optional":false 10 | }, 11 | { 12 | "name": "$args", 13 | "description": "Any arguments passed either through route parameters or GET parameters", 14 | "type": "any", 15 | "optional":false 16 | }, 17 | { 18 | "name": "$link", 19 | "description": "The deeplink object processed from the plugin, along with anyany internal native data available as \"extras\" at the timethe route was matched (for example, Facebook sometimes adds extra data)", 20 | "type": "any", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Flashlight.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flashlight", 3 | "members": [ 4 | { 5 | "name": "available", 6 | "description": "Checks if the flashlight is available", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "switchOn", 12 | "description": "Switches the flashlight on", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "switchOff", 18 | "description": "Switches the flashlight off", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "toggle", 24 | "description": "Toggles the flashlight", 25 | "params": [ 26 | ] 27 | }, 28 | { 29 | "name": "isSwitchedOn", 30 | "description": "Checks if the flashlight is turned on.", 31 | "params": [ 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/EstimoteBeaconRegion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EstimoteBeaconRegion", 3 | "parent": "EstimoteBeacons", 4 | "properties": [ 5 | { 6 | "name": "state", 7 | "description": "", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "major", 13 | "description": "", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "minor", 19 | "description": "", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "identifier", 25 | "description": "", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "uuid", 31 | "description": "", 32 | "type": "string", 33 | "optional":false 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FlurryAnalyticsLocation.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FlurryAnalyticsLocation", 3 | "parent": "FlurryAnalytics", 4 | "properties": [ 5 | { 6 | "name": "latitude", 7 | "description": "", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "longitude", 13 | "description": "", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "verticalAccuracy", 19 | "description": "Set altitudeIt is optional and use only for iOS", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "horizontalAccuracy", 25 | "description": "Set radius about 2d pointIt is optional and use only for iOS", 26 | "type": "number", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Network.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Network", 3 | "members": [ 4 | { 5 | "name": "type", 6 | "description": "Connection type", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "downlinkMax", 12 | "description": "Downlink Max Speed", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "onchange", 18 | "description": "Returns an observable to watch connection changes", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "onDisconnect", 24 | "description": "Get notified when the device goes offline", 25 | "params": [ 26 | ] 27 | }, 28 | { 29 | "name": "onConnect", 30 | "description": "Get notified when the device goes online", 31 | "params": [ 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/CardIO.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CardIO", 3 | "members": [ 4 | { 5 | "name": "canScan", 6 | "description": "Check whether card scanning is currently available. (May vary bydevice, OS version, network connectivity, etc.)", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "scan", 12 | "description": "Scan a credit card with card.io.", 13 | "params": [ 14 | { 15 | "name": "options", 16 | "description": "Options for configuring the plugin", 17 | "type": "CardIOOptions", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "version", 24 | "description": "Retrieve the version of the card.io library. Useful when contacting support.", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/BarcodeScanResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BarcodeScanResult", 3 | "parent": "BarcodeScanner", 4 | "properties": [ 5 | { 6 | "name": "format", 7 | "description": "", 8 | "type": "'QR_CODE' | 'DATA_MATRIX' | 'UPC_E' | 'UPC_A' | 'EAN_8' | 'EAN_13' | 'CODE_128' | 'CODE_39' | 'CODE_93' | 'CODABAR' | 'ITF' | 'RSS14' | 'RSS_EXPANDED' | 'PDF417' | 'AZTEC' | 'MSI'", 9 | "optional":false 10 | }, 11 | { 12 | "name": "cancelled", 13 | "description": "", 14 | "type": "boolean", 15 | "optional":false 16 | }, 17 | { 18 | "name": "text", 19 | "description": "", 20 | "type": "string", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/camera/camera.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import {Camera, CameraOptions} from "@ionic-native/camera"; 3 | 4 | @Component({ 5 | selector: 'page-camera', 6 | templateUrl: 'camera.html' 7 | }) 8 | export class CameraPage { 9 | 10 | result; 11 | error; 12 | 13 | config: CameraOptions = { 14 | quality: 100, 15 | destinationType: 1, 16 | sourceType: 1, 17 | allowEdit: false, 18 | encodingType: 0, 19 | targetWidth: 500, 20 | targetHeight: 500, 21 | mediaType: 1, 22 | correctOrientation: false, 23 | saveToPhotoAlbum: false, 24 | cameraDirection: 0 25 | }; 26 | 27 | constructor( 28 | private camera: Camera 29 | ) {} 30 | 31 | takePicture() { 32 | this.camera.getPicture(this.config) 33 | .then(res => this.result = res) 34 | .catch(e => this.error = e); 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AnimateCameraOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AnimateCameraOptions", 3 | "parent": "GoogleMaps", 4 | "properties": [ 5 | { 6 | "name": "target", 7 | "description": "", 8 | "type": "LatLng | Array<Marker> | LatLngBounds", 9 | "optional":true 10 | }, 11 | { 12 | "name": "tilt", 13 | "description": "", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "zoom", 19 | "description": "", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "bearing", 25 | "description": "", 26 | "type": "number", 27 | "optional":true 28 | }, 29 | { 30 | "name": "duration", 31 | "description": "", 32 | "type": "number", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Brightness.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Brightness", 3 | "members": [ 4 | { 5 | "name": "setBrightness", 6 | "description": "Sets the brightness of the display.", 7 | "params": [ 8 | { 9 | "name": "Floating", 10 | "description": "number between 0 and 1 in which case 1 means 100% brightness and 0 means 0% brightness.", 11 | "type": "value", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "getBrightness", 18 | "description": "Reads the current brightness of the device display.", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "setKeepScreenOn", 24 | "description": "Keeps the screen on. Prevents the device from setting the screen to sleep.", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/InAppBrowserEvent.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "InAppBrowserEvent", 3 | "parent": "InAppBrowser", 4 | "properties": [ 5 | { 6 | "name": "type", 7 | "description": "the eventname, either loadstart, loadstop, loaderror, or exit.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "url", 13 | "description": "the URL that was loaded.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "code", 19 | "description": "the error code, only in the case of loaderror.", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "message", 25 | "description": "the error message, only in the case of loaderror.", 26 | "type": "string", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/brightness/brightness.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | Brightness 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Brightness 19 | 20 | 21 | 22 | 23 | 24 | 25 | Keep screen on 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileSystem.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileSystem", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "name", 7 | "description": "This is the name of the file system. The specifics of naming filesystems is unspecified, but a name must be unique across the list of exposed file systems.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "root", 13 | "description": "The root directory of the file system.", 14 | "type": "DirectoryEntry", 15 | "optional":false 16 | }, 17 | { 18 | "name": "toJSON", 19 | "description": "", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "encodeURIPath", 25 | "description": "", 26 | "type": "string", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DeviceMotionAccelerationData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceMotionAccelerationData", 3 | "parent": "DeviceMotion", 4 | "properties": [ 5 | { 6 | "name": "x", 7 | "description": "Amount of acceleration on the x-axis. (in m/s^2)", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "y", 13 | "description": "Amount of acceleration on the y-axis. (in m/s^2)", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "z", 19 | "description": "Amount of acceleration on the z-axis. (in m/s^2)", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "timestamp", 25 | "description": "Creation timestamp in milliseconds.", 26 | "type": "any", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Base64ToGallery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Base64ToGallery", 3 | "members": [ 4 | { 5 | "name": "base64ToGallery", 6 | "description": "Converts a base64 string to an image file in the device gallery", 7 | "params": [ 8 | { 9 | "name": "data", 10 | "description": "The actual base64 string that you want to save", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "options", 16 | "description": "An object with properties: prefix: string, mediaScanner: boolean. Prefix will be prepended to the filename. If true, mediaScanner runs Media Scanner on Android and saves to Camera Roll on iOS; if false, saves to Library folder on iOS.", 17 | "type": "any", 18 | "optional": true 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileUploadResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileUploadResult", 3 | "parent": "Transfer", 4 | "properties": [ 5 | { 6 | "name": "bytesSent", 7 | "description": "The number of bytes sent to the server as part of the upload.", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "responseCode", 13 | "description": "The HTTP response code returned by the server.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "response", 19 | "description": "The HTTP response returned by the server.", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "headers", 25 | "description": "The HTTP response headers by the server.", 26 | "type": "{ [s: string]: any; }", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/action-sheet/action-sheet.ts: -------------------------------------------------------------------------------- 1 | import {Component} from '@angular/core'; 2 | import {ActionSheet, ActionSheetOptions} from "@ionic-native/action-sheet"; 3 | 4 | @Component({ 5 | selector: 'page-action-sheet', 6 | templateUrl: 'action-sheet.html' 7 | }) 8 | export class ActionSheetPage { 9 | 10 | result; 11 | error; 12 | 13 | constructor( 14 | private actionSheet: ActionSheet 15 | ) {} 16 | 17 | showActionSheet() { 18 | const options: ActionSheetOptions = { 19 | buttonLabels: ['An option', 'Another option', 'A third option', 'Cancel'], 20 | title: 'A Native Action Sheet', 21 | androidTheme: this.actionSheet.ANDROID_THEMES.THEME_DEVICE_DEFAULT_DARK, 22 | destructiveButtonLast: true 23 | }; 24 | 25 | this.actionSheet.show(options) 26 | .then(res => { 27 | this.result = res; 28 | }) 29 | .catch(e => this.error = e); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/PhonegapLocalNotifications.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PhonegapLocalNotifications", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "A global object that lets you interact with the Notification API.", 7 | "params": [ 8 | { 9 | "name": "title", 10 | "description": "Title of the local notification.", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "Options", 16 | "description": "An object containing optional property/value pairs.", 17 | "type": "LocalNotificationOptions", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "requestPermission", 24 | "description": "requests permission from the user to show a local notification.", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/SMS.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SMS", 3 | "members": [ 4 | { 5 | "name": "send", 6 | "description": "Sends sms to a number", 7 | "params": [ 8 | { 9 | "name": "phoneNumber", 10 | "description": "Phone number", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "message", 16 | "description": "Message", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "options", 22 | "description": "Options", 23 | "type": "SmsOptions", 24 | "optional": false 25 | } 26 | ] 27 | }, 28 | { 29 | "name": "hasPermission", 30 | "description": "This function lets you know if the app has permission to send SMS", 31 | "params": [ 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/NotificationEventAdditionalData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NotificationEventAdditionalData", 3 | "parent": "Push", 4 | "properties": [ 5 | { 6 | "name": "foreground", 7 | "description": "Whether the notification was received while the app was in the foreground", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "collapse_key", 13 | "description": "", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "coldstart", 19 | "description": "", 20 | "type": "boolean", 21 | "optional":true 22 | }, 23 | { 24 | "name": "from", 25 | "description": "", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "notId", 31 | "description": "", 32 | "type": "string", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Broadcaster.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Broadcaster", 3 | "members": [ 4 | { 5 | "name": "addEventListener", 6 | "description": "This function listen to an event sent from the native code", 7 | "params": [ 8 | { 9 | "name": "eventName", 10 | "description": "", 11 | "type": "string", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "fireNativeEvent", 18 | "description": "This function sends data to the native code", 19 | "params": [ 20 | { 21 | "name": "eventName", 22 | "description": "", 23 | "type": "string", 24 | "optional": false 25 | }, 26 | { 27 | "name": "eventData", 28 | "description": "", 29 | "type": "any", 30 | "optional": false 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AppUrls.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppUrls", 3 | "parent": "AppRate", 4 | "properties": [ 5 | { 6 | "name": "ios", 7 | "description": "application id in AppStore", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "android", 13 | "description": "application URL in GooglePlay", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "windows", 19 | "description": "application URL in Windows Store", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "blackberry", 25 | "description": "application URL in AppWorld", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "windows8", 31 | "description": "application URL in WindowsStore", 32 | "type": "string", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SpeechRecognitionListeningOptionsAndroid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SpeechRecognitionListeningOptionsAndroid", 3 | "parent": "SpeechRecognition", 4 | "properties": [ 5 | { 6 | "name": "language", 7 | "description": "used language for recognition (default `\"en-US\"`)", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "matches", 13 | "description": "number of return matches (maximum number of matches)", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "prompt", 19 | "description": "displayed prompt of listener popup window", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "showPopup", 25 | "description": "display listener popup window with prompt (default `true`)", 26 | "type": "boolean", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/pages/dynamic-plugin/dyanmic-plugin.ts: -------------------------------------------------------------------------------- 1 | import {Component, ReflectiveInjector} from '@angular/core'; 2 | import {NavParams} from "ionic-angular"; 3 | 4 | @Component({ 5 | selector: 'dynamic-plugin-page', 6 | templateUrl: 'dynamic-plugin.html' 7 | }) 8 | export class DynamicPluginPage { 9 | 10 | plugin: any; 11 | pluginName: string = 'Plugin'; 12 | sigName: string; 13 | 14 | constructor( 15 | private navParams: NavParams 16 | ) { 17 | // get plugin provider 18 | const pluginProvider = navParams.get('provider'); 19 | 20 | // get plugin name 21 | this.pluginName = navParams.get('name'); 22 | 23 | // get signature name if available 24 | this.sigName = navParams.get('sig'); 25 | 26 | // inject provider 27 | const injector = ReflectiveInjector.resolveAndCreate([pluginProvider]); 28 | 29 | // set the plugin property to the injected plugin 30 | this.plugin = injector.get(pluginProvider); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Contacts.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Contacts", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Create a single contact.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "find", 12 | "description": "Search for contacts in the Contacts list.", 13 | "params": [ 14 | { 15 | "name": "fields", 16 | "description": "Contact fields to be used as a search qualifier", 17 | "type": "ContactFieldType[]", 18 | "optional": false 19 | }, 20 | { 21 | "name": "options", 22 | "description": "Optional options for the query", 23 | "type": "IContactFindOptions", 24 | "optional": false 25 | } 26 | ] 27 | }, 28 | { 29 | "name": "pickContact", 30 | "description": "Select a single Contact.", 31 | "params": [ 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/HTTPResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HTTPResponse", 3 | "parent": "HTTP", 4 | "properties": [ 5 | { 6 | "name": "status", 7 | "description": "The status number of the response", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "data", 13 | "description": "The data that is in the response. This property usually exists when a promise returned by a request method resolves.", 14 | "type": "any", 15 | "optional":true 16 | }, 17 | { 18 | "name": "headers", 19 | "description": "The headers of the response", 20 | "type": "any", 21 | "optional":false 22 | }, 23 | { 24 | "name": "error", 25 | "description": "Error response from the server. This property usually exists when a promise returned by a request method rejects.", 26 | "type": "string", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ThreeDeeTouchQuickAction.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ThreeDeeTouchQuickAction", 3 | "parent": "ThreeDeeTouch", 4 | "properties": [ 5 | { 6 | "name": "type", 7 | "description": "Type that can be used in the onHomeIconPressed callback", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "title", 13 | "description": "Title", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "subtitle", 19 | "description": "Subtitle", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "iconType", 25 | "description": "Icon type. Case insensitive", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "iconTemplate", 31 | "description": "Icon template", 32 | "type": "string", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AdExtras.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdExtras", 3 | "parent": "AdMob", 4 | "properties": [ 5 | { 6 | "name": "color_bg", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "color_bg_top", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "color_border", 19 | "description": "", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "color_link", 25 | "description": "", 26 | "type": "string", 27 | "optional":false 28 | }, 29 | { 30 | "name": "color_text", 31 | "description": "", 32 | "type": "string", 33 | "optional":false 34 | }, 35 | { 36 | "name": "color_url", 37 | "description": "", 38 | "type": "string", 39 | "optional":false 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/NativeRingtones.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeRingtones", 3 | "members": [ 4 | { 5 | "name": "getRingtone", 6 | "description": "Get the ringtone list of the device", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "playRingtone", 12 | "description": "This function starts playing the ringtone", 13 | "params": [ 14 | { 15 | "name": "ringtoneUri", 16 | "description": "The path to the ringtone file", 17 | "type": "string", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "stopRingtone", 24 | "description": "This function stops playing the ringtone", 25 | "params": [ 26 | { 27 | "name": "ringtoneUri", 28 | "description": "The path to the ringtone file", 29 | "type": "string", 30 | "optional": false 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/pages/media/media.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | Media 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IPedometerData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IPedometerData", 3 | "parent": "Pedometer", 4 | "properties": [ 5 | { 6 | "name": "startDate", 7 | "description": "", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "endDate", 13 | "description": "", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "numberOfSteps", 19 | "description": "", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "distance", 25 | "description": "", 26 | "type": "number", 27 | "optional":false 28 | }, 29 | { 30 | "name": "floorsAscended", 31 | "description": "", 32 | "type": "number", 33 | "optional":false 34 | }, 35 | { 36 | "name": "floorsDescended", 37 | "description": "", 38 | "type": "number", 39 | "optional":false 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/TrimOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TrimOptions", 3 | "parent": "VideoEditor", 4 | "properties": [ 5 | { 6 | "name": "fileUri", 7 | "description": "Path to input video.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "trimStart", 13 | "description": "Time to start trimming in seconds", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "trimEnd", 19 | "description": "Time to end trimming in seconds", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "outputFileName", 25 | "description": "Output file name", 26 | "type": "string", 27 | "optional":false 28 | }, 29 | { 30 | "name": "progress", 31 | "description": "Progress on transcode. info will be a number from 0 to 100", 32 | "type": "(info: any) => void", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/StreamingAudioOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "StreamingAudioOptions", 3 | "parent": "StreamingMedia", 4 | "properties": [ 5 | { 6 | "name": "bgColor", 7 | "description": "", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "bgImage", 13 | "description": "", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "bgImageScale", 19 | "description": "", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "initFullscreen", 25 | "description": "", 26 | "type": "boolean", 27 | "optional":true 28 | }, 29 | { 30 | "name": "successCallback", 31 | "description": "", 32 | "type": "Function", 33 | "optional":true 34 | }, 35 | { 36 | "name": "errorCallback", 37 | "description": "", 38 | "type": "Function", 39 | "optional":true 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/components/plugin-methods/plugin-methods.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |

Properties

6 |
7 | 11 |
12 | 13 | 14 | 15 | 16 |

Methods

17 |

Swipe to the left to call with params

18 |

Click on the method name to call. You will be prompted for params if needed.

19 |
20 | 21 | 25 | 26 |
27 | 28 |
29 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/AdMobFree.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdMobFree", 3 | "members": [ 4 | { 5 | "name": "events", 6 | "description": "Convenience object to get event names", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "on", 12 | "description": "Watch an event", 13 | "params": [ 14 | { 15 | "name": "event", 16 | "description": "event name", 17 | "type": "string", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "banner", 24 | "description": "Returns the AdMobFreeBanner object", 25 | "params": [ 26 | ] 27 | }, 28 | { 29 | "name": "interstitial", 30 | "description": "Returns the AdMobFreeInterstitial object", 31 | "params": [ 32 | ] 33 | }, 34 | { 35 | "name": "rewardVideo", 36 | "description": "Returns the AdMobFreeRewardVideo object", 37 | "params": [ 38 | ] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/DeviceFeedback.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceFeedback", 3 | "members": [ 4 | { 5 | "name": "acoustic", 6 | "description": "Provide sound feedback to user, nevertheless respect user's settings and current active device profile as native feedback do.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "haptic", 12 | "description": "Provide vibrate feedback to user, nevertheless respect user's tactile feedback setting as native feedback do.", 13 | "params": [ 14 | { 15 | "name": "type", 16 | "description": "Specify type of vibration feedback. 0 for long press, 1 for virtual key, or 3 for keyboard tap.", 17 | "type": "Number", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "isFeedbackEnabled", 24 | "description": "Check if haptic and acoustic feedback is enabled by user settings.", 25 | "params": [ 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/NativeGeocoder.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeGeocoder", 3 | "members": [ 4 | { 5 | "name": "reverseGeocode", 6 | "description": "Reverse geocode a given latitude and longitude to find location address", 7 | "params": [ 8 | { 9 | "name": "latitude", 10 | "description": "The latitude", 11 | "type": "number", 12 | "optional": false 13 | }, 14 | { 15 | "name": "longitude", 16 | "description": "The longitude", 17 | "type": "number", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "forwardGeocode", 24 | "description": "Forward geocode a given address to find coordinates", 25 | "params": [ 26 | { 27 | "name": "addressString", 28 | "description": "The address to be geocoded", 29 | "type": "string", 30 | "optional": false 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/SpeechRecognition.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SpeechRecognition", 3 | "members": [ 4 | { 5 | "name": "isRecognitionAvailable", 6 | "description": "Check feature available", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "startListening", 12 | "description": "Start the recognition process", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "stopListening", 18 | "description": "Stop the recognition process", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "getSupportedLanguages", 24 | "description": "Get the list of supported languages", 25 | "params": [ 26 | ] 27 | }, 28 | { 29 | "name": "hasPermission", 30 | "description": "Check permission", 31 | "params": [ 32 | ] 33 | }, 34 | { 35 | "name": "requestPermission", 36 | "description": "Request permissions", 37 | "params": [ 38 | ] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/InstallOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "InstallOptions", 3 | "parent": "CodePush", 4 | "properties": [ 5 | { 6 | "name": "installMode", 7 | "description": "Used to specify the InstallMode used for the install operation. This is optional and defaults to InstallMode.ON_NEXT_RESTART.", 8 | "type": "InstallMode", 9 | "optional":true 10 | }, 11 | { 12 | "name": "minimumBackgroundDuration", 13 | "description": "If installMode === ON_NEXT_RESUME, the minimum amount of time (in seconds) which needs to pass with the app in the background before an update install occurs when the app is resumed.", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "mandatoryInstallMode", 19 | "description": "Used to specify the InstallMode used for the install operation if the update is mandatory. This is optional and defaults to InstallMode.IMMEDIATE.", 20 | "type": "InstallMode", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/LocalNotificationOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LocalNotificationOptions", 3 | "parent": "PLNObject", 4 | "properties": [ 5 | { 6 | "name": "dir", 7 | "description": "Sets the direction of the notification. One of \"auto\", \"ltr\" or \"rtl\"", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "lang", 13 | "description": "Sets the language of the notification", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "body", 19 | "description": "Sets the body of the notification", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "tag", 25 | "description": "Sets the identifying tag of the notification", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "icon", 31 | "description": "Sets the icon of the notification", 32 | "type": "string", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CameraPopoverOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CameraPopoverOptions", 3 | "parent": "Camera", 4 | "properties": [ 5 | { 6 | "name": "x", 7 | "description": "", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "y", 13 | "description": "", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "width", 19 | "description": "", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "height", 25 | "description": "", 26 | "type": "number", 27 | "optional":false 28 | }, 29 | { 30 | "name": "arrowDir", 31 | "description": "Direction the arrow on the popover should point. Defined in Camera.PopoverArrowDirectionMatches iOS UIPopoverArrowDirection constants. ARROW_UP : 1, ARROW_DOWN : 2, ARROW_LEFT : 4, ARROW_RIGHT : 8, ARROW_ANY : 15", 32 | "type": "number", 33 | "optional":false 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IContactFindOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IContactFindOptions", 3 | "parent": "Contacts", 4 | "properties": [ 5 | { 6 | "name": "filter", 7 | "description": "The search string used to find navigator.contacts.", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "multiple", 13 | "description": "Determines if the find operation returns multiple navigator.contacts. Defaults to false.", 14 | "type": "boolean", 15 | "optional":true 16 | }, 17 | { 18 | "name": "desiredFields", 19 | "description": "Contact fields to be returned back. If specified, the resulting Contact object only features values for these fields.", 20 | "type": "string[]", 21 | "optional":true 22 | }, 23 | { 24 | "name": "hasPhoneNumber", 25 | "description": "(Android only): Filters the search to only return contacts with a phone number informed.", 26 | "type": "boolean", 27 | "optional":true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IContactOrganization.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IContactOrganization", 3 | "parent": "Contacts", 4 | "properties": [ 5 | { 6 | "name": "pref", 7 | "description": "Set to true if this ContactOrganization contains the user's preferred value.", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "type", 13 | "description": "A string that indicates what type of field this is, home for example.", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "name", 19 | "description": "The name of the organization.", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "department", 25 | "description": "The department the contract works for.", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "title", 31 | "description": "The contact's title at the organization.", 32 | "type": "string", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/SyncOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SyncOptions", 3 | "parent": "CodePush", 4 | "properties": [ 5 | { 6 | "name": "ignoreFailedUpdates", 7 | "description": "Optional boolean flag. If set, previous updates which were rolled back will be ignored. Defaults to true.", 8 | "type": "boolean", 9 | "optional":true 10 | }, 11 | { 12 | "name": "updateDialog", 13 | "description": "Used to enable, disable or customize the user interaction during sync.If set to false, user interaction will be disabled. If set to true, the user will be alerted or asked to confirm new updates, based on whether the update is mandatory.To customize the user dialog, this option can be set to a custom UpdateDialogOptions instance.", 14 | "type": "boolean | UpdateDialogOptions", 15 | "optional":true 16 | }, 17 | { 18 | "name": "deploymentKey", 19 | "description": "Overrides the config.xml deployment key when checking for updates.", 20 | "type": "string", 21 | "optional":true 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/pages/brightness/brightness.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { Platform } from 'ionic-angular'; 3 | import { Brightness } from "@ionic-native/brightness"; 4 | 5 | @Component({ 6 | selector: 'page-brightness', 7 | templateUrl: 'brightness.html' 8 | }) 9 | export class BrightnessPage { 10 | 11 | brightness: number = 0; 12 | 13 | _keepScreenOn: boolean = false; 14 | 15 | set keepScreenOn(val: boolean) { 16 | this._keepScreenOn = val; 17 | this.brightnessPlugin.setKeepScreenOn(val); 18 | } 19 | 20 | get keepScreenOn(): boolean { 21 | return this._keepScreenOn; 22 | } 23 | 24 | constructor( 25 | private brightnessPlugin: Brightness 26 | , private platform: Platform 27 | ) { 28 | platform.ready().then(() => { 29 | brightnessPlugin.getBrightness() 30 | .then(val => { 31 | this.brightness = val * 100; 32 | }) 33 | .catch(() => {}); 34 | }); 35 | } 36 | 37 | updateBrightness() { 38 | this.brightnessPlugin.setBrightness(this.brightness / 100).catch(() => {}); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/BarcodeScanner.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BarcodeScanner", 3 | "members": [ 4 | { 5 | "name": "Encode", 6 | "description": "", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "scan", 12 | "description": "Open the barcode scanner.", 13 | "params": [ 14 | { 15 | "name": "options", 16 | "description": "Optional options to pass to the scanner", 17 | "type": "BarcodeScannerOptions", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "encode", 24 | "description": "Encodes data into a barcode.NOTE: not well supported on Android", 25 | "params": [ 26 | { 27 | "name": "type", 28 | "description": "Type of encoding", 29 | "type": "string", 30 | "optional": false 31 | }, 32 | { 33 | "name": "data", 34 | "description": "Data to encode", 35 | "type": "any", 36 | "optional": false 37 | } 38 | ] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/SQLite.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SQLite", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Open or create a SQLite database file.See the plugin docs for an explanation of all options: https://github.com/litehelpers/Cordova-sqlite-storage#opening-a-database", 7 | "params": [ 8 | { 9 | "name": "config", 10 | "description": "database configuration", 11 | "type": "SQLiteDatabaseConfig", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "echoTest", 18 | "description": "Verify that both the Javascript and native part of this plugin are installed in your application", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "deleteDatabase", 24 | "description": "Deletes a database", 25 | "params": [ 26 | { 27 | "name": "config", 28 | "description": "database configuration", 29 | "type": "SQLiteDatabaseConfig", 30 | "optional": false 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DirectoryEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DirectoryEntry", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "createReader", 7 | "description": "Creates a new DirectoryReader to read Entries from this Directory.", 8 | "type": "DirectoryReader", 9 | "optional":false 10 | }, 11 | { 12 | "name": "getFile", 13 | "description": "Creates or looks up a file.", 14 | "type": "void", 15 | "optional":false 16 | }, 17 | { 18 | "name": "getDirectory", 19 | "description": "Creates or looks up a directory.", 20 | "type": "void", 21 | "optional":false 22 | }, 23 | { 24 | "name": "removeRecursively", 25 | "description": "Deletes a directory and all of its contents, if any. In the event of an error [e.g. trying to delete a directory that contains a file that cannot be removed], some of the contents of the directory may be deleted. It is an error to attempt to delete the root directory of a filesystem.", 26 | "type": "void", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ImagePickerOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImagePickerOptions", 3 | "parent": "ImagePicker", 4 | "properties": [ 5 | { 6 | "name": "maximumImagesCount", 7 | "description": "max images to be selected, defaults to 15. If this is set to 1, upon selection of a single image, the plugin will return it. (Android only)", 8 | "type": "number", 9 | "optional":true 10 | }, 11 | { 12 | "name": "width", 13 | "description": "Max width to allow images to be", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "height", 19 | "description": "Max height to allow images to be", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "quality", 25 | "description": "Quality of images, defaults to 100", 26 | "type": "number", 27 | "optional":true 28 | }, 29 | { 30 | "name": "outputType", 31 | "description": "Output type, defaults to 0 (FILE_URI).", 32 | "type": "number", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/pages/home/home.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | import { NavController, IonicPage, Platform } from 'ionic-angular'; 4 | 5 | import Plugins from '../../plugins'; 6 | 7 | @IonicPage() 8 | @Component({ 9 | selector: 'page-home', 10 | templateUrl: 'home.html' 11 | }) 12 | export class HomePage { 13 | 14 | plugins; 15 | 16 | constructor( 17 | private navCtrl: NavController, 18 | private platform: Platform 19 | ) { 20 | let plugins = []; 21 | Plugins.forEach(plugin => { 22 | 23 | if (plugin.params && plugin.params.provider) { 24 | const platforms = plugin.params.provider.getSupportedPlatforms(); 25 | if (platforms && !platforms.find(plt => platform.is(plt.toLowerCase()))) { 26 | console.log('Plugin ' + plugin.params.provider.getPluginName() + ' is not supported on this platform.'); 27 | return; 28 | } 29 | } 30 | 31 | plugins.push(plugin); 32 | 33 | }); 34 | 35 | this.plugins = plugins; 36 | } 37 | 38 | show(plugin: any) { 39 | this.navCtrl.push(plugin.component, plugin.params); 40 | } 41 | 42 | } 43 | 44 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FileEncryption.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileEncryption", 3 | "members": [ 4 | { 5 | "name": "encrypt", 6 | "description": "Enrcypt a file", 7 | "params": [ 8 | { 9 | "name": "file", 10 | "description": "A string representing a local URI", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "key", 16 | "description": "A key for the crypto operations", 17 | "type": "string", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "decrypt", 24 | "description": "Decrypt a file", 25 | "params": [ 26 | { 27 | "name": "file", 28 | "description": "A string representing a local URI", 29 | "type": "string", 30 | "optional": false 31 | }, 32 | { 33 | "name": "key", 34 | "description": "A key for the crypto operations", 35 | "type": "string", 36 | "optional": false 37 | } 38 | ] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/InAppBrowser.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "InAppBrowser", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Opens a URL in a new InAppBrowser instance, the current browser instance, or the system browser.", 7 | "params": [ 8 | { 9 | "name": "url", 10 | "description": "The URL to load.", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "target", 16 | "description": "The target in which to load the URL, an optional parameter that defaults to _self.", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "options", 22 | "description": "Options for the InAppBrowser. Optional, defaulting to: location=yes. The options string must not contain any blank space, and each feature's name/value pairs must be separated by a comma. Feature names are case insensitive.", 23 | "type": "string", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ThemeableBrowserButton.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ThemeableBrowserButton", 3 | "parent": "ThemeableBrowser", 4 | "properties": [ 5 | { 6 | "name": "wwwImage", 7 | "description": "", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "image", 13 | "description": "", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "wwwImagePressed", 19 | "description": "", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "imagePressed", 25 | "description": "", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "wwwImageDensity", 31 | "description": "", 32 | "type": "number", 33 | "optional":true 34 | }, 35 | { 36 | "name": "align", 37 | "description": "", 38 | "type": "string", 39 | "optional":true 40 | }, 41 | { 42 | "name": "event", 43 | "description": "", 44 | "type": "string", 45 | "optional":true 46 | } 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/DeviceOrientationCompassHeading.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DeviceOrientationCompassHeading", 3 | "parent": "DeviceOrientation", 4 | "properties": [ 5 | { 6 | "name": "magneticHeading", 7 | "description": "The heading in degrees from 0-359.99 at a single moment in time. (Number)", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "trueHeading", 13 | "description": "The heading relative to the geographic North Pole in degrees 0-359.99 at a single moment in time. A negative value indicates that the true heading can't be determined. (Number)", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "headingAccuracy", 19 | "description": "The deviation in degrees between the reported heading and the true heading. (Number)", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "timestamp", 25 | "description": "The time at which this heading was determined. (DOMTimeStamp)", 26 | "type": "any", 27 | "optional":false 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/HotspotConnectionInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HotspotConnectionInfo", 3 | "parent": "Hotspot", 4 | "properties": [ 5 | { 6 | "name": "SSID", 7 | "description": "The service set identifier (SSID) of the current 802.11 network.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "BSSID", 13 | "description": "The basic service set identifier (BSSID) of the current access point.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "linkSpeed", 19 | "description": "The current link speed in Mbps", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "IPAddress", 25 | "description": "The IP Address", 26 | "type": "string", 27 | "optional":false 28 | }, 29 | { 30 | "name": "networkID", 31 | "description": "Each configured network has a unique small integer ID, used to identify the network when performing operations on the supplicant.", 32 | "type": "string", 33 | "optional":false 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ILocalPackage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ILocalPackage", 3 | "parent": "CodePush", 4 | "properties": [ 5 | { 6 | "name": "localPath", 7 | "description": "The local storage path where this package is located.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "isFirstRun", 13 | "description": "Indicates if the current application run is the first one after the package was applied.", 14 | "type": "boolean", 15 | "optional":false 16 | }, 17 | { 18 | "name": "install", 19 | "description": "Applies this package to the application. The application will be reloaded with this package and on every application launch this package will be loaded.On the first run after the update, the application will wait for a codePush.notifyApplicationReady() call. Once this call is made, the install operation is considered a success.Otherwise, the install operation will be marked as failed, and the application is reverted to its previous version on the next run.", 20 | "type": "void", 21 | "optional":false 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/ScreenOrientation.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ScreenOrientation", 3 | "members": [ 4 | { 5 | "name": "ORIENTATIONS", 6 | "description": "Convenience enum for possible orientations", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "onChange", 12 | "description": "Listen to orientation change event", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "lock", 18 | "description": "Lock the orientation to the passed value.See below for accepted values", 19 | "params": [ 20 | { 21 | "name": "orientation", 22 | "description": "The orientation which should be locked. Accepted values see table above.", 23 | "type": "string", 24 | "optional": false 25 | } 26 | ] 27 | }, 28 | { 29 | "name": "unlock", 30 | "description": "Unlock and allow all orientations.", 31 | "params": [ 32 | ] 33 | }, 34 | { 35 | "name": "type", 36 | "description": "Get the current orientation of the device.", 37 | "params": [ 38 | ] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/pages/plugin-params/plugin-params.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import {AlertController, ModalController, NavParams, ViewController} from 'ionic-angular'; 3 | import { ObjectCreator } from '../../object-creator'; 4 | 5 | @Component({ 6 | selector: 'page-plugin-params', 7 | templateUrl: 'plugin-params.html' 8 | }) 9 | export class PluginParamsPage extends ObjectCreator { 10 | 11 | constructor( 12 | navParams: NavParams 13 | , viewCtrl: ViewController 14 | , alertCtrl: AlertController 15 | , modalCtrl: ModalController 16 | ) { 17 | super(navParams, viewCtrl, alertCtrl, modalCtrl); 18 | 19 | if (this.signature) { 20 | this.signature.params.forEach(param => this._addItem(this.parseType(param.type), null, param.name, param.type, param.optional)); 21 | } 22 | 23 | } 24 | 25 | save() { 26 | const params = this.values.map((p, i) => { 27 | switch (this.items[i].type) { 28 | case 'number': 29 | return Number(p); 30 | case 'boolean': 31 | return Boolean(p); 32 | } 33 | return p; 34 | }); 35 | this.viewCtrl.dismiss(params); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/MediaPlugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MediaPlugin", 3 | "members": [ 4 | { 5 | "name": "create", 6 | "description": "Open a media file", 7 | "params": [ 8 | { 9 | "name": "src", 10 | "description": "A URI containing the audio content.", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "onStatusUpdate", 16 | "description": "A callback function to be invoked when the status of the file changes", 17 | "type": "MediaStatusUpdateCallback", 18 | "optional": true 19 | }, 20 | { 21 | "name": "onSuccess", 22 | "description": "A callback function to be invoked after the current play, record, or stop action is completed", 23 | "type": "Function", 24 | "optional": true 25 | }, 26 | { 27 | "name": "onError", 28 | "description": "A callback function is be invoked if an error occurs.", 29 | "type": "MediaErrorCallback", 30 | "optional": true 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IContactName.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IContactName", 3 | "parent": "Contacts", 4 | "properties": [ 5 | { 6 | "name": "formatted", 7 | "description": "The complete name of the contact.", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "familyName", 13 | "description": "The contact's family name.", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "givenName", 19 | "description": "The contact's given name.", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "middleName", 25 | "description": "The contact's middle name.", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "honorificPrefix", 31 | "description": "The contact's prefix (example Mr. or Dr.)", 32 | "type": "string", 33 | "optional":true 34 | }, 35 | { 36 | "name": "honorificSuffix", 37 | "description": "The contact's suffix (example Esq.).", 38 | "type": "string", 39 | "optional":true 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/MediaFileData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MediaFileData", 3 | "parent": "VideoCapturePlus", 4 | "properties": [ 5 | { 6 | "name": "codecs", 7 | "description": "The actual format of the audio and video content.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "bitrate", 13 | "description": "The average bitrate of the content. The value is zero for images.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "height", 19 | "description": "The height of the image or video in pixels. The value is zero for audio clips.", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "width", 25 | "description": "The width of the image or video in pixels. The value is zero for audio clips.", 26 | "type": "number", 27 | "optional":false 28 | }, 29 | { 30 | "name": "duration", 31 | "description": "The length of the video or sound clip in seconds. The value is zero for images.", 32 | "type": "number", 33 | "optional":false 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/LocalFileSystem.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LocalFileSystem", 3 | "parent": "File", 4 | "properties": [ 5 | { 6 | "name": "TEMPORARY", 7 | "description": "Used for storage with no guarantee of persistence.", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "PERSISTENT", 13 | "description": "Used for storage that should not be removed by the user agent without application or user permission.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "requestFileSystem", 19 | "description": "Requests a filesystem in which to store application data.", 20 | "type": "void", 21 | "optional":false 22 | }, 23 | { 24 | "name": "resolveLocalFileSystemURL", 25 | "description": "Allows the user to look up the Entry for a file or directory referred to by a local URL.", 26 | "type": "void", 27 | "optional":false 28 | }, 29 | { 30 | "name": "webkitRequestFileSystem", 31 | "description": "see requestFileSystem.", 32 | "type": "void", 33 | "optional":false 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/StripeBankAccountParams.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "StripeBankAccountParams", 3 | "parent": "Stripe", 4 | "properties": [ 5 | { 6 | "name": "routing_number", 7 | "description": "Routing number.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "account_number", 13 | "description": "Account number.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "currency", 19 | "description": "Currency code. Example: `USD`.", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "country", 25 | "description": "Country code. Example: `US`.", 26 | "type": "string", 27 | "optional":false 28 | }, 29 | { 30 | "name": "account_holder_name", 31 | "description": "Account holder name.", 32 | "type": "string", 33 | "optional":true 34 | }, 35 | { 36 | "name": "account_holder_type", 37 | "description": "Account holder type. This can be `individual` or `company`.", 38 | "type": "string", 39 | "optional":true 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/CreateThumbnailOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CreateThumbnailOptions", 3 | "parent": "VideoEditor", 4 | "properties": [ 5 | { 6 | "name": "fileUri", 7 | "description": "The path to the video on the device", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "outputFileName", 13 | "description": "The file name for the JPEG image", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "atTime", 19 | "description": "Location in the video to create the thumbnail (in seconds)", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "width", 25 | "description": "Width of the thumbnail.", 26 | "type": "number", 27 | "optional":true 28 | }, 29 | { 30 | "name": "height", 31 | "description": "Height of the thumbnail.", 32 | "type": "number", 33 | "optional":true 34 | }, 35 | { 36 | "name": "quality", 37 | "description": "Quality of the thumbnail (between 1 and 100).", 38 | "type": "number", 39 | "optional":true 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/MediaFile.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MediaFile", 3 | "parent": "VideoCapturePlus", 4 | "properties": [ 5 | { 6 | "name": "name", 7 | "description": "The name of the file, without path information.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "fullPath", 13 | "description": "The full path of the file, including the name.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "type", 19 | "description": "The file's mime type", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "lastModifiedDate", 25 | "description": "The date and time when the file was last modified.", 26 | "type": "Date", 27 | "optional":false 28 | }, 29 | { 30 | "name": "size", 31 | "description": "The size of the file, in bytes.", 32 | "type": "number", 33 | "optional":false 34 | }, 35 | { 36 | "name": "getFormatData", 37 | "description": "Retrieves the format information of the media file.", 38 | "type": "any", 39 | "optional":false 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/VideoInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "VideoInfo", 3 | "parent": "VideoEditor", 4 | "properties": [ 5 | { 6 | "name": "width", 7 | "description": "Width of the video in pixels.", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "height", 13 | "description": "Height of the video in pixels.", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "orientation", 19 | "description": "Orientation of the video. Will be either portrait or landscape.", 20 | "type": "'portrait' | 'landscape'", 21 | "optional":false 22 | }, 23 | { 24 | "name": "duration", 25 | "description": "Duration of the video in seconds.", 26 | "type": "number", 27 | "optional":false 28 | }, 29 | { 30 | "name": "size", 31 | "description": "Size of the video in bytes.", 32 | "type": "number", 33 | "optional":false 34 | }, 35 | { 36 | "name": "bitrate", 37 | "description": "Bitrate of the video in bits per second.", 38 | "type": "number", 39 | "optional":false 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/FileOpener.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileOpener", 3 | "members": [ 4 | { 5 | "name": "open", 6 | "description": "Open an file", 7 | "params": [ 8 | { 9 | "name": "filePath", 10 | "description": "File Path", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "fileMIMEType", 16 | "description": "File MIME Type", 17 | "type": "string", 18 | "optional": false 19 | } 20 | ] 21 | }, 22 | { 23 | "name": "uninstall", 24 | "description": "Uninstalls a package", 25 | "params": [ 26 | { 27 | "name": "packageId", 28 | "description": "Package ID", 29 | "type": "string", 30 | "optional": false 31 | } 32 | ] 33 | }, 34 | { 35 | "name": "appIsInstalled", 36 | "description": "Check if an app is already installed", 37 | "params": [ 38 | { 39 | "name": "packageId", 40 | "description": "Package ID", 41 | "type": "string", 42 | "optional": false 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/SpinnerDialog.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SpinnerDialog", 3 | "members": [ 4 | { 5 | "name": "show", 6 | "description": "Shows the spinner dialog", 7 | "params": [ 8 | { 9 | "name": "title", 10 | "description": "Spinner title (shows on Android only)", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "message", 16 | "description": "Spinner message", 17 | "type": "string", 18 | "optional": false 19 | }, 20 | { 21 | "name": "cancelCallback", 22 | "description": "Set to true to set spinner not cancelable. Or provide a function to call when the user cancels the spinner.", 23 | "type": "boolean", 24 | "optional": false 25 | }, 26 | { 27 | "name": "iOSOptions", 28 | "description": "Options for iOS only", 29 | "type": "object", 30 | "optional": false 31 | } 32 | ] 33 | }, 34 | { 35 | "name": "hide", 36 | "description": "Hides the spinner dialog if visible", 37 | "params": [ 38 | ] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/PowerManagement.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PowerManagement", 3 | "members": [ 4 | { 5 | "name": "acquire", 6 | "description": "Acquire a wakelock by calling this.", 7 | "params": [ 8 | ] 9 | }, 10 | { 11 | "name": "dim", 12 | "description": "This acquires a partial wakelock, allowing the screen to be dimmed.", 13 | "params": [ 14 | ] 15 | }, 16 | { 17 | "name": "release", 18 | "description": "Release the wakelock. It's important to do this when you're finished with the wakelock, to avoid unnecessary battery drain.", 19 | "params": [ 20 | ] 21 | }, 22 | { 23 | "name": "setReleaseOnPause", 24 | "description": "By default, the plugin will automatically release a wakelock when your app is paused (e.g. when the screen is turned off, or the user switches to another app).It will reacquire the wakelock upon app resume. If you would prefer to disable this behaviour, you can use this function.", 25 | "params": [ 26 | { 27 | "name": "set", 28 | "description": "", 29 | "type": "boolean", 30 | "optional": false 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/NativeGeocoderReverseResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeGeocoderReverseResult", 3 | "parent": "NativeGeocoder", 4 | "properties": [ 5 | { 6 | "name": "street", 7 | "description": "The street.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "houseNumber", 13 | "description": "The house number.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "postalCode", 19 | "description": "The postal code.", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "city", 25 | "description": "The city.", 26 | "type": "string", 27 | "optional":false 28 | }, 29 | { 30 | "name": "district", 31 | "description": "The district.", 32 | "type": "string", 33 | "optional":false 34 | }, 35 | { 36 | "name": "countryName", 37 | "description": "The country name.", 38 | "type": "string", 39 | "optional":false 40 | }, 41 | { 42 | "name": "countryCode", 43 | "description": "The country code.", 44 | "type": "string", 45 | "optional":false 46 | } 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/IPackage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IPackage", 3 | "parent": "CodePush", 4 | "properties": [ 5 | { 6 | "name": "deploymentKey", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "description", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "label", 19 | "description": "", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "appVersion", 25 | "description": "", 26 | "type": "string", 27 | "optional":false 28 | }, 29 | { 30 | "name": "isMandatory", 31 | "description": "", 32 | "type": "boolean", 33 | "optional":false 34 | }, 35 | { 36 | "name": "packageHash", 37 | "description": "", 38 | "type": "string", 39 | "optional":false 40 | }, 41 | { 42 | "name": "packageSize", 43 | "description": "", 44 | "type": "number", 45 | "optional":false 46 | }, 47 | { 48 | "name": "failedInstall", 49 | "description": "", 50 | "type": "boolean", 51 | "optional":false 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ZeroconfService.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZeroconfService", 3 | "parent": "Zeroconf", 4 | "properties": [ 5 | { 6 | "name": "domain", 7 | "description": "", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "type", 13 | "description": "", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "name", 19 | "description": "", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "port", 25 | "description": "", 26 | "type": "number", 27 | "optional":false 28 | }, 29 | { 30 | "name": "hostname", 31 | "description": "", 32 | "type": "string", 33 | "optional":false 34 | }, 35 | { 36 | "name": "ipv4Addresses", 37 | "description": "", 38 | "type": "Array<string>", 39 | "optional":false 40 | }, 41 | { 42 | "name": "ipv6Addresses", 43 | "description": "", 44 | "type": "Array<string>", 45 | "optional":false 46 | }, 47 | { 48 | "name": "txtRecord", 49 | "description": "", 50 | "type": "any", 51 | "optional":false 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/FileTransferError.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FileTransferError", 3 | "parent": "Transfer", 4 | "properties": [ 5 | { 6 | "name": "code", 7 | "description": "One of the predefined error codes listed below.", 8 | "type": "number", 9 | "optional":false 10 | }, 11 | { 12 | "name": "source", 13 | "description": "URL to the source.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "target", 19 | "description": "URL to the target.", 20 | "type": "string", 21 | "optional":false 22 | }, 23 | { 24 | "name": "http_status", 25 | "description": "HTTP status code. This attribute is only available when a responsecode is received from the HTTP connection.", 26 | "type": "number", 27 | "optional":false 28 | }, 29 | { 30 | "name": "body", 31 | "description": "Response body. This attribute is only available when a response is received from the HTTP connection.", 32 | "type": "string", 33 | "optional":false 34 | }, 35 | { 36 | "name": "exception", 37 | "description": "Either e.getMessage or e.toString.", 38 | "type": "string", 39 | "optional":false 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ImageResizerOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImageResizerOptions", 3 | "parent": "ImageResizer", 4 | "properties": [ 5 | { 6 | "name": "uri", 7 | "description": "The URI for the image on the device to get scaled", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "width", 13 | "description": "The width of the new image", 14 | "type": "number", 15 | "optional":false 16 | }, 17 | { 18 | "name": "height", 19 | "description": "The height of the new image", 20 | "type": "number", 21 | "optional":false 22 | }, 23 | { 24 | "name": "folderName", 25 | "description": "The name of the folder the image should be put(Android only)", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "quality", 31 | "description": "Quality given as Number for the quality of the new image(Android and iOS only)", 32 | "type": "number", 33 | "optional":true 34 | }, 35 | { 36 | "name": "fileName", 37 | "description": "A custom name for the file. Default name is a timestamp(Android and Windows only)", 38 | "type": "string", 39 | "optional":true 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ToastOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ToastOptions", 3 | "parent": "Toast", 4 | "properties": [ 5 | { 6 | "name": "message", 7 | "description": "Message to display", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "duration", 13 | "description": "Duration in ms to show", 14 | "type": "number", 15 | "optional":true 16 | }, 17 | { 18 | "name": "position", 19 | "description": "Position", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "addPixelsY", 25 | "description": "Add negative value to move it up a bit", 26 | "type": "number", 27 | "optional":true 28 | }, 29 | { 30 | "name": "data", 31 | "description": "Pass JSON object to be sent back in success callback", 32 | "type": "any", 33 | "optional":true 34 | }, 35 | { 36 | "name": "styling", 37 | "description": "Styling", 38 | "type": "{ 39 | opacity?: number; 40 | backgroundColor?: string; 41 | textColor?: string; 42 | cornerRadius?: number; 43 | horizontalPadding?: number; 44 | verticalPadding?: number; 45 | }", 46 | "optional":true 47 | } 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/ZBarOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZBarOptions", 3 | "parent": "ZBar", 4 | "properties": [ 5 | { 6 | "name": "text_title", 7 | "description": "A string representing the title text (Android only).Default: \"Scan QR Code\"", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "text_instructions", 13 | "description": "A string representing the instruction text (Android only).Default: \"Please point your camera at the QR code.\"", 14 | "type": "string", 15 | "optional":true 16 | }, 17 | { 18 | "name": "camera", 19 | "description": "A string defining the active camera when opening the scanner.Possible values: \"front\", \"back\"Default: \"back\"", 20 | "type": "string", 21 | "optional":true 22 | }, 23 | { 24 | "name": "flash", 25 | "description": "A string defining the state of the flash.Possible values: \"on\", \"off\", \"auto\"Default: \"auto\"", 26 | "type": "string", 27 | "optional":true 28 | }, 29 | { 30 | "name": "drawSight", 31 | "description": "A boolean to show or hide a line in the center of the scanner.Default: true", 32 | "type": "boolean", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/AdMobFreeBannerConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdMobFreeBannerConfig", 3 | "parent": "AdMobFree", 4 | "properties": [ 5 | { 6 | "name": "id", 7 | "description": "Ad Unit ID", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "isTesting", 13 | "description": "Receiving test ad", 14 | "type": "boolean", 15 | "optional":true 16 | }, 17 | { 18 | "name": "autoShow", 19 | "description": "Auto show ad when loaded", 20 | "type": "boolean", 21 | "optional":true 22 | }, 23 | { 24 | "name": "bannerAtTop", 25 | "description": "Set to true, to put banner at top", 26 | "type": "boolean", 27 | "optional":true 28 | }, 29 | { 30 | "name": "overlap", 31 | "description": "Set to true, to allow banner overlap WebView", 32 | "type": "boolean", 33 | "optional":true 34 | }, 35 | { 36 | "name": "offsetTopBar", 37 | "description": "Set to true to avoid ios7 status bar overlap", 38 | "type": "boolean", 39 | "optional":true 40 | }, 41 | { 42 | "name": "size", 43 | "description": "Banner size", 44 | "type": "string", 45 | "optional":true 46 | } 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/EmailComposerOptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EmailComposerOptions", 3 | "parent": "EmailComposer", 4 | "properties": [ 5 | { 6 | "name": "app", 7 | "description": "", 8 | "type": "string", 9 | "optional":true 10 | }, 11 | { 12 | "name": "to", 13 | "description": "", 14 | "type": "string | Array<string>", 15 | "optional":true 16 | }, 17 | { 18 | "name": "cc", 19 | "description": "", 20 | "type": "string | Array<string>", 21 | "optional":true 22 | }, 23 | { 24 | "name": "bcc", 25 | "description": "", 26 | "type": "string | Array<string>", 27 | "optional":true 28 | }, 29 | { 30 | "name": "attachments", 31 | "description": "", 32 | "type": "Array<any>", 33 | "optional":true 34 | }, 35 | { 36 | "name": "subject", 37 | "description": "", 38 | "type": "string", 39 | "optional":true 40 | }, 41 | { 42 | "name": "body", 43 | "description": "", 44 | "type": "string", 45 | "optional":true 46 | }, 47 | { 48 | "name": "isHtml", 49 | "description": "", 50 | "type": "boolean", 51 | "optional":true 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /src/components/plugin-config/plugin-config.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input, Output, EventEmitter } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'plugin-config', 5 | templateUrl: 'plugin-config.html' 6 | }) 7 | export class PluginConfigComponent { 8 | 9 | 10 | _config: any; 11 | 12 | configItems: Array<{name: string; type: string;}> = []; 13 | 14 | @Input() 15 | set config(val: any) { 16 | this._config = val; 17 | this.processConfig(); 18 | } 19 | 20 | @Input() 21 | name: string; 22 | 23 | @Output() 24 | configChange: EventEmitter = new EventEmitter(); 25 | 26 | getInputType(type: string) { 27 | switch (type) { 28 | case 'boolean': 29 | return 'checkbox'; 30 | case 'number': 31 | return 'number'; 32 | default: 33 | return 'text'; 34 | } 35 | } 36 | 37 | emitChanges() { 38 | this.configChange.emit(this._config); 39 | } 40 | 41 | private processConfig() { 42 | 43 | if (typeof this._config != 'object') { 44 | // we can only process an object 45 | return; 46 | } 47 | for (let prop in this._config) { 48 | const type = typeof this._config[prop]; 49 | 50 | this.configItems.push({ 51 | name: prop, 52 | type 53 | }); 54 | } 55 | 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/interfaces/BeaconRegion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BeaconRegion", 3 | "parent": "IBeacon", 4 | "properties": [ 5 | { 6 | "name": "identifier", 7 | "description": "A unique identifier for this region.", 8 | "type": "string", 9 | "optional":false 10 | }, 11 | { 12 | "name": "uuid", 13 | "description": "The the beacon identifier the device will \"watch\" for. Many beacons can share the same uuid.", 14 | "type": "string", 15 | "optional":false 16 | }, 17 | { 18 | "name": "major", 19 | "description": "The beacon's major identifier number. Optional, of nothing is suppliedthe plugin will treat it as a wildcard.", 20 | "type": "number", 21 | "optional":true 22 | }, 23 | { 24 | "name": "minor", 25 | "description": "The beacon's minor identifier number. Optional, of nothing is suppliedthe plugin will treat it as a wildcard.", 26 | "type": "number", 27 | "optional":true 28 | }, 29 | { 30 | "name": "notifyEntryStateOnDisplay", 31 | "description": "If set to true the device will scan for beacons and determine region state anytimethe device's screen is turned on or off. Useful for debugging.", 32 | "type": "boolean", 33 | "optional":true 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/pages/contacts/contacts.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import {Contact, ContactField, ContactName, Contacts, ContactFindOptions, ContactFieldType} from "@ionic-native/contacts"; 3 | 4 | 5 | @Component({ 6 | selector: 'page-contacts', 7 | templateUrl: 'contacts.html' 8 | }) 9 | export class ContactsPage { 10 | 11 | result; 12 | error; 13 | 14 | constructor( 15 | private contacts: Contacts 16 | ) {} 17 | 18 | createContact() { 19 | 20 | const contact: Contact = this.contacts.create(); 21 | 22 | contact.name = new ContactName(null, 'Smith', 'John'); 23 | contact.phoneNumbers = [new ContactField('mobile', '6476476477', true)]; 24 | 25 | contact.save() 26 | .then(v => this.result = v) 27 | .catch(v => this.error = v); 28 | 29 | } 30 | 31 | pickContact() { 32 | this.contacts.pickContact() 33 | .then(v => this.result = v) 34 | .catch(v => this.error = v); 35 | } 36 | 37 | findContacts() { 38 | const options = new ContactFindOptions(); 39 | options.filter = 'John'; 40 | options.multiple = true; 41 | options.hasPhoneNumber = true; 42 | const fields: ContactFieldType[] = ['name']; 43 | this.contacts.find(fields, options) 44 | .then(v => this.result = v) 45 | .catch(v => this.error = v); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Geolocation.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Geolocation", 3 | "members": [ 4 | { 5 | "name": "getCurrentPosition", 6 | "description": "Get the device's current position.", 7 | "params": [ 8 | { 9 | "name": "options", 10 | "description": "The [geolocation options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions).", 11 | "type": "GeolocationOptions", 12 | "optional": false 13 | } 14 | ] 15 | }, 16 | { 17 | "name": "watchPosition", 18 | "description": "Watch the current device's position. Clear the watch by unsubscribing fromObservable changes.```typescriptconst subscription = this.geolocation.watchPosition() .filter((p) => p.coords !== undefined) //Filter Out Errors .subscribe(position => { console.log(position.coords.longitude + ' ' + position.coords.latitude);});// To stop notificationssubscription.unsubscribe();```", 19 | "params": [ 20 | { 21 | "name": "options", 22 | "description": "The [geolocation options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions).", 23 | "type": "GeolocationOptions", 24 | "optional": false 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/assets/ionic-native-signatures/classes/Screenshot.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Screenshot", 3 | "members": [ 4 | { 5 | "name": "save", 6 | "description": "Takes screenshot and saves the image", 7 | "params": [ 8 | { 9 | "name": "format.", 10 | "description": "Format can take the value of either 'jpg' or 'png'On ios, only 'jpg' format is supported", 11 | "type": "string", 12 | "optional": false 13 | }, 14 | { 15 | "name": "quality.", 16 | "description": "Determines the quality of the screenshot. Default quality is set to 100.", 17 | "type": "number", 18 | "optional": false 19 | }, 20 | { 21 | "name": "filename.", 22 | "description": "Name of the file as stored on the storage", 23 | "type": "string", 24 | "optional": false 25 | } 26 | ] 27 | }, 28 | { 29 | "name": "URI", 30 | "description": "Takes screenshot and returns the image as an URI", 31 | "params": [ 32 | { 33 | "name": "quality.", 34 | "description": "Determines the quality of the screenshot. Default quality is set to 100.", 35 | "type": "number", 36 | "optional": false 37 | } 38 | ] 39 | } 40 | ] 41 | } 42 | --------------------------------------------------------------------------------