Compare commits

..

41 Commits

Author SHA1 Message Date
Ibby
16f0712462 chore(): update changelog 2017-01-20 16:34:25 -05:00
Ibby
e9b2b93486 2.3.0 2017-01-20 16:33:57 -05:00
Ibby
a8258ec998 docs(): add beta tags 2017-01-20 16:33:43 -05:00
Ibby
09747cd746 docs(firebase): improve docs 2017-01-20 16:29:15 -05:00
Ibby
2f89ae0e84 Merge branch 'master' of github.com:driftyco/ionic-native 2017-01-20 16:24:22 -05:00
Megan Kearl
ac748abf78 feat(serial): add Serial plugin (#952)
* style: fix whitespace lint issue

* feat(serial): add serial plugin

* docs(serial): remove unnecessary comments
2017-01-20 16:16:12 -05:00
Guillaume
1279114b73 feat(backlight): add Backlight plugin (#973)
* feat(backlight): add Backlight plugin

* fix(backlight): set as beta
2017-01-20 16:14:29 -05:00
Peter Bakondy
7c30718369 feat(speech-recognition): add SpeechRecognition plugin (#897) 2017-01-20 16:13:58 -05:00
Kim Biesbjerg
9c75a06131 feat(launch-review): add LaunchReview plugin (#949)
* Add LaunchReview

* Fix pluginRef
2017-01-20 16:11:57 -05:00
Guillaume
1e38a6c005 feat(broadcaster): add Broadcaster plugin (#877)
* feat(broadcaster): add Broadcaster plugin

* fix(broadcaster): return Obserable for addEventListener

- also remove the listener when clearing observable
2017-01-20 16:11:19 -05:00
Ibby
23639ee859 docs(): add beta tag 2017-01-20 16:10:39 -05:00
Ibby
be20c51996 Merge branch 'master' of github.com:driftyco/ionic-native 2017-01-20 16:09:27 -05:00
Niklas Merz
1615b74065 feat(fingerprint-aio): add cordova-plugin-fingerprint-aio (#845) 2017-01-20 16:09:21 -05:00
Ibby
5638f90783 refractor(): remove default value from optional param 2017-01-20 16:07:28 -05:00
Ibby
47b6164e99 docs(): add beta tags 2017-01-20 16:07:05 -05:00
Lucas A. Moulin
229f5509e9 feat(rollbar): add Rollbar plugin (#832)
* Add Rollbar plugin

* Add documentation

* Add return type to init function

* Remove init params
2017-01-20 16:05:06 -05:00
John-Luke
70c15c31ca feat(navigationbar): add NavigationBar plugin (#826)
* feat(navigationbar): add NavigationBar plugin

* fix(navigationbar) typo in chore

* Implement changes requested

* fix(): add return

* fix(docs): remove callback parameter

* Update navigationbar.ts
2017-01-20 16:04:31 -05:00
Ibby
a98ccc726f Merge branch 'John-Luke-master' 2017-01-20 16:04:09 -05:00
Ibby
538ebfe9fe fix merge conflict 2017-01-20 16:03:58 -05:00
Ibby Hadeed
8e98481609 feat(firebase): add firebase plugin (#914)
closes #608
2017-01-20 16:02:33 -05:00
Ibby Hadeed
0ec46b03b5 feat(stripe): add stripe plugin (#913)
* feat(stripe): add stripe plugin

* add stripe to index

* add param doc
2017-01-20 16:02:17 -05:00
Ibby
f10f152d2c docs(native-geocoder): add interfaces 2017-01-20 16:01:54 -05:00
Ibby
d746a98ef4 refractor(native-geocoder): refractor interface names 2017-01-20 16:01:29 -05:00
Ibby
dbf95ea4bd fix(native-geocoder): fix callback order 2017-01-20 16:00:05 -05:00
Sebastian Baar
911537b61b feat(nativegeocoder): add NativeGeocoder plugin (#800) 2017-01-20 15:56:16 -05:00
Ibby
db55342329 chore(): update changelog 2017-01-20 15:53:35 -05:00
Ibby
d54ce83c8f 2.2.17 2017-01-20 15:52:47 -05:00
John-Luke
2e926f4a94 Update headercolor.ts 2017-01-19 09:06:58 -03:00
John-Luke
292a9f08e9 solve conflict 2017-01-18 19:06:27 -02:00
John-Luke
b2cd106aae Update headercolor.ts 2017-01-18 18:58:27 -02:00
elless
ab681cccbe fix(app-rate): onRateDialogShow callback (#985) 2017-01-18 12:52:36 -05:00
Dennis Bruijn
9008aa264b docs(google-maps): make it clear that the map element needs a height (#984)
I added a change that makes it clear that the map element needs a height to be visible.

I tried to follow the docs but It didn't work, after that I thought my API keys were invalid, at the end it turned out the map wasn't visible at all.
2017-01-18 10:37:02 -05:00
Ibby Hadeed
33ca56a151 remove static method open 2017-01-18 10:34:52 -05:00
Attila Oláh
d8892e195b docs(file): clarify what unit getFreeDiskSpace returns with (#981) 2017-01-18 10:30:38 -05:00
Max Lynch
0ab14a085e fix(core): increase deviceready timeout for sanity 2017-01-16 15:33:59 -06:00
Vlado Velichkovski
a88cf7034b docs(nfc): fix return type (#961)
Doc fix for stringToBytes function
2017-01-15 22:48:23 -05:00
Diego
c44071d117 docs(file-chooser): added missing ")" (#971) 2017-01-13 14:02:19 -05:00
John-Luke
3fdc4a8acd fix(): add return 2016-12-01 16:27:50 -03:00
John-Luke
db99482157 Implement changes requested 2016-11-30 20:24:33 -03:00
John-Luke
bab2971c58 fix(headercolor): solve typo in usage and chore 2016-11-24 14:37:57 -03:00
John Luke
93696d53f7 feat(headercolor): add HeaderColor plugin
fix [#760](https://github.com/driftyco/ionic-native/issues/760)
2016-11-23 16:47:34 -03:00
21 changed files with 1076 additions and 16 deletions

View File

@@ -1,3 +1,44 @@
<a name="2.3.0"></a>
# [2.3.0](https://github.com/driftyco/ionic-native/compare/v2.2.17...v2.3.0) (2017-01-20)
### Bug Fixes
* **native-geocoder:** fix callback order ([dbf95ea](https://github.com/driftyco/ionic-native/commit/dbf95ea))
### Features
* **backlight:** add Backlight plugin ([#973](https://github.com/driftyco/ionic-native/issues/973)) ([1279114](https://github.com/driftyco/ionic-native/commit/1279114))
* **broadcaster:** add Broadcaster plugin ([#877](https://github.com/driftyco/ionic-native/issues/877)) ([1e38a6c](https://github.com/driftyco/ionic-native/commit/1e38a6c))
* **fingerprint-aio:** add cordova-plugin-fingerprint-aio ([#845](https://github.com/driftyco/ionic-native/issues/845)) ([1615b74](https://github.com/driftyco/ionic-native/commit/1615b74))
* **firebase:** add firebase plugin ([#914](https://github.com/driftyco/ionic-native/issues/914)) ([8e98481](https://github.com/driftyco/ionic-native/commit/8e98481)), closes [#608](https://github.com/driftyco/ionic-native/issues/608)
* **launch-review:** add LaunchReview plugin ([#949](https://github.com/driftyco/ionic-native/issues/949)) ([9c75a06](https://github.com/driftyco/ionic-native/commit/9c75a06))
* **nativegeocoder:** add NativeGeocoder plugin ([#800](https://github.com/driftyco/ionic-native/issues/800)) ([911537b](https://github.com/driftyco/ionic-native/commit/911537b))
* **navigationbar:** add NavigationBar plugin ([#826](https://github.com/driftyco/ionic-native/issues/826)) ([70c15c3](https://github.com/driftyco/ionic-native/commit/70c15c3))
* **rollbar:** add Rollbar plugin ([#832](https://github.com/driftyco/ionic-native/issues/832)) ([229f550](https://github.com/driftyco/ionic-native/commit/229f550))
* **serial:** add Serial plugin ([#952](https://github.com/driftyco/ionic-native/issues/952)) ([ac748ab](https://github.com/driftyco/ionic-native/commit/ac748ab))
* **speech-recognition:** add SpeechRecognition plugin ([#897](https://github.com/driftyco/ionic-native/issues/897)) ([7c30718](https://github.com/driftyco/ionic-native/commit/7c30718))
* **stripe:** add stripe plugin ([#913](https://github.com/driftyco/ionic-native/issues/913)) ([0ec46b0](https://github.com/driftyco/ionic-native/commit/0ec46b0))
<a name="2.2.17"></a>
## [2.2.17](https://github.com/driftyco/ionic-native/compare/v2.2.16...v2.2.17) (2017-01-20)
### Bug Fixes
* **app-rate:** onRateDialogShow callback ([#985](https://github.com/driftyco/ionic-native/issues/985)) ([ab681cc](https://github.com/driftyco/ionic-native/commit/ab681cc))
* **core:** increase deviceready timeout for sanity ([0ab14a0](https://github.com/driftyco/ionic-native/commit/0ab14a0))
### Features
* **barcodescanner:** add missing options ([#966](https://github.com/driftyco/ionic-native/issues/966)) ([e902856](https://github.com/driftyco/ionic-native/commit/e902856)), closes [#965](https://github.com/driftyco/ionic-native/issues/965)
<a name="2.2.16"></a>
## [2.2.16](https://github.com/driftyco/ionic-native/compare/v2.2.15...v2.2.16) (2017-01-11)
@@ -120,8 +161,10 @@
### Bug Fixes
* add return ([3fdc4a8](https://github.com/driftyco/ionic-native/commit/3fdc4a8))
* **card-io:** fix typo in options ([e6700a3](https://github.com/driftyco/ionic-native/commit/e6700a3))
* **globalization:** add missing parameter to numberToString function ([1072ab1](https://github.com/driftyco/ionic-native/commit/1072ab1)), closes [#835](https://github.com/driftyco/ionic-native/issues/835)
* **headercolor:** solve typo in usage and chore ([bab2971](https://github.com/driftyco/ionic-native/commit/bab2971))
### Features
@@ -153,6 +196,7 @@
* **camera-preview:** add disable method ([6ad54ec](https://github.com/driftyco/ionic-native/commit/6ad54ec))
* **google-analytics:** new interval period parameter ([abd910d](https://github.com/driftyco/ionic-native/commit/abd910d)), closes [#816](https://github.com/driftyco/ionic-native/issues/816)
* **google-map:** add get and set methods to Marker class ([51ab03d](https://github.com/driftyco/ionic-native/commit/51ab03d)), closes [#798](https://github.com/driftyco/ionic-native/issues/798)
* **headercolor:** add HeaderColor plugin ([93696d5](https://github.com/driftyco/ionic-native/commit/93696d5)), closes [#760](https://github.com/driftyco/ionic-native/issues/760)

View File

@@ -1,6 +1,6 @@
{
"name": "ionic-native",
"version": "2.2.16",
"version": "2.3.0",
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
"main": "dist/es5/index.js",
"module": "dist/esm/index.js",

View File

@@ -1,6 +1,6 @@
import { initAngular1 } from './ng1';
const DEVICE_READY_TIMEOUT = 2000;
const DEVICE_READY_TIMEOUT = 5000;
declare var window;
@@ -13,12 +13,14 @@ import { AppVersion } from './plugins/appversion';
import { Badge } from './plugins/badge';
import { BackgroundGeolocation } from './plugins/background-geolocation';
import { BackgroundMode } from './plugins/backgroundmode';
import { Backlight } from './plugins/backlight';
import { BarcodeScanner } from './plugins/barcodescanner';
import { Base64ToGallery } from './plugins/base64togallery';
import { BatteryStatus } from './plugins/batterystatus';
import { Brightness } from './plugins/brightness';
import { BLE } from './plugins/ble';
import { BluetoothSerial } from './plugins/bluetoothserial';
import { Broadcaster } from './plugins/broadcaster';
import { Calendar } from './plugins/calendar';
import { CallNumber } from './plugins/call-number';
import { Camera } from './plugins/camera';
@@ -46,6 +48,8 @@ import { FileChooser } from './plugins/file-chooser';
import { FileOpener } from './plugins/file-opener';
import { FilePath } from './plugins/filepath';
import { Transfer } from './plugins/filetransfer';
import { FingerprintAIO } from './plugins/fingerprint-aio';
import { Firebase } from './plugins/firebase';
import { Flashlight } from './plugins/flashlight';
import { Geofence } from './plugins/geofence';
import { Geolocation } from './plugins/geolocation';
@@ -53,6 +57,7 @@ import { Globalization } from './plugins/globalization';
import { GooglePlus } from './plugins/google-plus';
import { GoogleMap } from './plugins/googlemap';
import { GoogleAnalytics } from './plugins/googleanalytics';
import { HeaderColor } from './plugins/headercolor';
import { Hotspot } from './plugins/hotspot';
import { HTTP } from './plugins/http';
import { Httpd } from './plugins/httpd';
@@ -66,12 +71,15 @@ import { Instagram } from './plugins/instagram';
import { IsDebug } from './plugins/is-debug';
import { Keyboard } from './plugins/keyboard';
import { LaunchNavigator } from './plugins/launchnavigator';
import { LaunchReview } from './plugins/launch-review';
import { LocalNotifications } from './plugins/localnotifications';
import { LocationAccuracy } from './plugins/location-accuracy';
import { MediaCapture } from './plugins/media-capture';
import { NativeAudio } from './plugins/native-audio';
import { NativeGeocoder } from './plugins/native-geocoder';
import { NativePageTransitions } from './plugins/native-page-transitions';
import { NativeStorage } from './plugins/nativestorage';
import { NavigationBar } from './plugins/navigationbar';
import { Market } from './plugins/market';
import { MediaPlugin } from './plugins/media';
import { Mixpanel } from './plugins/mixpanel';
@@ -86,19 +94,23 @@ import { PinDialog } from './plugins/pin-dialog';
import { PowerManagement } from './plugins/power-management';
import { Printer } from './plugins/printer';
import { Push } from './plugins/push';
import { Rollbar } from './plugins/rollbar';
import { SafariViewController } from './plugins/safari-view-controller';
import { Screenshot } from './plugins/screenshot';
import { SecureStorage } from './plugins/securestorage';
import { Serial } from './plugins/serial';
import { Shake } from './plugins/shake';
import { Sim } from './plugins/sim';
import { SMS } from './plugins/sms';
import { SocialSharing } from './plugins/socialsharing';
import { SpeechRecognition } from './plugins/speech-recognition';
import { SpinnerDialog } from './plugins/spinnerdialog';
import { Splashscreen } from './plugins/splashscreen';
import { SQLite } from './plugins/sqlite';
import { StatusBar } from './plugins/statusbar';
import { Stepcounter } from './plugins/stepcounter';
import { StreamingMedia } from './plugins/streaming-media';
import { Stripe } from './plugins/stripe';
import { ThreeDeeTouch } from './plugins/3dtouch';
import { Toast } from './plugins/toast';
import { TouchID } from './plugins/touchid';
@@ -121,6 +133,7 @@ export * from './plugins/apprate';
export * from './plugins/appversion';
export * from './plugins/background-geolocation';
export * from './plugins/backgroundmode';
export * from './plugins/backlight';
export * from './plugins/badge';
export * from './plugins/barcodescanner';
export * from './plugins/base64togallery';
@@ -128,6 +141,7 @@ export * from './plugins/batterystatus';
export * from './plugins/ble';
export * from './plugins/bluetoothserial';
export * from './plugins/brightness';
export * from './plugins/broadcaster';
export * from './plugins/calendar';
export * from './plugins/call-number';
export * from './plugins/camera';
@@ -154,7 +168,9 @@ export * from './plugins/file';
export * from './plugins/file-chooser';
export * from './plugins/file-opener';
export * from './plugins/filetransfer';
export * from './plugins/firebase';
export * from './plugins/filepath';
export * from './plugins/fingerprint-aio';
export * from './plugins/flashlight';
export * from './plugins/geofence';
export * from './plugins/geolocation';
@@ -162,6 +178,7 @@ export * from './plugins/globalization';
export * from './plugins/google-plus';
export * from './plugins/googleanalytics';
export * from './plugins/googlemap';
export * from './plugins/headercolor';
export * from './plugins/hotspot';
export * from './plugins/http';
export * from './plugins/httpd';
@@ -175,6 +192,7 @@ export * from './plugins/instagram';
export * from './plugins/is-debug';
export * from './plugins/keyboard';
export * from './plugins/launchnavigator';
export * from './plugins/launch-review';
export * from './plugins/localnotifications';
export * from './plugins/location-accuracy';
export * from './plugins/market';
@@ -183,8 +201,10 @@ export * from './plugins/media-capture';
export * from './plugins/mixpanel';
export * from './plugins/music-controls';
export * from './plugins/native-audio';
export * from './plugins/native-geocoder';
export * from './plugins/native-page-transitions';
export * from './plugins/nativestorage';
export * from './plugins/navigationbar';
export * from './plugins/network';
export * from './plugins/nfc';
export * from './plugins/onesignal';
@@ -195,20 +215,24 @@ export * from './plugins/plugin';
export * from './plugins/power-management';
export * from './plugins/printer';
export * from './plugins/push';
export * from './plugins/rollbar';
export * from './plugins/safari-view-controller';
export * from './plugins/screen-orientation';
export * from './plugins/screenshot';
export * from './plugins/securestorage';
export * from './plugins/serial';
export * from './plugins/shake';
export * from './plugins/sim';
export * from './plugins/sms';
export * from './plugins/socialsharing';
export * from './plugins/speech-recognition';
export * from './plugins/spinnerdialog';
export * from './plugins/splashscreen';
export * from './plugins/sqlite';
export * from './plugins/statusbar';
export * from './plugins/stepcounter';
export * from './plugins/streaming-media';
export * from './plugins/stripe';
export * from './plugins/text-to-speech';
export * from './plugins/themeable-browser';
export * from './plugins/toast';
@@ -233,12 +257,14 @@ window['IonicNative'] = {
Badge,
BackgroundGeolocation,
BackgroundMode,
Backlight,
BarcodeScanner,
Base64ToGallery,
BatteryStatus,
Brightness,
BLE,
BluetoothSerial,
Broadcaster,
Calendar,
CallNumber,
Camera,
@@ -265,13 +291,16 @@ window['IonicNative'] = {
FileChooser,
FileOpener,
FilePath,
FingerprintAIO,
Flashlight,
Firebase,
Geofence,
Geolocation,
Globalization,
GooglePlus,
GoogleMap,
GoogleAnalytics,
HeaderColor,
Hotspot,
HTTP,
Httpd,
@@ -285,6 +314,7 @@ window['IonicNative'] = {
IsDebug,
Keyboard,
LaunchNavigator,
LaunchReview,
LocalNotifications,
LocationAccuracy,
Market,
@@ -293,8 +323,10 @@ window['IonicNative'] = {
Mixpanel,
MusicControls,
NativeAudio,
NativeGeocoder,
NativePageTransitions,
NativeStorage,
NavigationBar,
Network,
PayPal,
NFC,
@@ -305,9 +337,11 @@ window['IonicNative'] = {
ScreenOrientation,
PinDialog,
PowerManagement,
Rollbar,
SafariViewController,
Screenshot,
SecureStorage,
Serial,
Shake,
Sim,
SMS,
@@ -316,8 +350,10 @@ window['IonicNative'] = {
Splashscreen,
SQLite,
StatusBar,
SpeechRecognition,
Stepcounter,
StreamingMedia,
Stripe,
ThreeDeeTouch,
Toast,
TouchID,

View File

@@ -61,7 +61,7 @@ export interface AppRateCallbacks {
/**
* call back function. called when rate-dialog showing
*/
onRateDialogShowed?: Function;
onRateDialogShow?: Function;
}

44
src/plugins/backlight.ts Normal file
View File

@@ -0,0 +1,44 @@
import { Plugin, Cordova } from './plugin';
/**
* @beta
* @name Backlight
* @description
* This plugin adds turning on/off the device backlight.
*
* @usage
* ```
* import { Backlight } from 'ionic-native';
*
* // Turn backlight on
* Backlight.on().then(() => console.log('backlight on'));
*
* // Turn backlight off
* Backlight.off().then(() => console.log('backlight off'));
*
* ```
*/
@Plugin({
pluginName: 'Backlight',
plugin: 'cordova-plugin-backlight',
pluginRef: 'cordova.plugins.Backlight',
repo: 'https://github.com/mebibou/cordova-plugin-backlight',
platforms: ['Android']
})
export class Backlight {
/**
* This function turns backlight on
* @return {Promise<any>} Returns a promise that resolves when the backlight is on
*/
@Cordova()
static on(): Promise<any> { return; }
/**
* This function turns backlight off
* @return {Promise<any>} Returns a promise that resolves when the backlight is off
*/
@Cordova()
static off(): Promise<any> { return; }
}

View File

@@ -0,0 +1,51 @@
import { Plugin, Cordova } from './plugin';
import { Observable } from 'rxjs/Observable';
/**
* @name Broadcaster
* @description
* This plugin adds exchanging events between native code and your app.
*
* @usage
* ```
* import { Broadcaster } from 'ionic-native';
*
* // Listen to events from Native
* Broadcaster.addEventListener('eventName').then((event) => console.log(event));
*
* // Send event to Native
* Broadcaster.fireNativeEvent('eventName', {}).then(() => console.log('success'));
*
* ```
*/
@Plugin({
pluginName: 'Broadcaster',
plugin: 'cordova-plugin-broadcaster',
pluginRef: 'broadcaster',
repo: 'https://github.com/bsorrentino/cordova-broadcaster',
platforms: ['Android', 'iOS']
})
export class Broadcaster {
/**
* This function listen to an event sent from the native code
* @param eventName {string}
* @return {Observable<any>} Returns an observable to watch when an event is received
*/
@Cordova({
observable: true,
clearFunction: 'removeEventListener',
clearWithArgs: true
})
static addEventListener(eventName: string): Observable<any> { return; }
/**
* This function sends data to the native code
* @param eventName {string}
* @param eventData {any}
* @return {Promise<any>} Returns a promise that resolves when an event is successfully fired
*/
@Cordova()
static fireNativeEvent(eventName: string, eventData: any): Promise<any> { return; }
}

View File

@@ -11,8 +11,8 @@ import { Plugin, Cordova } from './plugin';
* import {FileChooser} from 'ionic-native';
*
* FileChooser.open()
* .then(uri => console.log(uri);
* .catch(e => console.log(e);
* .then(uri => console.log(uri));
* .catch(e => console.log(e));
*
* ```
*/

View File

@@ -385,8 +385,8 @@ export class File {
};
/**
* Get free disk space
* @returns {Promise<number>} Returns a promise that resolves with the remaining free disk space
* Get free disk space in Bytes
* @returns {Promise<number>} Returns a promise that resolves with the remaining free disk space in Bytes
*/
static getFreeDiskSpace(): Promise<number> {
return new Promise<any>((resolve, reject) => {

View File

@@ -0,0 +1,62 @@
import { Plugin, Cordova } from './plugin';
export interface FingerprintOptions {
/**
* Key for platform keychain
*/
clientId: string;
/**
* Secret password. Only for android
*/
clientSecret?: string;
}
/**
* @beta
* @name FingerprintAIO
* @description
* Use simple fingerprint authentication on Android and iOS.
* Requires Cordova plugin: cordova-plugin-fingerprint-aio. For more info about plugin, vist: https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio
*
* @usage
* ```typescript
* import { FingerprintAIO } from 'ionic-native';
*
* FingerprintAIO.show({
* clientId: "Fingerprint-Demo",
* clientSecret: "password" //Only necessary for Android
* })
* .then((result: any) => console.log(any))
* .catch((error: any) => console.log(error));
*
* ```
* @interfaces
* FingerprintOptions
*/
@Plugin({
pluginName: 'FingerprintAIO',
plugin: 'cordova-plugin-fingerprint-aio',
pluginRef: 'Fingerprint',
repo: 'https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio',
platforms: ['Android', 'iOS']
})
export class FingerprintAIO {
/**
* Check if fingerprint authentication is available
* @return {Promise<any>} Returns a promise with result
*/
@Cordova()
static isAvailable(): Promise<any> { return; }
/**
* Show authentication dialogue
* @param options {FingerprintOptions} options for platform specific fingerprint API
* @return {Promise<any>} Returns a promise that resolves when authentication was successfull
*/
@Cordova()
static show(options: FingerprintOptions): Promise<any> { return; }
}

201
src/plugins/firebase.ts Normal file
View File

@@ -0,0 +1,201 @@
import { Plugin, Cordova } from './plugin';
import { Observable } from 'rxjs/Observable';
/**
* @name Firebase
* @description
* This plugin brings push notifications, analytics, event tracking, crash reporting and more from Google Firebase to your Cordova project! Android and iOS supported (including iOS 10).
*
* @usage
* ```
* import { Firebase } from 'ionic-native';
*
* Firebase.getToken()
* .then(token => console.log(`The token is ${token}`)) // save the token server-side and use it to push notifications to this device
* .catch(error => console.error('Error getting token', error));
*
* Firebase.onTokenRefresh()
* .subscribe((token: string) => console.log(`Got a new token ${token}`));
*
* ```
*/
@Plugin({
pluginName: 'Firebase',
plugin: 'cordova-plugin-firebase',
pluginRef: 'FirebasePlugin',
repo: 'https://github.com/arnesson/cordova-plugin-firebase',
platforms: ['Android', 'iOS']
})
export class Firebase {
/**
* Get the device token
* @return {Promise<any>}
*/
@Cordova()
static getToken(): Promise<any> { return; }
/**
* Get notified when a token is refreshed
* @return {Observable<any>}
*/
@Cordova({
observable: true
})
static onTokenRefresh(): Observable<any> { return; }
/**
* Get notified when the user opens a notification
* @return {Observable<any>}
*/
@Cordova({
observable: true
})
static onNotificationOpen(): Observable<any> { return; }
/**
* Grant permission to recieve push notifications
* @return {Promise<any>}
*/
@Cordova({
platforms: ['iOS']
})
static grantPermission(): Promise<any> { return; }
/**
* Set icon badge number. Set to 0 to clear the badge.
* @param badgeNumber {number}
* @return {Promise<any>}
*/
@Cordova()
static setBadgeNumber(badgeNumber: number): Promise<any> { return; }
/**
* Get icon badge number
* @return {Promise<any>}
*/
@Cordova()
static getBadgeNumber(): Promise<any> { return; }
/**
* Subscribe to a topic
* @param topic {string}
* @return {Promise<any>}
*/
@Cordova()
static subscribe(topic: string): Promise<any> { return; }
/**
* Unsubscribe from a topic
* @param topic {string}
* @return {Promise<any>}
*/
@Cordova()
static unsubscribe(topic: string): Promise<any> { return; }
/**
* Log an event using Analytics
* @param type {string}
* @param data {Object}
* @return {Promise<any>}
*/
@Cordova()
static logEvent(type: string, data: any): Promise<any> { return; }
/**
* Set a user id for use in Analytics
* @param userId {string}
* @return {Promise<any>}
*/
@Cordova()
static setUserId(userId: string): Promise<any> { return; }
/**
* Set a user property for use in Analytics
* @param name {string}
* @param value {string}
* @return {Promise<any>}
*/
@Cordova()
static setUserProperty(name: string, value: string): Promise<any> { return; }
/**
* Fetch Remote Config parameter values for your app
* @param cacheExpirationSeconds
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
successIndex: 1,
errorIndex: 2
})
static fetch(cacheExpirationSeconds?: number): Promise<any> { return; }
/**
* Activate the Remote Config fetched config
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android']
})
static activateFetched(): Promise<any> { return; }
/**
* Retrieve a Remote Config value
* @param key {string}
* @param namespace {string}
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
successIndex: 2,
errorIndex: 3
})
static getValue(key: string, namespace?: string): Promise<any> { return; }
/**
* Retrieve a Remote Config byte array
* @param key {string}
* @param namespace {string}
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
successIndex: 2,
errorIndex: 3
})
static getByteArray(key: string, namespace?: string): Promise<any> { return; }
/**
* Get the current state of the FirebaseRemoteConfig singleton object
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android']
})
static getInfo(): Promise<any> { return; }
/**
* Change the settings for the FirebaseRemoteConfig object's operations
* @param settings {Object}
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android']
})
static setConfigSettings(settings: any): Promise<any> { return; }
/**
* Set defaults in the Remote Config
* @param defaults {Object}
* @param namespace {string}
* @return {Promise<any>}
*/
@Cordova({
platforms: ['Android'],
successIndex: 2,
errorIndex: 3
})
static setDefaults(defaults: any, namespace: string): Promise<any> { return; }
}

View File

@@ -60,8 +60,9 @@ export const GoogleMapsAnimation = {
*
* loadMap() {
* // make sure to create following structure in your view.html file
* // and add a height (for example 100%) to it, else the map won't be visible
* // <ion-content>
* // <div #map id="map"></div>
* // <div #map id="map" style="height:100%;"></div>
* // </ion-content>
*
* // create a new map by passing HTMLElement

View File

@@ -0,0 +1,36 @@
import { Plugin, Cordova } from './plugin';
/**
* @name Headerolor
* @description
* Cordova plugin to change color of header in multitask view
*
* @usage
* ```typescript
* import { HeaderColor } from 'ionic-native';
*
* HeaderColor.tint("#becb29");
* ```
*/
@Plugin({
name: 'HeaderColor',
plugin: 'cordova-plugin-headercolor',
pluginRef: 'plugins.headerColor',
repo: 'https://github.com/tomloprod/cordova-plugin-headercolor',
platforms: ['Android']
})
export class HeaderColor {
/**
* Set a color to the task header
* @param color {string} The hex value of the color
* @returns {Promise<any>}
*/
@Cordova({
callbackStyle: 'object',
successName: 'success',
errorName: 'failure'
})
static tint(color: string): Promise<any> { return; }
}

View File

@@ -40,13 +40,6 @@ export interface InAppBrowserEvent extends Event {
})
export class InAppBrowser {
/**
* @private
*/
static open(url: string, target?: string, options?: string): void {
console.warn('Native: Your current usage of the InAppBrowser plugin is deprecated as of ionic-native@1.3.8. Please check the Ionic Native docs for the latest usage details.');
}
private _objectInstance: any;
/**

View File

@@ -0,0 +1,36 @@
import { Plugin, Cordova } from './plugin';
/**
* @name LaunchReview
* @description
*
* This launches the native store app in order for the user to leave a review.
* On Android, the plugin opens the the app's storepage in the Play Store where the user can leave a review by pressing the stars to give a rating.
* On iOS, the plugin opens the app's storepage in the App Store and focuses the Review tab, where the user can leave a review by pressing "Write a review".
*
* @usage
* ```
* import { LaunchReview } from 'ionic-native';
*
* const appId: string = 'yourAppId';
* LaunchReview.launch(appId)
* .then(() => console.log('Successfully launched store app');
* ```
*/
@Plugin({
pluginName: 'LaunchReview',
plugin: 'cordova-launch-review',
pluginRef: 'LaunchReview',
repo: 'https://github.com/dpa99c/cordova-launch-review',
platforms: ['Android', 'iOS']
})
export class LaunchReview {
/**
* Launch store app using given app ID
* @returns {Promise<void>}
*/
@Cordova()
static launch(appId: string): Promise<void> { return; }
}

View File

@@ -0,0 +1,98 @@
import { Plugin, Cordova } from './plugin';
/**
* @beta
* @name NativeGeocoder
* @description
* Cordova plugin for native forward and reverse geocoding
*
* @usage
* ```typescript
* import { NativeGeocoder, NativeGeocoderReverseResult, NativeGeocoderForwardResult } from 'ionic-native';
*
* NativeGeocoder.reverseGeocode(52.5072095, 13.1452818)
* .then((result: NativeGeocoderReverseResult) => console.log("The address is " + result.address + " in " + result.countryCode))
* .catch((error: any) => console.log(error));
*
* NativeGeocoder.forwardGeocode("Berlin")
* .then((coordinates: NativeGeocoderForwardResult) => console.log("The coordinates are latitude=" + coordinates.latitude + " and longitude=" + coordinates.longitude))
* .catch((error: any) => console.log(error));
* ```
* @interfaces
* NativeGeocoderReverseResult
* NativeGeocoderForwardResult
*/
@Plugin({
name: 'NativeGeocoder',
plugin: 'cordova-plugin-nativegeocoder',
pluginRef: 'nativegeocoder',
repo: 'https://github.com/sebastianbaar/cordova-plugin-nativegeocoder',
platforms: ['iOS', 'Android']
})
export class NativeGeocoder {
/**
* Reverse geocode a given latitude and longitude to find location address
* @param latitude {number} The latitude
* @param longitude {number} The longitude
* @return {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse'
})
static reverseGeocode(latitude: number, longitude: number): Promise<NativeGeocoderReverseResult> { return; }
/**
* Forward geocode a given address to find coordinates
* @param addressString {string} The address to be geocoded
* @return {Promise<any>}
*/
@Cordova({
callbackOrder: 'reverse'
})
static forwardGeocode(addressString: string): Promise<NativeGeocoderForwardResult> { return; }
}
/**
* Encapsulates format information about a reverse geocoding result.
*/
export interface NativeGeocoderReverseResult {
/**
* The street.
*/
street: string;
/**
* The house number.
*/
houseNumber: string;
/**
* The postal code.
*/
postalCode: string;
/**
* The city.
*/
city: string;
/**
* The country name.
*/
countryName: string;
/**
* The country code.
*/
countryCode: string;
}
/**
* Encapsulates format information about a forward geocoding result.
*/
export interface NativeGeocoderForwardResult {
/**
* The latitude.
*/
latitude: string;
/**
* The longitude.
*/
longitude: string;
}

View File

@@ -0,0 +1,50 @@
import { Cordova, Plugin } from './plugin';
/**
* @beta
* @name NavigationBar
* @description
* The NavigationBar plugin can you to hide and auto hide the android navigation bar.
*
* @usage
* ```typescript
* import { NavigationBar } from 'ionic-native';
*
* let autoHide: boolean = true;
* NavigationBar.hide(autoHide);
* ```
*/
@Plugin({
name: 'NavigationBar',
plugin: 'cordova-plugin-navigationbar',
pluginRef: 'navigationbar',
repo: 'https://github.com/cranberrygame/cordova-plugin-navigationbar',
platforms: ['Android']
})
export class NavigationBar {
/**
* hide automatically (or not) the navigation bar.
* @param autohide {boolean}  
* @return {Promise<any>}
*/
@Cordova({
callbackStyle: 'object',
successName: 'success',
errorName: 'failure'
})
static setUp(autohide?: boolean): Promise<any> { return; }
/**
* Hide the navigation bar. 
* @return {Promise<any>}
*/
@Cordova({
callbackStyle: 'object',
successName: 'success',
errorName: 'failure'
})
static hideNavigationBar(): Promise<any> { return; }
}

View File

@@ -162,7 +162,7 @@ export class NFC {
/**
* Convert string to bytes
* @param str {string}
* @returns {string}
* @returns {number[]}
*/
@Cordova({ sync: true })
static stringToBytes(str: string): number[] {return; };

34
src/plugins/rollbar.ts Normal file
View File

@@ -0,0 +1,34 @@
import { Plugin, Cordova } from './plugin';
/**
* @beta
* @name Rollbar
* @description
* This plugin adds Rollbar App monitoring to your application
*
* @usage
* ```
* import { Rollbar } from 'ionic-native';
*
* Rollbar.init();
*
* ```
*/
@Plugin({
pluginName: 'Rollbar',
plugin: 'resgrid-cordova-plugins-rollbar',
pluginRef: 'Rollbar',
repo: 'https://github.com/Resgrid/cordova-plugins-rollbar',
platforms: ['Android', 'iOS'],
install: 'ionic plugin add resgrid-cordova-plugins-rollbar --variable ROLLBAR_ACCESS_TOKEN="YOUR_ROLLBAR_ACCEESS_TOKEN" --variable ROLLBAR_ENVIRONMENT="ROLLBAR_ENVIRONMENT"'
})
export class Rollbar {
/**
* This function initializes the monitoring of your application
* @return {Promise<any>} Returns a promise that resolves when the plugin successfully initializes
*/
@Cordova()
static init(): Promise<any> { return; }
}

111
src/plugins/serial.ts Normal file
View File

@@ -0,0 +1,111 @@
import { Plugin, Cordova } from './plugin';
import { Observable } from 'rxjs/Observable';
declare var serial: any;
export interface SerialPermissionOptions {
vid: string;
pid: string;
driver: string;
}
export interface SerialOpenOptions {
baudRate: number;
}
/**
* @name Serial
* @description
* This plugin provides functions for working with Serial connections
*
* @usage
*
* ```
* import { Serial } from 'ionic-native';
*
* Serial.requestPermission({
* vid: '0403',
* pid: '6001',
* driver: 'FtdiSerialDriver'
* }).then(() => {
* Serial.open({
* baudRate: 38400
* }).then(() => {
* console.log('Serial connection opened');
* });
* }).catch((error: any) => console.log(error));
*
* ```
*/
@Plugin({
pluginName: 'Serial',
plugin: 'cordovarduino',
pluginRef: 'serial',
repo: 'https://github.com/xseignard/cordovarduino',
platforms: ['Android']
})
export class Serial {
/**
* Request permission to connect to a serial device
*
* @param options {SerialPermissionOptions} Options used to request serial permissions
* @return {Promise<any>} Returns a promise that resolves when permissions are granted
*/
@Cordova()
static requestPermission(options: SerialPermissionOptions): Promise<any> { return; }
/**
* Open connection to a serial device
*
* @param options {SerialOpenOptions} Options used to open serial connection
* @return {Promise<any>} Returns a promise that resolves when the serial connection is opened
*/
@Cordova()
static open(options: SerialOpenOptions): Promise<any> { return; }
/**
* Write to a serial connection
*
* @param data {any} data to write to the serial connection
* @return {Promise<any>} Returns a promise that resolves when the write is complete
*/
@Cordova()
static write(data: any): Promise<any> { return; }
/**
* Write hex to a serial connection
*
* @param data {any} data to write to the serial connection
* @return {Promise<any>} Returns a promise that resolves when the write is complete
*/
@Cordova()
static writeHex(data: any): Promise<any> { return; }
/**
* Read from a serial connection
*
* @return {Promise<any>} Returns a promise that resolves with data read from the serial connection
*/
@Cordova()
static read(): Promise<any> { return; }
/**
* Watch the incoming data from the serial connection. Clear the watch by unsubscribing from the observable
*
* @returns {Observable<any>} Observable returns an observable that you can subscribe to
*/
@Cordova({
observable: true
})
static registerReadCallback(): Observable<any> { return; }
/**
* Close the serial connection
*
* @return {Promise<any>} Returns a promise that resolves when the serial connection is closed
*/
@Cordova()
static close(): Promise<any> { return; }
}

View File

@@ -0,0 +1,157 @@
import { Plugin, Cordova } from './plugin';
import { Observable } from 'rxjs/Observable';
export type SpeechRecognitionListeningOptions = SpeechRecognitionListeningOptionsIOS | SpeechRecognitionListeningOptionsAndroid;
export interface SpeechRecognitionListeningOptionsIOS {
/**
* used language for recognition (default `"en-US"`)
*/
language?: string;
/**
* umber of return matches (default `5`)
*/
matches?: number;
/**
* Allow partial results to be returned (default `false`)
*/
showPartial?: boolean;
}
export interface SpeechRecognitionListeningOptionsAndroid {
/**
* used language for recognition (default `"en-US"`)
*/
language?: string;
/**
* number of return matches (maximum number of matches)
*/
matches?: number;
/**
* displayed prompt of listener popup window
*/
prompt?: string;
/**
* display listener popup window with prompt (default `true`)
*/
showPopup?: boolean;
}
/**
* @beta
* @name SpeechRecognition
* @description
* This plugin does speech recognition using cloud services
*
* @usage
* ```
* import { SpeechRecognition } from 'ionic-native';
*
* // Check feature available
* SpeechRecognition.isRecognitionAvailable()
* .then((available: boolean) => console.log(available))
*
* // Start the recognition process
* SpeechRecognition.startListening(options)
* .subscribe(
* (matches: Array<string>) => console.log(matches),
* (onerror) => console.log('error:', onerror)
* )
*
* // Stop the recognition process (iOS only)
* SpeechRecognition.stopListening()
*
* // Get the list of supported languages
* SpeechRecognition.getSupportedLanguages()
* .then(
* (languages: Array<string>) => console.log(languages),
* (error) => console.log(error)
* )
*
* // Check permission
* SpeechRecognition.hasPermission()
* .then((hasPermission: boolean) => console.log(hasPermission))
*
* // Request permissions
* SpeechRecognition.requestPermission()
* .then(
* () => console.log('Granted'),
* () => console.log('Denied')
* )
*
* ```
*/
@Plugin({
pluginName: 'SpeechRecognition',
plugin: 'cordova-plugin-speechrecognition',
pluginRef: 'plugins.speechRecognition',
repo: 'https://github.com/pbakondy/cordova-plugin-speechrecognition',
platforms: ['Android', 'iOS']
})
export class SpeechRecognition {
/**
* Check feature available
* @return {Promise<boolean>}
*/
@Cordova()
static isRecognitionAvailable(): Promise<boolean> {
return;
}
/**
* Start the recognition process
* @return {Promise< Array<string> >} list of recognized terms
*/
@Cordova({
callbackOrder: 'reverse',
observable: true,
})
static startListening(options?: SpeechRecognitionListeningOptions): Observable<Array<string>> {
return;
}
/**
* Stop the recognition process
*/
@Cordova({
platforms: ['iOS']
})
static stopListening(): Promise<void> {
return;
}
/**
* Get the list of supported languages
* @return {Promise< Array<string> >} list of languages
*/
@Cordova()
static getSupportedLanguages(): Promise<Array<string>> {
return;
}
/**
* Check permission
* @return {Promise<boolean>} has permission
*/
@Cordova()
static hasPermission(): Promise<boolean> {
return;
}
/**
* Request permissions
* @return {Promise<void>}
*/
@Cordova()
static requestPermission(): Promise<void> {
return;
}
}

106
src/plugins/stripe.ts Normal file
View File

@@ -0,0 +1,106 @@
import {Plugin, Cordova} from './plugin';
export interface StripeCardTokenParams {
/**
* Card number
*/
number: string;
/**
* Expiry month
*/
expMonth: number;
/**
* Expiry year
*/
expYear: number;
/**
* CVC / CVV
*/
cvc?: string;
/**
* Cardholder name
*/
name?: string;
/**
* Address line 1
*/
address_line1?: string;
/**
* Address line 2
*/
address_line2?: string;
/**
* City
*/
address_city?: string;
/**
* State / Province
*/
address_state?: string;
/**
* Country
*/
address_country?: string;
/**
* Postal code / ZIP Code
*/
postal_code?: string;
/**
* 3-letter ISO code for currency
*/
currency?: string;
}
/**
* @beta
* @name Stripe
* @description
* A plugin that allows you to use Stripe's Native SDKs for Android and iOS.
*
* @usage
* ```
* import { Stripe } from 'ionic-native';
*
* Stripe.setPublishableKey('my_publishable_key');
*
* let card = {
* number: '4242424242424242',
* expMonth: 12,
* expYear: 2020,
* cvc: 220
* };
*
* Stripe.createToken(card)
* .then(token => console.log(token))
* .catch(error => console.error(error));
*
* ```
*
* @interfaces
* StripeCardTokenParams
*/
@Plugin({
pluginName: 'Stripe',
plugin: 'cordova-plugin-stripe',
pluginRef: 'cordova.plugins.stripe',
repo: 'https://github.com/zyramedia/cordova-plugin-stripe'
})
export class Stripe {
/**
* Set publishable key
* @param publishableKey {string} Publishable key
* @return {Promise<void>}
*/
@Cordova()
static setPublishableKey(publishableKey: string): Promise<void> { return; }
/**
* Create Credit Card Token
* @param params {StripeCardTokenParams} Credit card information
* @return {Promise<string>} returns a promise that resolves with the token, or reject with an error
*/
@Cordova()
static createCardToken(params: StripeCardTokenParams): Promise<string> { return; }
}