mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2026-02-16 00:00:02 +08:00
Compare commits
89 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3c46216f6 | ||
|
|
1be1d5b577 | ||
|
|
eb760a5136 | ||
|
|
8f1854c180 | ||
|
|
5d1c8c225b | ||
|
|
237ea0d90d | ||
|
|
bee3d639cb | ||
|
|
1cc7243ef9 | ||
|
|
87f8505d93 | ||
|
|
7e0b9a488d | ||
|
|
3e9e578781 | ||
|
|
06094c2b53 | ||
|
|
d598bf3416 | ||
|
|
624f94f9f6 | ||
|
|
e70885ca2f | ||
|
|
095a6c5cf7 | ||
|
|
38e7e65557 | ||
|
|
4ab4aaf178 | ||
|
|
fc9add88dc | ||
|
|
9e744e7c29 | ||
|
|
a235b2493f | ||
|
|
48ccc4c24e | ||
|
|
18da591f03 | ||
|
|
bca7f38bbf | ||
|
|
7f24f89fc4 | ||
|
|
62241105c8 | ||
|
|
1e8626c435 | ||
|
|
7520a96cc6 | ||
|
|
0af33923a8 | ||
|
|
9b83615af6 | ||
|
|
7f274ba9a3 | ||
|
|
1e539f8cd9 | ||
|
|
87ba4b4d32 | ||
|
|
7ed6ab894b | ||
|
|
e095eecf5b | ||
|
|
502203936c | ||
|
|
7cbe7a6287 | ||
|
|
376d16904c | ||
|
|
7a6b8ac917 | ||
|
|
64cbb6181a | ||
|
|
c26735f366 | ||
|
|
2e07a7c04e | ||
|
|
3bfc95ed78 | ||
|
|
4be721b8f5 | ||
|
|
15c73e46d0 | ||
|
|
dd4d35d9e0 | ||
|
|
d8f030b67d | ||
|
|
3f82cfa527 | ||
|
|
348dbb85b3 | ||
|
|
2fda70a3c6 | ||
|
|
5648bfc70f | ||
|
|
1c03c3ff3c | ||
|
|
31c696d59d | ||
|
|
eb1bcdd078 | ||
|
|
f7b5e2f15f | ||
|
|
2628798064 | ||
|
|
b3082bf5ac | ||
|
|
e6f6158b43 | ||
|
|
548860b1ff | ||
|
|
9aff5eaa13 | ||
|
|
67cf61d2a8 | ||
|
|
707ca8ea3c | ||
|
|
4cb28c41c8 | ||
|
|
e828100a40 | ||
|
|
439960092e | ||
|
|
a81a4d3edf | ||
|
|
859cbfcfc6 | ||
|
|
4b4eb76352 | ||
|
|
bc7bdc60b7 | ||
|
|
35ad7f6387 | ||
|
|
399055b963 | ||
|
|
3a286b0243 | ||
|
|
830b0e0ef9 | ||
|
|
cdabebd487 | ||
|
|
a38381d06c | ||
|
|
44e0e2483a | ||
|
|
a1ad658d05 | ||
|
|
7362a41b55 | ||
|
|
b65946b1a8 | ||
|
|
7a5bee914f | ||
|
|
84c9bfbca3 | ||
|
|
6be38328b0 | ||
|
|
e27009e7b5 | ||
|
|
fa1cb407dd | ||
|
|
6314c28aa8 | ||
|
|
7f55a8f963 | ||
|
|
25f158629d | ||
|
|
5c81ff4875 | ||
|
|
f33eaed266 |
25
CHANGELOG.md
25
CHANGELOG.md
@@ -1,5 +1,5 @@
|
||||
<a name="4.6.0"></a>
|
||||
# [4.6.0](https://github.com/ionic-team/ionic-native/compare/v5.0.0-beta.3...v4.6.0) (2018-03-19)
|
||||
<a name="4.7.0"></a>
|
||||
# [4.7.0](https://github.com/ionic-team/ionic-native/compare/v4.6.0...v4.7.0) (2018-04-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -8,19 +8,25 @@
|
||||
* **call-log:** comments erratum ([4b9cf17](https://github.com/ionic-team/ionic-native/commit/4b9cf17))
|
||||
* **call-log:** update getCallLog signature ([61c0ecf](https://github.com/ionic-team/ionic-native/commit/61c0ecf))
|
||||
* **contacts:** refactor wrong ContactFieldTypes ([f607a03](https://github.com/ionic-team/ionic-native/commit/f607a03))
|
||||
* **email-composer:** add missing options ([4399600](https://github.com/ionic-team/ionic-native/commit/4399600))
|
||||
* **facebook:** remove browserInit function ([f718432](https://github.com/ionic-team/ionic-native/commit/f718432))
|
||||
* **firebase-analytics:** add `sync` option for all methods ([42fd1f2](https://github.com/ionic-team/ionic-native/commit/42fd1f2))
|
||||
* **google-maps:** wrong decorators ([e5b9d53](https://github.com/ionic-team/ionic-native/commit/e5b9d53))
|
||||
* **health-kit:** add missing properties to HealthKitOptions ([f8e79ce](https://github.com/ionic-team/ionic-native/commit/f8e79ce))
|
||||
* **image-resizer:** add missing option ([859cbfc](https://github.com/ionic-team/ionic-native/commit/859cbfc))
|
||||
* **index-app-content:** remove onItemPressed function ([270678f](https://github.com/ionic-team/ionic-native/commit/270678f))
|
||||
* **local-notifications:** fixed linting errors ([8a26377](https://github.com/ionic-team/ionic-native/commit/8a26377))
|
||||
* **printer:** add correct npm repository ([4bf55d3](https://github.com/ionic-team/ionic-native/commit/4bf55d3))
|
||||
* **pro:** proper callback type and guard for plugin instantiate. [#2136](https://github.com/ionic-team/ionic-native/issues/2136) [#2127](https://github.com/ionic-team/ionic-native/issues/2127) ([61293c3](https://github.com/ionic-team/ionic-native/commit/61293c3))
|
||||
* **pro:** Tweak to pro plugin. [#2136](https://github.com/ionic-team/ionic-native/issues/2136) [#2127](https://github.com/ionic-team/ionic-native/issues/2127) ([c8ecee0](https://github.com/ionic-team/ionic-native/commit/c8ecee0))
|
||||
* **Pro:** CordovaCheck should sync. [#2136](https://github.com/ionic-team/ionic-native/issues/2136) [#2127](https://github.com/ionic-team/ionic-native/issues/2127) ([f419db5](https://github.com/ionic-team/ionic-native/commit/f419db5))
|
||||
* **push:** Android senderID as optional ([1b237aa](https://github.com/ionic-team/ionic-native/commit/1b237aa))
|
||||
* **Radmob-pro:** add offsetTopBar option ([4948640](https://github.com/ionic-team/ionic-native/commit/4948640))
|
||||
* **speech-recognition:** add missing options ([9aff5ea](https://github.com/ionic-team/ionic-native/commit/9aff5ea))
|
||||
* **sqlite:** remove trailing whitespaces ([7547a94](https://github.com/ionic-team/ionic-native/commit/7547a94))
|
||||
* **uuid:** add correct plugin source ([a81a4d3](https://github.com/ionic-team/ionic-native/commit/a81a4d3))
|
||||
* **web-intent:** allow extras ([8dc5ad2](https://github.com/ionic-team/ionic-native/commit/8dc5ad2))
|
||||
* **web-intent:** rename `onNewIntent` to `onIntent` ([dbcb103](https://github.com/ionic-team/ionic-native/commit/dbcb103))
|
||||
|
||||
|
||||
### Features
|
||||
@@ -31,20 +37,35 @@
|
||||
* **base64-to-gallery:** add options interface ([11d516f](https://github.com/ionic-team/ionic-native/commit/11d516f))
|
||||
* **ble:** add scan options interface ([e345fed](https://github.com/ionic-team/ionic-native/commit/e345fed))
|
||||
* **calendar:** add getCreateCalendarOptions function ([13765d2](https://github.com/ionic-team/ionic-native/commit/13765d2))
|
||||
* **call-log:** add operator 'like' and array of values ([84cecf7](https://github.com/ionic-team/ionic-native/commit/84cecf7))
|
||||
* **call-log:** add plugin ([76a644d](https://github.com/ionic-team/ionic-native/commit/76a644d))
|
||||
* **camera-preview:** add onBackButton function ([a345e2c](https://github.com/ionic-team/ionic-native/commit/a345e2c))
|
||||
* **camera-preview:** disable exif stripping conf ([e231bf8](https://github.com/ionic-team/ionic-native/commit/e231bf8))
|
||||
* **device-accounts:** add android account interface ([d2261b6](https://github.com/ionic-team/ionic-native/commit/d2261b6))
|
||||
* **device-feedback:** add feedback interface ([7cafebd](https://github.com/ionic-team/ionic-native/commit/7cafebd))
|
||||
* **google-analytics:** add missing functions ([ff0008e](https://github.com/ionic-team/ionic-native/commit/ff0008e))
|
||||
* **google-maps:** update to match latest plugin version ([#2320](https://github.com/ionic-team/ionic-native/issues/2320)) ([f11be24](https://github.com/ionic-team/ionic-native/commit/f11be24))
|
||||
* **hot code push:** add cordova-hot-code-push ([e7968da](https://github.com/ionic-team/ionic-native/commit/e7968da))
|
||||
* **hot code push:** add update events ([04bdade](https://github.com/ionic-team/ionic-native/commit/04bdade))
|
||||
* **http:** add support for new methods ([#2249](https://github.com/ionic-team/ionic-native/issues/2249)) ([4497e00](https://github.com/ionic-team/ionic-native/commit/4497e00))
|
||||
* **http:** add support for new properties ([#2135](https://github.com/ionic-team/ionic-native/issues/2135)) ([c2a62cd](https://github.com/ionic-team/ionic-native/commit/c2a62cd))
|
||||
* **jins-meme:** enable background mode data collection ([1932f2d](https://github.com/ionic-team/ionic-native/commit/1932f2d))
|
||||
* **local-notifications:** added a new param to specify if the notification will be silent ([6e58192](https://github.com/ionic-team/ionic-native/commit/6e58192))
|
||||
* **local-notifications:** Support version 0.9.0-beta.3 of cordova-plugin-local-notifications ([e5034bf](https://github.com/ionic-team/ionic-native/commit/e5034bf))
|
||||
* **one-signal:** add clearOneSignalNotifications function ([fc0338a](https://github.com/ionic-team/ionic-native/commit/fc0338a))
|
||||
* **plugin:** Add google nearby plugin ([eb1bcdd](https://github.com/ionic-team/ionic-native/commit/eb1bcdd))
|
||||
* **plugin:** add iOS File Picker ([571df3a](https://github.com/ionic-team/ionic-native/commit/571df3a))
|
||||
* **plugin:** add Microdoft App Center Analytics plugin ([7a5bee9](https://github.com/ionic-team/ionic-native/commit/7a5bee9))
|
||||
* **plugin:** add Microdoft App Center Analytics plugin ([84c9bfb](https://github.com/ionic-team/ionic-native/commit/84c9bfb))
|
||||
* **plugin:** add Microdoft App Center Analytics plugin ([b65946b](https://github.com/ionic-team/ionic-native/commit/b65946b))
|
||||
* **plugin:** add Microsoft App Center Crashes plugin ([44e0e24](https://github.com/ionic-team/ionic-native/commit/44e0e24))
|
||||
* **plugin:** add Microsoft App Center Push plugin ([cdabebd](https://github.com/ionic-team/ionic-native/commit/cdabebd))
|
||||
* **plugin:** add OpenALPR plugin ([e27fbf4](https://github.com/ionic-team/ionic-native/commit/e27fbf4))
|
||||
* **plugin:** add Uptime plugin ([6be3832](https://github.com/ionic-team/ionic-native/commit/6be3832))
|
||||
* **social-sharing:** add missing function ([4cb28c4](https://github.com/ionic-team/ionic-native/commit/4cb28c4))
|
||||
* **speechkit:** plugin implementation ([41e5a0f](https://github.com/ionic-team/ionic-native/commit/41e5a0f))
|
||||
* **sqlite:** add selfTest function ([241f073](https://github.com/ionic-team/ionic-native/commit/241f073))
|
||||
* **uptime:** add iOS support ([e6f6158](https://github.com/ionic-team/ionic-native/commit/e6f6158))
|
||||
* **web-intent:** add startService function ([15bb350](https://github.com/ionic-team/ionic-native/commit/15bb350))
|
||||
|
||||
|
||||
|
||||
914
package-lock.json
generated
914
package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ionic-native",
|
||||
"version": "4.6.0",
|
||||
"version": "4.7.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -1215,6 +1215,7 @@
|
||||
"requires": {
|
||||
"anymatch": "1.3.2",
|
||||
"async-each": "1.0.1",
|
||||
"fsevents": "1.1.3",
|
||||
"glob-parent": "2.0.0",
|
||||
"inherits": "2.0.3",
|
||||
"is-binary-path": "1.0.1",
|
||||
@@ -2722,6 +2723,910 @@
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"dev": true
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
|
||||
"integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"nan": "2.10.0",
|
||||
"node-pre-gyp": "0.6.39"
|
||||
},
|
||||
"dependencies": {
|
||||
"abbrev": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"ajv": {
|
||||
"version": "4.11.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"co": "4.6.0",
|
||||
"json-stable-stringify": "1.0.1"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"are-we-there-yet": {
|
||||
"version": "1.1.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"delegates": "1.0.0",
|
||||
"readable-stream": "2.2.9"
|
||||
}
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"assert-plus": {
|
||||
"version": "0.2.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.6.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.6.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "0.4.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"tweetnacl": "0.14.5"
|
||||
}
|
||||
},
|
||||
"block-stream": {
|
||||
"version": "0.0.9",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"inherits": "2.0.3"
|
||||
}
|
||||
},
|
||||
"boom": {
|
||||
"version": "2.10.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"hoek": "2.16.3"
|
||||
}
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.7",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "0.4.2",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"buffer-shims": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"co": {
|
||||
"version": "4.6.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"delayed-stream": "1.0.0"
|
||||
}
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"cryptiles": {
|
||||
"version": "2.0.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"boom": "2.10.1"
|
||||
}
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.8",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"deep-extend": {
|
||||
"version": "0.4.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"delegates": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"detect-libc": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"jsbn": "0.1.1"
|
||||
}
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.1.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"asynckit": "0.4.0",
|
||||
"combined-stream": "1.0.5",
|
||||
"mime-types": "2.1.15"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"fstream": {
|
||||
"version": "1.0.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "4.1.11",
|
||||
"inherits": "2.0.3",
|
||||
"mkdirp": "0.5.1",
|
||||
"rimraf": "2.6.1"
|
||||
}
|
||||
},
|
||||
"fstream-ignore": {
|
||||
"version": "1.0.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"fstream": "1.0.11",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4"
|
||||
}
|
||||
},
|
||||
"gauge": {
|
||||
"version": "2.7.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"aproba": "1.1.1",
|
||||
"console-control-strings": "1.1.0",
|
||||
"has-unicode": "2.0.1",
|
||||
"object-assign": "4.1.1",
|
||||
"signal-exit": "3.0.2",
|
||||
"string-width": "1.0.2",
|
||||
"strip-ansi": "3.0.1",
|
||||
"wide-align": "1.1.2"
|
||||
}
|
||||
},
|
||||
"getpass": {
|
||||
"version": "0.1.7",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.1.11",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"har-schema": {
|
||||
"version": "1.0.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "4.2.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ajv": "4.11.8",
|
||||
"har-schema": "1.0.5"
|
||||
}
|
||||
},
|
||||
"has-unicode": {
|
||||
"version": "2.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"hawk": {
|
||||
"version": "3.1.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"boom": "2.10.1",
|
||||
"cryptiles": "2.0.5",
|
||||
"hoek": "2.16.3",
|
||||
"sntp": "1.0.9"
|
||||
}
|
||||
},
|
||||
"hoek": {
|
||||
"version": "2.16.3",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"assert-plus": "0.2.0",
|
||||
"jsprim": "1.4.0",
|
||||
"sshpk": "1.13.0"
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "1.4.0",
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"number-is-nan": "1.0.1"
|
||||
}
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"jodid25519": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"jsbn": "0.1.1"
|
||||
}
|
||||
},
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"json-stable-stringify": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"jsonify": "0.0.0"
|
||||
}
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"jsonify": {
|
||||
"version": "0.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"extsprintf": "1.0.2",
|
||||
"json-schema": "0.2.3",
|
||||
"verror": "1.3.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.27.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.15",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.27.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"node-pre-gyp": {
|
||||
"version": "0.6.39",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"detect-libc": "1.0.2",
|
||||
"hawk": "3.1.3",
|
||||
"mkdirp": "0.5.1",
|
||||
"nopt": "4.0.1",
|
||||
"npmlog": "4.1.0",
|
||||
"rc": "1.2.1",
|
||||
"request": "2.81.0",
|
||||
"rimraf": "2.6.1",
|
||||
"semver": "5.3.0",
|
||||
"tar": "2.2.1",
|
||||
"tar-pack": "3.4.0"
|
||||
}
|
||||
},
|
||||
"nopt": {
|
||||
"version": "4.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"abbrev": "1.1.0",
|
||||
"osenv": "0.1.4"
|
||||
}
|
||||
},
|
||||
"npmlog": {
|
||||
"version": "4.1.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"are-we-there-yet": "1.1.4",
|
||||
"console-control-strings": "1.1.0",
|
||||
"gauge": "2.7.4",
|
||||
"set-blocking": "2.0.0"
|
||||
}
|
||||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.8.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1.0.2"
|
||||
}
|
||||
},
|
||||
"os-homedir": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"os-tmpdir": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"osenv": {
|
||||
"version": "0.1.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"os-homedir": "1.0.2",
|
||||
"os-tmpdir": "1.0.2"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "0.2.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "1.0.7",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"rc": {
|
||||
"version": "1.2.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"deep-extend": "0.4.2",
|
||||
"ini": "1.3.4",
|
||||
"minimist": "1.2.0",
|
||||
"strip-json-comments": "2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.2.9",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffer-shims": "1.0.0",
|
||||
"core-util-is": "1.0.2",
|
||||
"inherits": "2.0.3",
|
||||
"isarray": "1.0.0",
|
||||
"process-nextick-args": "1.0.7",
|
||||
"string_decoder": "1.0.1",
|
||||
"util-deprecate": "1.0.2"
|
||||
}
|
||||
},
|
||||
"request": {
|
||||
"version": "2.81.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"aws-sign2": "0.6.0",
|
||||
"aws4": "1.6.0",
|
||||
"caseless": "0.12.0",
|
||||
"combined-stream": "1.0.5",
|
||||
"extend": "3.0.1",
|
||||
"forever-agent": "0.6.1",
|
||||
"form-data": "2.1.4",
|
||||
"har-validator": "4.2.1",
|
||||
"hawk": "3.1.3",
|
||||
"http-signature": "1.1.1",
|
||||
"is-typedarray": "1.0.0",
|
||||
"isstream": "0.1.2",
|
||||
"json-stringify-safe": "5.0.1",
|
||||
"mime-types": "2.1.15",
|
||||
"oauth-sign": "0.8.2",
|
||||
"performance-now": "0.2.0",
|
||||
"qs": "6.4.0",
|
||||
"safe-buffer": "5.0.1",
|
||||
"stringstream": "0.0.5",
|
||||
"tough-cookie": "2.3.2",
|
||||
"tunnel-agent": "0.6.0",
|
||||
"uuid": "3.0.1"
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "7.1.2"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.0.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.3.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"set-blocking": {
|
||||
"version": "2.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"sntp": {
|
||||
"version": "1.0.9",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"hoek": "2.16.3"
|
||||
}
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.13.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"asn1": "0.2.3",
|
||||
"assert-plus": "1.0.0",
|
||||
"bcrypt-pbkdf": "1.0.1",
|
||||
"dashdash": "1.14.1",
|
||||
"ecc-jsbn": "0.1.1",
|
||||
"getpass": "0.1.7",
|
||||
"jodid25519": "1.0.2",
|
||||
"jsbn": "0.1.1",
|
||||
"tweetnacl": "0.14.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"string-width": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"code-point-at": "1.1.0",
|
||||
"is-fullwidth-code-point": "1.0.0",
|
||||
"strip-ansi": "3.0.1"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safe-buffer": "5.0.1"
|
||||
}
|
||||
},
|
||||
"stringstream": {
|
||||
"version": "0.0.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"strip-json-comments": {
|
||||
"version": "2.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"tar": {
|
||||
"version": "2.2.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"block-stream": "0.0.9",
|
||||
"fstream": "1.0.11",
|
||||
"inherits": "2.0.3"
|
||||
}
|
||||
},
|
||||
"tar-pack": {
|
||||
"version": "3.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"debug": "2.6.8",
|
||||
"fstream": "1.0.11",
|
||||
"fstream-ignore": "1.0.5",
|
||||
"once": "1.4.0",
|
||||
"readable-stream": "2.2.9",
|
||||
"rimraf": "2.6.1",
|
||||
"tar": "2.2.1",
|
||||
"uid-number": "0.0.6"
|
||||
}
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.3.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"punycode": "1.4.1"
|
||||
}
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "5.0.1"
|
||||
}
|
||||
},
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"uid-number": {
|
||||
"version": "0.0.6",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.3.6",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"extsprintf": "1.0.2"
|
||||
}
|
||||
},
|
||||
"wide-align": {
|
||||
"version": "1.1.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"string-width": "1.0.2"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"gaze": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
|
||||
@@ -4657,6 +5562,13 @@
|
||||
"duplexer2": "0.0.2"
|
||||
}
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.10.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
|
||||
"integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"natives": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ionic-native",
|
||||
"version": "4.6.0",
|
||||
"version": "4.7.0",
|
||||
"description": "Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support",
|
||||
"homepage": "https://ionicframework.com/",
|
||||
"author": "Ionic Team <hi@ionic.io> (https://ionic.io)",
|
||||
|
||||
@@ -9,13 +9,17 @@ export function checkReady() {
|
||||
|
||||
let didFireReady = false;
|
||||
document.addEventListener('deviceready', () => {
|
||||
console.log(`Ionic Native: deviceready event fired after ${(Date.now() - before)} ms`);
|
||||
console.log(
|
||||
`Ionic Native: deviceready event fired after ${Date.now() - before} ms`
|
||||
);
|
||||
didFireReady = true;
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
if (!didFireReady && !!window.cordova) {
|
||||
console.warn(`Ionic Native: deviceready did not fire within ${DEVICE_READY_TIMEOUT}ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.`);
|
||||
console.warn(
|
||||
`Ionic Native: deviceready did not fire within ${DEVICE_READY_TIMEOUT}ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.`
|
||||
);
|
||||
}
|
||||
}, DEVICE_READY_TIMEOUT);
|
||||
}
|
||||
|
||||
@@ -1,24 +1,34 @@
|
||||
import 'core-js';
|
||||
import { Plugin, Cordova, CordovaProperty, CordovaCheck, CordovaInstance, InstanceProperty } from './decorators';
|
||||
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
import {
|
||||
Cordova,
|
||||
CordovaCheck,
|
||||
CordovaInstance,
|
||||
CordovaProperty,
|
||||
InstanceProperty,
|
||||
Plugin
|
||||
} from './decorators';
|
||||
import { IonicNativePlugin } from './ionic-native-plugin';
|
||||
import { ERR_CORDOVA_NOT_AVAILABLE, ERR_PLUGIN_NOT_INSTALLED } from './plugin';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
declare const window: any;
|
||||
|
||||
class TestObject {
|
||||
|
||||
constructor(public _objectInstance: any) {}
|
||||
|
||||
@InstanceProperty
|
||||
name: string;
|
||||
@InstanceProperty name: string;
|
||||
|
||||
@CordovaInstance({ sync: true })
|
||||
pingSync(): string { return; }
|
||||
pingSync(): string {
|
||||
return;
|
||||
}
|
||||
|
||||
@CordovaInstance()
|
||||
ping(): Promise<any> { return; }
|
||||
|
||||
ping(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Plugin({
|
||||
@@ -29,15 +39,17 @@ class TestObject {
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
class TestPlugin extends IonicNativePlugin {
|
||||
|
||||
@CordovaProperty
|
||||
name: string;
|
||||
@CordovaProperty name: string;
|
||||
|
||||
@Cordova({ sync: true })
|
||||
pingSync(): string { return; }
|
||||
pingSync(): string {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova()
|
||||
ping(): Promise<string> { return; }
|
||||
ping(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
@CordovaCheck()
|
||||
customPing(): Promise<string> {
|
||||
@@ -51,14 +63,17 @@ class TestPlugin extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
destruct: true
|
||||
})
|
||||
destructPromise(): Promise<any> { return; }
|
||||
destructPromise(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@Cordova({
|
||||
destruct: true,
|
||||
observable: true
|
||||
})
|
||||
destructObservable(): Observable<any> { return; }
|
||||
|
||||
destructObservable(): Observable<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function definePlugin() {
|
||||
@@ -78,7 +93,6 @@ function definePlugin() {
|
||||
}
|
||||
|
||||
describe('Regular Decorators', () => {
|
||||
|
||||
let plugin: TestPlugin;
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -87,7 +101,6 @@ describe('Regular Decorators', () => {
|
||||
});
|
||||
|
||||
describe('Plugin', () => {
|
||||
|
||||
it('should set pluginName', () => {
|
||||
expect(TestPlugin.getPluginName()).toEqual('TestPlugin');
|
||||
});
|
||||
@@ -103,17 +116,16 @@ describe('Regular Decorators', () => {
|
||||
it('should return supported platforms', () => {
|
||||
expect(TestPlugin.getSupportedPlatforms()).toEqual(['Android', 'iOS']);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Cordova', () => {
|
||||
|
||||
it('should do a sync function', () => {
|
||||
expect(plugin.pingSync()).toEqual('pong');
|
||||
});
|
||||
|
||||
it('should do an async function', (done: Function) => {
|
||||
plugin.ping()
|
||||
plugin
|
||||
.ping()
|
||||
.then(res => {
|
||||
expect(res).toEqual('pong');
|
||||
done();
|
||||
@@ -125,39 +137,31 @@ describe('Regular Decorators', () => {
|
||||
});
|
||||
|
||||
it('should throw plugin_not_installed error', (done: Function) => {
|
||||
|
||||
delete window.testPlugin;
|
||||
window.cordova = true;
|
||||
|
||||
expect(<any>plugin.pingSync()).toEqual(ERR_PLUGIN_NOT_INSTALLED);
|
||||
|
||||
plugin.ping()
|
||||
.catch(e => {
|
||||
expect(e).toEqual(ERR_PLUGIN_NOT_INSTALLED.error);
|
||||
delete window.cordova;
|
||||
done();
|
||||
});
|
||||
|
||||
plugin.ping().catch(e => {
|
||||
expect(e).toEqual(ERR_PLUGIN_NOT_INSTALLED.error);
|
||||
delete window.cordova;
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should throw cordova_not_available error', (done: Function) => {
|
||||
|
||||
delete window.testPlugin;
|
||||
|
||||
expect(<any>plugin.pingSync()).toEqual(ERR_CORDOVA_NOT_AVAILABLE);
|
||||
|
||||
plugin.ping()
|
||||
.catch(e => {
|
||||
expect(e).toEqual(ERR_CORDOVA_NOT_AVAILABLE.error);
|
||||
done();
|
||||
});
|
||||
|
||||
plugin.ping().catch(e => {
|
||||
expect(e).toEqual(ERR_CORDOVA_NOT_AVAILABLE.error);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('CordovaProperty', () => {
|
||||
|
||||
it('should return property value', () => {
|
||||
expect(plugin.name).toEqual('John Smith');
|
||||
});
|
||||
@@ -166,61 +170,47 @@ describe('Regular Decorators', () => {
|
||||
plugin.name = 'value2';
|
||||
expect(plugin.name).toEqual('value2');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('CordovaCheck', () => {
|
||||
|
||||
it('should run the method when plugin exists', (done) => {
|
||||
plugin.customPing()
|
||||
.then(res => {
|
||||
expect(res).toEqual('pong');
|
||||
done();
|
||||
});
|
||||
it('should run the method when plugin exists', done => {
|
||||
plugin.customPing().then(res => {
|
||||
expect(res).toEqual('pong');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('shouldnt run the method when plugin doesnt exist', (done) => {
|
||||
it('shouldnt run the method when plugin doesnt exist', done => {
|
||||
delete window.testPlugin;
|
||||
window.cordova = true;
|
||||
plugin.customPing()
|
||||
.catch(e => {
|
||||
expect(e).toEqual(ERR_PLUGIN_NOT_INSTALLED.error);
|
||||
done();
|
||||
});
|
||||
plugin.customPing().catch(e => {
|
||||
expect(e).toEqual(ERR_PLUGIN_NOT_INSTALLED.error);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('CordovaOptions', () => {
|
||||
|
||||
describe('destruct', () => {
|
||||
|
||||
it('should destruct values returned by a Promise', (done) => {
|
||||
plugin.destructPromise()
|
||||
.then((args: any[]) => {
|
||||
expect(args).toEqual(['hello', 'world']);
|
||||
done();
|
||||
});
|
||||
it('should destruct values returned by a Promise', done => {
|
||||
plugin.destructPromise().then((args: any[]) => {
|
||||
expect(args).toEqual(['hello', 'world']);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should destruct values returned by an Observable', (done) => {
|
||||
plugin.destructObservable()
|
||||
.subscribe((args: any[]) => {
|
||||
expect(args).toEqual(['hello', 'world']);
|
||||
done();
|
||||
});
|
||||
it('should destruct values returned by an Observable', done => {
|
||||
plugin.destructObservable().subscribe((args: any[]) => {
|
||||
expect(args).toEqual(['hello', 'world']);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('Instance Decorators', () => {
|
||||
|
||||
let instance: TestObject,
|
||||
plugin: TestPlugin;
|
||||
let instance: TestObject, plugin: TestPlugin;
|
||||
|
||||
beforeEach(() => {
|
||||
definePlugin();
|
||||
@@ -228,20 +218,14 @@ describe('Instance Decorators', () => {
|
||||
instance = plugin.create();
|
||||
});
|
||||
|
||||
describe('Instance plugin', () => {
|
||||
|
||||
|
||||
|
||||
});
|
||||
describe('Instance plugin', () => {});
|
||||
|
||||
describe('CordovaInstance', () => {
|
||||
|
||||
it('should call instance async method', (done) => {
|
||||
instance.ping()
|
||||
.then(r => {
|
||||
expect(r).toEqual('pong');
|
||||
done();
|
||||
});
|
||||
it('should call instance async method', done => {
|
||||
instance.ping().then(r => {
|
||||
expect(r).toEqual('pong');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should call instance sync method', () => {
|
||||
@@ -249,18 +233,16 @@ describe('Instance Decorators', () => {
|
||||
});
|
||||
|
||||
it('shouldnt call instance method when _objectInstance is undefined', () => {
|
||||
|
||||
delete instance._objectInstance;
|
||||
instance.ping()
|
||||
instance
|
||||
.ping()
|
||||
.then(r => {
|
||||
expect(r).toBeUndefined();
|
||||
})
|
||||
.catch(e => {
|
||||
expect(e).toBeUndefined();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('InstanceProperty', () => {
|
||||
@@ -273,5 +255,4 @@ describe('Instance Decorators', () => {
|
||||
expect(instance.name).toEqual('John Cena');
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
import { instanceAvailability, checkAvailability, wrap, wrapInstance, overrideFunction } from './plugin';
|
||||
import { getPlugin, getPromise } from './util';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import 'rxjs/observable/throw';
|
||||
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
import {
|
||||
checkAvailability,
|
||||
instanceAvailability,
|
||||
overrideFunction,
|
||||
wrap,
|
||||
wrapInstance
|
||||
} from './plugin';
|
||||
import { getPlugin, getPromise } from './util';
|
||||
|
||||
export interface PluginConfig {
|
||||
/**
|
||||
* Plugin name, this should match the class name
|
||||
@@ -109,21 +117,23 @@ export interface CordovaCheckOptions {
|
||||
* @private
|
||||
*/
|
||||
export function InstanceCheck(opts: CordovaCheckOptions = {}) {
|
||||
return (pluginObj: Object, methodName: string, descriptor: TypedPropertyDescriptor<any>): TypedPropertyDescriptor<any> => {
|
||||
return (
|
||||
pluginObj: Object,
|
||||
methodName: string,
|
||||
descriptor: TypedPropertyDescriptor<any>
|
||||
): TypedPropertyDescriptor<any> => {
|
||||
return {
|
||||
value: function(...args: any[]): any {
|
||||
if (instanceAvailability(this)) {
|
||||
return descriptor.value.apply(this, args);
|
||||
} else {
|
||||
|
||||
if (opts.sync) {
|
||||
return;
|
||||
} else if (opts.observable) {
|
||||
return new Observable<any>(() => { });
|
||||
return new Observable<any>(() => {});
|
||||
}
|
||||
|
||||
return getPromise(() => { });
|
||||
|
||||
return getPromise(() => {});
|
||||
}
|
||||
},
|
||||
enumerable: true
|
||||
@@ -136,7 +146,11 @@ export function InstanceCheck(opts: CordovaCheckOptions = {}) {
|
||||
* @private
|
||||
*/
|
||||
export function CordovaCheck(opts: CordovaCheckOptions = {}) {
|
||||
return (pluginObj: Object, methodName: string, descriptor: TypedPropertyDescriptor<any>): TypedPropertyDescriptor<any> => {
|
||||
return (
|
||||
pluginObj: Object,
|
||||
methodName: string,
|
||||
descriptor: TypedPropertyDescriptor<any>
|
||||
): TypedPropertyDescriptor<any> => {
|
||||
return {
|
||||
value: function(...args: any[]): any {
|
||||
const check = checkAvailability(pluginObj);
|
||||
@@ -177,7 +191,6 @@ export function CordovaCheck(opts: CordovaCheckOptions = {}) {
|
||||
*/
|
||||
export function Plugin(config: PluginConfig): ClassDecorator {
|
||||
return function(cls: any) {
|
||||
|
||||
// Add these fields to the class
|
||||
for (let prop in config) {
|
||||
cls[prop] = config[prop];
|
||||
@@ -226,7 +239,11 @@ export function Plugin(config: PluginConfig): ClassDecorator {
|
||||
* and the required plugin are installed.
|
||||
*/
|
||||
export function Cordova(opts: CordovaOptions = {}) {
|
||||
return (target: Object, methodName: string, descriptor: TypedPropertyDescriptor<any>) => {
|
||||
return (
|
||||
target: Object,
|
||||
methodName: string,
|
||||
descriptor: TypedPropertyDescriptor<any>
|
||||
) => {
|
||||
return {
|
||||
value: function(...args: any[]) {
|
||||
return wrap(this, methodName, opts).apply(this, args);
|
||||
@@ -268,7 +285,7 @@ export function CordovaProperty(target: any, key: string) {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
set: (value) => {
|
||||
set: value => {
|
||||
if (checkAvailability(target, key) === true) {
|
||||
getPlugin(target.constructor.getPluginRef())[key] = value;
|
||||
}
|
||||
@@ -301,7 +318,11 @@ export function InstanceProperty(target: any, key: string) {
|
||||
* and the required plugin are installed.
|
||||
*/
|
||||
export function CordovaFunctionOverride(opts: any = {}) {
|
||||
return (target: Object, methodName: string, descriptor: TypedPropertyDescriptor<any>) => {
|
||||
return (
|
||||
target: Object,
|
||||
methodName: string,
|
||||
descriptor: TypedPropertyDescriptor<any>
|
||||
) => {
|
||||
return {
|
||||
value: function(...args: any[]) {
|
||||
return overrideFunction(this, methodName, opts);
|
||||
@@ -310,4 +331,3 @@ export function CordovaFunctionOverride(opts: any = {}) {
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// This is to verify that new (FileTransfer.getPlugin)() works
|
||||
|
||||
import { Plugin, CordovaInstance } from './decorators';
|
||||
import { checkAvailability } from './plugin';
|
||||
import { CordovaInstance, Plugin } from './decorators';
|
||||
import { IonicNativePlugin } from './ionic-native-plugin';
|
||||
import { checkAvailability } from './plugin';
|
||||
|
||||
class FT {
|
||||
hello(): string {
|
||||
@@ -21,7 +20,13 @@ class FT {
|
||||
export class FileTransfer extends IonicNativePlugin {
|
||||
create(): FileTransferObject {
|
||||
let instance: any;
|
||||
if (checkAvailability(FileTransfer.getPluginRef(), null, FileTransfer.getPluginName()) === true) {
|
||||
if (
|
||||
checkAvailability(
|
||||
FileTransfer.getPluginRef(),
|
||||
null,
|
||||
FileTransfer.getPluginName()
|
||||
) === true
|
||||
) {
|
||||
instance = new (FileTransfer.getPlugin())();
|
||||
}
|
||||
return new FileTransferObject(instance);
|
||||
@@ -29,20 +34,21 @@ export class FileTransfer extends IonicNativePlugin {
|
||||
}
|
||||
|
||||
export class FileTransferObject {
|
||||
|
||||
constructor(public _objectInstance: any) {
|
||||
console.info('Creating a new FileTransferObject with instance: ', _objectInstance);
|
||||
console.info(
|
||||
'Creating a new FileTransferObject with instance: ',
|
||||
_objectInstance
|
||||
);
|
||||
}
|
||||
|
||||
@CordovaInstance({ sync: true })
|
||||
hello(): string { return; }
|
||||
|
||||
hello(): string {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
describe('Mock FileTransfer Plugin', () => {
|
||||
|
||||
let plugin: FileTransfer,
|
||||
instance: FileTransferObject;
|
||||
let plugin: FileTransfer, instance: FileTransferObject;
|
||||
|
||||
beforeAll(() => {
|
||||
plugin = new FileTransfer();
|
||||
@@ -65,5 +71,4 @@ describe('Mock FileTransfer Plugin', () => {
|
||||
console.info('instance hello is', instance.hello());
|
||||
expect(instance.hello()).toEqual('world');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
export class IonicNativePlugin {
|
||||
|
||||
static pluginName: string;
|
||||
|
||||
static pluginRef: string;
|
||||
@@ -16,31 +15,40 @@ export class IonicNativePlugin {
|
||||
* Returns a boolean that indicates whether the plugin is installed
|
||||
* @return {boolean}
|
||||
*/
|
||||
static installed(): boolean { return false; }
|
||||
static installed(): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the original plugin object
|
||||
*/
|
||||
static getPlugin(): any { }
|
||||
static getPlugin(): any {}
|
||||
|
||||
/**
|
||||
* Returns the plugin's name
|
||||
*/
|
||||
static getPluginName(): string { return; }
|
||||
static getPluginName(): string {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the plugin's reference
|
||||
*/
|
||||
static getPluginRef(): string { return; }
|
||||
static getPluginRef(): string {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the plugin's install name
|
||||
*/
|
||||
static getPluginInstallName(): string { return; }
|
||||
static getPluginInstallName(): string {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the plugin's supported platforms
|
||||
*/
|
||||
static getSupportedPlatforms(): string[] { return; }
|
||||
|
||||
static getSupportedPlatforms(): string[] {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { getPlugin, getPromise, cordovaWarn, pluginWarn } from './util';
|
||||
import { checkReady } from './bootstrap';
|
||||
import { CordovaOptions } from './decorators';
|
||||
import 'rxjs/add/observable/fromEvent';
|
||||
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import 'rxjs/add/observable/fromEvent';
|
||||
|
||||
import { checkReady } from './bootstrap';
|
||||
import { CordovaOptions } from './decorators';
|
||||
import { cordovaWarn, getPlugin, getPromise, pluginWarn } from './util';
|
||||
|
||||
checkReady();
|
||||
|
||||
@@ -13,16 +14,26 @@ checkReady();
|
||||
export const ERR_CORDOVA_NOT_AVAILABLE = { error: 'cordova_not_available' };
|
||||
export const ERR_PLUGIN_NOT_INSTALLED = { error: 'plugin_not_installed' };
|
||||
|
||||
|
||||
/**
|
||||
* Checks if plugin/cordova is available
|
||||
* @return {boolean | { error: string } }
|
||||
* @private
|
||||
*/
|
||||
export function checkAvailability(pluginRef: string, methodName?: string, pluginName?: string): boolean | { error: string };
|
||||
export function checkAvailability(pluginObj: any, methodName?: string, pluginName?: string): boolean | { error: string };
|
||||
export function checkAvailability(plugin: any, methodName?: string, pluginName?: string): boolean | { error: string } {
|
||||
|
||||
export function checkAvailability(
|
||||
pluginRef: string,
|
||||
methodName?: string,
|
||||
pluginName?: string
|
||||
): boolean | { error: string };
|
||||
export function checkAvailability(
|
||||
pluginObj: any,
|
||||
methodName?: string,
|
||||
pluginName?: string
|
||||
): boolean | { error: string };
|
||||
export function checkAvailability(
|
||||
plugin: any,
|
||||
methodName?: string,
|
||||
pluginName?: string
|
||||
): boolean | { error: string } {
|
||||
let pluginRef, pluginInstance, pluginPackage;
|
||||
|
||||
if (typeof plugin === 'string') {
|
||||
@@ -35,7 +46,10 @@ export function checkAvailability(plugin: any, methodName?: string, pluginName?:
|
||||
|
||||
pluginInstance = getPlugin(pluginRef);
|
||||
|
||||
if (!pluginInstance || (!!methodName && typeof pluginInstance[methodName] === 'undefined')) {
|
||||
if (
|
||||
!pluginInstance ||
|
||||
(!!methodName && typeof pluginInstance[methodName] === 'undefined')
|
||||
) {
|
||||
if (!window.cordova) {
|
||||
cordovaWarn(pluginName, methodName);
|
||||
return ERR_CORDOVA_NOT_AVAILABLE;
|
||||
@@ -52,11 +66,23 @@ export function checkAvailability(plugin: any, methodName?: string, pluginName?:
|
||||
* Checks if _objectInstance exists and has the method/property
|
||||
* @private
|
||||
*/
|
||||
export function instanceAvailability(pluginObj: any, methodName?: string): boolean {
|
||||
return pluginObj._objectInstance && (!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined');
|
||||
export function instanceAvailability(
|
||||
pluginObj: any,
|
||||
methodName?: string
|
||||
): boolean {
|
||||
return (
|
||||
pluginObj._objectInstance &&
|
||||
(!methodName ||
|
||||
typeof pluginObj._objectInstance[methodName] !== 'undefined')
|
||||
);
|
||||
}
|
||||
|
||||
function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Function): any {
|
||||
function setIndex(
|
||||
args: any[],
|
||||
opts: any = {},
|
||||
resolve?: Function,
|
||||
reject?: Function
|
||||
): any {
|
||||
// ignore resolve and reject in case sync
|
||||
if (opts.sync) {
|
||||
return args;
|
||||
@@ -75,12 +101,19 @@ function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Func
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
} else if (opts.callbackStyle === 'object' && opts.successName && opts.errorName) {
|
||||
} else if (
|
||||
opts.callbackStyle === 'object' &&
|
||||
opts.successName &&
|
||||
opts.errorName
|
||||
) {
|
||||
let obj: any = {};
|
||||
obj[opts.successName] = resolve;
|
||||
obj[opts.errorName] = reject;
|
||||
args.push(obj);
|
||||
} else if (typeof opts.successIndex !== 'undefined' || typeof opts.errorIndex !== 'undefined') {
|
||||
} else if (
|
||||
typeof opts.successIndex !== 'undefined' ||
|
||||
typeof opts.errorIndex !== 'undefined'
|
||||
) {
|
||||
const setSuccessIndex = () => {
|
||||
// If we've specified a success/error index
|
||||
if (opts.successIndex > args.length) {
|
||||
@@ -106,8 +139,6 @@ function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Func
|
||||
setSuccessIndex();
|
||||
setErrorIndex();
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
// Otherwise, let's tack them on to the end of the argument list
|
||||
// which is 90% of cases
|
||||
@@ -117,7 +148,14 @@ function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Func
|
||||
return args;
|
||||
}
|
||||
|
||||
function callCordovaPlugin(pluginObj: any, methodName: string, args: any[], opts: any = {}, resolve?: Function, reject?: Function) {
|
||||
function callCordovaPlugin(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
args: any[],
|
||||
opts: any = {},
|
||||
resolve?: Function,
|
||||
reject?: Function
|
||||
) {
|
||||
// Try to figure out where the success/error callbacks need to be bound
|
||||
// to our promise resolve/reject handlers.
|
||||
args = setIndex(args, opts, resolve, reject);
|
||||
@@ -130,16 +168,34 @@ function callCordovaPlugin(pluginObj: any, methodName: string, args: any[], opts
|
||||
} else {
|
||||
return availabilityCheck;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function wrapPromise(pluginObj: any, methodName: string, args: any[], opts: any = {}) {
|
||||
function wrapPromise(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
args: any[],
|
||||
opts: any = {}
|
||||
) {
|
||||
let pluginResult: any, rej: Function;
|
||||
const p = getPromise((resolve: Function, reject: Function) => {
|
||||
if (opts.destruct) {
|
||||
pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, (...args: any[]) => resolve(args), (...args: any[]) => reject(args));
|
||||
pluginResult = callCordovaPlugin(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
(...args: any[]) => resolve(args),
|
||||
(...args: any[]) => reject(args)
|
||||
);
|
||||
} else {
|
||||
pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject);
|
||||
pluginResult = callCordovaPlugin(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
resolve,
|
||||
reject
|
||||
);
|
||||
}
|
||||
rej = reject;
|
||||
});
|
||||
@@ -147,13 +203,18 @@ function wrapPromise(pluginObj: any, methodName: string, args: any[], opts: any
|
||||
// a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason
|
||||
// to error
|
||||
if (pluginResult && pluginResult.error) {
|
||||
p.catch(() => { });
|
||||
p.catch(() => {});
|
||||
typeof rej === 'function' && rej(pluginResult.error);
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
function wrapOtherPromise(pluginObj: any, methodName: string, args: any[], opts: any = {}) {
|
||||
function wrapOtherPromise(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
args: any[],
|
||||
opts: any = {}
|
||||
) {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
const pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts);
|
||||
if (pluginResult) {
|
||||
@@ -168,14 +229,33 @@ function wrapOtherPromise(pluginObj: any, methodName: string, args: any[], opts:
|
||||
});
|
||||
}
|
||||
|
||||
function wrapObservable(pluginObj: any, methodName: string, args: any[], opts: any = {}) {
|
||||
function wrapObservable(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
args: any[],
|
||||
opts: any = {}
|
||||
) {
|
||||
return new Observable(observer => {
|
||||
let pluginResult;
|
||||
|
||||
if (opts.destruct) {
|
||||
pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, (...args: any[]) => observer.next(args), (...args: any[]) => observer.error(args));
|
||||
pluginResult = callCordovaPlugin(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
(...args: any[]) => observer.next(args),
|
||||
(...args: any[]) => observer.error(args)
|
||||
);
|
||||
} else {
|
||||
pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer));
|
||||
pluginResult = callCordovaPlugin(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
observer.next.bind(observer),
|
||||
observer.error.bind(observer)
|
||||
);
|
||||
}
|
||||
|
||||
if (pluginResult && pluginResult.error) {
|
||||
@@ -186,26 +266,45 @@ function wrapObservable(pluginObj: any, methodName: string, args: any[], opts: a
|
||||
try {
|
||||
if (opts.clearFunction) {
|
||||
if (opts.clearWithArgs) {
|
||||
return callCordovaPlugin(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer));
|
||||
return callCordovaPlugin(
|
||||
pluginObj,
|
||||
opts.clearFunction,
|
||||
args,
|
||||
opts,
|
||||
observer.next.bind(observer),
|
||||
observer.error.bind(observer)
|
||||
);
|
||||
}
|
||||
return callCordovaPlugin(pluginObj, opts.clearFunction, []);
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName);
|
||||
console.warn(
|
||||
'Unable to clear the previous observable watch for',
|
||||
pluginObj.constructor.getPluginName(),
|
||||
methodName
|
||||
);
|
||||
console.warn(e);
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
function callInstance(pluginObj: any, methodName: string, args: any[], opts: any = {}, resolve?: Function, reject?: Function) {
|
||||
|
||||
function callInstance(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
args: any[],
|
||||
opts: any = {},
|
||||
resolve?: Function,
|
||||
reject?: Function
|
||||
) {
|
||||
args = setIndex(args, opts, resolve, reject);
|
||||
|
||||
if (instanceAvailability(pluginObj, methodName)) {
|
||||
return pluginObj._objectInstance[methodName].apply(pluginObj._objectInstance, args);
|
||||
return pluginObj._objectInstance[methodName].apply(
|
||||
pluginObj._objectInstance,
|
||||
args
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,7 +314,10 @@ function callInstance(pluginObj: any, methodName: string, args: any[], opts: any
|
||||
* @param element The element to attach the event listener to
|
||||
* @returns {Observable}
|
||||
*/
|
||||
export function wrapEventObservable(event: string, element: any = window): Observable<any> {
|
||||
export function wrapEventObservable(
|
||||
event: string,
|
||||
element: any = window
|
||||
): Observable<any> {
|
||||
return Observable.fromEvent(element, event);
|
||||
}
|
||||
|
||||
@@ -227,28 +329,38 @@ export function wrapEventObservable(event: string, element: any = window): Obser
|
||||
* does just this.
|
||||
* @private
|
||||
*/
|
||||
export function overrideFunction(pluginObj: any, methodName: string, args: any[], opts: any = {}): Observable<any> {
|
||||
export function overrideFunction(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
args: any[],
|
||||
opts: any = {}
|
||||
): Observable<any> {
|
||||
return new Observable(observer => {
|
||||
|
||||
const availabilityCheck = checkAvailability(pluginObj, null, pluginObj.constructor.getPluginName());
|
||||
const availabilityCheck = checkAvailability(
|
||||
pluginObj,
|
||||
null,
|
||||
pluginObj.constructor.getPluginName()
|
||||
);
|
||||
|
||||
if (availabilityCheck === true) {
|
||||
const pluginInstance = getPlugin(pluginObj.constructor.getPluginRef());
|
||||
pluginInstance[methodName] = observer.next.bind(observer);
|
||||
return () => pluginInstance[methodName] = () => { };
|
||||
return () => (pluginInstance[methodName] = () => {});
|
||||
} else {
|
||||
observer.error(availabilityCheck);
|
||||
observer.complete();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
export const wrap = function(pluginObj: any, methodName: string, opts: CordovaOptions = {}) {
|
||||
export const wrap = function(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
opts: CordovaOptions = {}
|
||||
) {
|
||||
return (...args: any[]) => {
|
||||
if (opts.sync) {
|
||||
// Sync doesn't wrap the plugin with a promise or observable, it returns the result as-is
|
||||
@@ -268,22 +380,36 @@ export const wrap = function(pluginObj: any, methodName: string, opts: CordovaOp
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
export function wrapInstance(pluginObj: any, methodName: string, opts: any = {}) {
|
||||
export function wrapInstance(
|
||||
pluginObj: any,
|
||||
methodName: string,
|
||||
opts: any = {}
|
||||
) {
|
||||
return (...args: any[]) => {
|
||||
if (opts.sync) {
|
||||
|
||||
return callInstance(pluginObj, methodName, args, opts);
|
||||
|
||||
} else if (opts.observable) {
|
||||
|
||||
return new Observable(observer => {
|
||||
|
||||
let pluginResult;
|
||||
|
||||
if (opts.destruct) {
|
||||
pluginResult = callInstance(pluginObj, methodName, args, opts, (...args: any[]) => observer.next(args), (...args: any[]) => observer.error(args));
|
||||
pluginResult = callInstance(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
(...args: any[]) => observer.next(args),
|
||||
(...args: any[]) => observer.error(args)
|
||||
);
|
||||
} else {
|
||||
pluginResult = callInstance(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer));
|
||||
pluginResult = callInstance(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
observer.next.bind(observer),
|
||||
observer.error.bind(observer)
|
||||
);
|
||||
}
|
||||
|
||||
if (pluginResult && pluginResult.error) {
|
||||
@@ -294,23 +420,47 @@ export function wrapInstance(pluginObj: any, methodName: string, opts: any = {})
|
||||
return () => {
|
||||
try {
|
||||
if (opts.clearWithArgs) {
|
||||
return callInstance(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer));
|
||||
return callInstance(
|
||||
pluginObj,
|
||||
opts.clearFunction,
|
||||
args,
|
||||
opts,
|
||||
observer.next.bind(observer),
|
||||
observer.error.bind(observer)
|
||||
);
|
||||
}
|
||||
return callInstance(pluginObj, opts.clearFunction, []);
|
||||
} catch (e) {
|
||||
console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName);
|
||||
console.warn(
|
||||
'Unable to clear the previous observable watch for',
|
||||
pluginObj.constructor.getPluginName(),
|
||||
methodName
|
||||
);
|
||||
console.warn(e);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
} else if (opts.otherPromise) {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
let result;
|
||||
if (opts.destruct) {
|
||||
result = callInstance(pluginObj, methodName, args, opts, (...args: any[]) => resolve(args), (...args: any[]) => reject(args));
|
||||
result = callInstance(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
(...args: any[]) => resolve(args),
|
||||
(...args: any[]) => reject(args)
|
||||
);
|
||||
} else {
|
||||
result = callInstance(pluginObj, methodName, args, opts, resolve, reject);
|
||||
result = callInstance(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
resolve,
|
||||
reject
|
||||
);
|
||||
}
|
||||
if (result && !!result.then) {
|
||||
result.then(resolve, reject);
|
||||
@@ -318,14 +468,27 @@ export function wrapInstance(pluginObj: any, methodName: string, opts: any = {})
|
||||
reject();
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
let pluginResult: any, rej: Function;
|
||||
const p = getPromise((resolve: Function, reject: Function) => {
|
||||
if (opts.destruct) {
|
||||
pluginResult = callInstance(pluginObj, methodName, args, opts, (...args: any[]) => resolve(args), (...args: any[]) => reject(args));
|
||||
pluginResult = callInstance(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
(...args: any[]) => resolve(args),
|
||||
(...args: any[]) => reject(args)
|
||||
);
|
||||
} else {
|
||||
pluginResult = callInstance(pluginObj, methodName, args, opts, resolve, reject);
|
||||
pluginResult = callInstance(
|
||||
pluginObj,
|
||||
methodName,
|
||||
args,
|
||||
opts,
|
||||
resolve,
|
||||
reject
|
||||
);
|
||||
}
|
||||
rej = reject;
|
||||
});
|
||||
@@ -333,12 +496,10 @@ export function wrapInstance(pluginObj: any, methodName: string, opts: any = {})
|
||||
// a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason
|
||||
// to error
|
||||
if (pluginResult && pluginResult.error) {
|
||||
p.catch(() => { });
|
||||
p.catch(() => {});
|
||||
typeof rej === 'function' && rej(pluginResult.error);
|
||||
}
|
||||
return p;
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,25 +7,27 @@ export const get = (element: Element | Window, path: string): any => {
|
||||
const paths: string[] = path.split('.');
|
||||
let obj: any = element;
|
||||
for (let i: number = 0; i < paths.length; i++) {
|
||||
if (!obj) { return null; }
|
||||
if (!obj) {
|
||||
return null;
|
||||
}
|
||||
obj = obj[paths[i]];
|
||||
}
|
||||
return obj;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
export const getPromise = (callback: Function): Promise<any> => {
|
||||
|
||||
const tryNativePromise = () => {
|
||||
if (window.Promise) {
|
||||
return new Promise((resolve, reject) => {
|
||||
callback(resolve, reject);
|
||||
});
|
||||
} else {
|
||||
console.error('No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.');
|
||||
console.error(
|
||||
'No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.'
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -44,14 +46,30 @@ export const getPlugin = (pluginRef: string): any => {
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
export const pluginWarn = (pluginName: string, plugin?: string, method?: string): void => {
|
||||
export const pluginWarn = (
|
||||
pluginName: string,
|
||||
plugin?: string,
|
||||
method?: string
|
||||
): void => {
|
||||
if (method) {
|
||||
console.warn('Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.');
|
||||
console.warn(
|
||||
'Native: tried calling ' +
|
||||
pluginName +
|
||||
'.' +
|
||||
method +
|
||||
', but the ' +
|
||||
pluginName +
|
||||
' plugin is not installed.'
|
||||
);
|
||||
} else {
|
||||
console.warn('Native: tried accessing the ' + pluginName + ' plugin but it\'s not installed.');
|
||||
console.warn(
|
||||
`'Native: tried accessing the ${pluginName} plugin but it's not installed.`
|
||||
);
|
||||
}
|
||||
if (plugin) {
|
||||
console.warn('Install the ' + pluginName + ' plugin: \'ionic cordova plugin add ' + plugin + '\'');
|
||||
console.warn(
|
||||
`Install the ${pluginName} plugin: 'ionic cordova plugin add ${plugin}'`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -62,8 +80,18 @@ export const pluginWarn = (pluginName: string, plugin?: string, method?: string)
|
||||
*/
|
||||
export const cordovaWarn = (pluginName: string, method?: string): void => {
|
||||
if (method) {
|
||||
console.warn('Native: tried calling ' + pluginName + '.' + method + ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator');
|
||||
console.warn(
|
||||
'Native: tried calling ' +
|
||||
pluginName +
|
||||
'.' +
|
||||
method +
|
||||
', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'
|
||||
);
|
||||
} else {
|
||||
console.warn('Native: tried accessing the ' + pluginName + ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator');
|
||||
console.warn(
|
||||
'Native: tried accessing the ' +
|
||||
pluginName +
|
||||
' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface ActionSheetOptions {
|
||||
|
||||
/**
|
||||
* The labels for the buttons. Uses the index x
|
||||
*/
|
||||
@@ -98,7 +97,6 @@ export interface ActionSheetOptions {
|
||||
})
|
||||
@Injectable()
|
||||
export class ActionSheet extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Convenience property to select an Android theme value
|
||||
*/
|
||||
@@ -118,18 +116,22 @@ export class ActionSheet extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Show a native ActionSheet component. See below for options.
|
||||
* @param options {ActionSheetOptions} Options See table below
|
||||
* @param {ActionSheetOptions} [options] Options See table below
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with the index of the
|
||||
* button pressed (1 based, so 1, 2, 3, etc.)
|
||||
*/
|
||||
@Cordova()
|
||||
show(options?: ActionSheetOptions): Promise<number> { return; }
|
||||
|
||||
show(options?: ActionSheetOptions): Promise<number> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Progamtically hide the native ActionSheet
|
||||
* Programmatically hide the native ActionSheet
|
||||
* @param {ActionSheetOptions} [options] Options See table below
|
||||
* @returns {Promise<any>} Returns a Promise that resolves when the actionsheet is closed
|
||||
*/
|
||||
@Cordova()
|
||||
hide(options?: any): Promise<any> { return; }
|
||||
hide(options?: ActionSheetOptions): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import 'rxjs/add/observable/fromEvent';
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export interface AdMobFreeBannerConfig {
|
||||
/**
|
||||
* Ad Unit ID
|
||||
@@ -114,12 +115,11 @@ export interface AdMobFreeRewardVideoConfig {
|
||||
})
|
||||
@Injectable()
|
||||
export class AdMobFree extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Convenience object to get event names
|
||||
* @type {Object}
|
||||
*/
|
||||
events: any = {
|
||||
events = {
|
||||
BANNER_LOAD: 'admob.banner.events.LOAD',
|
||||
BANNER_LOAD_FAIL: 'admob.banner.events.LOAD_FAIL',
|
||||
BANNER_OPEN: 'admob.banner.events.OPEN',
|
||||
@@ -167,7 +167,6 @@ export class AdMobFree extends IonicNativePlugin {
|
||||
* @type {AdMobFreeRewardVideo}
|
||||
*/
|
||||
rewardVideo: AdMobFreeRewardVideo = new AdMobFreeRewardVideo();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -176,46 +175,54 @@ export class AdMobFree extends IonicNativePlugin {
|
||||
@Plugin({
|
||||
pluginName: 'AdMobFree',
|
||||
plugin: 'cordova-plugin-admob-free',
|
||||
pluginRef: 'admob.banner',
|
||||
pluginRef: 'admob.banner'
|
||||
})
|
||||
export class AdMobFreeBanner {
|
||||
|
||||
/**
|
||||
* Update config.
|
||||
* Update config
|
||||
* @param options
|
||||
* @return {AdMobFreeBannerConfig}
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
config(options: AdMobFreeBannerConfig): AdMobFreeBannerConfig { return; }
|
||||
config(options: AdMobFreeBannerConfig): AdMobFreeBannerConfig {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the banner.
|
||||
* Hide the banner
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
hide(): Promise<any> { return; }
|
||||
hide(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create banner.
|
||||
* Create banner
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
prepare(): Promise<any> { return; }
|
||||
prepare(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the banner.
|
||||
* Remove the banner
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
remove(): Promise<any> { return; }
|
||||
remove(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the banner.
|
||||
* Show the banner
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
show(): Promise<any> { return; }
|
||||
|
||||
show(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -224,39 +231,45 @@ export class AdMobFreeBanner {
|
||||
@Plugin({
|
||||
pluginName: 'AdMobFree',
|
||||
plugin: 'cordova-plugin-admob-free',
|
||||
pluginRef: 'admob.interstitial',
|
||||
pluginRef: 'admob.interstitial'
|
||||
})
|
||||
export class AdMobFreeInterstitial {
|
||||
|
||||
/**
|
||||
* Update config.
|
||||
* Update config
|
||||
* @param options
|
||||
* @return {AdMobFreeInterstitialConfig}
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
config(options: AdMobFreeInterstitialConfig): AdMobFreeInterstitialConfig { return; }
|
||||
config(options: AdMobFreeInterstitialConfig): AdMobFreeInterstitialConfig {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if interstitial is ready
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
isReady(): Promise<any> { return; }
|
||||
isReady(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare interstitial
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
prepare(): Promise<any> { return; }
|
||||
prepare(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the interstitial
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
show(): Promise<any> { return; }
|
||||
|
||||
show(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -265,37 +278,43 @@ export class AdMobFreeInterstitial {
|
||||
@Plugin({
|
||||
pluginName: 'AdMobFree',
|
||||
plugin: 'cordova-plugin-admob-free',
|
||||
pluginRef: 'admob.rewardvideo',
|
||||
pluginRef: 'admob.rewardvideo'
|
||||
})
|
||||
export class AdMobFreeRewardVideo {
|
||||
|
||||
/**
|
||||
* Update config.
|
||||
* @param options
|
||||
* Update config
|
||||
* @param {AdMobFreeRewardVideoConfig} options Admob reward config
|
||||
* @return {AdMobFreeRewardVideoConfig}
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
config(options: AdMobFreeRewardVideoConfig): AdMobFreeRewardVideoConfig { return; }
|
||||
config(options: AdMobFreeRewardVideoConfig): AdMobFreeRewardVideoConfig {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if reward video is ready
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
isReady(): Promise<any> { return; }
|
||||
isReady(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare reward video
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
prepare(): Promise<any> { return; }
|
||||
prepare(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the reward video
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ otherPromise: true })
|
||||
show(): Promise<any> { return; }
|
||||
|
||||
show(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ export class AdMobPro extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Create a banner
|
||||
* @param adIdOrOptions {string | AdMobOptions} Ad ID or Options
|
||||
* @param {string | AdMobOptions} adIdOrOptions Ad ID or Options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves when the banner is created
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -188,7 +188,7 @@ export class AdMobPro extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Show banner at position
|
||||
* @param position {number} Position. Use `AdMobPro.AD_POSITION` to set values.
|
||||
* @param {number} position Position. Use `AdMobPro.AD_POSITION` to set values.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true
|
||||
@@ -197,8 +197,8 @@ export class AdMobPro extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Show banner at custom position
|
||||
* @param x {number} Offset from screen left.
|
||||
* @param y {number} Offset from screen top.
|
||||
* @param {number} x Offset from screen left.
|
||||
* @param {number} y Offset from screen top.
|
||||
*/
|
||||
@Cordova({
|
||||
sync: true
|
||||
@@ -215,7 +215,7 @@ export class AdMobPro extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Prepare interstitial banner
|
||||
* @param adIdOrOptions {string | AdMobOptions} Ad ID or Options
|
||||
* @param {string | AdMobOptions} adIdOrOptions Ad ID or Options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves when interstitial is prepared
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -233,7 +233,7 @@ export class AdMobPro extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Prepare a reward video ad
|
||||
* @param adIdOrOptions {string | AdMobOptions} Ad ID or Options
|
||||
* @param {string | AdMobOptions} adIdOrOptions Ad ID or Options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves when the ad is prepared
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -251,7 +251,7 @@ export class AdMobPro extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Sets the values for configuration and targeting
|
||||
* @param options {AdMobOptions} Options
|
||||
* @param {AdMobOptions} options Options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves when the options have been set
|
||||
*/
|
||||
@Cordova()
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface AlipayOrder {
|
||||
/**
|
||||
@@ -101,7 +99,8 @@ export interface AlipayOrder {
|
||||
plugin: 'cordova-alipay-base',
|
||||
pluginRef: 'Alipay.Base',
|
||||
repo: 'https://github.com/xueron/cordova-alipay-base',
|
||||
install: 'ionic cordova plugin add cordova-alipay-base --variable ALI_PID=your_app_id',
|
||||
install:
|
||||
'ionic cordova plugin add cordova-alipay-base --variable ALI_PID=your_app_id',
|
||||
installVariables: ['ALI_PID'],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@@ -109,9 +108,11 @@ export interface AlipayOrder {
|
||||
export class Alipay extends IonicNativePlugin {
|
||||
/**
|
||||
* Open Alipay to perform App pay
|
||||
* @param order { AlipayOrder | string } alipay options
|
||||
* @param { AlipayOrder | string } order alipay options
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with the success return, or rejects with an error.
|
||||
*/
|
||||
@Cordova()
|
||||
pay(order: AlipayOrder | string): Promise<any> { return; }
|
||||
pay(order: AlipayOrder | string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export type AndroidExoPlayerAspectRatio = 'FILL_SCREEN' | 'FIT_SCREEN';
|
||||
@@ -138,7 +138,7 @@ export interface AndroidExoPlayerControllerConfig {
|
||||
exo_play: string;
|
||||
|
||||
/**
|
||||
* Payse button icon.
|
||||
* Pause button icon.
|
||||
*/
|
||||
exo_pause: string;
|
||||
|
||||
@@ -184,90 +184,115 @@ export interface AndroidExoPlayerControllerConfig {
|
||||
export class AndroidExoplayer extends IonicNativePlugin {
|
||||
/**
|
||||
* Show the player.
|
||||
* @param parameters {AndroidExoPlayerParams} Parameters
|
||||
* @param {AndroidExoPlayerParams} parameters Parameters
|
||||
* @return {Observable<AndroidExoplayerState>}
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
clearFunction: 'close',
|
||||
clearWithArgs: false,
|
||||
successIndex: 1,
|
||||
errorIndex: 2
|
||||
})
|
||||
show(parameters: AndroidExoPlayerParams): Observable<AndroidExoplayerState> { return; }
|
||||
@Cordova({
|
||||
observable: true,
|
||||
clearFunction: 'close',
|
||||
clearWithArgs: false,
|
||||
successIndex: 1,
|
||||
errorIndex: 2
|
||||
})
|
||||
show(parameters: AndroidExoPlayerParams): Observable<AndroidExoplayerState> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Switch stream without disposing of the player.
|
||||
* @param url {string} The url of the new stream.
|
||||
* @param controller {AndroidExoPlayerControllerConfig} Configuration of the controller.
|
||||
* @param {string} url The url of the new stream.
|
||||
* @param {AndroidExoPlayerControllerConfig} controller Configuration of the controller.
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setStream(url: string, controller: AndroidExoPlayerControllerConfig): Promise<void> { return; }
|
||||
setStream(
|
||||
url: string,
|
||||
controller: AndroidExoPlayerControllerConfig
|
||||
): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Will pause if playing and play if paused
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
playPause(): Promise<void> { return; }
|
||||
playPause(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop playing.
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
stop(): Promise<void> { return; }
|
||||
stop(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Jump to a particular position.
|
||||
* @param milliseconds {number} Position in stream in milliseconds
|
||||
* @param {number} milliseconds Position in stream in milliseconds
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
seekTo(milliseconds: number): Promise<void> { return; }
|
||||
seekTo(milliseconds: number): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Jump to a particular time relative to the current position.
|
||||
* @param milliseconds {number} Time in milliseconds
|
||||
* @param {number} milliseconds Time in milliseconds
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
seekBy(milliseconds: number): Promise<void> { return; }
|
||||
seekBy(milliseconds: number): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current player state.
|
||||
* @return {Promise<AndroidExoplayerState>}
|
||||
*/
|
||||
@Cordova()
|
||||
getState(): Promise<AndroidExoplayerState> { return; }
|
||||
getState(): Promise<AndroidExoplayerState> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the controller.
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
showController(): Promise<void> { return; }
|
||||
showController(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the controller.
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
hideController(): Promise<void> { return; }
|
||||
hideController(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the controller configuration.
|
||||
* @param controller {AndroidExoPlayerControllerConfig} Configuration of the controller.
|
||||
* @param {AndroidExoPlayerControllerConfig} controller Configuration of the controller.
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setController(controller: AndroidExoPlayerControllerConfig): Promise<void> { return; }
|
||||
setController(controller: AndroidExoPlayerControllerConfig): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close and dispose of player, call before destroy.
|
||||
* @return {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
close(): Promise<void> { return; }
|
||||
close(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface AFAAuthOptions {
|
||||
|
||||
/**
|
||||
* Required
|
||||
* Used as the alias for your key in the Android Key Store.
|
||||
@@ -62,7 +60,6 @@ export interface AFAAuthOptions {
|
||||
* Set the hint displayed by the fingerprint icon on the fingerprint authentication dialog.
|
||||
*/
|
||||
dialogHint?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface AFADecryptOptions {
|
||||
@@ -96,6 +93,17 @@ export interface AFAEncryptResponse {
|
||||
token: string;
|
||||
}
|
||||
|
||||
export interface AFAAvailableResponse {
|
||||
isAvailable: boolean;
|
||||
isHardwareDetected: boolean;
|
||||
hasEnrolledFingerprints: boolean;
|
||||
}
|
||||
|
||||
export interface AFADeleteOptions {
|
||||
clientId: string;
|
||||
username: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name Android Fingerprint Auth
|
||||
* @description
|
||||
@@ -139,6 +147,8 @@ export interface AFAEncryptResponse {
|
||||
* AFAAuthOptions
|
||||
* AFAEncryptResponse
|
||||
* AFADecryptOptions
|
||||
* AFAAvailableResponse
|
||||
* AFADeleteOptions
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AndroidFingerprintAuth',
|
||||
@@ -149,55 +159,63 @@ export interface AFAEncryptResponse {
|
||||
})
|
||||
@Injectable()
|
||||
export class AndroidFingerprintAuth extends IonicNativePlugin {
|
||||
|
||||
ERRORS: {
|
||||
BAD_PADDING_EXCEPTION: 'BAD_PADDING_EXCEPTION',
|
||||
CERTIFICATE_EXCEPTION: 'CERTIFICATE_EXCEPTION',
|
||||
FINGERPRINT_CANCELLED: 'FINGERPRINT_CANCELLED',
|
||||
FINGERPRINT_DATA_NOT_DELETED: 'FINGERPRINT_DATA_NOT_DELETED',
|
||||
FINGERPRINT_ERROR: 'FINGERPRINT_ERROR',
|
||||
FINGERPRINT_NOT_AVAILABLE: 'FINGERPRINT_NOT_AVAILABLE',
|
||||
FINGERPRINT_PERMISSION_DENIED: 'FINGERPRINT_PERMISSION_DENIED',
|
||||
FINGERPRINT_PERMISSION_DENIED_SHOW_REQUEST: 'FINGERPRINT_PERMISSION_DENIED_SHOW_REQUEST',
|
||||
ILLEGAL_BLOCK_SIZE_EXCEPTION: 'ILLEGAL_BLOCK_SIZE_EXCEPTION',
|
||||
INIT_CIPHER_FAILED: 'INIT_CIPHER_FAILED',
|
||||
INVALID_ALGORITHM_PARAMETER_EXCEPTION: 'INVALID_ALGORITHM_PARAMETER_EXCEPTION',
|
||||
IO_EXCEPTION: 'IO_EXCEPTION',
|
||||
JSON_EXCEPTION: 'JSON_EXCEPTION',
|
||||
MINIMUM_SDK: 'MINIMUM_SDK',
|
||||
MISSING_ACTION_PARAMETERS: 'MISSING_ACTION_PARAMETERS',
|
||||
MISSING_PARAMETERS: 'MISSING_PARAMETERS',
|
||||
NO_SUCH_ALGORITHM_EXCEPTION: 'NO_SUCH_ALGORITHM_EXCEPTION',
|
||||
SECURITY_EXCEPTION: 'SECURITY_EXCEPTION'
|
||||
BAD_PADDING_EXCEPTION: 'BAD_PADDING_EXCEPTION';
|
||||
CERTIFICATE_EXCEPTION: 'CERTIFICATE_EXCEPTION';
|
||||
FINGERPRINT_CANCELLED: 'FINGERPRINT_CANCELLED';
|
||||
FINGERPRINT_DATA_NOT_DELETED: 'FINGERPRINT_DATA_NOT_DELETED';
|
||||
FINGERPRINT_ERROR: 'FINGERPRINT_ERROR';
|
||||
FINGERPRINT_NOT_AVAILABLE: 'FINGERPRINT_NOT_AVAILABLE';
|
||||
FINGERPRINT_PERMISSION_DENIED: 'FINGERPRINT_PERMISSION_DENIED';
|
||||
FINGERPRINT_PERMISSION_DENIED_SHOW_REQUEST: 'FINGERPRINT_PERMISSION_DENIED_SHOW_REQUEST';
|
||||
ILLEGAL_BLOCK_SIZE_EXCEPTION: 'ILLEGAL_BLOCK_SIZE_EXCEPTION';
|
||||
INIT_CIPHER_FAILED: 'INIT_CIPHER_FAILED';
|
||||
INVALID_ALGORITHM_PARAMETER_EXCEPTION: 'INVALID_ALGORITHM_PARAMETER_EXCEPTION';
|
||||
IO_EXCEPTION: 'IO_EXCEPTION';
|
||||
JSON_EXCEPTION: 'JSON_EXCEPTION';
|
||||
MINIMUM_SDK: 'MINIMUM_SDK';
|
||||
MISSING_ACTION_PARAMETERS: 'MISSING_ACTION_PARAMETERS';
|
||||
MISSING_PARAMETERS: 'MISSING_PARAMETERS';
|
||||
NO_SUCH_ALGORITHM_EXCEPTION: 'NO_SUCH_ALGORITHM_EXCEPTION';
|
||||
SECURITY_EXCEPTION: 'SECURITY_EXCEPTION';
|
||||
};
|
||||
|
||||
/**
|
||||
* Opens a native dialog fragment to use the device hardware fingerprint scanner to authenticate against fingerprints registered for the device.
|
||||
* @param options {AFAAuthOptions} Options
|
||||
* @returns {Promise<any>}
|
||||
* @param {AFAAuthOptions} options Options
|
||||
* @returns {Promise<AFAEncryptResponse>}
|
||||
*/
|
||||
@Cordova()
|
||||
encrypt(options: AFAAuthOptions): Promise<AFAEncryptResponse> { return; }
|
||||
encrypt(options: AFAAuthOptions): Promise<AFAEncryptResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens a native dialog fragment to use the device hardware fingerprint scanner to authenticate against fingerprints registered for the device.
|
||||
* @param options {AFAAuthOptions} Options
|
||||
* @returns {Promise<any>}
|
||||
* @param {AFAAuthOptions} options Options
|
||||
* @returns {Promise<AFADecryptOptions>}
|
||||
*/
|
||||
@Cordova()
|
||||
decrypt(options: AFAAuthOptions): Promise<AFADecryptOptions> { return; }
|
||||
decrypt(options: AFAAuthOptions): Promise<AFADecryptOptions> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if service is available
|
||||
* @returns {Promise<any>} Returns a Promise that resolves if fingerprint auth is available on the device
|
||||
* @returns {Promise<AFAAvailableResponse>} Returns a Promise that resolves if fingerprint auth is available on the device
|
||||
*/
|
||||
@Cordova()
|
||||
isAvailable(): Promise<{ isAvailable: boolean, isHardwareDetected: boolean, hasEnrolledFingerprints: boolean }> { return; }
|
||||
isAvailable(): Promise<AFAAvailableResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete the cipher used for encryption and decryption by username
|
||||
* @returns {Promise<any>} Returns a Promise that resolves if the cipher was successfully deleted
|
||||
* @param {AFADeleteOptions} options Options
|
||||
* @returns {Promise<{ deleted: boolean }>} Returns a Promise that resolves if the cipher was successfully deleted
|
||||
*/
|
||||
@Cordova()
|
||||
delete(options: { clientId: string; username: string; }): Promise<{ deleted: boolean }> { return; }
|
||||
delete(options: AFADeleteOptions): Promise<{ deleted: boolean }> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name Android Permissions
|
||||
@@ -37,12 +37,12 @@ import { Injectable } from '@angular/core';
|
||||
})
|
||||
@Injectable()
|
||||
export class AndroidPermissions extends IonicNativePlugin {
|
||||
|
||||
PERMISSION: any = {
|
||||
ACCESS_CHECKIN_PROPERTIES: 'android.permission.ACCESS_CHECKIN_PROPERTIES',
|
||||
ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',
|
||||
ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',
|
||||
ACCESS_LOCATION_EXTRA_COMMANDS: 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS',
|
||||
ACCESS_LOCATION_EXTRA_COMMANDS:
|
||||
'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS',
|
||||
ACCESS_MOCK_LOCATION: 'android.permission.ACCESS_MOCK_LOCATION',
|
||||
ACCESS_NETWORK_STATE: 'android.permission.ACCESS_NETWORK_STATE',
|
||||
ACCESS_SURFACE_FLINGER: 'android.permission.ACCESS_SURFACE_FLINGER',
|
||||
@@ -53,12 +53,14 @@ export class AndroidPermissions extends IonicNativePlugin {
|
||||
BATTERY_STATS: 'android.permission.BATTERY_STATS',
|
||||
BIND_ACCESSIBILITY_SERVICE: 'android.permission.BIND_ACCESSIBILITY_SERVICE',
|
||||
BIND_APPWIDGET: 'android.permission.BIND_APPWIDGET',
|
||||
BIND_CARRIER_MESSAGING_SERVICE: 'android.permission.BIND_CARRIER_MESSAGING_SERVICE',
|
||||
BIND_CARRIER_MESSAGING_SERVICE:
|
||||
'android.permission.BIND_CARRIER_MESSAGING_SERVICE',
|
||||
BIND_DEVICE_ADMIN: 'android.permission.BIND_DEVICE_ADMIN',
|
||||
BIND_DREAM_SERVICE: 'android.permission.BIND_DREAM_SERVICE',
|
||||
BIND_INPUT_METHOD: 'android.permission.BIND_INPUT_METHOD',
|
||||
BIND_NFC_SERVICE: 'android.permission.BIND_NFC_SERVICE',
|
||||
BIND_NOTIFICATION_LISTENER_SERVICE: 'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE',
|
||||
BIND_NOTIFICATION_LISTENER_SERVICE:
|
||||
'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE',
|
||||
BIND_PRINT_SERVICE: 'android.permission.BIND_PRINT_SERVICE',
|
||||
BIND_REMOTEVIEWS: 'android.permission.BIND_REMOTEVIEWS',
|
||||
BIND_TEXT_SERVICE: 'android.permission.BIND_TEXT_SERVICE',
|
||||
@@ -79,12 +81,15 @@ export class AndroidPermissions extends IonicNativePlugin {
|
||||
CALL_PRIVILEGED: 'android.permission.CALL_PRIVILEGED',
|
||||
CAMERA: 'android.permission.CAMERA',
|
||||
CAPTURE_AUDIO_OUTPUT: 'android.permission.CAPTURE_AUDIO_OUTPUT',
|
||||
CAPTURE_SECURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT',
|
||||
CAPTURE_SECURE_VIDEO_OUTPUT:
|
||||
'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT',
|
||||
CAPTURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_VIDEO_OUTPUT',
|
||||
CHANGE_COMPONENT_ENABLED_STATE: 'android.permission.CHANGE_COMPONENT_ENABLED_STATE',
|
||||
CHANGE_COMPONENT_ENABLED_STATE:
|
||||
'android.permission.CHANGE_COMPONENT_ENABLED_STATE',
|
||||
CHANGE_CONFIGURATION: 'android.permission.CHANGE_CONFIGURATION',
|
||||
CHANGE_NETWORK_STATE: 'android.permission.CHANGE_NETWORK_STATE',
|
||||
CHANGE_WIFI_MULTICAST_STATE: 'android.permission.CHANGE_WIFI_MULTICAST_STATE',
|
||||
CHANGE_WIFI_MULTICAST_STATE:
|
||||
'android.permission.CHANGE_WIFI_MULTICAST_STATE',
|
||||
CHANGE_WIFI_STATE: 'android.permission.CHANGE_WIFI_STATE',
|
||||
CLEAR_APP_CACHE: 'android.permission.CLEAR_APP_CACHE',
|
||||
CLEAR_APP_USER_DATA: 'android.permission.CLEAR_APP_USER_DATA',
|
||||
@@ -130,7 +135,8 @@ export class AndroidPermissions extends IonicNativePlugin {
|
||||
READ_CONTACTS: 'android.permission.READ_CONTACTS',
|
||||
READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
|
||||
READ_FRAME_BUFFER: 'android.permission.READ_FRAME_BUFFER',
|
||||
READ_HISTORY_BOOKMARKS: 'com.android.browser.permission.READ_HISTORY_BOOKMARKS',
|
||||
READ_HISTORY_BOOKMARKS:
|
||||
'com.android.browser.permission.READ_HISTORY_BOOKMARKS',
|
||||
READ_INPUT_STATE: 'android.permission.READ_INPUT_STATE',
|
||||
READ_LOGS: 'android.permission.READ_LOGS',
|
||||
READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',
|
||||
@@ -164,7 +170,8 @@ export class AndroidPermissions extends IonicNativePlugin {
|
||||
SET_TIME_ZONE: 'android.permission.SET_TIME_ZONE',
|
||||
SET_WALLPAPER: 'android.permission.SET_WALLPAPER',
|
||||
SET_WALLPAPER_HINTS: 'android.permission.SET_WALLPAPER_HINTS',
|
||||
SIGNAL_PERSISTENT_PROCESSES: 'android.permission.SIGNAL_PERSISTENT_PROCESSES',
|
||||
SIGNAL_PERSISTENT_PROCESSES:
|
||||
'android.permission.SIGNAL_PERSISTENT_PROCESSES',
|
||||
STATUS_BAR: 'android.permission.STATUS_BAR',
|
||||
SUBSCRIBED_FEEDS_READ: 'android.permission.SUBSCRIBED_FEEDS_READ',
|
||||
SUBSCRIBED_FEEDS_WRITE: 'android.permission.SUBSCRIBED_FEEDS_WRITE',
|
||||
@@ -182,7 +189,8 @@ export class AndroidPermissions extends IonicNativePlugin {
|
||||
WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',
|
||||
WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',
|
||||
WRITE_GSERVICES: 'android.permission.WRITE_GSERVICES',
|
||||
WRITE_HISTORY_BOOKMARKS: 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS',
|
||||
WRITE_HISTORY_BOOKMARKS:
|
||||
'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS',
|
||||
WRITE_PROFILE: 'android.permission.WRITE_PROFILE',
|
||||
WRITE_SECURE_SETTINGS: 'android.permission.WRITE_SECURE_SETTINGS',
|
||||
WRITE_SETTINGS: 'android.permission.WRITE_SETTINGS',
|
||||
@@ -190,39 +198,46 @@ export class AndroidPermissions extends IonicNativePlugin {
|
||||
WRITE_SOCIAL_STREAM: 'android.permission.WRITE_SOCIAL_STREAM',
|
||||
WRITE_SYNC_SETTINGS: 'android.permission.WRITE_SYNC_SETTINGS',
|
||||
WRITE_USER_DICTIONARY: 'android.permission.WRITE_USER_DICTIONARY',
|
||||
WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',
|
||||
WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL'
|
||||
};
|
||||
|
||||
/**
|
||||
* Check permission
|
||||
* @param permission {string} The name of the permission
|
||||
* @param {string} permission The name of the permission
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
checkPermission(permission: string): Promise<any> { return; }
|
||||
checkPermission(permission: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Request permission
|
||||
* @param permission {string} The name of the permission to request
|
||||
* @param {string} permission The name of the permission to request
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
requestPermission(permission: string): Promise<any> { return; }
|
||||
requestPermission(permission: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Request permissions
|
||||
* @param permissions {Array<string>} An array with permissions
|
||||
* @param {Array<string>} permissions An array with permissions
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
requestPermissions(permissions: string[]): Promise<any> { return; }
|
||||
requestPermissions(permissions: string[]): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function still works now, will not support in the future.
|
||||
* @param permission {string} The name of the permission
|
||||
* @param {string} permission The name of the permission
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
hasPermission(permission: string): Promise<any> { return; }
|
||||
|
||||
hasPermission(permission: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
78
src/@ionic-native/plugins/app-center-analytics/index.ts
Normal file
78
src/@ionic-native/plugins/app-center-analytics/index.ts
Normal file
@@ -0,0 +1,78 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface StringMap {
|
||||
[s: string]: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name App Center Analytics
|
||||
* @description
|
||||
* App Center Analytics helps you understand user behavior and customer engagement to improve your app.
|
||||
* The SDK automatically captures session count and device properties like model, OS version, etc.
|
||||
* You can define your own custom events to measure things that matter to you.
|
||||
* All the information captured is available in the App Center portal for you to analyze the data.
|
||||
*
|
||||
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/analytics/cordova
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { AppCenterAnalytics } from '@ionic-native/app-center-analytics';
|
||||
*
|
||||
*
|
||||
* constructor(private appCenterAnalytics: AppCenterAnalytics) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.appCenterAnalytics.setEnabled(true).then(() => {
|
||||
* this.appCenterAnalytics.trackEvent('My Event', { TEST: 'HELLO_WORLD' }).then(() => {
|
||||
* console.log('Custom event tracked');
|
||||
* });
|
||||
* });
|
||||
*
|
||||
* ```
|
||||
* @interfaces
|
||||
* StringMap
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AppCenterAnalytics',
|
||||
plugin: 'cordova-plugin-appcenter-analytics',
|
||||
pluginRef: 'AppCenter.Analytics',
|
||||
repo:
|
||||
'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-analytics',
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class AppCenterAnalytics extends IonicNativePlugin {
|
||||
/**
|
||||
* Tracks an custom event.
|
||||
* You can send up to 200 distinct event names. Also, there is a maximum limit of 256 characters per event name
|
||||
* and 64 characters per event property name and event property value.
|
||||
* @param {string} eventName Event name
|
||||
* @param {StringMap} properties Event properties
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
trackEvent(eventName: string, properties: StringMap): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if App Center Analytics is enabled
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
isEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable App Center Analytics at runtime
|
||||
* @param {boolean} shouldEnable Set value
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setEnabled(shouldEnable: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
115
src/@ionic-native/plugins/app-center-crashes/index.ts
Normal file
115
src/@ionic-native/plugins/app-center-crashes/index.ts
Normal file
@@ -0,0 +1,115 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface AppCenterCrashReport {
|
||||
id: string;
|
||||
device: AppCenterCrashReportDevice;
|
||||
appStartTime: number;
|
||||
appErrorTime: number;
|
||||
signal: string;
|
||||
appProcessIdentifier: number;
|
||||
}
|
||||
|
||||
export interface AppCenterCrashReportDevice {
|
||||
oem_name: string;
|
||||
os_name: string;
|
||||
app_version: string;
|
||||
time_zone_offset: number;
|
||||
carrier_name: string;
|
||||
screen_size: string;
|
||||
locale: string;
|
||||
sdk_version: string;
|
||||
carrier_country: string;
|
||||
os_build: string;
|
||||
app_namespace: string;
|
||||
os_version: string;
|
||||
sdk_name: string;
|
||||
model: string;
|
||||
app_build: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @name App Center Crashes
|
||||
* @description
|
||||
* App Center Analytics helps you understand user behavior and customer engagement to improve your app.
|
||||
* The SDK automatically captures session count and device properties like model, OS version, etc.
|
||||
* You can define your own custom events to measure things that matter to you.
|
||||
* All the information captured is available in the App Center portal for you to analyze the data.
|
||||
*
|
||||
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/crashes/cordova
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { AppCenterCrashes } from '@ionic-native/app-center-crashes';
|
||||
*
|
||||
*
|
||||
* constructor(private AppCenterCrashes: AppCenterCrashes) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.AppCenterCrashes.setEnabled(true).then(() => {
|
||||
* this.AppCenterCrashes.lastSessionCrashReport().then(report => {
|
||||
* console.log('Crash report', report);
|
||||
* });
|
||||
* });
|
||||
*
|
||||
* ```
|
||||
* @interfaces
|
||||
* AppCenterCrashReport
|
||||
* AppCenterCrashReportDevice
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AppCenterCrashes',
|
||||
plugin: 'cordova-plugin-appcenter-crashes',
|
||||
pluginRef: 'AppCenter.Crashes',
|
||||
repo:
|
||||
'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-crashes',
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class AppCenterCrashes extends IonicNativePlugin {
|
||||
/**
|
||||
* App Center Crashes provides you with an API to generate a test crash for easy testing of the SDK.
|
||||
* This API can only be used in test/beta apps and won't do anything in production apps.
|
||||
* @returns void
|
||||
*/
|
||||
@Cordova()
|
||||
generateTestCrash(): void {}
|
||||
|
||||
/**
|
||||
* At any time after starting the SDK, you can check if the app crashed in the previous launch
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
hasCrashedInLastSession(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Details about the last crash
|
||||
* @returns {Promise<AppCenterCrashReport>}
|
||||
*/
|
||||
@Cordova()
|
||||
lastSessionCrashReport(): Promise<AppCenterCrashReport> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if App Center Crashes is enabled
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
isEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable App Center Crashes at runtime
|
||||
* @param {boolean} shouldEnable Set value
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setEnabled(shouldEnable: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
68
src/@ionic-native/plugins/app-center-push/index.ts
Normal file
68
src/@ionic-native/plugins/app-center-push/index.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
/**
|
||||
* @name App Center Push
|
||||
* @description
|
||||
*
|
||||
* For more info, please see https://docs.microsoft.com/en-us/appcenter/sdk/push/cordova
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { AppCenterPush } from '@ionic-native/app-center-push';
|
||||
*
|
||||
*
|
||||
* constructor(private appCenterPush: AppCenterPush) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.appCenterPush.setEnabled(true).then(() => {
|
||||
* this.appCenterPush.addEventListener('My Event').subscribe(pushNotification => {
|
||||
* console.log('Recived push notification', pushNotification);
|
||||
* });
|
||||
* });
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'AppCenterPush',
|
||||
plugin: 'cordova-plugin-appcenter-push',
|
||||
pluginRef: 'AppCenter.Push',
|
||||
repo:
|
||||
'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push',
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class AppCenterPush extends IonicNativePlugin {
|
||||
/**
|
||||
* Subscribe to an event
|
||||
* @param {string} eventName Event name
|
||||
* @returns {Observable<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
clearFunction: 'removeEventListener'
|
||||
})
|
||||
addEventListener(eventName: string): Observable<any> {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Check if App Center Push is enabled
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
isEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable App Center Push at runtime
|
||||
* @param {boolean} shouldEnable Set value
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
setEnabled(shouldEnable: boolean): Promise<void> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,8 @@ export interface AppUpdateOptions {
|
||||
export class AppUpdate extends IonicNativePlugin {
|
||||
/**
|
||||
* Check and update
|
||||
* @param updateUrl {string} update api url
|
||||
* @param {string} updateUrl update api url
|
||||
* @param {AppUpdateOptions} [options] options
|
||||
* @return {Promise<any>} Returns a promise that resolves when something happens
|
||||
*/
|
||||
@Cordova({
|
||||
|
||||
@@ -1,17 +1,32 @@
|
||||
import {Injectable} from '@angular/core';
|
||||
import {Observable} from 'rxjs/Observable';
|
||||
import {
|
||||
Plugin,
|
||||
Cordova,
|
||||
IonicNativePlugin
|
||||
} from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
export type IMakePayments = 'This device can make payments and has a supported card' | 'This device cannot make payments.' | 'This device can make payments but has no supported cards';
|
||||
export type IMakePayments =
|
||||
| 'This device can make payments and has a supported card'
|
||||
| 'This device cannot make payments.'
|
||||
| 'This device can make payments but has no supported cards';
|
||||
export type IShippingType = 'shipping' | 'delivery' | 'store' | 'service';
|
||||
export type IBillingRequirement = 'none' | 'all' | 'postcode' | 'name' | 'email' | 'phone';
|
||||
export type ITransactionStatus = 'success' | 'failure' | 'invalid-billing-address' | 'invalid-shipping-address' | 'invalid-shipping-contact' | 'require-pin' | 'incorrect-pin' | 'locked-pin';
|
||||
export type IBillingRequirement =
|
||||
| 'none'
|
||||
| 'all'
|
||||
| 'postcode'
|
||||
| 'name'
|
||||
| 'email'
|
||||
| 'phone';
|
||||
export type ITransactionStatus =
|
||||
| 'success'
|
||||
| 'failure'
|
||||
| 'invalid-billing-address'
|
||||
| 'invalid-shipping-address'
|
||||
| 'invalid-shipping-contact'
|
||||
| 'require-pin'
|
||||
| 'incorrect-pin'
|
||||
| 'locked-pin';
|
||||
export type ICompleteTransaction = 'Payment status applied.';
|
||||
export type IUpdateItemsAndShippingStatus = 'Updated List Info' | 'Did you make a payment request?';
|
||||
export type IUpdateItemsAndShippingStatus =
|
||||
| 'Updated List Info'
|
||||
| 'Did you make a payment request?';
|
||||
|
||||
export interface IPaymentResponse {
|
||||
billingNameFirst?: string;
|
||||
@@ -50,7 +65,7 @@ export interface IOrderItem {
|
||||
label: string;
|
||||
amount: number;
|
||||
}
|
||||
export interface IShippingMethod {
|
||||
export interface IShippingMethod {
|
||||
identifier: string;
|
||||
label: string;
|
||||
detail: string;
|
||||
@@ -135,11 +150,10 @@ export interface ISelectedShippingContact {
|
||||
plugin: 'cordova-plugin-applepay',
|
||||
pluginRef: 'ApplePay',
|
||||
repo: 'https://github.com/samkelleher/cordova-plugin-applepay',
|
||||
platforms: ['iOS'],
|
||||
platforms: ['iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class ApplePay extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Detects if the current device supports Apple Pay and has any capable cards registered.
|
||||
* @return {Promise<IMakePayments>} Returns a promise
|
||||
@@ -174,7 +188,9 @@ export class ApplePay extends IonicNativePlugin {
|
||||
observable: true,
|
||||
clearFunction: 'stopListeningForShippingContactSelection'
|
||||
})
|
||||
startListeningForShippingContactSelection(): Observable<ISelectedShippingContact> {
|
||||
startListeningForShippingContactSelection(): Observable<
|
||||
ISelectedShippingContact
|
||||
> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -196,9 +212,9 @@ export class ApplePay extends IonicNativePlugin {
|
||||
* any shipping contact selection event or else the user will not be able
|
||||
* to complete a transaction on the pay sheet. Do not call without
|
||||
* subscribing to shipping contact selection events first
|
||||
* @returns {Promise}
|
||||
*
|
||||
* @param {Object} including `items` and `shippingMethods` properties.
|
||||
* @param {IOrderItemsAndShippingMethods} list `items` and `shippingMethods` properties.
|
||||
* @returns {Promise<IUpdateItemsAndShippingStatus>}
|
||||
*
|
||||
* @usage
|
||||
* this.applePay.startListeningForShippingContactSelection().pluck('shippingAddressState').subscribe(shippingAddressState => {
|
||||
@@ -228,15 +244,17 @@ export class ApplePay extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
otherPromise: true
|
||||
})
|
||||
updateItemsAndShippingMethods(list: IOrderItemsAndShippingMethods): Promise<IUpdateItemsAndShippingStatus> {
|
||||
updateItemsAndShippingMethods(
|
||||
list: IOrderItemsAndShippingMethods
|
||||
): Promise<IUpdateItemsAndShippingStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Request a payment with Apple Pay
|
||||
* @return {Promise<IPaymentResponse>} Returns a promise that resolves when something happens
|
||||
*
|
||||
* @param order {IOrder}
|
||||
* @param {IOrder} order
|
||||
* @return {Promise<IPaymentResponse>} Returns a promise that resolves when something happens
|
||||
*
|
||||
* @usage
|
||||
* try {
|
||||
@@ -311,17 +329,19 @@ export class ApplePay extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Once the makePaymentRequest has been resolved successfully, the device will be waiting for a completion event.
|
||||
* This means, that the application must proceed with the token authorisation and return a success, failure,
|
||||
* This means, that the application must proceed with the token authorization and return a success, failure,
|
||||
* or other validation error. Once this has been passed back, the Apple Pay sheet will be dismissed via an animation.
|
||||
* @return {Promise<ICompleteTransaction>} Returns a promise that resolves after confirmation of payment authorization completion
|
||||
*
|
||||
* @param complete {ITransactionStatus}
|
||||
* @param {ITransactionStatus} complete
|
||||
* @return {Promise<ICompleteTransaction>} Returns a promise that resolves after confirmation of payment authorization completion
|
||||
*
|
||||
*/
|
||||
@Cordova({
|
||||
otherPromise: true
|
||||
})
|
||||
completeLastTransaction(complete: ITransactionStatus): Promise<ICompleteTransaction> {
|
||||
completeLastTransaction(
|
||||
complete: ITransactionStatus
|
||||
): Promise<ICompleteTransaction> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Injectable } from '@angular/core';
|
||||
/**
|
||||
* @name Autostart
|
||||
* @description
|
||||
* This plugin will start automatically your Android app after the every boot or the auto-update of your application.
|
||||
* This plugin automatically starts your Android app after every boot or auto-update.
|
||||
* You can enable or disable the autostart function in your app.
|
||||
*
|
||||
* @usage
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
/**
|
||||
@@ -21,9 +21,9 @@ export interface BackgroundModeConfiguration {
|
||||
*/
|
||||
icon?: string;
|
||||
|
||||
/**
|
||||
* Set the background color of the notification circle
|
||||
*/
|
||||
/**
|
||||
* Set the background color of the notification circle
|
||||
*/
|
||||
color?: string;
|
||||
|
||||
/**
|
||||
@@ -31,9 +31,9 @@ export interface BackgroundModeConfiguration {
|
||||
*/
|
||||
resume?: boolean;
|
||||
|
||||
/**
|
||||
* When set to false makes the notifications visible on lockscreen (Android 5.0+)
|
||||
*/
|
||||
/**
|
||||
* When set to false makes the notifications visible on lock screen (Android 5.0+)
|
||||
*/
|
||||
hidden?: boolean;
|
||||
|
||||
/** Big text */
|
||||
@@ -122,6 +122,7 @@ export class BackgroundMode extends IonicNativePlugin {
|
||||
* Override the default title, ticker and text.
|
||||
* Available only for Android platform.
|
||||
* @param {BackgroundModeConfiguration} options List of option to configure. See table below
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['Android']
|
||||
@@ -133,7 +134,7 @@ export class BackgroundMode extends IonicNativePlugin {
|
||||
/**
|
||||
* Modify the displayed information.
|
||||
* Available only for Android platform.
|
||||
* @param {BackgroundModeConfiguration} options Any options you want to update. See table below.
|
||||
* @param {BackgroundModeConfiguration} [options] Any options you want to update. See table below.
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['Android'],
|
||||
@@ -202,6 +203,7 @@ export class BackgroundMode extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* The method works async instead of isActive() or isEnabled().
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['Android']
|
||||
|
||||
@@ -124,7 +124,7 @@ export class BarcodeScanner extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Open the barcode scanner.
|
||||
* @param options {BarcodeScannerOptions} Optional options to pass to the scanner
|
||||
* @param {BarcodeScannerOptions} [options] Optional options to pass to the scanner
|
||||
* @returns {Promise<any>} Returns a Promise that resolves with scanner data, or rejects with an error.
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -137,8 +137,8 @@ export class BarcodeScanner extends IonicNativePlugin {
|
||||
/**
|
||||
* Encodes data into a barcode.
|
||||
* NOTE: not well supported on Android
|
||||
* @param type {string} Type of encoding
|
||||
* @param data {any} Data to encode
|
||||
* @param {string} type Type of encoding
|
||||
* @param {any} data Data to encode
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
|
||||
@@ -74,7 +74,7 @@ export class BatteryStatus extends IonicNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Watch when the battery level goes to critial
|
||||
* Watch when the battery level goes to critical
|
||||
* @returns {Observable<BatteryStatusResponse>} Returns an observable that pushes a status object
|
||||
*/
|
||||
@Cordova({
|
||||
|
||||
@@ -232,7 +232,7 @@ export class BLE extends IonicNativePlugin {
|
||||
/**
|
||||
* Scans for BLE devices. This function operates similarly to the `startScan` function, but allows you to specify extra options (like allowing duplicate device reports).
|
||||
* @param {string[]} services List of service UUIDs to discover, or `[]` to find all devices
|
||||
* @param options {any}
|
||||
* @param {BLEScanOptions} options Options
|
||||
* @returns {Observable<any>} Returns an Observable that notifies of each peripheral discovered.
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -259,7 +259,7 @@ export class BLE extends IonicNativePlugin {
|
||||
* BLE.stopScan().then(() => { console.log('scan stopped'); });
|
||||
* }, 5000);
|
||||
* ```
|
||||
* @return returns a Promise.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopScan(): Promise<any> {
|
||||
@@ -277,8 +277,8 @@ export class BLE extends IonicNativePlugin {
|
||||
* console.log('disconnected');
|
||||
* });
|
||||
* ```
|
||||
* @param deviceId {string} UUID or MAC address of the peripheral
|
||||
* @return Returns an Observable that notifies of connect/disconnect.
|
||||
* @param {string} deviceId UUID or MAC address of the peripheral
|
||||
* @return {Observable<any>} Returns an Observable that notifies of connect/disconnect.
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
@@ -297,8 +297,8 @@ export class BLE extends IonicNativePlugin {
|
||||
* console.log('Disconnected');
|
||||
* });
|
||||
* ```
|
||||
* @param deviceId {string} UUID or MAC address of the peripheral
|
||||
* @return Returns a Promise
|
||||
* @param {string} deviceId UUID or MAC address of the peripheral
|
||||
* @return {Promise<any>} Returns a Promise
|
||||
*/
|
||||
@Cordova()
|
||||
disconnect(deviceId: string): Promise<any> {
|
||||
@@ -311,7 +311,7 @@ export class BLE extends IonicNativePlugin {
|
||||
* @param {string} deviceId UUID or MAC address of the peripheral
|
||||
* @param {string} serviceUUID UUID of the BLE service
|
||||
* @param {string} characteristicUUID UUID of the BLE characteristic
|
||||
* @return Returns a Promise
|
||||
* @return {Promise<any>} Returns a Promise
|
||||
*/
|
||||
@Cordova()
|
||||
read(
|
||||
@@ -348,7 +348,7 @@ export class BLE extends IonicNativePlugin {
|
||||
* @param {string} serviceUUID UUID of the BLE service
|
||||
* @param {string} characteristicUUID UUID of the BLE characteristic
|
||||
* @param {ArrayBuffer} value Data to write to the characteristic, as an ArrayBuffer.
|
||||
* @return Returns a Promise
|
||||
* @return {Promise<any>} Returns a Promise
|
||||
*/
|
||||
@Cordova()
|
||||
write(
|
||||
@@ -367,7 +367,7 @@ export class BLE extends IonicNativePlugin {
|
||||
* @param {string} serviceUUID UUID of the BLE service
|
||||
* @param {string} characteristicUUID UUID of the BLE characteristic
|
||||
* @param {ArrayBuffer} value Data to write to the characteristic, as an ArrayBuffer.
|
||||
* @return Returns a Promise
|
||||
* @return {Promise<any>} Returns a Promise
|
||||
*/
|
||||
@Cordova()
|
||||
writeWithoutResponse(
|
||||
@@ -392,7 +392,7 @@ export class BLE extends IonicNativePlugin {
|
||||
* @param {string} deviceId UUID or MAC address of the peripheral
|
||||
* @param {string} serviceUUID UUID of the BLE service
|
||||
* @param {string} characteristicUUID UUID of the BLE characteristic
|
||||
* @return Returns an Observable that notifies of characteristic changes.
|
||||
* @return {Observable<any>} Returns an Observable that notifies of characteristic changes.
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
@@ -462,7 +462,7 @@ export class BLE extends IonicNativePlugin {
|
||||
* });
|
||||
* ```
|
||||
*
|
||||
* @return Returns an Observable that notifies when the Bluetooth is enabled or disabled on the device.
|
||||
* @return {Observable<any>} Returns an Observable that notifies when the Bluetooth is enabled or disabled on the device.
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
@@ -508,7 +508,7 @@ export class BLE extends IonicNativePlugin {
|
||||
*
|
||||
* @param {string} deviceId UUID or MAC address of the peripheral
|
||||
*
|
||||
*@returns {Promise<any>}
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
readRSSI(deviceId: string): Promise<any> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* Options for the setupApplePay method.
|
||||
@@ -116,8 +116,7 @@ export interface PaymentUIResult {
|
||||
/**
|
||||
* Information about the Apple Pay card used to complete a payment (if Apple Pay was used).
|
||||
*/
|
||||
applePaycard: {
|
||||
};
|
||||
applePaycard: {};
|
||||
|
||||
/**
|
||||
* Information about 3D Secure card used to complete a payment (if 3D Secure was used).
|
||||
@@ -140,7 +139,7 @@ export interface PaymentUIResult {
|
||||
* @description
|
||||
* This plugin enables the use of the Braintree Drop-In Payments UI in your Ionic applications on Android and iOS, using the native Drop-In UI for each platform (not the Javascript SDK).
|
||||
*
|
||||
* Ionic Native utilizes [a maintaned fork](https://github.com/taracque/cordova-plugin-braintree) of the original `cordova-plugin-braintree`
|
||||
* Ionic Native utilizes [a maintained fork](https://github.com/taracque/cordova-plugin-braintree) of the original `cordova-plugin-braintree`
|
||||
*
|
||||
* For information on how to use Apple Pay with this plugin, please refer to the [plugin documentation](https://github.com/Taracque/cordova-plugin-braintree#apple-pay-ios-only)
|
||||
*
|
||||
@@ -201,23 +200,25 @@ export interface PaymentUIResult {
|
||||
pluginRef: 'BraintreePlugin',
|
||||
repo: 'https://github.com/taracque/cordova-plugin-braintree',
|
||||
platforms: ['Android', 'iOS'],
|
||||
install: 'ionic cordova plugin add https://github.com/taracque/cordova-plugin-braintree',
|
||||
installVariables: [],
|
||||
install:
|
||||
'ionic cordova plugin add https://github.com/taracque/cordova-plugin-braintree',
|
||||
installVariables: []
|
||||
})
|
||||
@Injectable()
|
||||
export class Braintree extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Used to initialize the Braintree client. This function must be called before other methods can be used.
|
||||
* As the initialize code is async, be sure you call all Braintree related methods after the initialize promise has resolved.
|
||||
*
|
||||
* @param token {string} The client token or tokenization key to use with the Braintree client.
|
||||
* @param {string} token The client token or tokenization key to use with the Braintree client.
|
||||
* @return {Promise<undefined | string>} Returns a promise that resolves with undefined on successful initialization, or rejects with a string message describing the failure.
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['Android', 'iOS'],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
initialize(token: string): Promise<undefined | string> { return; }
|
||||
initialize(token: string): Promise<undefined | string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to configure Apple Pay on iOS.
|
||||
@@ -228,13 +229,15 @@ export class Braintree extends IonicNativePlugin {
|
||||
*
|
||||
* Calling this function on Android is a `noop` so you can call it without having to check which cordova platform you are on! :D
|
||||
*
|
||||
* @param options {ApplePayOptions} The options used to configure Apple Pay.
|
||||
* @param {ApplePayOptions}options The options used to configure Apple Pay.
|
||||
* @return {Promise<undefined | string>} Returns a promise that resolves with undefined on successful initialization, or rejects with a string message describing the failure.
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['iOS'],
|
||||
platforms: ['iOS']
|
||||
})
|
||||
setupApplePay(options: ApplePayOptions): Promise<undefined | string> { return; }
|
||||
setupApplePay(options: ApplePayOptions): Promise<undefined | string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows Braintree's Drop-In Payments UI.
|
||||
@@ -244,7 +247,11 @@ export class Braintree extends IonicNativePlugin {
|
||||
* @return {Promise<PaymentUIResult | string>} Returns a promise that resolves with a PaymentUIResult object on successful payment (or the user cancels), or rejects with a string message describing the failure.
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['Android', 'iOS'],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
presentDropInPaymentUI(options?: PaymentUIOptions): Promise<PaymentUIResult | string> { return; }
|
||||
presentDropInPaymentUI(
|
||||
options?: PaymentUIOptions
|
||||
): Promise<PaymentUIResult | string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ export class Brightness extends IonicNativePlugin {
|
||||
/**
|
||||
* Sets the brightness of the display.
|
||||
*
|
||||
* @param value {number} Floating number between 0 and 1 in which case 1 means 100% brightness and 0 means 0% brightness.
|
||||
* @param {number} value Floating number between 0 and 1 in which case 1 means 100% brightness and 0 means 0% brightness.
|
||||
* @returns {Promise<any>} Returns a Promise that resolves if setting brightness was successful.
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -54,6 +54,7 @@ export class Brightness extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Keeps the screen on. Prevents the device from setting the screen to sleep.
|
||||
* @param {boolean} value
|
||||
*/
|
||||
@Cordova()
|
||||
setKeepScreenOn(value: boolean): void {}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
/**
|
||||
@@ -32,10 +32,9 @@ import { Observable } from 'rxjs/Observable';
|
||||
})
|
||||
@Injectable()
|
||||
export class Broadcaster extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* This function listen to an event sent from the native code
|
||||
* @param eventName {string}
|
||||
* @param {string} eventName
|
||||
* @return {Observable<any>} Returns an observable to watch when an event is received
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -43,15 +42,18 @@ export class Broadcaster extends IonicNativePlugin {
|
||||
clearFunction: 'removeEventListener',
|
||||
clearWithArgs: true
|
||||
})
|
||||
addEventListener(eventName: string): Observable<any> { return; }
|
||||
addEventListener(eventName: string): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function sends data to the native code
|
||||
* @param eventName {string}
|
||||
* @param eventData {any}
|
||||
* @param {string} eventName
|
||||
* @param {any} eventData
|
||||
* @return {Promise<any>} Returns a promise that resolves when an event is successfully fired
|
||||
*/
|
||||
@Cordova()
|
||||
fireNativeEvent(eventName: string, eventData: any): Promise<any> { return; }
|
||||
|
||||
fireNativeEvent(eventName: string, eventData: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name Browser Tab
|
||||
@@ -13,21 +13,13 @@ import { Injectable } from '@angular/core';
|
||||
* constructor(private browserTab: BrowserTab) {
|
||||
*
|
||||
* browserTab.isAvailable()
|
||||
* .then((isAvailable: boolean) => {
|
||||
*
|
||||
* .then(isAvailable => {
|
||||
* if (isAvailable) {
|
||||
*
|
||||
* browserTab.openUrl('https://ionic.io');
|
||||
*
|
||||
* } else {
|
||||
*
|
||||
* // open URL with InAppBrowser instead or SafariViewController
|
||||
*
|
||||
* }
|
||||
*
|
||||
* });
|
||||
*
|
||||
*
|
||||
* }
|
||||
*
|
||||
* ```
|
||||
@@ -41,13 +33,14 @@ import { Injectable } from '@angular/core';
|
||||
})
|
||||
@Injectable()
|
||||
export class BrowserTab extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Check if BrowserTab option is available
|
||||
* @return {Promise<any>} Returns a promise that resolves when check is successful and returns true or false
|
||||
*/
|
||||
@Cordova()
|
||||
isAvailable(): Promise<any> { return; }
|
||||
isAvailable(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens the provided URL using a browser tab
|
||||
@@ -55,12 +48,16 @@ export class BrowserTab extends IonicNativePlugin {
|
||||
* @return {Promise<any>} Returns a promise that resolves when check open was successful
|
||||
*/
|
||||
@Cordova()
|
||||
openUrl(url: string): Promise<any> { return; }
|
||||
openUrl(url: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes browser tab
|
||||
* @return {Promise<any>} Returns a promise that resolves when close was finished
|
||||
*/
|
||||
@Cordova()
|
||||
close(): Promise<any> { return; }
|
||||
close(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ export class Calendar extends IonicNativePlugin {
|
||||
* This function checks if we have permission to read/write from/to the calendar.
|
||||
* The promise will resolve with `true` when:
|
||||
* - You're running on iOS, or
|
||||
* - You're targetting API level lower than 23, or
|
||||
* - You're targeting API level lower than 23, or
|
||||
* - You're using Android < 6, or
|
||||
* - You've already granted permission
|
||||
*
|
||||
@@ -184,7 +184,7 @@ export class Calendar extends IonicNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns options for a custom calender with sepcific colord
|
||||
* Returns options for a custom calender with specific color
|
||||
*
|
||||
* @return {NameOrOptions} Returns an object with the default options
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface CallLogObject {
|
||||
name: string;
|
||||
value: string|Array<string>;
|
||||
value: string | Array<string>;
|
||||
operator: '==' | '!=' | '>' | '>=' | '<' | '<=' | 'like';
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ export interface CallLogObject {
|
||||
export class CallLog extends IonicNativePlugin {
|
||||
/**
|
||||
* This function return the call logs
|
||||
* @param filters {CallLogObject[]} array of object to filter the query
|
||||
* @param {CallLogObject[]} filters array of object to filter the query
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
|
||||
@@ -33,8 +33,8 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
export class CallNumber extends IonicNativePlugin {
|
||||
/**
|
||||
* Calls a phone number
|
||||
* @param numberToCall {string} The phone number to call as a string
|
||||
* @param bypassAppChooser {boolean} Set to true to bypass the app chooser and go directly to dialer
|
||||
* @param {string} numberToCall The phone number to call as a string
|
||||
* @param {boolean} bypassAppChooser Set to true to bypass the app chooser and go directly to dialer
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
|
||||
@@ -40,7 +40,7 @@ export interface CameraPreviewOptions {
|
||||
/** Tap to set specific focus point. Note, this assumes the camera is full-screen. default false */
|
||||
tapToFocus?: boolean;
|
||||
|
||||
/** On Android disable automatic rotation of the image and stripping of Exif header. default false */
|
||||
/** On Android disable automatic rotation of the image and stripping of Exit header. default false */
|
||||
disableExifHeaderStripping?: boolean;
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Take the picture (base64)
|
||||
* @param [options] {CameraPreviewPictureOptions} size and quality of the picture to take
|
||||
* @param {CameraPreviewPictureOptions} [options] size and quality of the picture to take
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -293,7 +293,7 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set the preview Size
|
||||
* @param [dimensions] {CameraPreviewDimensions}
|
||||
* @param {CameraPreviewDimensions} [dimensions]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -315,7 +315,7 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set the focus mode
|
||||
* @param [focusMode] {string} 'fixed', 'auto', 'continuous-picture', 'continuous-video' (iOS & Android), 'edof', 'infinity', 'macro' (Android Only)
|
||||
* @param {string} [focusMode] 'fixed', 'auto', 'continuous-picture', 'continuous-video' (iOS & Android), 'edof', 'infinity', 'macro' (Android Only)
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -345,8 +345,8 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the flashmode
|
||||
* @param [flashMode] {string} 'off' (iOS & Android), 'on' (iOS & Android), 'auto' (iOS & Android), 'torch' (Android)
|
||||
* Set the flash mode
|
||||
* @param {string} [flashMode] 'off' (iOS & Android), 'on' (iOS & Android), 'auto' (iOS & Android), 'torch' (Android)
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -395,7 +395,7 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set exposure mode
|
||||
* @param [lock] {string}
|
||||
* @param {string} [lock]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -417,7 +417,7 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set exposure compensation (Android)
|
||||
* @param [exposureCompensation] {number}
|
||||
* @param {number} [exposureCompensation]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -439,8 +439,8 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set specific focus point. Note, this assumes the camera is full-screen.
|
||||
* @param xPoint {number}
|
||||
* @param yPoint {number}
|
||||
* @param {number} xPoint
|
||||
* @param {number} yPoint
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -450,7 +450,7 @@ export class CameraPreview extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Add a listener for the back event for the preview
|
||||
* @return {Promise<any>} if backbutton pressed
|
||||
* @return {Promise<any>} if back button pressed
|
||||
*/
|
||||
@Cordova()
|
||||
onBackButton(): Promise<any> {
|
||||
|
||||
@@ -126,7 +126,7 @@ export enum Direction {
|
||||
* @description
|
||||
* Take a photo or capture video.
|
||||
*
|
||||
* Requires and the Cordova plugin: `cordova-plugin-camera`. For more info, please see the [Cordova Camera Plugin Docs](https://github.com/apache/cordova-plugin-camera).
|
||||
* Requires the Cordova plugin: `cordova-plugin-camera`. For more info, please see the [Cordova Camera Plugin Docs](https://github.com/apache/cordova-plugin-camera).
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface CardIOOptions {
|
||||
|
||||
/**
|
||||
* Set to true to require expiry date
|
||||
*/
|
||||
@@ -21,7 +20,7 @@ export interface CardIOOptions {
|
||||
/**
|
||||
* Removes the keyboard button from the scan screen.
|
||||
*/
|
||||
supressManual?: boolean;
|
||||
suppressManual?: boolean;
|
||||
|
||||
/**
|
||||
* The postal code will only collect numeric input. Set this if you know the expected country's postal code has only numeric postal codes.
|
||||
@@ -82,11 +81,9 @@ export interface CardIOOptions {
|
||||
* Once a card image has been captured but before it has been processed, this value will determine whether to continue processing as usual.
|
||||
*/
|
||||
supressScan?: boolean;
|
||||
|
||||
}
|
||||
|
||||
export interface CardIOResponse {
|
||||
|
||||
/**
|
||||
* Card type
|
||||
*/
|
||||
@@ -126,7 +123,6 @@ export interface CardIOResponse {
|
||||
* Cardholder name
|
||||
*/
|
||||
cardholderName: string;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -173,7 +169,6 @@ export interface CardIOResponse {
|
||||
})
|
||||
@Injectable()
|
||||
export class CardIO extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Check whether card scanning is currently available. (May vary by
|
||||
* device, OS version, network connectivity, etc.)
|
||||
@@ -181,21 +176,26 @@ export class CardIO extends IonicNativePlugin {
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova()
|
||||
canScan(): Promise<boolean> { return; }
|
||||
canScan(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scan a credit card with card.io.
|
||||
* @param {CardIOOptions} options Options for configuring the plugin
|
||||
* @param {CardIOOptions} [options] Options for configuring the plugin
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
scan(options?: CardIOOptions): Promise<CardIOResponse> { return; }
|
||||
scan(options?: CardIOOptions): Promise<CardIOResponse> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the version of the card.io library. Useful when contacting support.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
version(): Promise<string> { return; }
|
||||
|
||||
version(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
namespace Http {
|
||||
export const enum Verb {
|
||||
GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH
|
||||
GET,
|
||||
HEAD,
|
||||
POST,
|
||||
PUT,
|
||||
DELETE,
|
||||
TRACE,
|
||||
OPTIONS,
|
||||
CONNECT,
|
||||
PATCH
|
||||
}
|
||||
|
||||
export interface Response {
|
||||
@@ -13,7 +22,12 @@ namespace Http {
|
||||
|
||||
export interface Requester {
|
||||
request(verb: Verb, url: string, callback: Callback<Response>): void;
|
||||
request(verb: Verb, url: string, requestBody: string, callback: Callback<Response>): void;
|
||||
request(
|
||||
verb: Verb,
|
||||
url: string,
|
||||
requestBody: string,
|
||||
callback: Callback<Response>
|
||||
): void;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,19 +60,26 @@ export interface IRemotePackage extends IPackage {
|
||||
/**
|
||||
* Downloads the package update from the CodePush service.
|
||||
*
|
||||
* @param downloadSuccess Called with one parameter, the downloaded package information, once the download completed successfully.
|
||||
* @param downloadError Optional callback invoked in case of an error.
|
||||
* @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.
|
||||
* @param {SuccessCallback} downloadSuccess Called with one parameter, the downloaded package information, once the download completed successfully.
|
||||
* @param {ErrorCallback} [downloadError] Optional callback invoked in case of an error.
|
||||
* @param {SuccessCallback<DownloadProgress>} [downloadProgress] Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.
|
||||
*/
|
||||
download(downloadSuccess: SuccessCallback<ILocalPackage>, downloadError?: ErrorCallback, downloadProgress?: SuccessCallback<DownloadProgress>): void;
|
||||
download(
|
||||
downloadSuccess: SuccessCallback<ILocalPackage>,
|
||||
downloadError?: ErrorCallback,
|
||||
downloadProgress?: SuccessCallback<DownloadProgress>
|
||||
): void;
|
||||
|
||||
/**
|
||||
* Aborts the current download session, previously started with download().
|
||||
*
|
||||
* @param abortSuccess Optional callback invoked if the abort operation succeeded.
|
||||
* @param abortError Optional callback invoked in case of an error.
|
||||
* @param {SuccessCallback<void>} [abortSuccess] Optional callback invoked if the abort operation succeeded.
|
||||
* @param {ErrorCallback} [abortError] Optional callback invoked in case of an error.
|
||||
*/
|
||||
abortDownload(abortSuccess?: SuccessCallback<void>, abortError?: ErrorCallback): void;
|
||||
abortDownload(
|
||||
abortSuccess?: SuccessCallback<void>,
|
||||
abortError?: ErrorCallback
|
||||
): void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -82,11 +103,15 @@ export interface ILocalPackage extends IPackage {
|
||||
* 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.
|
||||
*
|
||||
* @param installSuccess Callback invoked if the install operation succeeded.
|
||||
* @param installError Optional callback inovoked in case of an error.
|
||||
* @param installOptions Optional parameter used for customizing the installation behavior.
|
||||
* @param {SuccessCallback<InstallMode>} installSuccess Callback invoked if the install operation succeeded.
|
||||
* @param {ErrorCallback} [installError] Optional callback invoked in case of an error.
|
||||
* @param {InstallOptions} [installOptions] Optional parameter used for customizing the installation behavior.
|
||||
*/
|
||||
install(installSuccess: SuccessCallback<InstallMode>, errorCallback?: ErrorCallback, installOptions?: InstallOptions): void;
|
||||
install(
|
||||
installSuccess: SuccessCallback<InstallMode>,
|
||||
errorCallback?: ErrorCallback,
|
||||
installOptions?: InstallOptions
|
||||
): void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -123,13 +148,19 @@ interface IPackageInfoMetadata extends ILocalPackage {
|
||||
}
|
||||
|
||||
interface NativeUpdateNotification {
|
||||
updateAppVersion: boolean; // Always true
|
||||
updateAppVersion: boolean; // Always true
|
||||
appVersion: string;
|
||||
}
|
||||
|
||||
export interface Callback<T> { (error: Error, parameter: T): void; }
|
||||
export interface SuccessCallback<T> { (result?: T): void; }
|
||||
export interface ErrorCallback { (error?: Error): void; }
|
||||
export interface Callback<T> {
|
||||
(error: Error, parameter: T): void;
|
||||
}
|
||||
export interface SuccessCallback<T> {
|
||||
(result?: T): void;
|
||||
}
|
||||
export interface ErrorCallback {
|
||||
(error?: Error): void;
|
||||
}
|
||||
|
||||
interface Configuration {
|
||||
appVersion: string;
|
||||
@@ -146,53 +177,80 @@ declare class AcquisitionStatus {
|
||||
|
||||
declare class AcquisitionManager {
|
||||
constructor(httpRequester: Http.Requester, configuration: Configuration);
|
||||
public queryUpdateWithCurrentPackage(currentPackage: IPackage, callback?: Callback<IRemotePackage | NativeUpdateNotification>): void;
|
||||
public reportStatusDeploy(pkg?: IPackage, status?: string, previousLabelOrAppVersion?: string, previousDeploymentKey?: string, callback?: Callback<void>): void;
|
||||
public queryUpdateWithCurrentPackage(
|
||||
currentPackage: IPackage,
|
||||
callback?: Callback<IRemotePackage | NativeUpdateNotification>
|
||||
): void;
|
||||
public reportStatusDeploy(
|
||||
pkg?: IPackage,
|
||||
status?: string,
|
||||
previousLabelOrAppVersion?: string,
|
||||
previousDeploymentKey?: string,
|
||||
callback?: Callback<void>
|
||||
): void;
|
||||
public reportStatusDownload(pkg: IPackage, callback?: Callback<void>): void;
|
||||
}
|
||||
|
||||
interface CodePushCordovaPlugin {
|
||||
|
||||
/**
|
||||
* Get the current package information.
|
||||
*
|
||||
* @param packageSuccess Callback invoked with the currently deployed package information.
|
||||
* @param packageError Optional callback invoked in case of an error.
|
||||
*/
|
||||
getCurrentPackage(packageSuccess: SuccessCallback<ILocalPackage>, packageError?: ErrorCallback): void;
|
||||
getCurrentPackage(
|
||||
packageSuccess: SuccessCallback<ILocalPackage>,
|
||||
packageError?: ErrorCallback
|
||||
): void;
|
||||
|
||||
/**
|
||||
* Gets the pending package information, if any. A pending package is one that has been installed but the application still runs the old code.
|
||||
* This happends only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.
|
||||
* This happens only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.
|
||||
*/
|
||||
getPendingPackage(packageSuccess: SuccessCallback<ILocalPackage>, packageError?: ErrorCallback): void;
|
||||
getPendingPackage(
|
||||
packageSuccess: SuccessCallback<ILocalPackage>,
|
||||
packageError?: ErrorCallback
|
||||
): void;
|
||||
|
||||
/**
|
||||
* Checks with the CodePush server if an update package is available for download.
|
||||
*
|
||||
* @param querySuccess Callback invoked in case of a successful response from the server.
|
||||
* @param {SuccessCallback<IRemotePackage>} querySuccess Callback invoked in case of a successful response from the server.
|
||||
* The callback takes one RemotePackage parameter. A non-null package is a valid update.
|
||||
* A null package means the application is up to date for the current native application version.
|
||||
* @param queryError Optional callback invoked in case of an error.
|
||||
* @param deploymentKey Optional deployment key that overrides the config.xml setting.
|
||||
* @param {ErrorCallback} [queryError] Optional callback invoked in case of an error.
|
||||
* @param {string} [deploymentKey] Optional deployment key that overrides the config.xml setting.
|
||||
*/
|
||||
checkForUpdate(querySuccess: SuccessCallback<IRemotePackage>, queryError?: ErrorCallback, deploymentKey?: string): void;
|
||||
checkForUpdate(
|
||||
querySuccess: SuccessCallback<IRemotePackage>,
|
||||
queryError?: ErrorCallback,
|
||||
deploymentKey?: string
|
||||
): void;
|
||||
|
||||
/**
|
||||
* Notifies the plugin that the update operation succeeded and that the application is ready.
|
||||
* Calling this function is required on the first run after an update. On every subsequent application run, calling this function is a noop.
|
||||
* If using sync API, calling this function is not required since sync calls it internally.
|
||||
*
|
||||
* @param notifySucceeded Optional callback invoked if the plugin was successfully notified.
|
||||
* @param notifyFailed Optional callback invoked in case of an error during notifying the plugin.
|
||||
* @param {SuccessCallback<void>} [notifySucceeded] Optional callback invoked if the plugin was successfully notified.
|
||||
* @param {ErrorCallback} [notifyFailed] Optional callback invoked in case of an error during notifying the plugin.
|
||||
*/
|
||||
notifyApplicationReady(notifySucceeded?: SuccessCallback<void>, notifyFailed?: ErrorCallback): void;
|
||||
notifyApplicationReady(
|
||||
notifySucceeded?: SuccessCallback<void>,
|
||||
notifyFailed?: ErrorCallback
|
||||
): void;
|
||||
|
||||
/**
|
||||
* Reloads the application. If there is a pending update package installed using ON_NEXT_RESTART or ON_NEXT_RESUME modes, the update
|
||||
* will be immediately visible to the user. Otherwise, calling this function will simply reload the current version of the application.
|
||||
*
|
||||
* @param {SuccessCallback<void>} installSuccess
|
||||
* @param {ErrorCallback} [errorCallback]
|
||||
*/
|
||||
restartApplication(installSuccess: SuccessCallback<void>, errorCallback?: ErrorCallback): void;
|
||||
restartApplication(
|
||||
installSuccess: SuccessCallback<void>,
|
||||
errorCallback?: ErrorCallback
|
||||
): void;
|
||||
|
||||
/**
|
||||
* Convenience method for installing updates in one method call.
|
||||
@@ -209,13 +267,17 @@ interface CodePushCordovaPlugin {
|
||||
* - If no update is available on the server, or if a previously rolled back update is available and the ignoreFailedUpdates is set to true, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE.
|
||||
* - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR.
|
||||
*
|
||||
* @param syncCallback Optional callback to be called with the status of the sync operation.
|
||||
* @param {SuccessCallback<SyncStatus>} [syncCallback] Optional callback to be called with the status of the sync operation.
|
||||
* The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.
|
||||
* @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.
|
||||
* @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.
|
||||
* @param {SyncOptions} [syncOptions] Optional SyncOptions parameter configuring the behavior of the sync operation.
|
||||
* @param {SuccessCallback<DownloadProgress>} [downloadProgress] Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.
|
||||
*
|
||||
*/
|
||||
sync(syncCallback?: SuccessCallback<SyncStatus>, syncOptions?: SyncOptions, downloadProgress?: SuccessCallback<DownloadProgress>): void;
|
||||
sync(
|
||||
syncCallback?: SuccessCallback<SyncStatus>,
|
||||
syncOptions?: SyncOptions,
|
||||
downloadProgress?: SuccessCallback<DownloadProgress>
|
||||
): void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -428,12 +490,9 @@ export interface DownloadProgress {
|
||||
})
|
||||
@Injectable()
|
||||
export class CodePush extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Get the current package information.
|
||||
*
|
||||
* @param packageSuccess Callback invoked with the currently deployed package information.
|
||||
* @param packageError Optional callback invoked in case of an error.
|
||||
* @returns {Promise<ILocalPackage>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -443,7 +502,7 @@ export class CodePush extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Gets the pending package information, if any. A pending package is one that has been installed but the application still runs the old code.
|
||||
* This happends only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.
|
||||
* This happens only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.
|
||||
* @returns {Promise<ILocalPackage>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -454,11 +513,7 @@ export class CodePush extends IonicNativePlugin {
|
||||
/**
|
||||
* Checks with the CodePush server if an update package is available for download.
|
||||
*
|
||||
* @param querySuccess Callback invoked in case of a successful response from the server.
|
||||
* The callback takes one RemotePackage parameter. A non-null package is a valid update.
|
||||
* A null package means the application is up to date for the current native application version.
|
||||
* @param queryError Optional callback invoked in case of an error.
|
||||
* @param deploymentKey Optional deployment key that overrides the config.xml setting.
|
||||
* @param {string} [deploymentKey] Optional deployment key that overrides the config.xml setting.
|
||||
* @returns {Promise<IRemotePackage>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -473,8 +528,6 @@ export class CodePush extends IonicNativePlugin {
|
||||
* Calling this function is required on the first run after an update. On every subsequent application run, calling this function is a noop.
|
||||
* If using sync API, calling this function is not required since sync calls it internally.
|
||||
*
|
||||
* @param notifySucceeded Optional callback invoked if the plugin was successfully notified.
|
||||
* @param notifyFailed Optional callback invoked in case of an error during notifying the plugin.
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -507,9 +560,8 @@ export class CodePush extends IonicNativePlugin {
|
||||
* - If no update is available on the server, or if a previously rolled back update is available and the ignoreFailedUpdates is set to true, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE.
|
||||
* - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR.
|
||||
*
|
||||
* @param syncCallback Optional callback to be called with the status of the sync operation.
|
||||
* @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.
|
||||
* @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.
|
||||
* @param {SyncOptions} [syncOptions] Optional SyncOptions parameter configuring the behavior of the sync operation.
|
||||
* @param {SuccessCallback<DownloadProgress>} [downloadProgress] Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.
|
||||
* @returns {Observable<SyncStatus>}
|
||||
*
|
||||
*/
|
||||
@@ -518,8 +570,10 @@ export class CodePush extends IonicNativePlugin {
|
||||
successIndex: 0,
|
||||
errorIndex: 3 // we don't need this, so we set it to a value higher than # of args
|
||||
})
|
||||
sync(syncOptions?: SyncOptions, downloadProgress?: SuccessCallback<DownloadProgress>): Observable<SyncStatus> {
|
||||
sync(
|
||||
syncOptions?: SyncOptions,
|
||||
downloadProgress?: SuccessCallback<DownloadProgress>
|
||||
): Observable<SyncStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,47 @@
|
||||
import { CordovaInstance, InstanceProperty, Plugin, getPromise, InstanceCheck, checkAvailability, CordovaCheck, IonicNativePlugin } from '@ionic-native/core';
|
||||
import {
|
||||
checkAvailability,
|
||||
CordovaCheck,
|
||||
CordovaInstance,
|
||||
getPromise,
|
||||
InstanceCheck,
|
||||
InstanceProperty,
|
||||
IonicNativePlugin,
|
||||
Plugin
|
||||
} from '@ionic-native/core';
|
||||
|
||||
declare const window: any,
|
||||
navigator: any;
|
||||
declare const window: any, navigator: any;
|
||||
|
||||
export type ContactFieldType = '*' | 'addresses' | 'birthday' | 'categories' | 'country' | 'department' | 'displayName' | 'emails' | 'name.familyName' | 'name.formatted' | 'name.givenName' | 'name.honorificPrefix' | 'name.honorificSuffix' | 'id' | 'ims' | 'locality' | 'name.middleName' | 'name' | 'nickname' | 'note' | 'organizations' | 'phoneNumbers' | 'photos' | 'postalCode' | 'region' | 'streetAddress' | 'title' | 'urls';
|
||||
export type ContactFieldType =
|
||||
| '*'
|
||||
| 'addresses'
|
||||
| 'birthday'
|
||||
| 'categories'
|
||||
| 'country'
|
||||
| 'department'
|
||||
| 'displayName'
|
||||
| 'emails'
|
||||
| 'name.familyName'
|
||||
| 'name.formatted'
|
||||
| 'name.givenName'
|
||||
| 'name.honorificPrefix'
|
||||
| 'name.honorificSuffix'
|
||||
| 'id'
|
||||
| 'ims'
|
||||
| 'locality'
|
||||
| 'name.middleName'
|
||||
| 'name'
|
||||
| 'nickname'
|
||||
| 'note'
|
||||
| 'organizations'
|
||||
| 'phoneNumbers'
|
||||
| 'photos'
|
||||
| 'postalCode'
|
||||
| 'region'
|
||||
| 'streetAddress'
|
||||
| 'title'
|
||||
| 'urls';
|
||||
|
||||
export interface IContactProperties {
|
||||
|
||||
/** A globally unique identifier. */
|
||||
id?: string;
|
||||
|
||||
@@ -48,7 +83,6 @@ export interface IContactProperties {
|
||||
|
||||
/** An array of web pages associated with the contact. */
|
||||
urls?: IContactField[];
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +108,9 @@ export class Contact implements IContactProperties {
|
||||
[key: string]: any;
|
||||
|
||||
constructor() {
|
||||
if (checkAvailability('navigator.contacts', 'create', 'Contacts') === true) {
|
||||
if (
|
||||
checkAvailability('navigator.contacts', 'create', 'Contacts') === true
|
||||
) {
|
||||
this._objectInstance = navigator.contacts.create();
|
||||
}
|
||||
}
|
||||
@@ -90,7 +126,9 @@ export class Contact implements IContactProperties {
|
||||
}
|
||||
|
||||
@CordovaInstance()
|
||||
remove(): Promise<any> { return; }
|
||||
remove(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@InstanceCheck()
|
||||
save(): Promise<any> {
|
||||
@@ -124,7 +162,7 @@ export declare const ContactError: {
|
||||
PENDING_OPERATION_ERROR: number;
|
||||
IO_ERROR: number;
|
||||
NOT_SUPPORTED_ERROR: number;
|
||||
PERMISSION_DENIED_ERROR: number
|
||||
PERMISSION_DENIED_ERROR: number;
|
||||
};
|
||||
|
||||
export interface IContactName {
|
||||
@@ -146,12 +184,14 @@ export interface IContactName {
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactName implements IContactName {
|
||||
constructor(public formatted?: string,
|
||||
constructor(
|
||||
public formatted?: string,
|
||||
public familyName?: string,
|
||||
public givenName?: string,
|
||||
public middleName?: string,
|
||||
public honorificPrefix?: string,
|
||||
public honorificSuffix?: string) { }
|
||||
public honorificSuffix?: string
|
||||
) {}
|
||||
}
|
||||
|
||||
export interface IContactField {
|
||||
@@ -167,9 +207,11 @@ export interface IContactField {
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactField implements IContactField {
|
||||
constructor(public type?: string,
|
||||
constructor(
|
||||
public type?: string,
|
||||
public value?: string,
|
||||
public pref?: boolean) { }
|
||||
public pref?: boolean
|
||||
) {}
|
||||
}
|
||||
|
||||
export interface IContactAddress {
|
||||
@@ -195,14 +237,16 @@ export interface IContactAddress {
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactAddress implements IContactAddress {
|
||||
constructor(public pref?: boolean,
|
||||
constructor(
|
||||
public pref?: boolean,
|
||||
public type?: string,
|
||||
public formatted?: string,
|
||||
public streetAddress?: string,
|
||||
public locality?: string,
|
||||
public region?: string,
|
||||
public postalCode?: string,
|
||||
public country?: string) { }
|
||||
public country?: string
|
||||
) {}
|
||||
}
|
||||
|
||||
export interface IContactOrganization {
|
||||
@@ -228,7 +272,7 @@ export class ContactOrganization implements IContactOrganization {
|
||||
public department?: string,
|
||||
public title?: string,
|
||||
public pref?: boolean
|
||||
) { }
|
||||
) {}
|
||||
}
|
||||
|
||||
/** Search options to filter navigator.contacts. */
|
||||
@@ -249,10 +293,12 @@ export interface IContactFindOptions {
|
||||
* @hidden
|
||||
*/
|
||||
export class ContactFindOptions implements IContactFindOptions {
|
||||
constructor(public filter?: string,
|
||||
constructor(
|
||||
public filter?: string,
|
||||
public multiple?: boolean,
|
||||
public desiredFields?: string[],
|
||||
public hasPhoneNumber?: boolean) { }
|
||||
public hasPhoneNumber?: boolean
|
||||
) {}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -293,10 +339,19 @@ export class ContactFindOptions implements IContactFindOptions {
|
||||
plugin: 'cordova-plugin-contacts',
|
||||
pluginRef: 'navigator.contacts',
|
||||
repo: 'https://github.com/apache/cordova-plugin-contacts',
|
||||
platforms: ['Android', 'BlackBerry 10', 'Browser', 'Firefox OS', 'iOS', 'Ubuntu', 'Windows', 'Windows 8', 'Windows Phone']
|
||||
platforms: [
|
||||
'Android',
|
||||
'BlackBerry 10',
|
||||
'Browser',
|
||||
'Firefox OS',
|
||||
'iOS',
|
||||
'Ubuntu',
|
||||
'Windows',
|
||||
'Windows 8',
|
||||
'Windows Phone'
|
||||
]
|
||||
})
|
||||
export class Contacts extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Create a single contact.
|
||||
* @returns {Contact} Returns a Contact object
|
||||
@@ -307,16 +362,24 @@ export class Contacts extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Search for contacts in the Contacts list.
|
||||
* @param fields {ContactFieldType[]} Contact fields to be used as a search qualifier
|
||||
* @param options {IContactFindOptions} Optional options for the query
|
||||
* @param {ContactFieldType[]} fields Contact fields to be used as a search qualifier
|
||||
* @param {IContactFindOptions} [options] Optional options for the query
|
||||
* @returns {Promise<Contact[]>} Returns a Promise that resolves with the search results (an array of Contact objects)
|
||||
*/
|
||||
@CordovaCheck()
|
||||
find(fields: ContactFieldType[], options?: IContactFindOptions): Promise<Contact[]> {
|
||||
find(
|
||||
fields: ContactFieldType[],
|
||||
options?: IContactFindOptions
|
||||
): Promise<Contact[]> {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
navigator.contacts.find(fields, (contacts: any[]) => {
|
||||
resolve(contacts.map(processContact));
|
||||
}, reject, options);
|
||||
navigator.contacts.find(
|
||||
fields,
|
||||
(contacts: any[]) => {
|
||||
resolve(contacts.map(processContact));
|
||||
},
|
||||
reject,
|
||||
options
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -327,10 +390,12 @@ export class Contacts extends IonicNativePlugin {
|
||||
@CordovaCheck()
|
||||
pickContact(): Promise<Contact> {
|
||||
return getPromise((resolve: Function, reject: Function) => {
|
||||
navigator.contacts.pickContact((contact: any) => resolve(processContact(contact)), reject);
|
||||
navigator.contacts.pickContact(
|
||||
(contact: any) => resolve(processContact(contact)),
|
||||
reject
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -38,8 +38,8 @@ export interface CropOptions {
|
||||
export class Crop extends IonicNativePlugin {
|
||||
/**
|
||||
* Crops an image
|
||||
* @param pathToImage
|
||||
* @param options
|
||||
* @param {string} pathToImage
|
||||
* @param {CropOptions} [options]
|
||||
* @returns {Promise<string>} Returns a promise that resolves with the new image path, or rejects if failed to crop.
|
||||
*/
|
||||
@Cordova({
|
||||
|
||||
@@ -53,6 +53,7 @@ export class DeviceAccounts extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Get all accounts registered on Android device for requested type
|
||||
* @param {string} type
|
||||
* @returns {Promise<AndroidAccount[]>}
|
||||
*/
|
||||
@Cordova()
|
||||
|
||||
@@ -57,7 +57,7 @@ export class DeviceFeedback extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Provide vibrate feedback to user, nevertheless respect user's tactile feedback setting as native feedback do.
|
||||
* @param type {number} Specify type of vibration feedback. 0 for long press, 1 for virtual key, or 3 for keyboard tap.
|
||||
* @param {number} type Specify type of vibration feedback. 0 for long press, 1 for virtual key, or 3 for keyboard tap.
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
haptic(type: number): void {}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export interface DeviceOrientationCompassHeading {
|
||||
|
||||
/**
|
||||
* The heading in degrees from 0-359.99 at a single moment in time. (Number)
|
||||
*/
|
||||
@@ -23,11 +22,9 @@ export interface DeviceOrientationCompassHeading {
|
||||
* The time at which this heading was determined. (DOMTimeStamp)
|
||||
*/
|
||||
timestamp: number;
|
||||
|
||||
}
|
||||
|
||||
export interface DeviceOrientationCompassOptions {
|
||||
|
||||
/**
|
||||
* How often to retrieve the compass heading in milliseconds. (Number) (Default: 100)
|
||||
*/
|
||||
@@ -37,7 +34,6 @@ export interface DeviceOrientationCompassOptions {
|
||||
* The change in degrees required to initiate a watchHeading success callback. When this value is set, frequency is ignored. (Number)
|
||||
*/
|
||||
filter?: number;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,23 +73,35 @@ export interface DeviceOrientationCompassOptions {
|
||||
plugin: 'cordova-plugin-device-orientation',
|
||||
pluginRef: 'navigator.compass',
|
||||
repo: 'https://github.com/apache/cordova-plugin-device-orientation',
|
||||
platforms: ['Amazon Fire OS', 'Android', 'BlackBerry 10', 'Browser', 'Firefox OS', 'iOS', 'Tizen', 'Ubuntu', 'Windows', 'Windows Phone']
|
||||
platforms: [
|
||||
'Amazon Fire OS',
|
||||
'Android',
|
||||
'BlackBerry 10',
|
||||
'Browser',
|
||||
'Firefox OS',
|
||||
'iOS',
|
||||
'Tizen',
|
||||
'Ubuntu',
|
||||
'Windows',
|
||||
'Windows Phone'
|
||||
]
|
||||
})
|
||||
@Injectable()
|
||||
export class DeviceOrientation extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Get the current compass heading.
|
||||
* @returns {Promise<DeviceOrientationCompassHeading>}
|
||||
*/
|
||||
@Cordova()
|
||||
getCurrentHeading(): Promise<DeviceOrientationCompassHeading> { return; }
|
||||
getCurrentHeading(): Promise<DeviceOrientationCompassHeading> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the device current heading at a regular interval
|
||||
*
|
||||
* Stop the watch by unsubscribing from the observable
|
||||
* @param {DeviceOrientationCompassOptions} options Options for compass. Frequency and Filter. Optional
|
||||
* @param {DeviceOrientationCompassOptions} [options] Options for compass. Frequency and Filter. Optional
|
||||
* @returns {Observable<DeviceOrientationCompassHeading>} Returns an observable that contains the compass heading
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -101,6 +109,9 @@ export class DeviceOrientation extends IonicNativePlugin {
|
||||
observable: true,
|
||||
clearFunction: 'clearWatch'
|
||||
})
|
||||
watchHeading(options?: DeviceOrientationCompassOptions): Observable<DeviceOrientationCompassHeading> { return; }
|
||||
|
||||
watchHeading(
|
||||
options?: DeviceOrientationCompassOptions
|
||||
): Observable<DeviceOrientationCompassHeading> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core';
|
||||
import {
|
||||
Cordova,
|
||||
CordovaProperty,
|
||||
IonicNativePlugin,
|
||||
Plugin
|
||||
} from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name Diagnostic
|
||||
@@ -43,7 +48,6 @@ import { Cordova, Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-nati
|
||||
})
|
||||
@Injectable()
|
||||
export class Diagnostic extends IonicNativePlugin {
|
||||
|
||||
permission = {
|
||||
READ_CALENDAR: 'READ_CALENDAR',
|
||||
WRITE_CALENDAR: 'WRITE_CALENDAR',
|
||||
@@ -92,9 +96,23 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
CONTACTS: ['READ_CONTACTS', 'WRITE_CONTACTS', 'GET_ACCOUNTS'],
|
||||
LOCATION: ['ACCESS_FINE_LOCATION', 'ACCESS_COARSE_LOCATION'],
|
||||
MICROPHONE: ['RECORD_AUDIO'],
|
||||
PHONE: ['READ_PHONE_STATE', 'CALL_PHONE', 'ADD_VOICEMAIL', 'USE_SIP', 'PROCESS_OUTGOING_CALLS', 'READ_CALL_LOG', 'WRITE_CALL_LOG'],
|
||||
PHONE: [
|
||||
'READ_PHONE_STATE',
|
||||
'CALL_PHONE',
|
||||
'ADD_VOICEMAIL',
|
||||
'USE_SIP',
|
||||
'PROCESS_OUTGOING_CALLS',
|
||||
'READ_CALL_LOG',
|
||||
'WRITE_CALL_LOG'
|
||||
],
|
||||
SENSORS: ['BODY_SENSORS'],
|
||||
SMS: ['SEND_SMS', 'RECEIVE_SMS', 'READ_SMS', 'RECEIVE_WAP_PUSH', 'RECEIVE_MMS'],
|
||||
SMS: [
|
||||
'SEND_SMS',
|
||||
'RECEIVE_SMS',
|
||||
'READ_SMS',
|
||||
'RECEIVE_WAP_PUSH',
|
||||
'RECEIVE_MMS'
|
||||
],
|
||||
STORAGE: ['READ_EXTERNAL_STORAGE', 'WRITE_EXTERNAL_STORAGE']
|
||||
};
|
||||
|
||||
@@ -141,7 +159,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isLocationAvailable(): Promise<any> { return; }
|
||||
isLocationAvailable(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if Wifi is connected/enabled. On iOS this returns true if the device is connected to a network by WiFi. On Android and Windows 10 Mobile this returns true if the WiFi setting is set to enabled.
|
||||
@@ -149,17 +169,21 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isWifiAvailable(): Promise<any> { return; }
|
||||
isWifiAvailable(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device has a camera. On Android this returns true if the device has a camera. On iOS this returns true if both the device has a camera AND the application is authorized to use it. On Windows 10 Mobile this returns true if both the device has a rear-facing camera AND the
|
||||
* application is authorized to use it.
|
||||
* @param {boolean} [externalStorage] Android only: If true, checks permission for READ_EXTERNAL_STORAGE in addition to CAMERA run-time permission.
|
||||
* cordova-plugin-camera@2.2+ requires both of these permissions. Defaults to true.
|
||||
* cordova-plugin-camera@2.2+ requires both of these permissions. Defaults to true.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse' })
|
||||
isCameraAvailable( externalStorage?: boolean ): Promise<any> { return; }
|
||||
isCameraAvailable(externalStorage?: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device has Bluetooth capabilities and if so that Bluetooth is switched on (same on Android, iOS and Windows 10 Mobile)
|
||||
@@ -167,57 +191,64 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isBluetoothAvailable(): Promise<any> { return; }
|
||||
isBluetoothAvailable(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays the device location settings to allow user to enable location services/change location mode.
|
||||
*/
|
||||
@Cordova({ sync: true, platforms: ['Android', 'Windows 10', 'iOS'] })
|
||||
switchToLocationSettings(): void { }
|
||||
switchToLocationSettings(): void {}
|
||||
|
||||
/**
|
||||
* Displays mobile settings to allow user to enable mobile data.
|
||||
*/
|
||||
@Cordova({ sync: true, platforms: ['Android', 'Windows 10'] })
|
||||
switchToMobileDataSettings(): void { }
|
||||
switchToMobileDataSettings(): void {}
|
||||
|
||||
/**
|
||||
* Displays Bluetooth settings to allow user to enable Bluetooth.
|
||||
*/
|
||||
@Cordova({ sync: true, platforms: ['Android', 'Windows 10'] })
|
||||
switchToBluetoothSettings(): void { }
|
||||
switchToBluetoothSettings(): void {}
|
||||
|
||||
/**
|
||||
* Displays WiFi settings to allow user to enable WiFi.
|
||||
*/
|
||||
@Cordova({ sync: true, platforms: ['Android', 'Windows 10'] })
|
||||
switchToWifiSettings(): void { }
|
||||
switchToWifiSettings(): void {}
|
||||
|
||||
/**
|
||||
* Returns true if the WiFi setting is set to enabled, and is the same as `isWifiAvailable()`
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'Windows 10'] })
|
||||
isWifiEnabled(): Promise<boolean> { return; }
|
||||
isWifiEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables/disables WiFi on the device.
|
||||
* Requires `ACCESS_WIFI_STATE` and `CHANGE_WIFI_STATE` permissions on Android
|
||||
* @param state {boolean}
|
||||
* @param {boolean} state
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse', platforms: ['Android', 'Windows 10'] })
|
||||
setWifiState(state: boolean): Promise<any> { return; }
|
||||
setWifiState(state: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables/disables Bluetooth on the device.
|
||||
* Requires `BLUETOOTH` and `BLUETOOTH_ADMIN` permissions on Android
|
||||
* @param state {boolean}
|
||||
* @param {boolean} state
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ callbackOrder: 'reverse', platforms: ['Android', 'Windows 10'] })
|
||||
setBluetoothState(state: boolean): Promise<any> { return; }
|
||||
|
||||
setBluetoothState(state: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
// ANDROID AND IOS ONLY
|
||||
|
||||
@@ -226,7 +257,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
isLocationEnabled(): Promise<boolean> { return; }
|
||||
isLocationEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use location.
|
||||
@@ -234,14 +267,18 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isLocationAuthorized(): Promise<any> { return; }
|
||||
isLocationAuthorized(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the location authorization status for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getLocationAuthorizationStatus(): Promise<any> { return; }
|
||||
getLocationAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the location authorization status for the application.
|
||||
@@ -251,14 +288,18 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' })
|
||||
requestLocationAuthorization(mode?: string): Promise<any> { return; }
|
||||
requestLocationAuthorization(mode?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if camera hardware is present on device.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
isCameraPresent(): Promise<any> { return; }
|
||||
isCameraPresent(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use the camera.
|
||||
@@ -268,7 +309,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' })
|
||||
isCameraAuthorized( externalStorage?: boolean ): Promise<any> { return; }
|
||||
isCameraAuthorized(externalStorage?: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the camera authorization status for the application.
|
||||
@@ -277,7 +320,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' })
|
||||
getCameraAuthorizationStatus( externalStorage?: boolean ): Promise<any> { return; }
|
||||
getCameraAuthorizationStatus(externalStorage?: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests camera authorization for the application.
|
||||
@@ -286,49 +331,63 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], callbackOrder: 'reverse' })
|
||||
requestCameraAuthorization( externalStorage?: boolean ): Promise<any> { return; }
|
||||
requestCameraAuthorization(externalStorage?: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use the microphone.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
isMicrophoneAuthorized(): Promise<boolean> { return; }
|
||||
isMicrophoneAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the microphone authorization status for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getMicrophoneAuthorizationStatus(): Promise<any> { return; }
|
||||
getMicrophoneAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests microphone authorization for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
requestMicrophoneAuthorization(): Promise<any> { return; }
|
||||
requestMicrophoneAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use contacts (address book).
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
isContactsAuthorized(): Promise<boolean> { return; }
|
||||
isContactsAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the contacts authorization status for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getContactsAuthorizationStatus(): Promise<any> { return; }
|
||||
getContactsAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests contacts authorization for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
requestContactsAuthorization(): Promise<any> { return; }
|
||||
requestContactsAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use the calendar.
|
||||
@@ -341,7 +400,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
isCalendarAuthorized(): Promise<boolean> { return; }
|
||||
isCalendarAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the calendar authorization status for the application.
|
||||
@@ -355,7 +416,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getCalendarAuthorizationStatus(): Promise<any> { return; }
|
||||
getCalendarAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests calendar authorization for the application.
|
||||
@@ -372,7 +435,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
requestCalendarAuthorization(): Promise<any> { return; }
|
||||
requestCalendarAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens settings page for this app.
|
||||
@@ -381,39 +446,44 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
switchToSettings(): Promise<any> { return; }
|
||||
switchToSettings(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the state of Bluetooth on the device.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'] })
|
||||
getBluetoothState(): Promise<any> { return; }
|
||||
getBluetoothState(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a function to be called when a change in Bluetooth state occurs.
|
||||
* @param handler
|
||||
* @param {Function} handler
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
|
||||
registerBluetoothStateChangeHandler(handler: Function): void { }
|
||||
registerBluetoothStateChangeHandler(handler: Function): void {}
|
||||
|
||||
/**
|
||||
* Registers a function to be called when a change in Location state occurs.
|
||||
* @param handler
|
||||
* @param {Function} handler
|
||||
*/
|
||||
@Cordova({ platforms: ['Android', 'iOS'], sync: true })
|
||||
registerLocationStateChangeHandler(handler: Function): void { }
|
||||
|
||||
registerLocationStateChangeHandler(handler: Function): void {}
|
||||
|
||||
// ANDROID ONLY
|
||||
|
||||
/**
|
||||
* Checks if high-accuracy locations are available to the app from GPS hardware.
|
||||
* Returns true if Location mode is enabled and is set to "Device only" or "High accuracy" AND if the app is authorised to use location.
|
||||
* Returns true if Location mode is enabled and is set to "Device only" or "High accuracy" AND if the app is authorized to use location.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isGpsLocationAvailable(): Promise<boolean> { return; }
|
||||
isGpsLocationAvailable(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if location mode is set to return high-accuracy locations from GPS hardware.
|
||||
@@ -423,15 +493,19 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isGpsLocationEnabled(): Promise<any> { return; }
|
||||
isGpsLocationEnabled(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if low-accuracy locations are available to the app from network triangulation/WiFi access points.
|
||||
* Returns true if Location mode is enabled and is set to "Battery saving" or "High accuracy" AND if the app is authorised to use location.
|
||||
* Returns true if Location mode is enabled and is set to "Battery saving" or "High accuracy" AND if the app is authorized to use location.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isNetworkLocationAvailable(): Promise<any> { return; }
|
||||
isNetworkLocationAvailable(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if location mode is set to return low-accuracy locations from network triangulation/WiFi access points.
|
||||
@@ -441,50 +515,62 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isNetworkLocationEnabled(): Promise<any> { return; }
|
||||
isNetworkLocationEnabled(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current location mode setting for the device.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getLocationMode(): Promise<any> { return; }
|
||||
getLocationMode(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current authorisation status for a given permission.
|
||||
* Returns the current authorization status for a given permission.
|
||||
* Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
|
||||
* @param permission
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
|
||||
getPermissionAuthorizationStatus(permission: any): Promise<any> { return; }
|
||||
getPermissionAuthorizationStatus(permission: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current authorisation status for multiple permissions.
|
||||
* Returns the current authorization status for multiple permissions.
|
||||
* Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
|
||||
* @param permissions
|
||||
* @param {any[]} permissions
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
|
||||
getPermissionsAuthorizationStatus(permissions: any[]): Promise<any> { return; }
|
||||
getPermissionsAuthorizationStatus(permissions: any[]): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests app to be granted authorisation for a runtime permission.
|
||||
* Requests app to be granted authorization for a runtime permission.
|
||||
* Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will have no effect as the permissions are already granted at installation time.
|
||||
* @param permission
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
|
||||
requestRuntimePermission(permission: any): Promise<any> { return; }
|
||||
requestRuntimePermission(permission: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests app to be granted authorisation for multiple runtime permissions.
|
||||
* Requests app to be granted authorization for multiple runtime permissions.
|
||||
* Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
|
||||
* @param permissions
|
||||
* @param {any[]} permissions
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'], callbackOrder: 'reverse' })
|
||||
requestRuntimePermissions(permissions: any[]): Promise<any> { return; }
|
||||
requestRuntimePermissions(permissions: any[]): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates if the plugin is currently requesting a runtime permission via the native API.
|
||||
@@ -494,15 +580,19 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {boolean}
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
isRequestingPermission(): boolean { return; }
|
||||
isRequestingPermission(): boolean {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a function to be called when a runtime permission request has completed.
|
||||
* Pass in a falsey value to de-register the currently registered function.
|
||||
* @param handler {Function}
|
||||
* Pass in a falsy value to de-register the currently registered function.
|
||||
* @param {Function} handler
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
registerPermissionRequestCompleteHandler(handler: Function): void { return; }
|
||||
registerPermissionRequestCompleteHandler(handler: Function): void {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device setting for Bluetooth is switched on.
|
||||
@@ -510,49 +600,63 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isBluetoothEnabled(): Promise<boolean> { return; }
|
||||
isBluetoothEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device has Bluetooth capabilities.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
hasBluetoothSupport(): Promise<boolean> { return; }
|
||||
hasBluetoothSupport(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device has Bluetooth Low Energy (LE) capabilities.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
hasBluetoothLESupport(): Promise<boolean> { return; }
|
||||
hasBluetoothLESupport(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device supports Bluetooth Low Energy (LE) Peripheral mode.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
hasBluetoothLEPeripheralSupport(): Promise<boolean> { return; }
|
||||
hasBluetoothLEPeripheralSupport(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use external storage.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isExternalStorageAuthorized(): Promise<boolean> { return; }
|
||||
isExternalStorageAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* CReturns the external storage authorization status for the application.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getExternalStorageAuthorizationStatus(): Promise<any> { return; }
|
||||
getExternalStorageAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests external storage authorization for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
requestExternalStorageAuthorization(): Promise<any> { return; }
|
||||
requestExternalStorageAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns details of external SD card(s): absolute path, is writable, free space.
|
||||
@@ -565,7 +669,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
getExternalSdCardDetails(): Promise<any> { return; }
|
||||
getExternalSdCardDetails(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Switches to the wireless settings page in the Settings app. Allows configuration of wireless controls such as Wi-Fi, Bluetooth and Mobile networks.
|
||||
@@ -574,7 +680,7 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
platforms: ['Android'],
|
||||
sync: true
|
||||
})
|
||||
switchToWirelessSettings(): void { }
|
||||
switchToWirelessSettings(): void {}
|
||||
|
||||
/**
|
||||
* Displays NFC settings to allow user to enable NFC.
|
||||
@@ -583,14 +689,16 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
platforms: ['Android'],
|
||||
sync: true
|
||||
})
|
||||
switchToNFCSettings(): void { }
|
||||
switchToNFCSettings(): void {}
|
||||
|
||||
/**
|
||||
* Checks if NFC hardware is present on device.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isNFCPresent(): Promise<boolean> { return; }
|
||||
isNFCPresent(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device setting for NFC is switched on.
|
||||
@@ -598,7 +706,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isNFCEnabled(): Promise<boolean> { return; }
|
||||
isNFCEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if NFC is available to the app. Returns true if the device has NFC capabilities AND if NFC setting is switched on.
|
||||
@@ -606,39 +716,47 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isNFCAvailable(): Promise<boolean> { return; }
|
||||
isNFCAvailable(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a function to be called when a change in NFC state occurs. Pass in a falsey value to de-register the currently registered function.
|
||||
* @param hander {Function} callback function to be called when NFC state changes
|
||||
* Registers a function to be called when a change in NFC state occurs. Pass in a falsy value to de-register the currently registered function.
|
||||
* @param {Function} hander callback function to be called when NFC state changes
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['Android'],
|
||||
sync: true
|
||||
})
|
||||
registerNFCStateChangeHandler(handler: Function): void { }
|
||||
registerNFCStateChangeHandler(handler: Function): void {}
|
||||
|
||||
/**
|
||||
* Checks if the device data roaming setting is enabled.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isDataRoamingEnabled(): Promise<boolean> { return; }
|
||||
isDataRoamingEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device setting for ADB(debug) is switched on.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isADBModeEnabled(): Promise<boolean> { return; }
|
||||
isADBModeEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device is rooted.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['Android'] })
|
||||
isDeviceRooted(): Promise<boolean> { return; }
|
||||
isDeviceRooted(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
// IOS ONLY
|
||||
|
||||
@@ -647,14 +765,18 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isCameraRollAuthorized(): Promise<boolean> { return; }
|
||||
isCameraRollAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the authorization status for the application to use the Camera Roll in Photos app.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getCameraRollAuthorizationStatus(): Promise<string> { return; }
|
||||
getCameraRollAuthorizationStatus(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests camera roll authorization for the application.
|
||||
@@ -663,21 +785,27 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
requestCameraRollAuthorization(): Promise<any> { return; }
|
||||
requestCameraRollAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if remote (push) notifications are enabled.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS', 'Android'] })
|
||||
isRemoteNotificationsEnabled(): Promise<boolean> { return; }
|
||||
isRemoteNotificationsEnabled(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates if the app is registered for remote (push) notifications on the device.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isRegisteredForRemoteNotifications(): Promise<boolean> { return; }
|
||||
isRegisteredForRemoteNotifications(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the authorization status for the application to use Remote Notifications.
|
||||
@@ -685,7 +813,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getRemoteNotificationsAuthorizationStatus(): Promise<string> { return; }
|
||||
getRemoteNotificationsAuthorizationStatus(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates the current setting of notification types for the app in the Settings app.
|
||||
@@ -693,42 +823,54 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getRemoteNotificationTypes(): Promise<any> { return; }
|
||||
getRemoteNotificationTypes(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized to use reminders.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isRemindersAuthorized(): Promise<boolean> { return; }
|
||||
isRemindersAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the reminders authorization status for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getRemindersAuthorizationStatus(): Promise<any> { return; }
|
||||
getRemindersAuthorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests reminders authorization for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
requestRemindersAuthorization(): Promise<any> { return; }
|
||||
requestRemindersAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the application is authorized for background refresh.
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isBackgroundRefreshAuthorized(): Promise<boolean> { return; }
|
||||
isBackgroundRefreshAuthorized(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the background refresh authorization status for the application.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getBackgroundRefreshStatus(): Promise<any> { return; }
|
||||
getBackgroundRefreshStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests Bluetooth authorization for the application.
|
||||
@@ -737,14 +879,18 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
requestBluetoothAuthorization(): Promise<any> { return; }
|
||||
requestBluetoothAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if motion tracking is available on the current device.
|
||||
* @return {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isMotionAvailable(): Promise<boolean> { return; }
|
||||
isMotionAvailable(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if it's possible to determine the outcome of a motion authorization request on the current device.
|
||||
@@ -754,7 +900,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @return {Promise<boolean>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
isMotionRequestOutcomeAvailable(): Promise<boolean> { return; }
|
||||
isMotionRequestOutcomeAvailable(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests motion tracking authorization for the application.
|
||||
@@ -764,7 +912,9 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @return {Promise<string>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
requestMotionAuthorization(): Promise<string> { return; }
|
||||
requestMotionAuthorization(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks motion authorization status for the application.
|
||||
@@ -774,6 +924,7 @@ export class Diagnostic extends IonicNativePlugin {
|
||||
* @return {Promise<string>}
|
||||
*/
|
||||
@Cordova({ platforms: ['iOS'] })
|
||||
getMotionAuthorizationStatus(): Promise<string> { return; }
|
||||
|
||||
getMotionAuthorizationStatus(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
|
||||
export interface DialogsPromptCallback {
|
||||
|
||||
/**
|
||||
* The index of the pressed button. (Number) Note that the index uses one-based indexing, so the value is 1, 2, 3, etc.
|
||||
*/
|
||||
@@ -13,10 +11,8 @@ export interface DialogsPromptCallback {
|
||||
* The text entered in the prompt dialog box. (String)
|
||||
*/
|
||||
input1: string;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @name Dialogs
|
||||
* @description
|
||||
@@ -50,47 +46,60 @@ export interface DialogsPromptCallback {
|
||||
})
|
||||
@Injectable()
|
||||
export class Dialogs extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Shows a custom alert or dialog box.
|
||||
* @param {string} message Dialog message.
|
||||
* @param {string} title Dialog title. (Optional, defaults to Alert)
|
||||
* @param {string} buttonName Button name. (Optional, defaults to OK)
|
||||
* @param {string} [title] Dialog title. (Optional, defaults to Alert)
|
||||
* @param {string} [buttonName] Button name. (Optional, defaults to OK)
|
||||
* @returns {Promise<any>} Returns a blank promise once the user has dismissed the alert.
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 4
|
||||
})
|
||||
alert(message: string, title?: string, buttonName?: string): Promise<any> { return; }
|
||||
alert(message: string, title?: string, buttonName?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a customizable confirmation dialog box.
|
||||
* @param {string} message Dialog message.
|
||||
* @param {string} title Dialog title. (Optional, defaults to Confirm)
|
||||
* @param {Array<string>} buttonLabels Array of strings specifying button labels. (Optional, defaults to [OK,Cancel])
|
||||
* @param {string} [title] Dialog title. (Optional, defaults to Confirm)
|
||||
* @param {Array<string>} [buttonLabels] Array of strings specifying button labels. (Optional, defaults to [OK,Cancel])
|
||||
* @returns {Promise<number>} Returns a promise that resolves the button index that was clicked, or 0 if the user has dismissed the dialog by clicking outside the dialog box. Note that the index use one-based indexing.
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 4
|
||||
})
|
||||
confirm(message: string, title?: string, buttonLabels?: string[]): Promise<number> { return; }
|
||||
confirm(
|
||||
message: string,
|
||||
title?: string,
|
||||
buttonLabels?: string[]
|
||||
): Promise<number> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a native dialog box that is more customizable than the browser's prompt function.
|
||||
* @param {string} message Dialog message.
|
||||
* @param {string} title Dialog title. (Optional, defaults to Prompt)
|
||||
* @param {Array<string>} buttonLabels Array of strings specifying button labels. (Optional, defaults to ["OK","Cancel"])
|
||||
* @param {string} defaultText Default textbox input value. (Optional, Default: empty string)
|
||||
* @param {string} [message] Dialog message.
|
||||
* @param {string} [title] Dialog title. (Optional, defaults to Prompt)
|
||||
* @param {Array<string>} [buttonLabels] Array of strings specifying button labels. (Optional, defaults to ["OK","Cancel"])
|
||||
* @param {string} [defaultText] Default text box input value. (Optional, Default: empty string)
|
||||
* @returns {Promise<DialogsPromptCallback>} Returns a promise that resolves an object with the button index clicked and the text entered
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 5
|
||||
})
|
||||
prompt(message?: string, title?: string, buttonLabels?: string[], defaultText?: string): Promise<DialogsPromptCallback> { return; }
|
||||
|
||||
prompt(
|
||||
message?: string,
|
||||
title?: string,
|
||||
buttonLabels?: string[],
|
||||
defaultText?: string
|
||||
): Promise<DialogsPromptCallback> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* The device plays a beep sound.
|
||||
@@ -99,6 +108,5 @@ export class Dialogs extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
sync: true
|
||||
})
|
||||
beep(times: number): void { }
|
||||
|
||||
beep(times: number): void {}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
|
||||
/**
|
||||
* @name iOS DocumentPicker
|
||||
* @description
|
||||
*
|
||||
* Opens the file picker on iOS for the user to select a file, returns a file URI.
|
||||
* Allows the user to upload files from icloud
|
||||
* Allows the user to upload files from iCloud
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
@@ -33,13 +31,13 @@ import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
})
|
||||
@Injectable()
|
||||
export class DocumentPicker extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Open a file
|
||||
* @param {string} filters files between 'image', 'pdf' or 'all'
|
||||
* @param {string} [option] files between 'image', 'pdf' or 'all'
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
getFile(options?: string): Promise<string> { return; }
|
||||
|
||||
getFile(option?: string): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, CordovaCheck, IonicNativePlugin } from '@ionic-native/core';
|
||||
import {
|
||||
Cordova,
|
||||
CordovaCheck,
|
||||
IonicNativePlugin,
|
||||
Plugin
|
||||
} from '@ionic-native/core';
|
||||
|
||||
export interface EmailComposerOptions {
|
||||
|
||||
/**
|
||||
* App to send the email with
|
||||
*/
|
||||
@@ -43,9 +47,12 @@ export interface EmailComposerOptions {
|
||||
*/
|
||||
isHtml?: boolean;
|
||||
|
||||
/**
|
||||
* Content type of the email (Android only)
|
||||
*/
|
||||
type?: string;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @name Email Composer
|
||||
* @description
|
||||
@@ -106,15 +113,14 @@ export interface EmailComposerOptions {
|
||||
plugin: 'cordova-plugin-email-composer',
|
||||
pluginRef: 'cordova.plugins.email',
|
||||
repo: 'https://github.com/katzer/cordova-plugin-email-composer',
|
||||
platforms: ['Amazon Fire OS', 'Android', 'Browser', 'iOS', 'Windows']
|
||||
platforms: ['Amazon Fire OS', 'Android', 'Browser', 'iOS', 'Windows', 'macOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class EmailComposer extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Verifies if sending emails is supported on the device.
|
||||
*
|
||||
* @param [app] {string} App id or uri scheme.
|
||||
* @param {string} [app] App id or uri scheme.
|
||||
* @returns {Promise<any>} Resolves if available, rejects if not available
|
||||
*/
|
||||
@CordovaCheck()
|
||||
@@ -148,7 +154,9 @@ export class EmailComposer extends IonicNativePlugin {
|
||||
successIndex: 0,
|
||||
errorIndex: 2
|
||||
})
|
||||
requestPermission(): Promise<boolean> { return; }
|
||||
requestPermission(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the app has a permission to access email accounts information
|
||||
@@ -158,28 +166,31 @@ export class EmailComposer extends IonicNativePlugin {
|
||||
successIndex: 0,
|
||||
errorIndex: 2
|
||||
})
|
||||
hasPermission(): Promise<boolean> { return; }
|
||||
hasPermission(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a new mail app alias.
|
||||
*
|
||||
* @param alias {string} The alias name
|
||||
* @param packageName {string} The package name
|
||||
* @param {string} alias The alias name
|
||||
* @param {string} packageName The package name
|
||||
*/
|
||||
@Cordova()
|
||||
addAlias(alias: string, packageName: string): void { }
|
||||
addAlias(alias: string, packageName: string): void {}
|
||||
|
||||
/**
|
||||
* Displays the email composer pre-filled with data.
|
||||
*
|
||||
* @param options {EmailComposerOptions} Email
|
||||
* @param [scope] {any} Scope for the promise
|
||||
* @param {EmailComposerOptions} options Email
|
||||
* @param {any} [scope] Scope for the promise
|
||||
* @returns {Promise<any>} Resolves promise when the EmailComposer has been opened
|
||||
*/
|
||||
@Cordova({
|
||||
successIndex: 1,
|
||||
errorIndex: 3
|
||||
})
|
||||
open(options: EmailComposerOptions, scope?: any): Promise<any> { return; }
|
||||
|
||||
open(options: EmailComposerOptions, scope?: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export interface EstimoteBeaconRegion {
|
||||
|
||||
state?: string;
|
||||
|
||||
major: number;
|
||||
@@ -13,7 +12,6 @@ export interface EstimoteBeaconRegion {
|
||||
identifier?: string;
|
||||
|
||||
uuid: string;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -48,7 +46,6 @@ export interface EstimoteBeaconRegion {
|
||||
})
|
||||
@Injectable()
|
||||
export class EstimoteBeacons extends IonicNativePlugin {
|
||||
|
||||
/** Proximity value */
|
||||
ProximityUnknown = 0;
|
||||
|
||||
@@ -124,7 +121,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
requestWhenInUseAuthorization(): Promise<any> { return; }
|
||||
requestWhenInUseAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ask the user for permission to use location services
|
||||
@@ -145,7 +144,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
requestAlwaysAuthorization(): Promise<any> { return; }
|
||||
requestAlwaysAuthorization(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current location authorization status.
|
||||
@@ -164,7 +165,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
authorizationStatus(): Promise<any> { return; }
|
||||
authorizationStatus(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start advertising as a beacon.
|
||||
@@ -177,16 +180,23 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* EstimoteBeacons.stopAdvertisingAsBeacon().then((result) => { console.log('Beacon stopped'); });
|
||||
* }, 5000);
|
||||
* ```
|
||||
* @param uuid {string} UUID string the beacon should advertise (mandatory).
|
||||
* @param major {number} Major value to advertise (mandatory).
|
||||
* @param minor {number} Minor value to advertise (mandatory).
|
||||
* @param regionId {string} Identifier of the region used to advertise (mandatory).
|
||||
* @param {string} uuid UUID string the beacon should advertise (mandatory).
|
||||
* @param {number} major Major value to advertise (mandatory).
|
||||
* @param {number} minor Minor value to advertise (mandatory).
|
||||
* @param {string} regionId Identifier of the region used to advertise (mandatory).
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
clearFunction: 'stopAdvertisingAsBeacon'
|
||||
})
|
||||
startAdvertisingAsBeacon(uuid: string, major: number, minor: number, regionId: string): Promise<any> { return; }
|
||||
startAdvertisingAsBeacon(
|
||||
uuid: string,
|
||||
major: number,
|
||||
minor: number,
|
||||
regionId: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop advertising as a beacon.
|
||||
@@ -202,7 +212,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopAdvertisingAsBeacon(): Promise<any> { return; }
|
||||
stopAdvertisingAsBeacon(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable analytics.
|
||||
@@ -213,16 +225,18 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* ```
|
||||
* EstimoteBeacons.enableAnalytics(true).then(() => { console.log('Analytics enabled'); });
|
||||
* ```
|
||||
* @param enable {number} Boolean value to turn analytics on or off (mandatory).
|
||||
* @param {number} enable Boolean value to turn analytics on or off (mandatory).
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
enableAnalytics(enable: boolean): Promise<any> { return; }
|
||||
enableAnalytics(enable: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if analytics is enabled.
|
||||
*
|
||||
* @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details}
|
||||
* Test if analytics is enabled.
|
||||
*
|
||||
* @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details}
|
||||
*
|
||||
* @usage
|
||||
* ```
|
||||
@@ -231,12 +245,14 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isAnalyticsEnabled(): Promise<any> { return; }
|
||||
isAnalyticsEnabled(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if App ID and App Token is set.
|
||||
*
|
||||
* @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details}
|
||||
* Test if App ID and App Token is set.
|
||||
*
|
||||
* @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details}
|
||||
*
|
||||
* @usage
|
||||
* ```
|
||||
@@ -245,23 +261,27 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
isAuthorized(): Promise<any> { return; }
|
||||
isAuthorized(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set App ID and App Token.
|
||||
*
|
||||
* @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details}
|
||||
* Set App ID and App Token.
|
||||
*
|
||||
* @see {@link http://estimote.github.io/iOS-SDK/Classes/ESTConfig.html|Further details}
|
||||
*
|
||||
* @usage
|
||||
* ```
|
||||
* EstimoteBeacons.setupAppIDAndAppToken('MyAppID', 'MyAppToken').then(() => { console.log('AppID and AppToken configured!'); });
|
||||
* ```
|
||||
* @param appID {string} The App ID (mandatory).
|
||||
* @param appToken {string} The App Token (mandatory).
|
||||
* @param {string} appID The App ID (mandatory).
|
||||
* @param {string} appToken The App Token (mandatory).
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
setupAppIDAndAppToken(appID: string, appToken: string): Promise<any> { return; }
|
||||
setupAppIDAndAppToken(appID: string, appToken: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start scanning for all nearby beacons using CoreBluetooth (no region object is used).
|
||||
@@ -282,7 +302,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
observable: true,
|
||||
clearFunction: 'stopEstimoteBeaconDiscovery'
|
||||
})
|
||||
startEstimoteBeaconDiscovery(): Observable<any> { return; }
|
||||
startEstimoteBeaconDiscovery(): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop CoreBluetooth scan. Available on iOS.
|
||||
@@ -299,7 +321,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopEstimoteBeaconDiscovery(): Promise<any> { return; }
|
||||
stopEstimoteBeaconDiscovery(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start ranging beacons. Available on iOS and Android.
|
||||
@@ -314,7 +338,7 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* EstimoteBeacons.stopRangingBeaconsInRegion(region).then(() => { console.log('scan stopped'); });
|
||||
* }, 5000);
|
||||
* ```
|
||||
* @param region {EstimoteBeaconRegion} Dictionary with region properties (mandatory).
|
||||
* @param {EstimoteBeaconRegion} region Dictionary with region properties (mandatory).
|
||||
* @returns {Observable<any>} Returns an Observable that notifies of each beacon discovered.
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -322,7 +346,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
clearFunction: 'stopRangingBeaconsInRegion',
|
||||
clearWithArgs: true
|
||||
})
|
||||
startRangingBeaconsInRegion(region: EstimoteBeaconRegion): Observable<any> { return; }
|
||||
startRangingBeaconsInRegion(region: EstimoteBeaconRegion): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop ranging beacons. Available on iOS and Android.
|
||||
@@ -337,15 +363,17 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* EstimoteBeacons.stopRangingBeaconsInRegion(region).then(() => { console.log('scan stopped'); });
|
||||
* }, 5000);
|
||||
* ```
|
||||
* @param region {EstimoteBeaconRegion} Dictionary with region properties (mandatory).
|
||||
* @param {EstimoteBeaconRegion} region Dictionary with region properties (mandatory).
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopRangingBeaconsInRegion(region: EstimoteBeaconRegion): Promise<any> { return; }
|
||||
stopRangingBeaconsInRegion(region: EstimoteBeaconRegion): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start ranging secure beacons. Available on iOS.
|
||||
* This function has the same parameters/behaviour as
|
||||
* This function has the same parameters/behavior as
|
||||
* {@link EstimoteBeacons.startRangingBeaconsInRegion}.
|
||||
* To use secure beacons set the App ID and App Token using
|
||||
* {@link EstimoteBeacons.setupAppIDAndAppToken}.
|
||||
@@ -356,16 +384,22 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
clearFunction: 'stopRangingSecureBeaconsInRegion',
|
||||
clearWithArgs: true
|
||||
})
|
||||
startRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Observable<any> { return; }
|
||||
startRangingSecureBeaconsInRegion(
|
||||
region: EstimoteBeaconRegion
|
||||
): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop ranging secure beacons. Available on iOS.
|
||||
* This function has the same parameters/behaviour as
|
||||
* This function has the same parameters/behavior as
|
||||
* {@link EstimoteBeacons.stopRangingBeaconsInRegion}.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Promise<any> { return; }
|
||||
stopRangingSecureBeaconsInRegion(region: EstimoteBeaconRegion): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start monitoring beacons. Available on iOS and Android.
|
||||
@@ -377,8 +411,8 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* console.log('Region state: ' + JSON.stringify(state));
|
||||
* });
|
||||
* ```
|
||||
* @param region {EstimoteBeaconRegion} Dictionary with region properties (mandatory).
|
||||
* @param [notifyEntryStateOnDisplay=false] {boolean} Set to true to detect if you
|
||||
* @param {EstimoteBeaconRegion} region Dictionary with region properties (mandatory).
|
||||
* @param {boolean} [notifyEntryStateOnDisplay] Set to true to detect if you
|
||||
* are inside a region when the user turns display on, see
|
||||
* {@link https://developer.apple.com/library/prerelease/ios/documentation/CoreLocation/Reference/CLBeaconRegion_class/index.html#//apple_ref/occ/instp/CLBeaconRegion/notifyEntryStateOnDisplay|iOS documentation}
|
||||
* for further details (iOS only).
|
||||
@@ -391,7 +425,12 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
successIndex: 1,
|
||||
errorIndex: 2
|
||||
})
|
||||
startMonitoringForRegion(region: EstimoteBeaconRegion, notifyEntryStateOnDisplay: boolean): Observable<any> { return; }
|
||||
startMonitoringForRegion(
|
||||
region: EstimoteBeaconRegion,
|
||||
notifyEntryStateOnDisplay: boolean
|
||||
): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop monitoring beacons. Available on iOS and Android.
|
||||
@@ -401,21 +440,23 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* let region: EstimoteBeaconRegion = {} // Empty region matches all beacons.
|
||||
* EstimoteBeacons.stopMonitoringForRegion(region).then(() => { console.log('monitoring is stopped'); });
|
||||
* ```
|
||||
* @param region {EstimoteBeaconRegion} Dictionary with region properties (mandatory).
|
||||
* @param {EstimoteBeaconRegion} region Dictionary with region properties (mandatory).
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopMonitoringForRegion(region: EstimoteBeaconRegion): Promise<any> { return; }
|
||||
stopMonitoringForRegion(region: EstimoteBeaconRegion): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start monitoring secure beacons. Available on iOS.
|
||||
* This function has the same parameters/behaviour as
|
||||
* This function has the same parameters/behavior as
|
||||
* EstimoteBeacons.startMonitoringForRegion.
|
||||
* To use secure beacons set the App ID and App Token using
|
||||
* {@link EstimoteBeacons.setupAppIDAndAppToken}.
|
||||
* @see {@link EstimoteBeacons.startMonitoringForRegion}
|
||||
* @param region {EstimoteBeaconRegion} Region
|
||||
* @param notifyEntryStateOnDisplay {boolean}
|
||||
* @param {EstimoteBeaconRegion} region Region
|
||||
* @param {boolean} notifyEntryStateOnDisplay
|
||||
* @returns {Observable<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -425,17 +466,24 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
successIndex: 1,
|
||||
errorIndex: 2
|
||||
})
|
||||
startSecureMonitoringForRegion(region: EstimoteBeaconRegion, notifyEntryStateOnDisplay: boolean): Observable<any> { return; }
|
||||
startSecureMonitoringForRegion(
|
||||
region: EstimoteBeaconRegion,
|
||||
notifyEntryStateOnDisplay: boolean
|
||||
): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop monitoring secure beacons. Available on iOS.
|
||||
* This function has the same parameters/behaviour as
|
||||
* {@link EstimoteBeacons.stopMonitoringForRegion}.
|
||||
* @param region {EstimoteBeaconRegion} Region
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
* Stop monitoring secure beacons. Available on iOS.
|
||||
* This function has the same parameters/behavior as
|
||||
* {@link EstimoteBeacons.stopMonitoringForRegion}.
|
||||
* @param {EstimoteBeaconRegion} region Region
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
stopSecureMonitoringForRegion(region: EstimoteBeaconRegion): Promise<any> { return; }
|
||||
stopSecureMonitoringForRegion(region: EstimoteBeaconRegion): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Connect to Estimote Beacon. Available on Android.
|
||||
@@ -451,11 +499,13 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* minor: 1
|
||||
* });
|
||||
* ```
|
||||
* @param beacon {Beacon} Beacon to connect to.
|
||||
* @param {Beacon} beacon Beacon to connect to.
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
connectToBeacon(beacon: any): Promise<any> { return; }
|
||||
connectToBeacon(beacon: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disconnect from connected Estimote Beacon. Available on Android.
|
||||
@@ -467,7 +517,9 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
disconnectConnectedBeacon(): Promise<any> { return; }
|
||||
disconnectConnectedBeacon(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write proximity UUID to connected Estimote Beacon. Available on Android.
|
||||
@@ -477,11 +529,13 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* // Example that writes constant ESTIMOTE_PROXIMITY_UUID
|
||||
* EstimoteBeacons.writeConnectedProximityUUID(ESTIMOTE_PROXIMITY_UUID);
|
||||
*
|
||||
* @param uuid {string} String to write as new UUID
|
||||
* @param {string} uuid String to write as new UUID
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
writeConnectedProximityUUID(uuid: any): Promise<any> { return; }
|
||||
writeConnectedProximityUUID(uuid: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write major to connected Estimote Beacon. Available on Android.
|
||||
@@ -491,11 +545,13 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* // Example that writes 1
|
||||
* EstimoteBeacons.writeConnectedMajor(1);
|
||||
*
|
||||
* @param major {number} number to write as new major
|
||||
* @param {number} major number to write as new major
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
writeConnectedMajor(major: number): Promise<any> { return; }
|
||||
writeConnectedMajor(major: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write minor to connected Estimote Beacon. Available on Android.
|
||||
@@ -505,10 +561,11 @@ export class EstimoteBeacons extends IonicNativePlugin {
|
||||
* // Example that writes 1
|
||||
* EstimoteBeacons.writeConnectedMinor(1);
|
||||
*
|
||||
* @param minor {number} number to write as new minor
|
||||
* @param {number} minor number to write as new minor
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
writeConnectedMinor(minor: number): Promise<any> { return; }
|
||||
|
||||
writeConnectedMinor(minor: number): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { Plugin, IonicNativePlugin, Cordova } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export interface NotificationData {
|
||||
|
||||
/**
|
||||
* Determines whether the notification was pressed or not
|
||||
*/
|
||||
@@ -15,7 +14,6 @@ export interface NotificationData {
|
||||
*/
|
||||
|
||||
[name: string]: any;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -64,14 +62,15 @@ export interface NotificationData {
|
||||
})
|
||||
@Injectable()
|
||||
export class FCM extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Get's device's current registration id
|
||||
* Gets device's current registration id
|
||||
*
|
||||
* @returns {Promise<string>} Returns a Promise that resolves with the registration id token
|
||||
*/
|
||||
@Cordova()
|
||||
getToken(): Promise<string> { return; }
|
||||
getToken(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event firing on the token refresh
|
||||
@@ -81,7 +80,9 @@ export class FCM extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
observable: true
|
||||
})
|
||||
onTokenRefresh(): Observable<string> { return; }
|
||||
onTokenRefresh(): Observable<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subscribes you to a [topic](https://firebase.google.com/docs/notifications/android/console-topics)
|
||||
@@ -91,17 +92,21 @@ export class FCM extends IonicNativePlugin {
|
||||
* @returns {Promise<any>} Returns a promise resolving in result of subscribing to a topic
|
||||
*/
|
||||
@Cordova()
|
||||
subscribeToTopic(topic: string): Promise<any> { return; }
|
||||
subscribeToTopic(topic: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unubscribes you from a [topic](https://firebase.google.com/docs/notifications/android/console-topics)
|
||||
* Unsubscribes you from a [topic](https://firebase.google.com/docs/notifications/android/console-topics)
|
||||
*
|
||||
* @param {string} topic Topic to be unsubscribed from
|
||||
*
|
||||
* @returns {Promise<any>} Returns a promise resolving in result of unsubscribing from a topic
|
||||
*/
|
||||
@Cordova()
|
||||
unsubscribeFromTopic(topic: string): Promise<any> { return; }
|
||||
unsubscribeFromTopic(topic: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Watch for incoming notifications
|
||||
@@ -113,6 +118,7 @@ export class FCM extends IonicNativePlugin {
|
||||
successIndex: 0,
|
||||
errorIndex: 2
|
||||
})
|
||||
onNotification(): Observable<NotificationData> { return; }
|
||||
|
||||
onNotification(): Observable<NotificationData> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name File Encryption
|
||||
@@ -30,23 +30,25 @@ import { Injectable } from '@angular/core';
|
||||
})
|
||||
@Injectable()
|
||||
export class FileEncryption extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Enrcypt a file
|
||||
* @param file {string} A string representing a local URI
|
||||
* @param key {string} A key for the crypto operations
|
||||
* Encrypt a file
|
||||
* @param {string} file A string representing a local URI
|
||||
* @param {string} key A key for the crypto operations
|
||||
* @return {Promise<any>} Returns a promise that resolves when something happens
|
||||
*/
|
||||
@Cordova()
|
||||
encrypt(file: string, key: string): Promise<any> { return; }
|
||||
encrypt(file: string, key: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decrypt a file
|
||||
* @param file {string} A string representing a local URI
|
||||
* @param key {string} A key for the crypto operations
|
||||
* @param {string} file A string representing a local URI
|
||||
* @param {string} key A key for the crypto operations
|
||||
* @return {Promise<any>} Returns a promise that resolves when something happens
|
||||
*/
|
||||
@Cordova()
|
||||
decrypt(file: string, key: string): Promise<any> { return; }
|
||||
|
||||
decrypt(file: string, key: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name File Opener
|
||||
@@ -16,7 +16,7 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
*
|
||||
* this.fileOpener.open('path/to/file.pdf', 'application/pdf')
|
||||
* .then(() => console.log('File is opened'))
|
||||
* .catch(e => console.log('Error openening file', e));
|
||||
* .catch(e => console.log('Error opening file', e));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@@ -29,11 +29,10 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
})
|
||||
@Injectable()
|
||||
export class FileOpener extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Open an file
|
||||
* @param filePath {string} File Path
|
||||
* @param fileMIMEType {string} File MIME Type
|
||||
* @param {string} filePath File Path
|
||||
* @param {string} fileMIMEType File MIME Type
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -41,11 +40,13 @@ export class FileOpener extends IonicNativePlugin {
|
||||
successName: 'success',
|
||||
errorName: 'error'
|
||||
})
|
||||
open(filePath: string, fileMIMEType: string): Promise<any> { return; }
|
||||
open(filePath: string, fileMIMEType: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Uninstalls a package
|
||||
* @param packageId {string} Package ID
|
||||
* @param {string} packageId Package ID
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -53,11 +54,13 @@ export class FileOpener extends IonicNativePlugin {
|
||||
successName: 'success',
|
||||
errorName: 'error'
|
||||
})
|
||||
uninstall(packageId: string): Promise<any> { return; }
|
||||
uninstall(packageId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an app is already installed
|
||||
* @param packageId {string} Package ID
|
||||
* @param {string} packageId Package ID
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -65,6 +68,7 @@ export class FileOpener extends IonicNativePlugin {
|
||||
successName: 'success',
|
||||
errorName: 'error'
|
||||
})
|
||||
appIsInstalled(packageId: string): Promise<any> { return; }
|
||||
|
||||
appIsInstalled(packageId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
declare const window: any;
|
||||
|
||||
@@ -32,13 +32,13 @@ declare const window: any;
|
||||
})
|
||||
@Injectable()
|
||||
export class FilePath extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Resolve native path for given content URL/path.
|
||||
* @param {String} path Content URL/path.
|
||||
* @param {string} path Content URL/path.
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
@Cordova()
|
||||
resolveNativePath(path: string): Promise<string> { return; }
|
||||
|
||||
resolveNativePath(path: string): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
@Plugin({
|
||||
pluginName: 'iOS File Picker',
|
||||
plugin: 'cordova-plugin-filepicker',
|
||||
pluginRef: 'filePicker',
|
||||
pluginRef: 'FilePicker',
|
||||
repo: 'https://github.com/jcesarmobile/FilePicker-Phonegap-iOS-Plugin',
|
||||
platforms: ['iOS']
|
||||
})
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { CordovaInstance, Plugin, InstanceCheck, checkAvailability, IonicNativePlugin } from '@ionic-native/core';
|
||||
import {
|
||||
checkAvailability,
|
||||
CordovaInstance,
|
||||
InstanceCheck,
|
||||
IonicNativePlugin,
|
||||
Plugin
|
||||
} from '@ionic-native/core';
|
||||
|
||||
export interface FileUploadOptions {
|
||||
|
||||
/**
|
||||
* The name of the form element.
|
||||
* Defaults to 'file'.
|
||||
@@ -30,7 +35,7 @@ export interface FileUploadOptions {
|
||||
/**
|
||||
* A set of optional key/value pairs to pass in the HTTP request.
|
||||
*/
|
||||
params?: { [s: string]: any; };
|
||||
params?: { [s: string]: any };
|
||||
|
||||
/**
|
||||
* Whether to upload the data in chunked streaming mode.
|
||||
@@ -43,12 +48,10 @@ export interface FileUploadOptions {
|
||||
* than one value. On iOS, FireOS, and Android, if a header named
|
||||
* Content-Type is present, multipart form data will NOT be used.
|
||||
*/
|
||||
headers?: { [s: string]: any; };
|
||||
|
||||
headers?: { [s: string]: any };
|
||||
}
|
||||
|
||||
export interface FileUploadResult {
|
||||
|
||||
/**
|
||||
* The number of bytes sent to the server as part of the upload.
|
||||
*/
|
||||
@@ -67,12 +70,10 @@ export interface FileUploadResult {
|
||||
/**
|
||||
* The HTTP response headers by the server.
|
||||
*/
|
||||
headers: { [s: string]: any; };
|
||||
|
||||
headers: { [s: string]: any };
|
||||
}
|
||||
|
||||
export interface FileTransferError {
|
||||
|
||||
/**
|
||||
* One of the predefined error codes listed below.
|
||||
*/
|
||||
@@ -103,7 +104,6 @@ export interface FileTransferError {
|
||||
* Either e.getMessage or e.toString.
|
||||
*/
|
||||
exception: string;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -179,11 +179,18 @@ export interface FileTransferError {
|
||||
plugin: 'cordova-plugin-file-transfer',
|
||||
pluginRef: 'FileTransfer',
|
||||
repo: 'https://github.com/apache/cordova-plugin-file-transfer',
|
||||
platforms: ['Amazon Fire OS', 'Android', 'Browser', 'iOS', 'Ubuntu', 'Windows', 'Windows Phone']
|
||||
platforms: [
|
||||
'Amazon Fire OS',
|
||||
'Android',
|
||||
'Browser',
|
||||
'iOS',
|
||||
'Ubuntu',
|
||||
'Windows',
|
||||
'Windows Phone'
|
||||
]
|
||||
})
|
||||
@Injectable()
|
||||
export class FileTransfer extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Error code rejected from upload with FileTransferError
|
||||
* Defined in FileTransferError.
|
||||
@@ -209,7 +216,6 @@ export class FileTransfer extends IonicNativePlugin {
|
||||
create(): FileTransferObject {
|
||||
return new FileTransferObject();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -223,7 +229,13 @@ export class FileTransferObject {
|
||||
private _objectInstance: any;
|
||||
|
||||
constructor() {
|
||||
if (checkAvailability(FileTransfer.getPluginRef(), null, FileTransfer.getPluginName()) === true) {
|
||||
if (
|
||||
checkAvailability(
|
||||
FileTransfer.getPluginRef(),
|
||||
null,
|
||||
FileTransfer.getPluginName()
|
||||
) === true
|
||||
) {
|
||||
this._objectInstance = new (FileTransfer.getPlugin())();
|
||||
}
|
||||
}
|
||||
@@ -233,34 +245,48 @@ export class FileTransferObject {
|
||||
*
|
||||
* @param {string} fileUrl Filesystem URL representing the file on the device or a data URI. For backwards compatibility, this can also be the full path of the file on the device.
|
||||
* @param {string} url URL of the server to receive the file, as encoded by encodeURI().
|
||||
* @param {FileUploadOptions} options Optional parameters.
|
||||
* @param {boolean} trustAllHosts Optional parameter, defaults to false. If set to true, it accepts all security certificates. This is useful since Android rejects self-signed security certificates. Not recommended for production use. Supported on Android and iOS.
|
||||
* @param {FileUploadOptions} [options] Optional parameters.
|
||||
* @param {boolean} [trustAllHosts] Optional parameter, defaults to false. If set to true, it accepts all security certificates. This is useful since Android rejects self-signed security certificates. Not recommended for production use. Supported on Android and iOS.
|
||||
* @returns {Promise<FileUploadResult>} Returns a Promise that resolves to a FileUploadResult and rejects with FileTransferError.
|
||||
*/
|
||||
@CordovaInstance({
|
||||
successIndex: 2,
|
||||
errorIndex: 3
|
||||
})
|
||||
upload(fileUrl: string, url: string, options?: FileUploadOptions, trustAllHosts?: boolean): Promise<FileUploadResult> { return; }
|
||||
upload(
|
||||
fileUrl: string,
|
||||
url: string,
|
||||
options?: FileUploadOptions,
|
||||
trustAllHosts?: boolean
|
||||
): Promise<FileUploadResult> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Downloads a file from server.
|
||||
*
|
||||
* @param {string} source URL of the server to download the file, as encoded by encodeURI().
|
||||
* @param {string} target Filesystem url representing the file on the device. For backwards compatibility, this can also be the full path of the file on the device.
|
||||
* @param {boolean} trustAllHosts Optional parameter, defaults to false. If set to true, it accepts all security certificates. This is useful because Android rejects self-signed security certificates. Not recommended for production use. Supported on Android and iOS.
|
||||
* @param {object} Optional parameters, currently only supports headers (such as Authorization (Basic Authentication), etc).
|
||||
* @param {boolean} [trustAllHosts] Optional parameter, defaults to false. If set to true, it accepts all security certificates. This is useful because Android rejects self-signed security certificates. Not recommended for production use. Supported on Android and iOS.
|
||||
* @param {object} [Optional] parameters, currently only supports headers (such as Authorization (Basic Authentication), etc).
|
||||
* @returns {Promise<any>} Returns a Promise that resolves to a FileEntry object.
|
||||
*/
|
||||
@CordovaInstance({
|
||||
successIndex: 2,
|
||||
errorIndex: 3
|
||||
})
|
||||
download(source: string, target: string, trustAllHosts?: boolean, options?: { [s: string]: any; }): Promise<any> { return; }
|
||||
download(
|
||||
source: string,
|
||||
target: string,
|
||||
trustAllHosts?: boolean,
|
||||
options?: { [s: string]: any }
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a listener that gets called whenever a new chunk of data is transferred.
|
||||
* @param listener {function} Listener that takes a progress event.
|
||||
* @param {Function} listener Listener that takes a progress event.
|
||||
*/
|
||||
@InstanceCheck({ sync: true })
|
||||
onProgress(listener: (event: ProgressEvent) => any): void {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface FingerprintOptions {
|
||||
/**
|
||||
@@ -66,20 +65,22 @@ export interface FingerprintOptions {
|
||||
})
|
||||
@Injectable()
|
||||
export class FingerprintAIO extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Check if fingerprint authentication is available
|
||||
* @return {Promise<any>} Returns a promise with result
|
||||
*/
|
||||
@Cordova()
|
||||
isAvailable(): Promise<any> { return; }
|
||||
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
|
||||
* @param {FingerprintOptions} options Options for platform specific fingerprint API
|
||||
* @return {Promise<any>} Returns a promise that resolves when authentication was successful
|
||||
*/
|
||||
@Cordova()
|
||||
show(options: FingerprintOptions): Promise<any> { return; }
|
||||
|
||||
show(options: FingerprintOptions): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @beta
|
||||
@@ -35,51 +35,59 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
})
|
||||
@Injectable()
|
||||
export class FirebaseAnalytics extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Logs an app event.
|
||||
* Be aware of automatically collected events.
|
||||
* @param name {string} The name of the event
|
||||
* @param params {any} Some param to configure something
|
||||
* @param {string} name The name of the event
|
||||
* @param {any} params Some param to configure something
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
logEvent(name: string, params: any): Promise<any> { return; }
|
||||
logEvent(name: string, params: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the user ID property.
|
||||
* This feature must be used in accordance with Google's Privacy Policy.
|
||||
* @param id {string} The user ID
|
||||
* @param {string} id The user ID
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
setUserId(id: string): Promise<any> { return; }
|
||||
setUserId(id: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This feature must be used in accordance with Google's Privacy Policy.
|
||||
* Be aware of automatically collected user properties.
|
||||
* @param name {string} The property name
|
||||
* @param value {string} The property value
|
||||
* @param {string} name The property name
|
||||
* @param {string} value The property value
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
setUserProperty(name: string, value: string): Promise<any> { return; }
|
||||
setUserProperty(name: string, value: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether analytics collection is enabled for this app on this device.
|
||||
* @param enabled {boolean}
|
||||
* @param {boolean} enabled
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
setEnabled(enabled: boolean): Promise<any> { return; }
|
||||
setEnabled(enabled: boolean): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current screen name, which specifies the current visual context in your app.
|
||||
* This helps identify the areas in your app where users spend their time and how they interact with your app.
|
||||
* @param name {string} The name of the screen
|
||||
* @param {string} name The name of the screen
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova({ sync: true })
|
||||
setCurrentScreen(name: string): Promise<any> { return; }
|
||||
|
||||
setCurrentScreen(name: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
/**
|
||||
@@ -30,7 +30,7 @@ import { Observable } from 'rxjs/Observable';
|
||||
plugin: 'cordova-plugin-firebase',
|
||||
pluginRef: 'FirebasePlugin',
|
||||
repo: 'https://github.com/arnesson/cordova-plugin-firebase',
|
||||
platforms: ['Android', 'iOS'],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class Firebase extends IonicNativePlugin {
|
||||
@@ -87,7 +87,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set icon badge number. Set to 0 to clear the badge.
|
||||
* @param badgeNumber {number}
|
||||
* @param {number} badgeNumber
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -106,7 +106,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Subscribe to a topic
|
||||
* @param topic {string}
|
||||
* @param {string} topic
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -116,7 +116,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Unsubscribe from a topic
|
||||
* @param topic {string}
|
||||
* @param {string} topic
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -135,8 +135,8 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Log an event using Analytics
|
||||
* @param type {string}
|
||||
* @param data {Object}
|
||||
* @param {string} type
|
||||
* @param {Object} data
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -146,7 +146,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Log an Error using FirebaseCrash
|
||||
* @param message {string}
|
||||
* @param {string} message
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -156,7 +156,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set the name of the current screen in Analytics
|
||||
* @param name {string} Screen name
|
||||
* @param {string} name Screen name
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -166,7 +166,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set a user id for use in Analytics
|
||||
* @param userId {string}
|
||||
* @param {string} userId
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -176,8 +176,8 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set a user property for use in Analytics
|
||||
* @param name {string}
|
||||
* @param value {string}
|
||||
* @param {string} name
|
||||
* @param {string} value
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
@@ -187,7 +187,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Fetch Remote Config parameter values for your app
|
||||
* @param cacheExpirationSeconds {number}
|
||||
* @param {number} [cacheExpirationSeconds]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -209,8 +209,8 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Retrieve a Remote Config value
|
||||
* @param key {string}
|
||||
* @param [namespace] {string}
|
||||
* @param {string} key
|
||||
* @param {string} [namespace]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -223,8 +223,8 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Retrieve a Remote Config byte array
|
||||
* @param key {string}
|
||||
* @param [namespace] {string}
|
||||
* @param {string} key
|
||||
* @param {string} [namespace]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -247,7 +247,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Change the settings for the FirebaseRemoteConfig object's operations
|
||||
* @param settings {Object}
|
||||
* @param {Object} settings
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -259,8 +259,8 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Set defaults in the Remote Config
|
||||
* @param defaults {Object}
|
||||
* @param [namespace] {string}
|
||||
* @param {Object} defaults
|
||||
* @param {string} [namespace]
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -272,7 +272,7 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Sends an SMS to the user with the SMS verification code and returns the Verification ID required to sign in using phone authentication
|
||||
* @param phoneNumber {string}
|
||||
* @param {string} phoneNumber
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -284,8 +284,8 @@ export class Firebase extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Sends an SMS to the user with the SMS verification code and returns the Verification ID required to sign in using phone authentication
|
||||
* @param phoneNumber {string} the phone number, including '+' and country code
|
||||
* @param timeoutDuration {number} the timeout in sec - no more SMS will be sent to this number until this timeout expires
|
||||
* @param {string} phoneNumber The phone number, including '+' and country code
|
||||
* @param {number} timeoutDuration The timeout in sec - no more SMS will be sent to this number until this timeout expires
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova({
|
||||
@@ -293,13 +293,16 @@ export class Firebase extends IonicNativePlugin {
|
||||
successIndex: 2,
|
||||
errorIndex: 3
|
||||
})
|
||||
verifyPhoneNumber(phoneNumber: string, timeoutDuration: number): Promise<any> {
|
||||
verifyPhoneNumber(
|
||||
phoneNumber: string,
|
||||
timeoutDuration: number
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows the user to enable/disable analytics collection
|
||||
* @param enabled {booleab} value to set collection
|
||||
* @param {boolean} enabled value to set collection
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
import { Plugin, CordovaInstance, checkAvailability, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
checkAvailability,
|
||||
CordovaInstance,
|
||||
IonicNativePlugin,
|
||||
Plugin
|
||||
} from '@ionic-native/core';
|
||||
|
||||
export interface FlurryAnalyticsOptions {
|
||||
/** Flurry API key is required */
|
||||
@@ -73,16 +78,15 @@ export interface FlurryAnalyticsLocation {
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
* @hidden
|
||||
*/
|
||||
export class FlurryAnalyticsObject {
|
||||
|
||||
constructor(private _objectInstance: any) { }
|
||||
constructor(private _objectInstance: any) {}
|
||||
|
||||
/**
|
||||
* This function set the Event
|
||||
* @param eventName {string} Name of the event
|
||||
* @param [params] {Object} Optional params
|
||||
* @param {string} eventName Name of the event
|
||||
* @param {Object} [params] Optional params
|
||||
* @return {Promise<any>} Returns a promise that resolves when event is sent
|
||||
*/
|
||||
@CordovaInstance({
|
||||
@@ -95,8 +99,8 @@ export class FlurryAnalyticsObject {
|
||||
|
||||
/**
|
||||
* Start a timed event
|
||||
* @param eventName {string} Name of the event
|
||||
* @param [params] {Object} Optional params
|
||||
* @param {string} eventName Name of the event
|
||||
* @param {Object} Optional params
|
||||
* @return {Promise<any>} Returns a promise that resolves when timed event is started tracking
|
||||
*/
|
||||
@CordovaInstance({
|
||||
@@ -109,8 +113,8 @@ export class FlurryAnalyticsObject {
|
||||
|
||||
/**
|
||||
* Complete a timed event
|
||||
* @param eventName {string} Name of the event
|
||||
* @param [params] {Object} Optional params
|
||||
* @param {string} eventName Name of the event
|
||||
* @param {Object} [params] Optional params
|
||||
* @return {Promise<any>} Returns a promise that resolves when timed event is ended tracking
|
||||
*/
|
||||
@CordovaInstance({
|
||||
@@ -123,8 +127,8 @@ export class FlurryAnalyticsObject {
|
||||
|
||||
/**
|
||||
* This function log an error
|
||||
* @param code
|
||||
* @param message
|
||||
* @param {Object} code
|
||||
* @param {Object} message
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@CordovaInstance()
|
||||
@@ -144,12 +148,15 @@ export class FlurryAnalyticsObject {
|
||||
/**
|
||||
* This function set the location for the event
|
||||
* (this is will only be used for very course grained statistics like city)
|
||||
* @param location {FlurryAnalyticsLocation}
|
||||
* @param message {string}
|
||||
* @param {FlurryAnalyticsLocation} location
|
||||
* @param {string} message
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@CordovaInstance()
|
||||
setLocation(location: FlurryAnalyticsLocation, message: string): Promise<any> {
|
||||
setLocation(
|
||||
location: FlurryAnalyticsLocation,
|
||||
message: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -172,7 +179,6 @@ export class FlurryAnalyticsObject {
|
||||
endSession(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -216,22 +222,24 @@ export class FlurryAnalyticsObject {
|
||||
})
|
||||
@Injectable()
|
||||
export class FlurryAnalytics extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Creates a new instance of FlurryAnalyticsObject
|
||||
* @param options {FlurryAnalyticsOptions} options
|
||||
* @param {FlurryAnalyticsOptions} options Options
|
||||
* @return {FlurryAnalyticsObject}
|
||||
*/
|
||||
create(options: FlurryAnalyticsOptions): FlurryAnalyticsObject {
|
||||
|
||||
let instance: any;
|
||||
|
||||
if (checkAvailability(FlurryAnalytics.pluginRef, null, FlurryAnalytics.pluginName) === true) {
|
||||
if (
|
||||
checkAvailability(
|
||||
FlurryAnalytics.pluginRef,
|
||||
null,
|
||||
FlurryAnalytics.pluginName
|
||||
) === true
|
||||
) {
|
||||
instance = new (window as any).FlurryAnalytics(options);
|
||||
}
|
||||
|
||||
return new FlurryAnalyticsObject(instance);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
/**
|
||||
@@ -32,18 +32,19 @@ import { Observable } from 'rxjs';
|
||||
})
|
||||
@Injectable()
|
||||
export class FTP extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Connect to one ftp server.
|
||||
*
|
||||
* Just need to init the connection once. If success, you can do any ftp actions later.
|
||||
* @param hostname {string} The ftp server url. Like ip without protocol prefix, e.g. "192.168.1.1".
|
||||
* @param username {string} The ftp login username. If it and `password` are all blank/undefined, the default username "anonymous" is used.
|
||||
* @param password {string} The ftp login password. If it and `username` are all blank/undefined, the default password "anonymous@" is used.
|
||||
* @return {Promise<any>} The success callback. Notice: For iOS, if triggered, means `init` success, but NOT means the later action, e.g. `ls`... `download` will success!
|
||||
*/
|
||||
* Connect to one ftp server.
|
||||
*
|
||||
* Just need to init the connection once. If success, you can do any ftp actions later.
|
||||
* @param {string} hostname The ftp server url. Like ip without protocol prefix, e.g. "192.168.1.1".
|
||||
* @param {string} username The ftp login username. If it and `password` are all blank/undefined, the default username "anonymous" is used.
|
||||
* @param {string} password The ftp login password. If it and `username` are all blank/undefined, the default password "anonymous@" is used.
|
||||
* @return {Promise<any>} The success callback. Notice: For iOS, if triggered, means `init` success, but NOT means the later action, e.g. `ls`... `download` will success!
|
||||
*/
|
||||
@Cordova()
|
||||
connect(hostname: string, username: string, password: string): Promise<any> { return; }
|
||||
connect(hostname: string, username: string, password: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* List files (with info of `name`, `type`, `link`, `size`, `modifiedDate`) under one directory on the ftp server.
|
||||
@@ -56,46 +57,54 @@ export class FTP extends IonicNativePlugin {
|
||||
* - size: file size in bytes.
|
||||
* - modifiedDate: modified date of this file. date format is `yyyy-MM-dd HH:mm:ss zzz`, e.g "2015-12-01 20:45:00 GMT+8".
|
||||
*
|
||||
* @param path {string} The path on the ftp server. e.g. "/adf/123/".
|
||||
* @param {string} path The path on the ftp server. e.g. "/adf/123/".
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
ls(path: string): Promise<any> { return; }
|
||||
ls(path: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create one directory on the ftp server.
|
||||
*
|
||||
* @param path {string} The path on the ftp server. e.g. "/adf/123/".
|
||||
* @param {string} path The path on the ftp server. e.g. "/adf/123/".
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
mkdir(path: string): Promise<any> { return; }
|
||||
mkdir(path: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete one directory on the ftp server.
|
||||
*
|
||||
* Tip: As many ftp server could not rm dir when it's not empty, so rm all files under the dir at first is recommended.
|
||||
*
|
||||
* @param path {string} The file (with full path) you want to delete. e.g. "/adf/123/newDir/myFile".
|
||||
* @param {string} path The file (with full path) you want to delete. e.g. "/adf/123/newDir/myFile".
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
rmdir(path: string): Promise<any> { return; }
|
||||
rmdir(path: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete one file on the ftp server.
|
||||
*
|
||||
* @param file {string} The file (with full path) you want to delete. e.g. "/adf/123/newDir/myFile".
|
||||
* @param {string} file The file (with full path) you want to delete. e.g. "/adf/123/newDir/myFile".
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
rm(file: string): Promise<any> { return; }
|
||||
rm(file: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload one local file to the ftp server.
|
||||
*
|
||||
* @param localFile {string} The file (with full path) you want to upload. e.g. "/local/path/to/localFile".
|
||||
* @param remoteFile {string} The file (with full path) you want to located on the ftp server. e.g. "/adf/123/newDir/remoteFile".
|
||||
* @param {string} localFile The file (with full path) you want to upload. e.g. "/local/path/to/localFile".
|
||||
* @param {string} remoteFile The file (with full path) you want to located on the ftp server. e.g. "/adf/123/newDir/remoteFile".
|
||||
* @return {Observable<any>} Returns an observable.
|
||||
* It will be triggered many times according the file's size.
|
||||
* The arg `0`, `0.1xx`, `0.2xx` ... `1` means the upload percent. When it reach `1`, means success.
|
||||
@@ -103,13 +112,15 @@ export class FTP extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
observable: true
|
||||
})
|
||||
upload(localFile: string, remoteFile: string): Observable<any> { return; }
|
||||
upload(localFile: string, remoteFile: string): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Download one remote file on the ftp server to local path.
|
||||
*
|
||||
* @param localFile {string} The file (with full path) you want to upload. e.g. "/local/path/to/localFile".
|
||||
* @param remoteFile {string} The file (with full path) you want to located on the ftp server. e.g. "/adf/123/newDir/remoteFile".
|
||||
* @param {string} localFile The file (with full path) you want to upload. e.g. "/local/path/to/localFile".
|
||||
* @param {string} remoteFile The file (with full path) you want to located on the ftp server. e.g. "/adf/123/newDir/remoteFile".
|
||||
* @return {Observable<any>} Returns an observable.
|
||||
* It will be triggered many times according the file's size.
|
||||
* The arg `0`, `0.1xx`, `0.2xx` ... `1` means the upload percent. When it reach `1`, means success.
|
||||
@@ -117,7 +128,9 @@ export class FTP extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
observable: true
|
||||
})
|
||||
download(localFile: string, remoteFile: string): Observable<any> { return; }
|
||||
download(localFile: string, remoteFile: string): Observable<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancel all requests. Always success.
|
||||
@@ -125,7 +138,9 @@ export class FTP extends IonicNativePlugin {
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
cancel(): Promise<any> { return; }
|
||||
cancel(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disconnect from ftp server.
|
||||
@@ -133,6 +148,7 @@ export class FTP extends IonicNativePlugin {
|
||||
* @return {Promise<any>} Returns a promise
|
||||
*/
|
||||
@Cordova()
|
||||
disconnect(): Promise<any> { return; }
|
||||
|
||||
disconnect(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
59
src/@ionic-native/plugins/google-nearby/index.ts
Normal file
59
src/@ionic-native/plugins/google-nearby/index.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
/**
|
||||
* @name google-nearby
|
||||
* @description
|
||||
* This plugin adds support for the Google Nearby Messages API.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { GoogleNearby } from '@ionic-native/google-nearby';
|
||||
*
|
||||
*
|
||||
* constructor(private googleNearby: GoogleNearby) { }
|
||||
*
|
||||
* this.googleNearby.publish('Hello')
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
*
|
||||
* this.googleNearby.subscribe()
|
||||
* .then((res: any) => console.log(res))
|
||||
* .catch((error: any) => console.error(error));
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'GoogleNearby',
|
||||
plugin: 'cordova-plugin-google-nearby',
|
||||
pluginRef: 'window.nearby',
|
||||
repo: 'https://github.com/hahahannes/cordova-plugin-google-nearby',
|
||||
install: 'ionic cordova plugin add cordova-plugin-google-nearby --variable API_KEY="123456789"',
|
||||
installVariables: ['API_KEY'],
|
||||
platforms: ['Android']
|
||||
})
|
||||
@Injectable()
|
||||
export class GoogleNearby extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Publish a message
|
||||
* @param message {string} Message to publish
|
||||
* @return {Promise<any>} Returns a promise that resolves when the message got published
|
||||
*/
|
||||
@Cordova()
|
||||
publish(message: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subscribe to recieve messages
|
||||
* @return {Observable<any>} Returns an observable that emits recieved messages
|
||||
*/
|
||||
@Cordova({
|
||||
observable: true,
|
||||
clearFunction: 'unsubscribe'
|
||||
})
|
||||
subscribe(): Observable<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
export interface ImageResizerOptions {
|
||||
/**
|
||||
@@ -7,6 +7,24 @@ export interface ImageResizerOptions {
|
||||
*/
|
||||
uri: string;
|
||||
|
||||
/**
|
||||
* The name of the folder the image should be put
|
||||
* (Android only)
|
||||
*/
|
||||
folderName?: string;
|
||||
|
||||
/**
|
||||
* A custom name for the file. Default name is a timestamp. You have to set this value on iOS
|
||||
*/
|
||||
fileName?: string;
|
||||
|
||||
/**
|
||||
*
|
||||
* Quality given as Number for the quality of the new image
|
||||
* (Android and iOS only)
|
||||
*/
|
||||
quality?: number;
|
||||
|
||||
/**
|
||||
* The width of the new image
|
||||
*/
|
||||
@@ -18,22 +36,10 @@ export interface ImageResizerOptions {
|
||||
height: number;
|
||||
|
||||
/**
|
||||
* The name of the folder the image should be put
|
||||
* (Android only)
|
||||
* Whether or not to return a base64 encoded image string instead of the path to the resized image.
|
||||
* iOS only
|
||||
*/
|
||||
folderName?: string;
|
||||
|
||||
/**
|
||||
*
|
||||
* Quality given as Number for the quality of the new image
|
||||
* (Android and iOS only)
|
||||
*/
|
||||
quality?: number;
|
||||
|
||||
/**
|
||||
* A custom name for the file. Default name is a timestamp. You have to set this value on iOS
|
||||
*/
|
||||
fileName?: string;
|
||||
base64?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -79,5 +85,7 @@ export class ImageResizer extends IonicNativePlugin {
|
||||
* @returns {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
resize(options: ImageResizerOptions): Promise<any> { return; }
|
||||
resize(options: ImageResizerOptions): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
*
|
||||
* if(this.launchReview.isRatingSupported()){
|
||||
* this.launchReview.rating()
|
||||
* .then(() => console.log('Successfully launched rating dialog');
|
||||
* .then(() => console.log('Successfully launched rating dialog'));
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Plugin, IonicNativePlugin, Cordova } from '@ionic-native/core';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export interface QRScannerStatus {
|
||||
@@ -86,11 +86,6 @@ export interface QRScannerStatus {
|
||||
* scanSub.unsubscribe(); // stop scanning
|
||||
* });
|
||||
*
|
||||
* // show camera preview
|
||||
* this.qrScanner.show();
|
||||
*
|
||||
* // wait for user to scan something, then the observable callback will be called
|
||||
*
|
||||
* } else if (status.denied) {
|
||||
* // camera permission was permanently denied
|
||||
* // you must use QRScanner.openSettings() method to guide the user to the settings page
|
||||
@@ -115,7 +110,6 @@ export interface QRScannerStatus {
|
||||
})
|
||||
@Injectable()
|
||||
export class QRScanner extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Request permission to use QR scanner.
|
||||
* @return {Promise<QRScannerStatus>}
|
||||
@@ -123,7 +117,9 @@ export class QRScanner extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
callbackStyle: 'node'
|
||||
})
|
||||
prepare(): Promise<QRScannerStatus> { return; }
|
||||
prepare(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call this method to enable scanning. You must then call the `show` method to make the camera preview visible.
|
||||
@@ -134,21 +130,27 @@ export class QRScanner extends IonicNativePlugin {
|
||||
observable: true,
|
||||
clearFunction: 'cancelScan'
|
||||
})
|
||||
scan(): Observable<string> { return; }
|
||||
scan(): Observable<string> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures the native webview to have a transparent background, then sets the background of the <body> and <html> DOM elements to transparent, allowing the webview to re-render with the transparent background.
|
||||
* @returns {Promise<QRScannerStatus>}
|
||||
*/
|
||||
@Cordova()
|
||||
show(): Promise<QRScannerStatus> { return; }
|
||||
show(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures the native webview to be opaque with a white background, covering the video preview.
|
||||
* @returns {Promise<QRScannerStatus>}
|
||||
*/
|
||||
@Cordova()
|
||||
hide(): Promise<QRScannerStatus> { return; }
|
||||
hide(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable the device's light (for scanning in low-light environments).
|
||||
@@ -157,14 +159,18 @@ export class QRScanner extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
callbackStyle: 'node'
|
||||
})
|
||||
enableLight(): Promise<QRScannerStatus> { return; }
|
||||
enableLight(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy the scanner instance.
|
||||
* @returns {Promise<QRScannerStatus>}
|
||||
*/
|
||||
@Cordova()
|
||||
destroy(): Promise<QRScannerStatus> { return; }
|
||||
destroy(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable the device's light.
|
||||
@@ -173,7 +179,9 @@ export class QRScanner extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
callbackStyle: 'node'
|
||||
})
|
||||
disableLight(): Promise<QRScannerStatus> { return; }
|
||||
disableLight(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use front camera
|
||||
@@ -182,7 +190,9 @@ export class QRScanner extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
callbackStyle: 'node'
|
||||
})
|
||||
useFrontCamera(): Promise<QRScannerStatus> { return; }
|
||||
useFrontCamera(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use back camera
|
||||
@@ -191,7 +201,9 @@ export class QRScanner extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
callbackStyle: 'node'
|
||||
})
|
||||
useBackCamera(): Promise<QRScannerStatus> { return; }
|
||||
useBackCamera(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set camera to be used.
|
||||
@@ -201,28 +213,36 @@ export class QRScanner extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
callbackStyle: 'node'
|
||||
})
|
||||
useCamera(camera: number): Promise<QRScannerStatus> { return; }
|
||||
useCamera(camera: number): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pauses the video preview on the current frame and pauses scanning.
|
||||
* @return {Promise<QRScannerStatus>}
|
||||
*/
|
||||
@Cordova()
|
||||
pausePreview(): Promise<QRScannerStatus> { return; }
|
||||
pausePreview(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resumse the video preview and resumes scanning.
|
||||
* @return {Promise<QRScannerStatus>}
|
||||
*/
|
||||
@Cordova()
|
||||
resumePreview(): Promise<QRScannerStatus> { return; }
|
||||
resumePreview(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns permission status
|
||||
* @return {Promise<QRScannerStatus>}
|
||||
*/
|
||||
@Cordova()
|
||||
getStatus(): Promise<QRScannerStatus> { return; }
|
||||
getStatus(): Promise<QRScannerStatus> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens settings to edit app permissions.
|
||||
@@ -231,5 +251,4 @@ export class QRScanner extends IonicNativePlugin {
|
||||
sync: true
|
||||
})
|
||||
openSettings(): void {}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,28 +1,23 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* Options for sending an SMS
|
||||
*/
|
||||
export interface SmsOptions {
|
||||
|
||||
/**
|
||||
* Set to true to replace \n by a new line. Default: false
|
||||
*/
|
||||
replaceLineBreaks?: boolean;
|
||||
|
||||
android?: SmsOptionsAndroid;
|
||||
|
||||
}
|
||||
|
||||
export interface SmsOptionsAndroid {
|
||||
|
||||
/**
|
||||
* Set to "INTENT" to send SMS with the native android SMS messaging. Leaving it empty will send the SMS without opening any app.
|
||||
*/
|
||||
intent?: string;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,7 +52,6 @@ export interface SmsOptionsAndroid {
|
||||
})
|
||||
@Injectable()
|
||||
export class SMS extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Sends sms to a number
|
||||
* @param phoneNumber {string|Array<string>} Phone number
|
||||
@@ -73,7 +67,9 @@ export class SMS extends IonicNativePlugin {
|
||||
phoneNumber: string | string[],
|
||||
message: string,
|
||||
options?: SmsOptions
|
||||
): Promise<any> { return; }
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function lets you know if the app has permission to send SMS
|
||||
@@ -82,6 +78,7 @@ export class SMS extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
platforms: ['Android']
|
||||
})
|
||||
hasPermission(): Promise<boolean> { return; }
|
||||
|
||||
hasPermission(): Promise<boolean> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, Plugin, IonicNativePlugin } from '@ionic-native/core';
|
||||
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name Social Sharing
|
||||
@@ -53,7 +52,14 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
successIndex: 4,
|
||||
errorIndex: 5
|
||||
})
|
||||
share(message?: string, subject?: string, file?: string | string[], url?: string): Promise<any> { return; }
|
||||
share(
|
||||
message?: string,
|
||||
subject?: string,
|
||||
file?: string | string[],
|
||||
url?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares using the share sheet with additional options and returns a result object or an error message (requires plugin version 5.1.0+)
|
||||
@@ -63,7 +69,15 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareWithOptions(options: { message?: string, subject?: string, files?: string | string[], url?: string, chooserTitle?: string }): Promise<any> { return; }
|
||||
shareWithOptions(options: {
|
||||
message?: string;
|
||||
subject?: string;
|
||||
files?: string | string[];
|
||||
url?: string;
|
||||
chooserTitle?: string;
|
||||
}): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if you can share via a specific app.
|
||||
@@ -79,7 +93,15 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 6,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
canShareVia(appName: string, message?: string, subject?: string, image?: string, url?: string): Promise<any> { return; }
|
||||
canShareVia(
|
||||
appName: string,
|
||||
message?: string,
|
||||
subject?: string,
|
||||
image?: string,
|
||||
url?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares directly to Twitter
|
||||
@@ -93,7 +115,9 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 4,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaTwitter(message: string, image?: string, url?: string): Promise<any> { return; }
|
||||
shareViaTwitter(message: string, image?: string, url?: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares directly to Facebook
|
||||
@@ -107,8 +131,13 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 4,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaFacebook(message: string, image?: string, url?: string): Promise<any> { return; }
|
||||
|
||||
shareViaFacebook(
|
||||
message: string,
|
||||
image?: string,
|
||||
url?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares directly to Facebook with a paste message hint
|
||||
@@ -123,7 +152,14 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 5,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaFacebookWithPasteMessageHint(message: string, image?: string, url?: string, pasteMessageHint?: string): Promise<any> { return; }
|
||||
shareViaFacebookWithPasteMessageHint(
|
||||
message: string,
|
||||
image?: string,
|
||||
url?: string,
|
||||
pasteMessageHint?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares directly to Instagram
|
||||
@@ -134,7 +170,9 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaInstagram(message: string, image: string): Promise<any> { return; }
|
||||
shareViaInstagram(message: string, image: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares directly to WhatsApp
|
||||
@@ -148,7 +186,13 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 4,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaWhatsApp(message: string, image?: string, url?: string): Promise<any> { return; }
|
||||
shareViaWhatsApp(
|
||||
message: string,
|
||||
image?: string,
|
||||
url?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares directly to a WhatsApp Contact
|
||||
@@ -163,7 +207,14 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 5,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaWhatsAppToReceiver(receiver: string, message: string, image?: string, url?: string): Promise<any> { return; }
|
||||
shareViaWhatsAppToReceiver(
|
||||
receiver: string,
|
||||
message: string,
|
||||
image?: string,
|
||||
url?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Share via SMS
|
||||
@@ -174,7 +225,9 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareViaSMS(messge: string, phoneNumber: string): Promise<any> { return; }
|
||||
shareViaSMS(messge: string, phoneNumber: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if you can share via email
|
||||
@@ -183,7 +236,9 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
@Cordova({
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
canShareViaEmail(): Promise<any> { return; }
|
||||
canShareViaEmail(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Share via Email
|
||||
@@ -200,7 +255,16 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
successIndex: 6,
|
||||
errorIndex: 7
|
||||
})
|
||||
shareViaEmail(message: string, subject: string, to: string[], cc?: string[], bcc?: string[], files?: string | string[]): Promise<any> { return; }
|
||||
shareViaEmail(
|
||||
message: string,
|
||||
subject: string,
|
||||
to: string[],
|
||||
cc?: string[],
|
||||
bcc?: string[],
|
||||
files?: string | string[]
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Share via AppName
|
||||
@@ -216,7 +280,15 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
errorIndex: 6,
|
||||
platforms: ['iOS', 'Android']
|
||||
})
|
||||
shareVia(appName: string, message: string, subject?: string, image?: string, url?: string): Promise<any> { return; }
|
||||
shareVia(
|
||||
appName: string,
|
||||
message: string,
|
||||
subject?: string,
|
||||
image?: string,
|
||||
url?: string
|
||||
): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* defines the popup position before call the share method.
|
||||
@@ -226,5 +298,17 @@ export class SocialSharing extends IonicNativePlugin {
|
||||
sync: true,
|
||||
platforms: ['iOS']
|
||||
})
|
||||
setIPadPopupCoordinates(targetBounds: string): void { }
|
||||
setIPadPopupCoordinates(targetBounds: string): void {}
|
||||
|
||||
/**
|
||||
* Save an array of images to the camera roll
|
||||
* @param {string|string[]} fileOrFileArray Single or multiple files
|
||||
* @returns {Promise<any> }
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['iOS']
|
||||
})
|
||||
saveToPhotoAlbum(fileOrFileArray: string | string[]): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export type SpeechRecognitionListeningOptions = SpeechRecognitionListeningOptionsIOS | SpeechRecognitionListeningOptionsAndroid;
|
||||
export type SpeechRecognitionListeningOptions =
|
||||
| SpeechRecognitionListeningOptionsIOS
|
||||
| SpeechRecognitionListeningOptionsAndroid;
|
||||
|
||||
export interface SpeechRecognitionListeningOptionsIOS {
|
||||
/**
|
||||
@@ -41,6 +43,11 @@ export interface SpeechRecognitionListeningOptionsAndroid {
|
||||
* display listener popup window with prompt (default `true`)
|
||||
*/
|
||||
showPopup?: boolean;
|
||||
|
||||
/**
|
||||
* Allow partial results to be returned (default `false`)
|
||||
*/
|
||||
showPartial?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,7 +108,6 @@ export interface SpeechRecognitionListeningOptionsAndroid {
|
||||
})
|
||||
@Injectable()
|
||||
export class SpeechRecognition extends IonicNativePlugin {
|
||||
|
||||
/**
|
||||
* Check feature available
|
||||
* @return {Promise<boolean>}
|
||||
@@ -117,19 +123,18 @@ export class SpeechRecognition extends IonicNativePlugin {
|
||||
*/
|
||||
@Cordova({
|
||||
callbackOrder: 'reverse',
|
||||
observable: true,
|
||||
|
||||
observable: true
|
||||
})
|
||||
startListening(options?: SpeechRecognitionListeningOptions): Observable<Array<string>> {
|
||||
startListening(
|
||||
options?: SpeechRecognitionListeningOptions
|
||||
): Observable<Array<string>> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop the recognition process
|
||||
*/
|
||||
@Cordova({
|
||||
platforms: ['iOS']
|
||||
})
|
||||
@Cordova()
|
||||
stopListening(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
@@ -160,5 +165,4 @@ export class SpeechRecognition extends IonicNativePlugin {
|
||||
requestPermission(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,12 +13,12 @@ import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core';
|
||||
*
|
||||
* constructor(private uid: Uid, private androidPermissions: AndroidPermissions) { }
|
||||
*
|
||||
*
|
||||
*
|
||||
* async getImei() {
|
||||
* const { hasPermission } = await this.androidPermissions.checkPermission(
|
||||
* this.androidPermissions.PERMISSION.READ_PHONE_STATE
|
||||
* );
|
||||
*
|
||||
*
|
||||
* if (!hasPermission) {
|
||||
* const result = await this.androidPermissions.requestPermission(
|
||||
* this.androidPermissions.PERMISSION.READ_PHONE_STATE
|
||||
@@ -27,11 +27,11 @@ import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core';
|
||||
* if (!result.hasPermission) {
|
||||
* throw new Error('Permissions required');
|
||||
* }
|
||||
*
|
||||
*
|
||||
* // ok, a user gave us permission, we can get him identifiers after restart app
|
||||
* return;
|
||||
* }
|
||||
*
|
||||
*
|
||||
* return this.uid.IMEI
|
||||
* }
|
||||
* ```
|
||||
@@ -40,30 +40,23 @@ import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core';
|
||||
pluginName: 'Uid',
|
||||
plugin: 'cordova-plugin-uid',
|
||||
pluginRef: 'cordova.plugins.uid',
|
||||
repo: 'https://github.com/hygieiasoft/cordova-plugin-uid',
|
||||
repo: 'https://github.com/lionelhe/cordova-plugin-uid',
|
||||
platforms: ['Android']
|
||||
})
|
||||
@Injectable()
|
||||
export class Uid extends IonicNativePlugin {
|
||||
|
||||
/** Get the device Universally Unique Identifier (UUID). */
|
||||
@CordovaProperty
|
||||
UUID: string;
|
||||
@CordovaProperty UUID: string;
|
||||
|
||||
/** Get the device International Mobile Station Equipment Identity (IMEI). */
|
||||
@CordovaProperty
|
||||
IMEI: string;
|
||||
@CordovaProperty IMEI: string;
|
||||
|
||||
/** Get the device International mobile Subscriber Identity (IMSI). */
|
||||
@CordovaProperty
|
||||
IMSI: string;
|
||||
@CordovaProperty IMSI: string;
|
||||
|
||||
/** Get the sim Integrated Circuit Card Identifier (ICCID). */
|
||||
@CordovaProperty
|
||||
ICCID: string;
|
||||
@CordovaProperty ICCID: string;
|
||||
|
||||
/** Get the Media Access Control address (MAC). */
|
||||
@CordovaProperty
|
||||
MAC: string;
|
||||
|
||||
@CordovaProperty MAC: string;
|
||||
}
|
||||
|
||||
40
src/@ionic-native/plugins/uptime/index.ts
Normal file
40
src/@ionic-native/plugins/uptime/index.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name Uptime
|
||||
* @description
|
||||
* This plugin return the device uptime, without sleep time.
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Uptime } from '@ionic-native/uptime';
|
||||
*
|
||||
* constructor(private uptime: Uptime) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.uptime.getUptime()
|
||||
* .then(uptime => console.log(uptime))
|
||||
* .catch(error => console.log(error));
|
||||
*
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Uptime',
|
||||
plugin: 'cordova-plugin-uptime',
|
||||
pluginRef: 'Uptime',
|
||||
repo: 'https://github.com/s1lviu/cordova-plugin-uptime',
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class Uptime extends IonicNativePlugin {
|
||||
/**
|
||||
* This function return system uptime
|
||||
* @return {Promise<string>} Returns a promise that return the uptime in milliseconds
|
||||
*/
|
||||
@Cordova()
|
||||
getUptime(): Promise<string> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user