Compare commits

...

731 Commits

Author SHA1 Message Date
Ibby
debe6834ef chore(): update changelog 2016-10-14 06:06:49 -04:00
Ibby
292c8801ea Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-10-14 06:06:31 -04:00
william
b031ceed99 docs(camera-preview): fix repo link (#695)
Breaking link to Repo.
2016-10-14 03:06:11 -07:00
Ibby
82d4ec2738 2.2.3 2016-10-14 06:03:59 -04:00
Ibby
9c55358620 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-10-13 19:15:46 -04:00
Ibby
51bc5ef542 docs(ble): update docs for isEnabled
closes #665
2016-10-13 19:15:38 -04:00
Colin Frick
74a252b324 fix(googlemaps): Expose 'type' property in GoogleMapsLatLngBounds #693 (#694) 2016-10-13 16:00:15 -07:00
Ramon Henrique Ornelas
43c8592b40 style(file): fix angular style (#685) 2016-10-12 19:52:27 -07:00
Ramon Henrique Ornelas
babfb0dca3 fix(onesignal): update to match latest API version (#691) 2016-10-12 19:51:57 -07:00
Ibby
ceb4217415 chore(): update changelog 2016-10-11 21:03:52 -04:00
Ibby
798625698d 2.2.2 2016-10-11 21:03:23 -04:00
Ibby
5cfb3b033b refractor(): remove unused import 2016-10-11 21:02:53 -04:00
Ibrahim Hadeed
95d666c348 Merge pull request #682 from driftyco/fix/file
fix(file): fix writeFile method
2016-10-11 18:01:55 -07:00
Ibby
276d61bf3a fix(file): read methods can accept Blobs too 2016-10-11 20:48:53 -04:00
Ibby
397a209ad2 docs(file): improve docs 2016-10-11 20:46:05 -04:00
Ibby
d2f42ef33a fix(file): getFreeDiskSpace now works 2016-10-11 20:44:27 -04:00
Ibby
fe46907aaa docs(file): document getFreeDiskspace 2016-10-11 20:39:26 -04:00
Ibby
5c92455ee9 feat(file): getFile and getDirectory are now public
closes #657
2016-10-11 20:30:14 -04:00
Ibby
046cbe7fca chore(): update changelog 2016-10-11 20:18:33 -04:00
Ibby
32f09275aa 2.2.1 2016-10-11 20:18:17 -04:00
Ibby
542ff4cf95 feat(file): resolveLocalFilesystemUrl and resolveDirectoryUrl are now public methods
closes #657
2016-10-11 20:16:39 -04:00
Ibby
5710eb78a8 fix(file): last parameter for writeFile now only accepts options 2016-10-11 20:13:21 -04:00
Ibby
842a80d493 fix(file): fix writeFile method
addresses #464 #552 #666
2016-10-11 20:10:47 -04:00
Ibby
c2d4f1c0da fix(location-accuracy): accuracy param is number
closes #676
2016-10-11 19:35:54 -04:00
Xueron Nee
e28e5b0f5f fix(themeablebrowser): add missed options (#680) 2016-10-11 16:33:35 -07:00
Job
bff4862979 fix(diagnostic): misspelled getContactsAuthorizationStatus method (#678) 2016-10-11 16:32:24 -07:00
Ibby
6bcef44d42 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-10-11 09:14:22 -04:00
Ibby
69c9b6f555 docs(): set ANDROID_THEMES to private 2016-10-11 09:14:17 -04:00
Ibby
7f38cb5a16 docs(datepicker): improve docs 2016-10-11 09:13:56 -04:00
Ramon Henrique Ornelas
cf7abe110d fix(http): export via window.IonicNative (#675)
* fix(http): fix export system module

* style(http): fix angular style

* style(http): delete multiline

* chore(http): add attribute platforms to decorator Plugin

* fix(http): typo param uploadFile()

* fix(http): typo commit ba6a7e9930
2016-10-11 03:25:15 -07:00
Ibby
5b060345d2 chore(): update changelog 2016-10-11 04:30:55 -04:00
Ibby
1784036ef7 chore(): update changelog 2016-10-11 04:22:46 -04:00
Ibby
7a8577007c 2.2.0 2016-10-11 04:19:02 -04:00
Ibrahim Hadeed
7c6e6d8b6b fix(onesignal): update to match latest api (#671)
closes #667
2016-10-11 01:12:43 -07:00
Ramon Henrique Ornelas
c5fd83ddb6 style(onesignal): add semicolon fix lint (#672) 2016-10-11 01:12:32 -07:00
Ramon Henrique Ornelas
7b2fe69c7c docs(camera-preview): change repo no longer maintaned fix #360
* docs(camera-preview): change repo no longer maintaned  fix #360

* refactor(camera-preview): delete dead code
2016-10-11 01:11:05 -07:00
Ibrahim Hadeed
f0961c7b23 feat(http): add cordovaHTTP wrapper (#674) 2016-10-11 01:06:41 -07:00
Ibby
35c8bbd49e fix(native-transitions): add missing interface properties 2016-10-10 20:50:10 -04:00
Ibby
1a343c1ea5 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-10-10 20:10:43 -04:00
Ibby
4fef8ff326 refractor(onesignal): add OneSignalNotification interface 2016-10-10 20:10:14 -04:00
Xueron Nee
13681756ae fix(thmeable-browser): fix the name of the plugin (#663) 2016-10-09 04:33:54 -04:00
Ibby
4a798281e4 chore(): update changelog 2016-10-08 20:57:54 -04:00
Ibby
79670b7878 2.1.9 2016-10-08 20:57:47 -04:00
Ibby
720084578d fix(paypal): add optional details param to paypalpayment 2016-10-08 20:44:32 -04:00
Patrick Bußmann
3dd6a92ccf fix(paypal): problems with selection of PayPal environment (#662)
* Fixed bugs with selection of environment and added missing prepareToRender function

* Updated PayPal usage example
2016-10-08 20:34:27 -04:00
Ramon Henrique Ornelas
7d1686ef93 refactor(googlemaps): throw warnings plugin_not_installed (#655)
* refactor(googlemaps): adjust imports to warnings console and delete @author comments

* refactor(googlemaps): throw warnings plugin_not_installed

* refactor(googlemaps): delete warnings of the methods added Promise.reject case plugin_not_instalet
2016-10-08 20:29:53 -04:00
Ibby
b40b0fff98 chore(): update changelog 2016-10-08 18:50:49 -04:00
Ibby
4dba0580ac 2.1.8 2016-10-08 18:50:36 -04:00
Ibby
11653ce752 fix(googlemaps): fixes GoogleMapsLatLng class
closes 658
2016-10-08 18:48:28 -04:00
Ramon Henrique Ornelas
d3e6f3ba41 refactor(plugin): improvement pull #654 (#661) 2016-10-08 15:07:01 -04:00
Thiery Laverdure
2c6cc37a5f docs(calendar): fix typo (#660) 2016-10-08 14:54:02 -04:00
Ibby
4c7defb2ec chore(): update changelog 2016-10-06 20:38:32 -04:00
Ibby
2da02e6d46 2.1.7 2016-10-06 20:38:21 -04:00
Ibby
7a91c87a72 test(): sync methods no longer get resolve/reject 2016-10-06 20:37:41 -04:00
Patrick Bußmann
598f8a9e7c fix(paypal): fixed currency code not found issue (#653) 2016-10-06 20:34:45 -04:00
ziggyJ
6f0f02bb66 fix google maps setPadding not working issue #573 (#654) 2016-10-06 20:33:42 -04:00
Ramon Henrique Ornelas
e4bde77bd4 chore(): deleted ionic-gulp-tslint change for gulp-tslint directly (#611) 2016-10-06 00:37:34 -04:00
Ibby
c24b331866 chore(): update changelog 2016-10-06 00:27:24 -04:00
Ibby
4ac348bd0f 2.1.6 2016-10-06 00:27:04 -04:00
Ibby
f0026572e7 fix(paypal): fix helper classes 2016-10-06 00:26:59 -04:00
Ibby
e30ccabf7b 2.1.5 2016-10-05 23:19:55 -04:00
Ibby
6b286db51a chore(): add successIndex at the correct position if we have optional params 2016-10-05 23:19:45 -04:00
Ibby
d79d62bfa0 docs(hotspot): remove unecessary doc tags 2016-10-05 22:46:22 -04:00
Ibby
2bdd3a3868 chore(): update changelog 2016-10-05 22:43:59 -04:00
Ibby
09d481e1d6 2.1.4 2016-10-05 22:43:31 -04:00
Ibby
6f23bef5d1 fix(google-analytics): specify successIndex and errorIndex for methods with optional params 2016-10-05 22:43:20 -04:00
Ibby
84f54d64aa chore(): update changelog 2016-10-05 22:42:35 -04:00
Ibby
c9ddec3bb5 2.1.3 2016-10-05 22:36:10 -04:00
Ibby
f62e1081e1 fix(google-analytics): add newSession param 2016-10-05 22:35:52 -04:00
Ibby
7dba41cbe1 docs(google-analytics): add missing docs 2016-10-05 22:30:40 -04:00
Ibby
77b0277290 fix(google-analytics): add missing methods, fix return types 2016-10-05 22:27:28 -04:00
Ibby
40325cad9f fix(google-analytics): fix depreciated plugin reference 2016-10-05 22:20:55 -04:00
Ibby
ab5bbae2f6 chore(): update changelog 2016-10-05 21:04:04 -04:00
Ibby
5da746d2fc 2.1.2 2016-10-05 21:03:06 -04:00
Ibby
72a694a5e1 fix(googlemaps): add missing properties
should fix #642
2016-10-05 20:43:57 -04:00
Andrew Cole
1ab0d2f915 Changed confusing sentence structure. (#644)
Reading the document on which destination type, without commas leads to confusing behaviour.
2016-10-05 20:33:31 -04:00
Ramon Henrique Ornelas
083118aff4 docs(background-geolocation): exports interfaces to template dgeni (#640) 2016-10-05 20:33:13 -04:00
Ramon Henrique Ornelas
ad373c93ae docs(paypal): delete ':' of the params (#639) 2016-10-05 20:32:47 -04:00
Ramon Henrique Ornelas
ac301c284f docs(one-signal): fix types params (#638) 2016-10-05 20:32:29 -04:00
Ramon Henrique Ornelas
1e0509da98 docs(paypal): fix typo name interface (#637) 2016-10-05 20:32:12 -04:00
Ibrahim Hadeed
ad3bef2e5a chore(): fix module export conflicts (#633)
* chore(): fix module export conflicts

* remove export{}

* resolve conflicting export names
2016-10-05 20:29:40 -04:00
AndreasGassmann
bbbbb3e8d0 feat(zBar): add zBar barcode scanner plugin (#634) 2016-10-04 15:12:39 -04:00
Ibby
0bc73e525d docs(contacts): improve docs 2016-10-04 13:59:32 -04:00
Ibby
7ababc4d67 docs(googlemaps): remove related interface untill they're well documented 2016-10-04 13:47:28 -04:00
Ibrahim Hadeed
6ff8f03ef0 docs(): docs now display interfaces and related classes
document interfaces + other classes
2016-10-04 13:46:55 -04:00
Ibby
010a6ea304 docs(geolocation): add error handling and related interfaces 2016-10-04 13:45:54 -04:00
perry
973c80b264 docs(pay-pal): interfaces dont’ need to be marked private if their corresponding var is 2016-10-03 17:06:40 -05:00
Ibby
b5f9ba588a 2.1.1 2016-10-03 17:38:47 -04:00
Ibby
c5724fdc4e chore(): fix main and typings paths 2016-10-03 17:38:42 -04:00
Ibby
ebda055444 chore(): update changelog 2016-10-03 17:05:21 -04:00
Ibby
7cf9bd8e5e 2.1.0 2016-10-03 17:04:49 -04:00
Ibrahim Hadeed
ce710117f7 fix(paypal): fix typings, add PayPalItem and PayPalPaymentDetails
fix(paypal): fix typings, add PayPalItem and PayPalPaymentDetails
2016-10-03 16:57:33 -04:00
Ibby
fcda04acf1 add missing docs 2016-10-03 16:56:15 -04:00
Ibby
83ac4c7bbe more docs 2016-10-03 16:51:57 -04:00
Ibrahim Hadeed
2be7872cd6 docs(LocationAccuracy): fixes typo
docs(LocationAccuracy): fixes typo
2016-10-03 14:16:15 -04:00
Ibrahim Hadeed
97a7f1a4e7 docs(googlemaps): change observable to promise in main docs (#624)
GoogleMaps.one() returns Promise not Observable
2016-10-03 14:15:56 -04:00
Nakul Gulati
e9e37f33f9 Changed observable to promise in docs
GoogleMaps.one() returns Promise not Observable
2016-10-03 18:50:40 +05:30
Manu Mtz.-Almeida
344ce11a3e docs(LocationAccuracy): fixes typo 2016-10-03 14:26:13 +02:00
Ibby
7fcd1f85a3 docs(paypal): add related interfaces 2016-10-03 03:18:54 -04:00
Ibby
5d13ba03d8 fix(paypal): fix typings, add PayPalItem and PayPalPaymentDetails 2016-10-03 03:14:51 -04:00
Tomas Beran
a99b753d2d feat(stepcounter): add stepcounter plugin (#607)
* feat(stepcounter): add stepcounter plugin

* docs(stepcounter): add missing returns
2016-10-02 18:20:01 -04:00
Ramon Henrique Ornelas
8f26f4b3ef chore(): move templates of the root folder to scripts/templates similar to Ionic (#612) 2016-10-02 18:19:24 -04:00
Ramon Henrique Ornelas
624bc1d9b5 style(media): fix angular style (#614) 2016-10-01 16:15:58 -04:00
Ramon Henrique Ornelas
0a07bef2d2 chore(): move CONTRIBUTING to .github/CONTRIBUTING (#613) 2016-10-01 16:15:32 -04:00
Ibby
96bb4d38dc chore(media): remove unused import, ensure plugin is installed 2016-10-01 15:19:16 -04:00
Ibby
58a99a14d5 fix(media): add status as a parmeter instead of property of instance 2016-10-01 15:05:08 -04:00
Tom Zöhner
66e9e46458 feat(googlemaps): support bounds in Geocoder (#599) 2016-09-29 11:52:14 -04:00
Gianfranco Palumbo
d6060a95d7 fix(power-management): fix repo and pluginref (#603)
Fixes the link that is generated in the docs here
http://ionicframework.com/docs/v2/native/powermanagement/
2016-09-28 17:56:27 -04:00
Chris Maissan
80ff2f3bfa fix(calendar): fixed modifyEventWithOptions and related interface
* Fixed Calendar modifyEventWithOptions method

* Updated comments
2016-09-28 13:54:19 -04:00
Steve Sanders
16f05c3b0d fix(push): Add support for passing notification id into finish (#600) 2016-09-28 13:51:03 -04:00
Hoisel
2ed84b1b71 fix(social-sharing): shareWithOptions method signature (#598)
Fix shareWithOptions method signature, replacing 'options.file' property with 'options.files' to match social sharing plugin [method interface](https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin/blob/master/src/android/nl/xservices/plugins/SocialSharing.java#L209)
2016-09-27 14:00:01 -04:00
Daniel Leal
8d21f5f225 fix(googlemaps): CameraPosition target can now be GoogleMapsLatLng[] (#587) 2016-09-27 10:51:43 -04:00
SylvainGuittard
be2c198259 fix(googlemaps): typo in GoogleMapsTileOverlayOptions (#589) 2016-09-27 10:51:04 -04:00
Ibrahim Hadeed
dde011c8f6 document interfaces + other classes 2016-09-27 10:46:41 -04:00
Max Lynch
47112c7c24 feat(plugin): checkInstall w/ warning msg 2016-09-25 18:17:09 -05:00
Ramon Henrique Ornelas
1b87af86bf docs(emailcompposer): change repo #568 (#584) 2016-09-25 19:01:39 -04:00
Max Lynch
d45a2b5407 feat(plugin): add getPlugin to plugin interface. Fixes #582 2016-09-25 17:59:56 -05:00
Ibrahim Hadeed
49bf9b7cc5 docs(ble): add return docs for startScanWithOptions 2016-09-25 18:44:29 -04:00
Ibrahim Hadeed
79f0a3fc7b feat(ble): add startScanWithOptions
closes #539
2016-09-25 18:36:00 -04:00
Ibrahim Hadeed
60b7c7469a feat(location-accuracy): add location accuracy plugin (#583)
closes #484
2016-09-25 18:28:22 -04:00
Ibrahim Hadeed
c377489aba chore(): add license 2016-09-25 17:59:21 -04:00
Ibrahim Hadeed
8bb22fb576 fix badges 2016-09-25 17:58:32 -04:00
Ibrahim Hadeed
310e0942fd fix badges 2016-09-25 17:58:13 -04:00
Ibrahim Hadeed
df06a24746 fix badges 2016-09-25 17:57:38 -04:00
Ibrahim Hadeed
b9151bc062 feat(themable-browser): add ThemableBrowser plugin
closes #549
2016-09-25 17:55:13 -04:00
Ibrahim Hadeed
972d63b2d2 feat(themable-browser): add ThemableBrowser plugin
closes #549
2016-09-25 17:53:17 -04:00
Ibrahim Hadeed
440786a4f7 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-09-25 17:00:11 -04:00
Ibrahim Hadeed
3a6ec05bef style(googlemaps): remove unecessary new lines 2016-09-25 16:55:17 -04:00
Ramon Henrique Ornelas
c5733326a9 fix(isdebug): export IsDebug class (#578) 2016-09-25 15:42:31 -04:00
Ibrahim Hadeed
f36b1c03cb refractor(googlemaps): fix typo in GoogleMapsTileOverlayOptions 2016-09-25 15:29:03 -04:00
Max Lynch
3266d21ba4 chore(changelog): update changelog 2016-09-24 17:33:37 -05:00
Max Lynch
62f1504514 vBump 2016-09-24 17:30:07 -05:00
Max Lynch
f60d08b7a4 feat(plugin): cordova function override. fixes #437 2016-09-24 17:26:23 -05:00
Max Lynch
a092a31a1e feat(emailcomposer): use new supported plugin. #568 2016-09-24 16:00:44 -05:00
Max Lynch
6407518892 Add back erroneous exports 2016-09-24 15:44:28 -05:00
Max Lynch
e7e45f608c feat(npm): typescript 2.0.2 2016-09-24 15:41:07 -05:00
Max Lynch
c175badab6 Merge pull request #561 from krizroring/master
Extension of the BackgroundGeolocation plugin
2016-09-24 15:40:59 -05:00
Max Lynch
05783be9ac Merge pull request #574 from ramonornela/fix_style
style(inapppurchase): fix angular style
2016-09-24 15:36:48 -05:00
Ramon Ornelas
6948eabc96 style(inapppurchase): fix angular style 2016-09-24 09:39:31 -03:00
Max Lynch
48196da281 feat(push): add coldstart property. Fixes #559 2016-09-22 20:43:51 -05:00
Max Lynch
a0b6b1084b fix(webintent): add type param. Fixes #564 2016-09-22 20:37:36 -05:00
Max Lynch
4292959c87 fix(plugins): export VideoPlayer. Fixes #563 2016-09-22 20:35:19 -05:00
Max Lynch
e50b961bf9 fix(npm): duplicate typings 2016-09-22 15:10:44 -05:00
Max Lynch
0ba3957e8a chore(npm): proper 2.0.0 typescript 2016-09-22 13:59:20 -05:00
Max Lynch
c33842f8f0 chore(npm): proper 2.0.0 typescript 2016-09-22 13:58:57 -05:00
Max Lynch
f87237852f chore(npm): bump to 1.3.27 2016-09-22 13:39:51 -05:00
Max Lynch
bfb63a77a2 chore(npm): bump to 1.3.26 2016-09-22 13:37:01 -05:00
Max Lynch
b1ca6af2c3 add typings for old release 2016-09-22 13:36:38 -05:00
Max Lynch
2f20deacf2 Revert "Bump to 2.0.0 typescript"
This reverts commit de1086b894.
2016-09-22 13:36:27 -05:00
Max Lynch
de1086b894 Bump to 2.0.0 typescript 2016-09-22 13:25:16 -05:00
Max Lynch
6a19c8cf48 fix(ts): use old ts version for 1.3.x #567 2016-09-22 13:11:56 -05:00
Max Lynch
b6b0359fcf fixing package.json publish 2016-09-21 15:12:27 -05:00
Max Lynch
bb0d81a4e9 vBump 2016-09-21 15:10:44 -05:00
Max Lynch
4014972feb feat(build): Support ES2015 modules 2016-09-21 15:04:46 -05:00
Max Lynch
3903fee2bf feat(scripts): publish script with npm and bower. Fixes #448 2016-09-21 11:02:32 -05:00
Christian Roring
31706867c7 feat(BackgroundGeolocation): code cleanup 2016-09-20 14:00:57 +02:00
Christian Roring
808a75e41c feat(BackgroundGeolocation): Update to the latest version 2016-09-20 13:07:01 +02:00
Christian Roring
919e8dae30 feat(BackgroundGeolocation): Update to the latest version 2016-09-20 12:36:56 +02:00
Ibrahim Hadeed
763ad1bdb0 fix(call-number): number should be a string
closes #545
2016-09-19 18:20:51 -04:00
Ibrahim Hadeed
281575b961 feat(background-geolocation): add showAppSettings function
closes #548
2016-09-19 18:18:53 -04:00
Ibrahim Hadeed
42d1bbc7a8 docs(camera): add return type to cleanup
closes #550
2016-09-19 18:14:51 -04:00
Jay Cambron
a28667e751 docs(background-geolocation): add notice (#534) 2016-09-19 18:00:58 -04:00
Attila Oláh
505ff189d9 chore(market): add missing plugin name (#557) 2016-09-19 17:58:37 -04:00
Daniel Imhoff
35c37c2d9e chore(build): rename to more explicit tsconfig-es5.json 2016-09-14 14:13:14 -05:00
Daniel Imhoff
efbd11676f put tsc output into dist/es5, not just dist/ 2016-09-14 13:35:45 -05:00
Daniel Imhoff
abf3335415 'npm run' runs with node_modules/.bin in path 2016-09-14 13:25:50 -05:00
Andrew Mitchell
c83b0437fa feat(localNotifications): added register and has permission functions (#536) 2016-09-13 08:10:14 -04:00
Ibrahim Hadeed
23fc908eb6 fix(googlemaps): CameraPosition target can now be LatLngBounds
closes #547
2016-09-13 06:17:07 -04:00
Daniel Imhoff
9d35567cb5 Fix import to use @reactivex/rxjs 2016-09-09 14:45:24 -05:00
Max Lynch
7f77b8f069 Package 2016-09-09 09:50:13 -05:00
mhartington
410b3d261f docs(localNotification): update docs 2016-09-07 12:44:35 -04:00
Max Lynch
d8baf3a814 Merge pull request #524 from mattlewis92/ng1-promise-tweak
fix(ng1): fail gracefully when angular 1 promises can't be retrieved
2016-09-07 10:07:53 -05:00
Ibrahim Hadeed
c36b0a6b3f chore(): update changelog 2016-09-06 23:38:15 -04:00
Ibrahim Hadeed
3385a46648 1.3.21 2016-09-06 23:37:58 -04:00
Ibrahim Hadeed
550b8289c9 reafractor(file): add types to promises 2016-09-06 23:33:51 -04:00
Ibrahim Hadeed
2aa998f66f docs(googlemaps): improve usage 2016-09-06 23:23:51 -04:00
Ibrahim Hadeed
dff034a5b6 feat(googlemaps): can pass HTMLElement to constructor 2016-09-06 23:23:06 -04:00
Ibrahim Hadeed
c407b6d4f0 docs(googlemaps): improve usage 2016-09-06 23:21:29 -04:00
Ibrahim Hadeed
58c9439a32 docs(camera-preview): add usage
closes #363
2016-09-06 23:12:35 -04:00
Ibrahim Hadeed
c75f89894a fix(): remove CanvasCamera plugin 2016-09-06 23:04:53 -04:00
Ibrahim Hadeed
a566240266 fix(media): nest the constructor logic 2016-09-06 23:02:46 -04:00
Ibrahim Hadeed
d03d70ff0b fix(googlemaps): moveCamera and animateCamera now return a Promise
closes #511
2016-09-06 22:28:56 -04:00
Ibrahim Hadeed
7910493a6c fix(file): set exclusive to true when replace is false
closes #516
2016-09-06 22:24:34 -04:00
Ibrahim Hadeed
c76de34b97 fix(social-sharing): shareViaEmail now resolves/rejects when not providing optional args 2016-09-06 22:22:38 -04:00
Ibrahim Hadeed
ddae67913d chore(): lint 2016-09-06 21:59:58 -04:00
Ramon Henrique Ornelas
4f9716415b fix(social-sharing): various fixes (#520)
* feat(socialsharing): add method shareVia()

* docs(socialsharing): fix docs params Types

* docs(socialsharing): fix docs param Type method canShareVia

* docs(socialsharing): shareVia()

* fix(socialsharing): fix order callback, because params is optional

* feat(socialsharing): add params optionals canShareVia()

* docs(socialsharing): add returns Promise
2016-09-06 21:58:04 -04:00
Nicolas Perraut
caf2d67443 docs(statusbar): fix typo (#526) 2016-09-06 21:54:57 -04:00
Ramon Henrique Ornelas
393e9d0e00 feat(file): allows writeFile and writeExistingFile to accept Blob (#527) 2016-09-06 21:54:35 -04:00
Sergii Stotskyi
bbbd0d52e9 feat(file): adds chunked blob writing (#529)
This prevents devices crashing when user picks a big file to write
2016-09-06 21:53:42 -04:00
Barry Rowe
26dead93ff fix(geolocation): retain Observable even during an error condition (#532)
The way this was setup previously, if an error occurred on the watchPosition observable, the observer was sent an error, which would have to be caught. This also has the side effect of completing the observable, which means anything down stream that would be subscribed would be unsubscribed and no longer receive updates.

Instead of using binding the error callback to ```observer.error``` this change just binds the error callback to ```observer.next``` and lets the subscriber filter out results that match ```PositionError``` rather than having to manage re-subscribing (which could just immediately fail and enter a loop of catch/retry)
2016-09-06 21:52:43 -04:00
Matt Lewis
1facde3966 test(): add initial test suite (#523) 2016-09-06 21:42:29 -04:00
mhartington
d5513db9bb doc(media): improve docs 2016-09-06 15:48:53 -04:00
Matt Lewis
d135dc26e2 fix(ng1): fail gracefully when angular 1 promises can't be retrieved 2016-09-02 18:19:56 +01:00
Max Lynch
2dc68a4785 fix(ng1): grab injector from app. #451 2016-09-01 13:37:43 -05:00
Ramon Henrique Ornelas
2f706deb26 style(): fix Angular style TEMPLATE (#517)
* style(TEMPLATE): fix angular style

* docs(TEMPLATE): fix angular style docs template
2016-09-01 01:32:14 -04:00
Ramon Henrique Ornelas
54460e2362 style(): fix angular styles (#512)
* style(canva-camera): fix angular style

* style(crop): fix angular style

* style(file-chooser): fix angular style

* style(file-opener): fix angular style

* style(file): fix angular style

* style(inappbrowser): fix angular style

* style(instagram): fix angular style

* style(is-debug): fix angular style

* style(native-page-transitions): fix angular style

* style(market): fix angular style

* style(music-controls): fix angular style

* style(nfc): fix angular style

* style(pay-pal): fix angular style

* style(power-management): fix angular style

* style(securestorage): fix angular style

* style(streaming-media): fix angular style

* style(video-editor): fix angular style

* style(youtube-video-player): fix angular style
2016-08-31 17:02:15 -04:00
Ramon Henrique Ornelas
1db1374226 fix(base64togallery): fixes callbacks (#513) 2016-08-31 17:01:50 -04:00
Dominique Rau
3917a3f7b9 docs(tts): fix plugin name (#514) 2016-08-31 16:59:41 -04:00
Ibrahim Hadeed
210346e1e3 fix(diagnostics): fixes constants and other minor issues
fix(diagnostic): Some fixes regarding objects
2016-08-30 23:51:43 -04:00
Ibrahim Hadeed
f4efe1f6eb docs(contacts): document create method
Docs Contants.create()
2016-08-30 23:49:58 -04:00
Ibrahim Hadeed
04b24d255e docs(file): fix methods private exposed (#509) 2016-08-30 23:49:20 -04:00
Ramon Ornelas
e34c25b490 docs(file): fix methods private exposed 2016-08-30 14:45:52 -03:00
Ramon Ornelas
ea36333497 docs(contacts): add docs basic create() 2016-08-30 14:29:17 -03:00
Guille
f93f958d66 fix(diagnostic): Fix typo 2016-08-29 23:18:24 +02:00
Guille
8f3d36f4bc fix(diagnostic): Fix permissionStatus object 2016-08-29 16:58:58 +02:00
Guillermo
51364f8edd fix(mixpanel): Make eventProperties optional (#501)
* fix(mixpanel): Make eventProperties optional

* style(mixpanel): Match editorconfig
2016-08-29 10:58:00 -04:00
Guille
cb176aae90 fix(diagnostic): Fix diagnostic objects 2016-08-29 16:50:28 +02:00
Guille
9d573a92ce fix(diagnostic): Add DENIED_ALWAYS to permissionStatus, also some code formatting 2016-08-29 14:59:43 +02:00
Guillermo
877ac27868 fix(install-instructions): This fixes install instructions for deeplinks, facebook and googlemaps (#499) 2016-08-27 15:20:51 -04:00
Ibrahim Hadeed
9c8321d3b4 chore(): update changelog 2016-08-27 15:09:38 -04:00
Ibrahim Hadeed
e8bfb77b3d 1.3.20 2016-08-27 15:09:19 -04:00
Ibrahim Hadeed
87ab8980b2 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-08-27 14:56:45 -04:00
Ibrahim Hadeed
13de69080a refractor(): use es6 features
tor-es6'
2016-08-27 14:56:34 -04:00
Ibrahim Hadeed
8d439ff0cf fix merge conflicts 2016-08-27 14:55:37 -04:00
Guillermo
f6d5ac4621 fix(GoogleMaps): Fixes #452 (#498) 2016-08-27 14:50:49 -04:00
Ibrahim Hadeed
f37a40e138 remove duplicate identifier 2016-08-27 14:46:05 -04:00
Ibrahim Hadeed
21d8122257 feat(file-opener): add file opener support (#497)
closes #295
2016-08-27 14:43:57 -04:00
Ibrahim Hadeed
0cf7d6aca1 feat(youtube): add Youtube video player plugin support (#496) 2016-08-27 14:35:18 -04:00
Ibrahim Hadeed
94a7dae863 feat(file-chooser): add file chooser plugin support (#495) 2016-08-27 14:35:12 -04:00
Ibrahim Hadeed
4e9bc95fff feat(music-controls): add music controls plugin support (#494) 2016-08-27 14:35:06 -04:00
Ibrahim Hadeed
ad57733daf feat(canvas-camera): add CanvasCamera support 2016-08-27 14:15:15 -04:00
Ibrahim Hadeed
f4acc35cba chore(): fix plugin:create 2016-08-27 14:02:29 -04:00
Ibrahim Hadeed
f2cf1d4e03 chore(): add minimal template 2016-08-27 13:03:39 -04:00
Ibrahim Hadeed
b91740a91a docs(): add private to extra classes 2016-08-27 12:33:02 -04:00
Ibrahim Hadeed
a006cdb77b chore(): update changelog 2016-08-27 02:12:47 -04:00
Ibrahim Hadeed
c93d95132d 1.3.19 2016-08-27 02:11:09 -04:00
Ibrahim Hadeed
dd0c9baffd fix(mixpanel): implement CordovaProperty correctly 2016-08-27 02:10:50 -04:00
Ibrahim Hadeed
661276467c refractor(streaming-media): refractor to resolve duplicate 2016-08-27 02:08:16 -04:00
Ibrahim Hadeed
cf8e3420c0 feat(mixpanel): add mixpanel support (#492) 2016-08-27 02:05:35 -04:00
Ibrahim Hadeed
9fe5c196aa feat(paypal): add PayPal support (#491) 2016-08-27 02:04:11 -04:00
Ibrahim Hadeed
76aa8a6494 feat(nfc): add nfc support (#493)
* feat(nfc): add nfc plugin

addresses #412

* feat(nfc): add nfc support
2016-08-27 02:03:06 -04:00
Ibrahim Hadeed
9bcc4ed80f feat(market): add Market plugin support (#490) 2016-08-27 02:02:30 -04:00
Ibrahim Hadeed
cd82a5393e feat(power-management): add power management support (#489) 2016-08-27 02:02:23 -04:00
Ibrahim Hadeed
00d87dba98 feat(native-page-transitions): add support for Native Page Transitions plugin (#488) 2016-08-27 02:02:13 -04:00
Ibrahim Hadeed
759f8ef910 feat(call-number): add support for CallNumber plugin (#487) 2016-08-27 02:02:07 -04:00
Ibrahim Hadeed
841b242fb9 feat(streaming-media): add streaming media support (#486) 2016-08-27 02:01:59 -04:00
Ibrahim Hadeed
ae03d7237e Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-08-26 13:48:06 -04:00
Ibrahim Hadeed
ff64c6e363 docs(diagnostic): add return types to docs 2016-08-26 13:14:13 -04:00
Alex Muramoto
820e4d78bf docs(geofence): remove code comments (#483) 2016-08-26 13:09:12 -04:00
Ibrahim Hadeed
c7a5f7d023 docs(): add description tag 2016-08-26 13:08:13 -04:00
Ibrahim Hadeed
a4798b81a8 refracto(): tslint 2016-08-26 12:33:28 -04:00
Ibrahim Hadeed
48334aa4cd chore(): 2016-08-26 12:29:15 -04:00
Ibrahim Hadeed
8b2d47587a 1.3.18 2016-08-26 12:25:11 -04:00
Ibrahim Hadeed
c04379af19 refractor(geofence): fix tslint issues 2016-08-26 12:21:38 -04:00
Ibrahim Hadeed
d26bc886cf chore(): update contribution guide 2016-08-26 12:20:22 -04:00
Kapil Sachdeva
905f988d43 feat(code-push): add wrapper for cordova-plugin-code-push (#420)
* feat - introduce the plugin wrapper for code-push and type definitions

* feat(code-push) - change the signature of the methods to return Promise & decorate them with Cordova decorator

* fix(code push) - in sync method call the native method

* fix(code-push) : use decorator on syc to mark it as an observable / add sample usage

* docs(code-push) : add the link to the sample repository

* fix - merge errors

* fix(code-push) : add description field on CodePush class / remove not needed IWindow interface declaration
2016-08-26 12:06:26 -04:00
David Störcher
eff7841ec2 fix(File): fixed readFileAs (#479)
* Fix(File): Fixing readFileAs

https://developer.mozilla.org/de/docs/Web/API/FileReader --> FileReader expects File and not FileEntry.

* Fix(File): Fixing readFileAs

refactoring to arrow Functions
2016-08-26 09:22:59 -04:00
Ibrahim Hadeed
8526e89e12 feat(inAppPurchase): add inAppPurhcase plugin (#423)
* feat(inAppPurchase): add inAppPurchase

* add otherPromise option to decorator
2016-08-26 08:18:43 -04:00
Ibrahim Hadeed
bde47eb37b merge 2016-08-26 08:17:47 -04:00
Justin Schuldt
61716467df docs(background-geolocation): config method, example fix (#478) 2016-08-26 08:14:54 -04:00
Ibrahim Hadeed
efa222fb55 fix(geofence): fix event listeners 2016-08-26 08:12:28 -04:00
Ibrahim Hadeed
abfa8a5f0f remove DS_STORE files 2016-08-26 08:07:20 -04:00
Alex Muramoto
a438967336 feat(geofence): Adds geofence plugin (#442)
* Fixes syntax error in usage example, and improves usage formatting

* Moves error codes into usage section

* Adds basics of geofence plugin

* Updates exports to include Geofence

* Adds geofence docs and tested functions

* Corrects promise types and comments out unimplemented functions

* Minor updates to geofence

* Reverts camera-preview changes for this branch to master
2016-08-26 08:06:36 -04:00
Ibrahim Hadeed
47a9b34ea2 feat(diagnostic): add full plugin functionality (#424)
* feat(diagnostic): add full plugin functionality

closes #224

* docs(): calendar methods (#476)

* feat(diag): add constants
2016-08-26 08:06:04 -04:00
Ibrahim Hadeed
c4110eedf4 fix(facebook): export interfaces 2016-08-26 07:54:52 -04:00
Ibrahim Hadeed
27218cda86 Merge branch 'Lekooa-estimote' 2016-08-26 07:53:30 -04:00
Ibrahim Hadeed
8c059fc1d0 fix conflict 2016-08-26 07:53:18 -04:00
Matt Lewis
dd39ba8c48 feat(IsDebug): add the IsDebug plugin (#475) 2016-08-26 05:16:20 -04:00
Daniel Salvagni
aa76fac3af docs(screenshot): fixes Screenshot spelling on the example code (#480)
Screenshot was spelling wrong: `Screneshot`.
2016-08-26 05:14:57 -04:00
Daniel Salvagni
e4f198ae42 docs(screen-orientation): fixes the advanced table info (#481) 2016-08-26 05:14:32 -04:00
Mike Hartington
dfdaa157a4 docs(screenOrientation): update docs 2016-08-23 14:13:57 -04:00
Mike Hartington
ea58a78f62 docs(backgroundMode): update docs 2016-08-23 12:47:11 -04:00
Ibrahim Hadeed
34f34521d9 chore(): update changelog 2016-08-22 21:48:45 -04:00
Ibrahim Hadeed
ffcbb6a355 1.3.17 2016-08-22 21:48:13 -04:00
Ibrahim Hadeed
2510c5fd4a fix(nativeaudio): fix plugin reference 2016-08-22 21:45:37 -04:00
Ramon Henrique Ornelas
ed8c67ce7e chore(): tslint (#466)
* fix src tslint gulp ionic

* - fix errors tslint
2016-08-22 18:19:43 -04:00
Robert Coie
16628a49f7 fix(file): initialize writeFile options (#468) 2016-08-22 18:18:53 -04:00
Aaron Czichon
38ff6f2a32 docs(onesignal): updated the OneSignal docs (#467) 2016-08-22 18:18:23 -04:00
Fabien Duthu
af39282191 Removed 'public' before the property names and cleaned c/p extra docs 2016-08-22 15:37:51 +02:00
Alex Muramoto
eab0bf44b2 refractor(media): change MediaError to interface, and error codes to static members (#463) 2016-08-21 10:42:11 -04:00
Guillermo
a94912912e chore(deps): bump tslint-ionic-rules (#460)
* Bump tslint-ionic-rules

* Bump tslint-ionic-rules
2016-08-19 11:01:24 -04:00
Alex Muramoto
55ba65ac68 fix(camera-preview): changes implementation to match Cordova plugin (#441)
* Removes preview settings from options obj and creates proper rect interface

* Changes startCamera() signature to match plugin

* Adds alpha to function signature

* Removes CameraPreviewOptions and CameraPreviewSize interfaces that don't match plugin

* Adds back CameraPreviewSize interface - oops

* Updates docs for startCamera()

* Changes CameraPreviewSize interface to Size to match plugin

* Adds docs for takePicture

* Reverts change to signature of setOnPictureTakenHandler

* Adds CameraPreview prefix to interfaces
2016-08-19 09:10:05 -04:00
Matt Lewis
f3e698f1be feat(instagram): add instagram sharing plugin (#453)
Closes #307
2016-08-19 09:08:05 -04:00
David Störcher
14e41a31ef fix(file): fixes exclusive option (#459)
Exclusive means that the file will not be Overridden so it has to be set if replace is False.
2016-08-19 09:07:32 -04:00
Alex Muramoto
62bcd313e3 docs(file): adds Entry to types returned in File.moveDir promise (#456) 2016-08-19 07:06:17 -04:00
Matt Lewis
7a53013819 feat(VideoEditor): add video editor plugin. (#457)
Closes #316
2016-08-19 07:05:11 -04:00
Alex Muramoto
4a0f082158 Feat(twitter): adds showUser() (#454) 2016-08-19 07:00:05 -04:00
Matt Lewis
f2bf2b5626 refactor: use es6 features in index file 2016-08-19 08:34:12 +01:00
Kevin Boosten
4e87ac72ea fix(): add the reject function at the expected errorIndex position in the args array (#436)
We don't want that the reject cb takes the position of an optional
argument that has not been defined
For example the Dialogs.alert method takes an optional 'buttonLabel'
string. In case we do not set this value, and thus want to use the
default value, the 'reject'
callback get spliced into this position due the fact that the splice
start index is bigger than the array length.
Dialogs.alert("title", "message", "My button text") --> args =
["title",  resolve, "message", "My button text", reject]
Dialogs.alert("title", "message") -->  args = ["title", resolve,
"message", reject] --> reject is on the position of the buttontitle!

The cordova-plugin-dialogs alert function receives the wrong arguments
—> alert: function(message, completeCallback, title, buttonLabel)
The buttonLabel will receive the "reject" callback instead of a
undefined value.
2016-08-17 07:34:11 -04:00
Ibrahim Hadeed
95e256293f docs(barcodescanner): update docs
addresses #260
2016-08-17 07:28:21 -04:00
Alex Muramoto
22ab575dd0 docs(DEVELOPER.MD): Adds steps for adding new plugins to index.ts (#444)
* Adds steps for updating index.ts

* Adds .DS_Store to gitignore

* Adds step for exporting
2016-08-17 03:11:52 -04:00
Jochen Bedersdorfer
abd706f435 refractor(file): additions to documentation and type definitions for File plugin (#446)
* Additions to documentations and type definitions

Added return types to documentation as well as modified return type definition to match actual types returned.
Used union types for promises where applicable.

Builds and gulp docs ok.

* Update file.ts
2016-08-17 03:11:10 -04:00
Ramon Henrique Ornelas
4c00e14cd4 refractor(): fix angular style (#445)
* - fix angular style

* - Fix angular style
2016-08-17 03:09:34 -04:00
Alex Muramoto
e45d7c4ab1 docs(): Adds commit message guidelines (#447) 2016-08-17 03:09:06 -04:00
Joel Jeske
c37fdf47a4 docs(): Fix typo "$cordov" -> "$cordova" (#443) 2016-08-17 01:59:02 -04:00
Ramon Henrique Ornelas
9a2ea25308 style(): fix angular style (#434) 2016-08-16 00:53:15 -04:00
Ibrahim Hadeed
560e5ce7bb chore(): update changelog 2016-08-15 13:39:43 -04:00
Ibrahim Hadeed
dc0039b820 1.3.16 2016-08-15 13:37:56 -04:00
Ibrahim Hadeed
8bc499f221 fix(photo-viewer): method is static 2016-08-15 13:37:24 -04:00
Ibrahim Hadeed
93ce443467 chore(): update changelog 2016-08-15 11:50:16 -04:00
Ibrahim Hadeed
f3c5ebd28b 1.3.15 2016-08-15 11:49:32 -04:00
Ibrahim Hadeed
bcd46eea9d Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-08-15 11:49:08 -04:00
Ibrahim Hadeed
689bfd9568 feat(google-analytics): add missing functions 2016-08-15 11:48:40 -04:00
Christopher Manouvrier
dcf3ab2787 feat(TTS): add tts plugin (#431)
* Initial Pass at TTS

* Rename and fix index

* Remove unnecessary window in reference

closes #311
2016-08-15 09:29:51 -04:00
Ibrahim Hadeed
b4158f4f85 chore(): update changelog 2016-08-15 05:14:06 -04:00
Ibrahim Hadeed
0a54929169 1.3.14 2016-08-15 05:13:31 -04:00
Ibrahim Hadeed
e34f94e0c1 feat(zip): add zip plugin (#430)
closes #421
2016-08-15 05:10:43 -04:00
Ibrahim Hadeed
d4c6ea46e6 chore(): add plugin template and generator (#429)
* chore(): add plugin template and generator

* docs(): add instructions to use plugin generator
2016-08-15 04:46:54 -04:00
Ibrahim Hadeed
203d4c7669 feat(shake): add Shake plugin (#426)
closes #313
2016-08-15 03:58:34 -04:00
Ibrahim Hadeed
8cd6686803 feat(native-audio): Add native audio plugin (#427)
closes #315
2016-08-15 03:58:20 -04:00
Ibrahim Hadeed
aaddd9eea2 fix(datepicker): date now accepts Date, string, or number (#428)
closes #354
2016-08-15 03:58:06 -04:00
Ibby Hadeed
1e300ae35f add otherPromise option to decorator 2016-08-15 01:15:20 -04:00
Ibby Hadeed
c9b76c4a9a chore(): update changelog 2016-08-13 11:33:48 -04:00
Ibby Hadeed
0e5bdc2f1e 1.3.13 2016-08-13 11:30:59 -04:00
Ibby Hadeed
4b08d854bd fix(inappbrowser): fix event listener 2016-08-13 11:30:52 -04:00
Ibby Hadeed
115c167cfa chore(): update changelog 2016-08-13 11:22:44 -04:00
Ibby Hadeed
b8d7806843 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-08-13 11:21:46 -04:00
Ibby Hadeed
4c2bb9e052 1.3.12 2016-08-13 11:19:57 -04:00
Ibby Hadeed
618d866bfe fix(inappbrowser): fix event listener
closes 419
2016-08-13 11:19:46 -04:00
Guillermo
66d1da2b55 docs(): Fix GeocoderResult interface (#418) 2016-08-11 08:52:30 -04:00
Ibby Hadeed
ecbe5faef8 docs(): add missing docs 2016-08-11 07:55:26 -04:00
Ibby Hadeed
2160a2d9e8 docs(): add missing docs 2016-08-11 07:42:10 -04:00
Ibby Hadeed
39385135de chore(): update changelog 2016-08-11 07:39:00 -04:00
Ibby Hadeed
014038a678 1.3.11 2016-08-11 07:38:10 -04:00
Kessiler
c60c3b7671 fix(camera): camera options should be optional. Fixes #413 (#417) 2016-08-11 07:29:14 -04:00
Ibrahim Hadeed
154c029f79 feat(photo-viewer): add wrapper for plugin (#359)
* feat(photo-viewer): add wrapper for plugin

* tslint
2016-08-11 07:28:52 -04:00
Ibrahim Hadeed
4b8ab4a00f feat(inappbrowser): implement instance based wrapper (#305)
* feat(inappbrowser): the inAppBrowser class is no longer static

* feat(inappbrowser): fallback on window.open if plugin not available

* change warning text to match expected release version
2016-08-11 07:26:39 -04:00
Ibby Hadeed
9b86ac637f fix merge issues 2016-08-11 07:22:23 -04:00
Ibrahim Hadeed
6ed32efe27 feat(file): alternate file implementation (#283)
* alternate file implementation

* SocialSharing: Add recommended `shareWithOptions` method

* Revert "SocialSharing: Add recommended `shareWithOptions` method"

* refactor(file): tslint & remove window declaration

* export all from file

* remove the cordova export and declaration
2016-08-11 07:21:02 -04:00
Kessiler
43e8a6d3d2 feat(GoogleMaps): Allow specify enableHighAccuracy option that attempt to get your location with highest accuracy (#410) 2016-08-09 01:37:16 -04:00
Kessiler
cf3f0f63c3 feat(GoogleAnalytics): Add campaign measurement tracking (#405) 2016-08-09 01:30:53 -04:00
Ibrahim Hadeed
7a84262fee feat(keyboard): enable hideKeyboardAccessoryBar function (#398)
closes #394
2016-08-09 01:30:15 -04:00
Keith D. Moore
3748bccad2 Network: Changed connection to return a Typescript string 2016-08-06 09:56:34 -05:00
cither1
0c486b0965 fix(index): export Geolocation interfaces. (#404) 2016-08-06 03:20:38 -04:00
Markus Wagner
306cb5d2a3 feat(ibeacon): using option otherPromise instead of sync (#388)
Since the plugin's methods return already a promise, the workaround with the `sync` option was used. This worked well for the method calls. However, when either cordova or the plugin was not available, an error was thrown, instead of rejecting the returned promise.

Therefore a better way is to use the `otherPromise` option, introduced with https://github.com/driftyco/ionic-native/releases/tag/v1.3.8.
2016-08-06 02:46:36 -04:00
Max Keyner
b413f21d4b docs(): remove unnecessary semicolumn (#400) 2016-08-06 02:45:53 -04:00
Brian Dennis
36624aff9c docs(flashlight): fix isSwitchedOn return type 2016-08-05 10:44:33 -05:00
Alex Muramoto
225a44ca4d docs(TouchID): Improves formatting of usage docs (#397)
* Fixes syntax error in usage example, and improves usage formatting

* Moves error codes into usage section
2016-08-04 17:58:35 -04:00
Aaron Czichon
cabeeb8dab feat(video-player): Added video player plugin (#391)
* Added OneSignal wrapper

* documentation

* Changes for callback of notification revieced

* fixes for @Cordova decorators without Promise return

* Merge

* Improvements to OneSignal
extended init function with notificationOpenedCallback as an optional parameter

* Platforms removed
OneSignal supports more than only these 3 platforms. It's available to nearly all Cordova platforms.

* Init method turned into observable

* Screen Orientation Plugin added. Closes #342

* Added VideoPlayer plugin #318
2016-08-04 17:57:44 -04:00
Max Lynch
9d03a6009b Merge pull request #392 from tlaverdure/docs(google-maps)
docs(google maps) - Updates to Google Maps docs
2016-08-04 09:43:06 -05:00
Max Lynch
93fb978a5c Merge pull request #386 from walkingriver/walkingriver-bower-fix
Removed unnecessary ionic.native.min.js
2016-08-04 09:42:21 -05:00
Max Lynch
6a6c256e05 Merge pull request #393 from walkingriver/patch-1
Added comment for iOS.
2016-08-04 09:41:47 -05:00
Max Lynch
9ca38cd8a1 fix(ng1): Copy object properly. Fixes #357 2016-08-04 09:40:24 -05:00
Michael Callaghan
066821dbec Added comment for iOS.
It doesn't matter what you send as the duration to vibrate() under iOS, it's always the same.
2016-08-04 10:01:34 -04:00
Thiery Laverdure
8242c88cbb Update googlemaps.ts 2016-08-04 08:37:45 -04:00
Thiery Laverdure
484f9a0076 Extra space. 2016-08-04 08:36:59 -04:00
Thiery Laverdure
049903222a Updates to google maps docs.
I would do more, but I'll see what kind of feedback I get first from these changes.
2016-08-04 08:31:51 -04:00
Michael Callaghan
7ae82f471d Removed unnecessary ionic.native.min.js
walkingriver commented 9 minutes ago
When installing the bower package created from this, a couple of warnings are printed:

bower ionic-native#* invalid-meta The "main" field cannot contain minified files
bower ionic-native#* invalid-meta The "main" field has to contain only 1 file per filetype; found multiple .js files: ["ionic.native.js","ionic.native.min.js"]
2016-08-02 23:20:00 -04:00
Gilles Callebaut
2503ef2ee5 docs(): Update nativestorage.ts (#384) 2016-08-02 18:52:37 -04:00
Saurabh Vyas
899c695414 docs(): Missing Comma / Syntax Error (#381)
A comma was missing :)
2016-08-02 18:30:56 -04:00
Max Lynch
990c9c2a49 Bower script 2016-08-02 11:23:39 -05:00
Max Lynch
f23436fe6d Bower release 2016-08-02 11:03:23 -05:00
Max Lynch
29816f7ab5 Created bower package. #369 2016-08-02 10:17:35 -05:00
Max Lynch
09e6fc9738 chore(backgroundGeolocation): update usage 2016-08-01 16:44:51 -05:00
Max Lynch
4e206812f0 fix(backgroundGeolocation): update config and move to sync. Fixes #331 2016-08-01 16:41:59 -05:00
Max Lynch
53b6d813d5 note about ng1 observables 2016-08-01 14:25:55 -05:00
Max Lynch
06c749ffab chore(docs): camera preview link. Fixes #361 2016-08-01 13:46:58 -05:00
mhartington
5162411b38 docs(): updated docs 2016-08-01 14:02:17 -04:00
Ibby Hadeed
ea049ff82f chore(): update changelog 2016-08-01 02:32:27 -04:00
Ibby Hadeed
838629db3a 1.3.10 2016-08-01 02:32:11 -04:00
Fabien Duthu
080c5a19e6 Added missing clearWithArgs option to the @Cordova decorator 2016-07-31 21:14:45 +02:00
Aaron Czichon
bd9366bdfe feat(screen-orientation): Added Screen Orientation Plugin #342 (#366)
* Added OneSignal wrapper

* documentation

* Changes for callback of notification revieced

* fixes for @Cordova decorators without Promise return

* Merge

* Improvements to OneSignal
extended init function with notificationOpenedCallback as an optional parameter

* Platforms removed
OneSignal supports more than only these 3 platforms. It's available to nearly all Cordova platforms.

* Init method turned into observable

* Screen Orientation Plugin added. Closes #342
2016-07-31 14:32:34 -04:00
John C. Bland II
206fa625fd docs(): Fix quotes on TouchID.isAvailable error comment (#370) 2016-07-31 14:31:27 -04:00
John C. Bland II
58c3fda956 docs(): Change <Fabric API Key> to not break the doc formatter (#371) 2016-07-31 14:31:02 -04:00
Alex Muramoto
ccf7fb56c8 fix(diagnostics): Corrects isEnabled functions to isAvailable (#373)
- Location, camera, wifi, and bluetooth 'isEnabled' functions are incorrect. All should be is Available.
2016-07-31 14:30:48 -04:00
Alex Muramoto
eeb5393a3f docs(): Adds basic documentation for importing Diagnostic plugin (#374) 2016-07-31 14:25:51 -04:00
Daniele Sartiano
8dfe0dbaf2 docs(): Update sqlite.ts (#375)
Fixed typo
2016-07-31 14:25:27 -04:00
Matt Lewis
817a4340e7 fix(ng1): use $q promises instead of the native Promise (#378) 2016-07-31 14:24:56 -04:00
Nazır Doğan
5506e8a2e2 docs(): Update inappbrowser.ts (#376) 2016-07-31 14:24:15 -04:00
Ibby Hadeed
aa51c03c5c remove window 2016-07-28 12:51:35 -04:00
Marcin Wadoń
40bd9bb20d Image resizer plugin class (#355) 2016-07-28 12:46:48 -04:00
Ibrahim Hadeed
41c9adf55a feat(crop): add crop plugin (#284) 2016-07-28 12:45:37 -04:00
Bruno Sato
2c9245c06c docs(): fix typo (#358) 2016-07-28 12:44:14 -04:00
Max Lynch
d3d14d0b86 Update README.md 2016-07-28 09:28:58 -05:00
Fabien Duthu
1da35968de Estimate beacons plugin class 2016-07-27 10:07:33 +02:00
Max Lynch
2c01d1998f Update README.md 2016-07-26 13:34:53 -05:00
Aaron Czichon
08fe04e87e fix(one-signal): return Observable instead of promise (#352)
* Added OneSignal wrapper

* documentation

* Changes for callback of notification revieced

* fixes for @Cordova decorators without Promise return

* Merge

* Improvements to OneSignal
extended init function with notificationOpenedCallback as an optional parameter

* Platforms removed
OneSignal supports more than only these 3 platforms. It's available to nearly all Cordova platforms.

* Init method turned into observable
2016-07-25 09:52:17 -04:00
Ankur Raiyani
8b9e317519 docs(statusbar): fix typo (#351) 2016-07-25 09:34:24 -04:00
mhartington
e20c411dff fix(brightness): use correct pluginRef 2016-07-24 20:50:01 -04:00
Ibrahim Hadeed
c854c5a18c Delete .DS_Store 2016-07-23 07:21:10 -04:00
Ibby Hadeed
af97b7a362 chore(changelog): update changelog 2016-07-23 07:19:29 -04:00
Ibby Hadeed
cfcf9fbfd1 1.3.9 2016-07-23 07:19:06 -04:00
Ibby Hadeed
971ee4adda minor refractor 2016-07-23 07:18:32 -04:00
Ibby Hadeed
df326f773f feat(android-fingerprint-auth): add wrapper for plugin
closes #334
2016-07-23 07:13:35 -04:00
Ibby Hadeed
b8f475f188 refactor(index): export interfaces from Facebook and Twitter
closes #344
2016-07-23 07:01:02 -04:00
Sameera (Sam)
cb24876f23 docs(transfer): example added for Transfer plugin (#349) 2016-07-23 06:48:55 -04:00
begriffin
075842d69d feat(secure-storage): Add Secure Storage Wrapper (#347)
* Add SecureStorage plugin.

* Add SecureStorage plugin.

* Added create() and removed init() to provide more consistency to ionic-native plugins.
Edited comments to reflect changes.

* Removed init and comment edit.
2016-07-23 06:45:53 -04:00
Alex Muramoto
77d31cdf42 fix(file): readAsText() and adds readAsDataURL() in File plugin (#346)
* Updates docs for CameraPreview, Base64ToGallery and Developer.MD

-DEVELOPER.md: Corrects 'npm run tslint' instruction to 'npm run lint'
-CameraPreview: Fixes syntax error in hide
-Base64ToGallery: Adds desc of options obj props

* Fixes resolveLocalFileSystemURL bug in File.readAsText() and adds File.readAsDataUrl()

- File.readAsText(): window.resolveLocalFileSystemURL() was incorrectly implemented

* Updates callback arg in File.checkFile()

Callback arg of window.resolveLocalFileSystemURL was fileSystem, but it actually returns fileEntry

* Corrects repo link and comments out setFlashMode()

- Repo prop and link in desc were not pointing to the same gh repo as the plugin
- setFlashMode() is not currently available in the repo that gets pulled by the corodova plugin
2016-07-22 14:08:11 -04:00
Alex Muramoto
b95191af06 docs(): CameraPreview, Base64ToGallery and Developer.MD (#343)
-DEVELOPER.md: Corrects 'npm run tslint' instruction to 'npm run lint'
-CameraPreview: Fixes syntax error in hide
-Base64ToGallery: Adds desc of options obj props
2016-07-21 12:40:51 -04:00
Guillermo
7952f9ef60 Improvements on documentation (#340)
* Improvements on documentation and some refactor

* ts | js -> typescript (docs)
2016-07-20 11:17:09 -04:00
Ibby Hadeed
d4d30ab9c9 chore(changelog): update changelog 2016-07-20 07:13:34 -04:00
Ibby Hadeed
a279ee02e0 1.3.8 2016-07-20 07:13:11 -04:00
Ibby Hadeed
d4bee49678 fix(base64togallery): update plugin wrapper to match latest version
closes #335
2016-07-20 07:12:44 -04:00
Ibby Hadeed
8b27bed4df feat(facebook): add FacebookLoginResponse interface 2016-07-20 07:10:01 -04:00
Ibby Hadeed
979838f4b7 feat(twitter-connect): add twitter connect plugin
closes #308
2016-07-20 05:55:20 -04:00
Kim Biesbjerg
5807dd7f09 feat(social-sharing): add canShareViaEmail (#333)
* - Add support for canShareViaEmail
- Make the following parameters in shareViaEmail method optional: cc, bcc, files
- Add usage for canShareViaEmail and shareViaEmail
- Fix some formatting to be more consistent
- Fix pluginRef

* Fix import
2016-07-20 05:45:00 -04:00
Marcin Wadoń
a8fa61ddb9 docs(filetransfer): Improve docs for FileTransferError and wrap existing usage in ts (#329)
* Improve docs for FileTransferError and wrap existing usage in ts

* Add closing code tag

* Doubled space between param name and description
2016-07-19 04:28:48 -04:00
Ibby Hadeed
5979e9a8b0 refactor(plugin): refreactor to match tslint rules 2016-07-18 11:39:53 -04:00
Ibrahim Hadeed
0aee6c88ce feat(otherPromise): can work better with plugins that return promises (#304) 2016-07-18 10:51:39 -04:00
Marcin Wadoń
f59570e39d refactor(camera): set properties as public (#326)
* Change static fields from default (private) to public

* Move methods below primitve

* Stay @private in docs due to prevent the docs generator from documenting them
2016-07-18 08:04:49 -04:00
Marcin Wadoń
006bc70387 fix(sqlite): fix method attribute typo (#324) 2016-07-18 06:34:31 -04:00
Ibby Hadeed
57725828a6 chore(build): update lint command 2016-07-18 00:13:13 -04:00
Guillermo
f982b40166 chore(tslint-rules): Use ionic-tslint-rules (#276)
* chore(tslint-rules): Use ionic-tslint-rules

* chore(tslint): Use ionic-gulp-tslint
2016-07-18 00:09:38 -04:00
Ibby Hadeed
5afcbfc4bf minor fix' 2016-07-18 00:08:21 -04:00
Ibby Hadeed
fe74f9d277 Merge branch 'ZiFFeL1992-reindent-angularize' 2016-07-18 00:07:08 -04:00
Ibby Hadeed
41d335e4e9 fix conflicts 2016-07-18 00:06:07 -04:00
Ibby Hadeed
f0bb4cfeff chore(changelog): update changelog 2016-07-17 23:12:52 -04:00
Ibby Hadeed
445570c241 1.3.7 2016-07-17 23:12:09 -04:00
Ibrahim Hadeed
1b161d8c9e fix(geolocation): handle errors on watchPosition
closes #322
2016-07-17 23:01:03 -04:00
Job
074d16605d fix(contacts): missing name property, types (#320) 2016-07-17 22:35:38 -04:00
Guille
68db707f7b refactor(webintent): 2016-07-17 20:23:02 +02:00
Guille
6c0aaa643e refactor(vibration): 2016-07-17 20:22:30 +02:00
Guille
81a0696e70 refactor(TouchID): 2016-07-17 20:22:05 +02:00
Guille
70b30a390f refactor(StatusBar): 2016-07-17 20:21:38 +02:00
Guille
f461a0f9bb refactor(toast): 2016-07-17 20:21:19 +02:00
Guille
9c25244bc6 refactor(SQLite): 2016-07-17 20:21:04 +02:00
Guille
499e89e254 refactor(splashscreen): 2016-07-17 20:11:35 +02:00
Guille
13f10f7e19 refactor(spinnerDialog): 2016-07-17 20:11:04 +02:00
Guille
c98f0fb125 refactor(socialsharing): 2016-07-17 20:10:11 +02:00
Guille
45cf787625 refactor(sms): 2016-07-17 20:09:07 +02:00
Guille
fea162a468 refactor(sim): 2016-07-17 20:08:17 +02:00
Guille
313b6952ae refactor(screenshot): 2016-07-17 20:07:49 +02:00
Guille
d46f22d2a1 refactor(safariviewcontroller): 2016-07-17 20:07:18 +02:00
Guille
c771abc8c3 refactor(push): 2016-07-17 20:06:40 +02:00
Guille
957fbd8193 refactor(printer): 2016-07-17 20:05:49 +02:00
Guille
8d82aff41f refactor(plugin): 2016-07-17 20:04:06 +02:00
Guille
b329d9f36b refactor(pinDialog): 2016-07-17 20:03:30 +02:00
Guille
88e05d663a refactor(OneSignal): 2016-07-17 20:03:03 +02:00
Guille
494d80e9de refactor(network): 2016-07-17 20:02:13 +02:00
Guille
1e69371648 refactor(nativestorage): 2016-07-17 20:01:31 +02:00
Guille
df1d42fa99 refactor(media): 2016-07-17 20:00:56 +02:00
Guille
6791754874 refactor(media-capture): 2016-07-17 20:00:11 +02:00
Guille
34e038d3ca refactor(local-notification): 2016-07-17 19:59:26 +02:00
Guille
0231220c6f refactor(launchnavigator): 2016-07-17 19:58:46 +02:00
Guille
24910aacee refactor(keyboard): 2016-07-17 19:58:05 +02:00
Guille
77447975b2 refactor(insomnia): 2016-07-17 19:57:22 +02:00
Guille
3f276580c6 refactor(InAppBrowser): 2016-07-17 19:56:52 +02:00
Guille
c674940487 refactor(imagePicker): 2016-07-17 19:56:02 +02:00
Guille
f21c49e293 refactor(ibeacon): 2016-07-17 19:55:18 +02:00
Guille
1eed1a1cb3 refactor(Httpd): 2016-07-17 19:53:58 +02:00
Guille
28ee511437 refactor(hotspot): 2016-07-17 19:51:30 +02:00
Guille
712f201bf2 Merge & fix confilcts 2016-07-17 19:44:19 +02:00
Ibby Hadeed
4841f31a92 refactor(project): fix and optimize observables 2016-07-17 08:54:39 -04:00
Ibby Hadeed
0c0456ada6 refactor(google-maps): fix mistake in previous commit 2016-07-17 08:37:00 -04:00
Ibby Hadeed
dac013fe7b Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-07-17 08:35:26 -04:00
Ibby Hadeed
965d742bb6 refactor(google-maps): use observer.next.bind instead of manual way 2016-07-17 08:35:20 -04:00
Kim Biesbjerg
4f85110f75 feat(sim): Add sim plugin (#317)
* Add sim plugin

* Fix pluginRef
2016-07-17 06:56:41 -04:00
Ibby Hadeed
8bd906c1a7 chore(changelog): update changelog 2016-07-17 04:55:20 -04:00
Ibby Hadeed
46e3a0ecb3 1.3.6 2016-07-17 04:54:33 -04:00
Ibby Hadeed
6ee645a976 refactor(launchnavigator): add successCallback and errorCallback to options interface
these are currently needed to use the userSelect function
2016-07-17 04:53:50 -04:00
Rodrigue BOULEAU
3a1a3ceabc feat(camera-preview): add wrapper for camera-preview (#301)
* feat(camera-preview): add camera-preview

* feat(camera-preview): add camera-preview
2016-07-17 04:50:18 -04:00
Ibby Hadeed
29de6b394e feat(launch-navigator): add new methods and constants to match latest plugin API 2016-07-17 04:43:12 -04:00
Ibby Hadeed
6f625f9222 fix(launch-navigator): fix the navigate function wrapper to match latest plugin API 2016-07-17 04:07:51 -04:00
Ibby Hadeed
de14b0ea15 fix(googlemaps): able to pass array of LatLng to GoogleMapsLatLngBounds constructor
closes #298
2016-07-17 02:49:44 -04:00
Ibby Hadeed
e55c0c3e15 declare navigator to get rid of errors 2016-07-17 02:44:10 -04:00
Ibby Hadeed
1dbfd70724 chore(): update changelog 2016-07-17 02:43:05 -04:00
Ibby Hadeed
4059035050 1.3.5 2016-07-17 02:40:58 -04:00
Ibby Hadeed
b4b3ec0d2a fix(safari-view-controller): fix wrappers 2016-07-17 02:39:29 -04:00
Ibby Hadeed
d03ff962e3 docs(nativestorage): add usage 2016-07-17 02:35:31 -04:00
Ibby Hadeed
af5d4ad87f feat(nativestorage): add NativeStorage plugin wrapper 2016-07-17 02:32:19 -04:00
Ibby Hadeed
453374d4e7 docs(sqlite): fix usage typo 2016-07-17 02:11:52 -04:00
Ibrahim Hadeed
daa6d4cbb9 feat(media-capture): add media capture plugin (#293)
closes #272
2016-07-17 02:07:59 -04:00
Ibrahim Hadeed
2996da65c3 feat(googlemaps): add Geocoder class (#292)
closes #280
2016-07-17 02:07:46 -04:00
Markus Wagner
b5a2ffc6a5 fix(ibeacon): minor fixes
* Order of major/minor parameters for BeaconRegion creater fixed

* Property PluginResult.error added

* comment for BeaconRegion.minor fixed
2016-07-15 23:28:05 -04:00
mhartington
f1988f67f5 feat(inAppPurchase): add inAppPurchase 2016-07-15 17:33:55 -04:00
Ibrahim Hadeed
2fe37c461c feat(pin-dialog): add pin dialog plugin (#291) 2016-07-15 00:44:03 -04:00
Max Lynch
be1725d2eb chore(comments): explain sync 2016-07-14 10:42:56 -05:00
Max Lynch
a1ce39dfda Changelog 2016-07-14 10:14:34 -05:00
Max Lynch
0cb79d1cd1 revert(changelog): old changelog 2016-07-14 09:59:41 -05:00
Max Lynch
e8f4b08f66 chore(changelog): Update changelog 2016-07-14 09:50:00 -05:00
Max Lynch
cdf9cdef54 Update CONTRIBUTING.md 2016-07-14 09:45:55 -05:00
Max Lynch
72ec500ffd version bump 2016-07-14 09:43:49 -05:00
Max Lynch
c23f5e90dc fix(touchid): make isAvailable static 2016-07-14 09:42:04 -05:00
Nick Kenens
0315e63782 Update spinnerdialog.ts to fix wrong documentation (#287)
Just implemented the SpinnerDialog into my app to use with Ionic Deploy.

The cancelCallback still happens when set to "false", when setting it to "true, the cancelCallback doesn't get called and therefore the SpinnerDialog doesn't hide on Android.
2016-07-13 17:36:23 -04:00
Ibby Hadeed
9a28b24a0b chore(): update changelog 2016-07-11 18:36:51 -04:00
Ibby Hadeed
5c72340a37 1.3.3 2016-07-11 18:36:13 -04:00
Ibby Hadeed
360888563f refactor(push): add missing semicolumns 2016-07-11 17:44:02 -04:00
Ibby Hadeed
b8a513301e fix(background-geolocation): fix pluginref again 2016-07-11 17:42:11 -04:00
Ibby Hadeed
4f0cd24476 fix(geolocation): fix plugin reference
closes #258
2016-07-11 17:40:51 -04:00
Ibby Hadeed
00d35c636b chore(index): add background mode to IonicNative variable 2016-07-11 17:22:45 -04:00
Ibby Hadeed
e150224cda fix(socialsharing): all methods return Promises now
closes #275
2016-07-11 17:20:11 -04:00
Ibby Hadeed
fa4721319e Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-07-11 17:17:19 -04:00
Ibby Hadeed
6229d4932e refactor(network): remove Connection class
closes #278
2016-07-11 17:15:34 -04:00
Mateo Tibaquirá
7c20bddd17 docs(backgroundMode): fix plugin npm ID (#282)
@ihadeed I meant this fix, `de.appplant.cordova.plugin.background-mode` doesn't exist on npm ;)
2016-07-11 17:15:11 -04:00
DGoms
2b4e318072 chore(): Update index.ts (#281)
Unable to import interface like FileUploadOptions
2016-07-11 16:53:35 -04:00
Justin Schuldt
dd97df19fe feat(ibeacon): add iBeacon plugin support (#270)
* iBeacon hello-world

* moar methods

* added comments

* comments and descriptions

* removed debugging changes

* removed dupe export

* fixed misspellings and added more interface documentation
2016-07-11 16:52:51 -04:00
mhartington
9eb63a0d74 docs(): massive updates 2016-07-08 15:19:13 -04:00
Guille
08412feae0 refactor(googlemaps): 2016-07-08 01:10:28 +02:00
Guille
7bc847a7f8 refactor(analytics): 2016-07-08 01:09:34 +02:00
Guille
3e0b2c5b32 refactor(googleplus): 2016-07-08 01:08:59 +02:00
Guille
be3c579c49 refactor(Globalization): 2016-07-08 01:06:34 +02:00
Guille
31ec643126 refactor(geolocation): 2016-07-08 01:01:36 +02:00
Guille
c94ba61a66 refactor(flashlight): 2016-07-08 01:00:45 +02:00
Guille
6fcc109b6b refactor(FileTransfer): 2016-07-08 01:00:17 +02:00
Guille
27c02ecb82 refactor(file): 2016-07-08 00:59:54 +02:00
Guille
63a1a34f97 refactor(facebook4): 2016-07-08 00:59:05 +02:00
Guille
dcd7ad430f refactor(email): 2016-07-08 00:58:21 +02:00
Guille
bc3f10cbc1 refactor(dialogs): 2016-07-08 00:54:38 +02:00
Guille
17214ffba7 refactor(diagnostic): 2016-07-08 00:54:06 +02:00
Guille
f8330daa8b refactor(DeviceOrientation): 2016-07-08 00:53:35 +02:00
Guille
b7fb2483bf refactor(accelerometer): 2016-07-08 00:53:01 +02:00
Guille
6e8248a0b8 refactor(DeviceAccounts): 2016-07-08 00:52:13 +02:00
Guille
c40fec7ae3 refactor(device): 2016-07-08 00:51:45 +02:00
Guille
7c39e91b68 refactor(IonicDeeplink): 2016-07-08 00:51:17 +02:00
Guille
6d87f6ecb0 refactor(DBMeter): 2016-07-08 00:50:46 +02:00
Guille
8030f3d4be refactor(datePicker): 2016-07-08 00:50:03 +02:00
Guille
e52fb1cacc refactor(contacts): 2016-07-08 00:49:27 +02:00
Guille
b995d7bc31 refactor(clipboard): 2016-07-08 00:46:46 +02:00
Guille
ff9b500938 refactor(CardIO): 2016-07-08 00:43:33 +02:00
Guille
8e91f2128f refactor(camera): 2016-07-08 00:42:47 +02:00
Guille
c122171dd5 refactor(calendar): 2016-07-08 00:40:35 +02:00
Guille
35d083ed52 refactor(brightness): 2016-07-08 00:40:07 +02:00
Guille
a0529ef0ed refactor(bluetoothSerial): 2016-07-08 00:39:05 +02:00
Guille
ca845d6b98 refactor(ble): 2016-07-08 00:38:35 +02:00
Guille
b811fad3a6 refactor(batterystatus): 2016-07-08 00:38:00 +02:00
Guille
0412387d02 docs(base64togallery): Fix typo 2016-07-08 00:37:22 +02:00
Guille
f362215dd3 refactor(base64togallery): 2016-07-08 00:37:05 +02:00
Guille
85349696c2 refactor(barcodeScanner): 2016-07-08 00:36:10 +02:00
Guille
a1fe6d7965 refactor(badge): 2016-07-08 00:35:43 +02:00
Guille
92a4608a5b refactor(backgroundMode): 2016-07-08 00:35:11 +02:00
Guille
b8afd70a42 refactor(backgroundGeoLocation): 2016-07-08 00:34:43 +02:00
Guille
c36c210e66 refactor(getAppVersion): 2016-07-08 00:33:53 +02:00
Guille
5b2a7b8618 refactor(AppRate): 2016-07-08 00:33:07 +02:00
Guille
71c3b19a71 refactor(appAvailability): 2016-07-08 00:32:33 +02:00
Guille
de3f7c2335 refactor(admob): 2016-07-08 00:31:47 +02:00
Guille
ef977b7d9e refactor(actionsheet): 2016-07-08 00:31:06 +02:00
Guille
347c8a0715 refactor(3dtouch): 2016-07-08 00:29:03 +02:00
Aaron Czichon
ba20dbe590 feat(onesignal): added wrapper for the Cordova OneSignal Plugin (#252)
* Added OneSignal wrapper

* documentation

* Changes for callback of notification revieced

* fixes for @Cordova decorators without Promise return
2016-07-07 13:19:00 -04:00
Duy Nguyen
b8be1de068 fix(googlemaps): use correct methods for addGroundOverlay and addKmlOverlay (#268) 2016-07-07 13:17:29 -04:00
Bailhache Pierre
592feb409e feat(push): added support for Action Buttons on iOS with categories (#273) 2016-07-07 13:16:38 -04:00
mhartington
4a38c02c14 docs(deviceMotion): update docs 2016-07-07 11:48:22 -04:00
mhartington
d84b83b42c docs(): update improve link 2016-07-07 11:43:06 -04:00
mhartington
38cea9da27 docs(contacts): hide extra 2016-07-06 14:24:58 -04:00
mhartington
da28af024c docs(): update template 2016-07-05 18:13:07 -04:00
mhartington
c69f8203ff docs(bluetooth): update docs 2016-07-05 18:09:08 -04:00
mhartington
eee5fd0c17 docs(Base64ToGallery): update docs 2016-07-05 16:11:27 -04:00
mhartington
ef960c8aec docs(barcodeScanner): hide private methods 2016-07-05 14:52:21 -04:00
mhartington
f2f3741819 docs(backgroundMode): improve docs 2016-07-01 15:46:15 -04:00
mhartington
e802571726 docs(): clean up docs 2016-07-01 15:16:52 -04:00
Ibrahim Hadeed
644e999d1e fix(actionsheet): add missing optional parameter for hide function (#262) 2016-07-01 13:46:18 -04:00
mhartington
5a14ec01ef docs(actionSheet): improve docs 2016-07-01 11:38:12 -04:00
mhartington
3a6210873e docs(3dtouch): improve docs 2016-07-01 09:54:45 -04:00
Ibrahim Hadeed
25fab64e3f fix(): remove unnecessary decorator (#257) 2016-06-30 17:28:23 -04:00
Ibby Hadeed
f69d1755c6 chore(changelog): update changelog 2016-06-27 08:43:32 -04:00
Ibby Hadeed
3ddb728043 1.3.2 2016-06-27 08:42:56 -04:00
Ibby Hadeed
ab2816e214 chore(build): remove github-release command 2016-06-27 08:42:12 -04:00
Ibby Hadeed
a5f3d7a9bd fix(build): disable emitDecoratorMetadata option in tsconfig
closes #251
2016-06-27 08:41:10 -04:00
Ibby Hadeed
e52c1f0cae chore(): update changelog 2016-06-26 13:06:49 -04:00
Ibby Hadeed
def3914abe chore(): fix circleci test commands 2016-06-26 13:02:20 -04:00
Ibby Hadeed
677b676c77 1.3.1 2016-06-26 12:58:05 -04:00
Ibrahim Hadeed
3936f81d8f chore(build): update build process, commands, and packages
* chore(build): change build commands + tools

* refactor(sqlite): tslint

* chore(tsconfig): update tsconfig & change build command

* chore(build): change build commands
2016-06-26 12:54:14 -04:00
Ibrahim Hadeed
ade3edace4 refractor(diagnostic): add return types and cleanup return statement
* refractor(): set return type, and clean up the return statement

* docs(): cleanup docs

* docs(): fix repo link
2016-06-26 11:50:13 -04:00
Ibby Hadeed
4251d1fba5 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-06-26 11:15:13 -04:00
Ibby Hadeed
d2b2be6a70 fix(3dtouch): fix implementation for onHomeIconPressed function
closes #232
2016-06-26 11:14:48 -04:00
Lasse Brudeskar Vikås
88ed4e121f docs(backgroundmode): fix usage markdown
Added missing grave accents.
2016-06-24 11:36:31 -04:00
Guillermo
17da427a9d feat(googlemaps): add GoogleMapsLatLngBounds class
* Add GoogleMapsLatLngBounds (needs testing)

* Reformat googlemaps to match .editorconfig rules

* Fix imports
2016-06-23 06:31:57 -04:00
Guillermo
abf4983597 chore(): add .editorconfig (#238) 2016-06-22 18:25:06 -04:00
Max Lynch
f1c8ce35e8 fix(sqlite): resolve race condition, add comments (#235) 2016-06-20 17:23:26 -04:00
dustinromey
32661b791a docs(deeplinks): fix repo link 2016-06-20 15:17:28 -04:00
Nogueron Matthieu
d42780daca docs(toast): fix parameter type (#230)
In the usage example the duration was displayed as a number instead of the actual string parameter.
2016-06-16 05:07:44 -04:00
Francis Clavette
e8a108d92d Changed SafariViewController show return type (#228)
Changed it to `Promise<any>` as in the example. Was `void`.
2016-06-16 05:06:54 -04:00
Ibrahim Hadeed
9e0f569eba refractor(globalization): remove whitespace
closes #227
2016-06-15 18:17:02 -04:00
Zachary Keeton
48ffcaeb61 feat(printer): add printer plugin (#225)
* feat(printer): add printer plugin

* Fixed function implementations. Removed unnecessary reference.
2016-06-15 11:39:01 -04:00
Ibrahim Hadeed
4c6006b2e4 Merge pull request #221 from nickgal/barcode_callback_order
fix barcode scanner callback order
2016-06-13 19:27:38 -04:00
Nick Gal
18b86e8c46 fix barcode scanner callback order 2016-06-13 13:44:11 -07:00
Ibrahim Hadeed
b96f066329 Update CHANGELOG.md 2016-06-13 14:26:52 -04:00
Ibrahim Hadeed
0ec7ad6d4f update changelog 2016-06-13 13:31:50 -04:00
Ibrahim Hadeed
358c09c881 1.3.0 2016-06-13 13:27:53 -04:00
Ibrahim Hadeed
ff85c6ce5a Merge pull request #220 from FdezRomero/master
SocialSharing: Add recommended `shareWithOptions` method
2016-06-13 13:17:38 -04:00
Rodrigo Fernández
895b5aaa95 SocialSharing: Add recommended shareWithOptions method 2016-06-13 19:13:58 +02:00
Ibrahim Hadeed
260143c4fb cleanup package.json 2016-06-13 12:54:38 -04:00
Ibrahim Hadeed
a53ae8f257 fix(googlemaps): isAvailable() returns boolean, not an instance of GoogleMap 2016-06-13 12:45:29 -04:00
Ibrahim Hadeed
f8c39c3584 docs(): Update contribution notes 2016-06-13 00:29:04 -04:00
Ibrahim Hadeed
b5065d68bd Merge pull request #215 from Inoverse/master
Improved brightness plugin documentation
2016-06-12 09:29:01 -04:00
Aaron Czichon
80e679f4dc Improved brightness plugin documentation 2016-06-12 15:25:22 +02:00
Ibrahim Hadeed
4d101d8bf6 Merge pull request #214 from Inoverse/master
Implemented wrapper for display brightness control
2016-06-11 20:26:52 -04:00
Aaron Czichon
0e0150bd3a remove forgotten things 2016-06-11 23:21:41 +02:00
Aaron Czichon
e7010fd903 Merge branch 'dev' 2016-06-11 23:18:10 +02:00
Aaron Czichon
df43b89201 Implemented ionic-native support for cordova-plugin-brightness to control display brightness 2016-06-11 23:16:41 +02:00
Ibrahim Hadeed
57df29e3ca Merge pull request #213 from driftyco/delete-extras
chore(ionic-native): remove extras
2016-06-11 11:09:07 -04:00
Ibrahim Hadeed
ab52c91f47 refactor(plugins): replace types in plugin files 2016-06-11 11:07:19 -04:00
Ibrahim Hadeed
290d252bb9 chore(ionic-native): remove extras 2016-06-11 11:00:27 -04:00
Ibrahim Hadeed
0dc03be96b docs(emailcomposer): add disclaimer to inform users that plugin doesn't work 2016-06-11 10:58:44 -04:00
Ibrahim Hadeed
e73f57f190 feat(barcodescanner): add encode function
closes #115
2016-06-11 10:56:30 -04:00
Ibrahim Hadeed
71b89eef3d docs(background-geolocation): add platforms 2016-06-11 10:49:03 -04:00
Ibrahim Hadeed
f6ebc7a8d5 docs(admob): add docs + platforms 2016-06-11 10:46:37 -04:00
Ibrahim Hadeed
2f38256bcd docs(statusbar): add platforms and usage 2016-06-11 10:44:11 -04:00
Ibrahim Hadeed
a3cfdea9da docs(toast): add platforms 2016-06-11 10:42:40 -04:00
Ibrahim Hadeed
cbfc7968ed docs(touchid): add docs 2016-06-11 10:41:30 -04:00
Ibrahim Hadeed
f91cb04585 docs(vibrate): modify docs 2016-06-11 10:38:55 -04:00
Ibrahim Hadeed
c620e18491 docs(webintent): add docs 2016-06-11 10:37:00 -04:00
Ibrahim Hadeed
9e3a866ba3 refactor(plugin): cleanup 2016-06-11 10:35:41 -04:00
Ibrahim Hadeed
be7b9e2192 fix(base64togallery): method is now static
closes #212
2016-06-11 10:32:31 -04:00
Ibrahim Hadeed
d624a37f55 refactor(plugin): get rid of TS error in IDE 2016-06-11 10:20:28 -04:00
Ibrahim Hadeed
4a8650e45e fix(geolocation): fix watchPosition()
closes #164
2016-06-11 10:19:06 -04:00
Ibrahim Hadeed
a15fb01a54 fix(calendar): fix some functionality and add missing ones
closes #184
2016-06-11 07:56:18 -04:00
Ibrahim Hadeed
7cf622bca3 tweaks 2016-06-11 02:34:08 -04:00
Ibrahim Hadeed
9bffc994e7 export interfaces 2016-06-11 00:45:05 -04:00
Ibrahim Hadeed
29d5632d62 merge 2016-06-11 00:33:34 -04:00
Ibrahim Hadeed
10d7436051 add HTTPD plugin 2016-06-11 00:33:02 -04:00
Ibrahim Hadeed
4b121520dd Merge pull request #207 from driftyco/new-contacts
New contacts
2016-06-10 19:38:17 -04:00
Ibrahim Hadeed
bdd0260fda Merge pull request #208 from driftyco/add-tslint-instructions
add tslint instructions to dev guide
2016-06-10 16:46:28 -04:00
Ibrahim Hadeed
5076001e41 Merge pull request #209 from ZiFFeL1992/master
Fix tslint
2016-06-10 16:26:02 -04:00
Max Lynch
28e2f731f7 fix(plugin) only call clearFunction if defined. Fixes #210 2016-06-10 14:00:41 -05:00
Max Lynch
11226d7d51 fix(deeplinks): new result type 2016-06-10 14:00:41 -05:00
Max Lynch
3a2c8f3e26 Update README.md
Incorrect usage of watchPosition().subscribe and then unsubscribe
2016-06-10 13:59:51 -05:00
perry
97ad1bc92f docs: differentiate between member properties and methods 2016-06-10 11:30:58 -05:00
Guille
b19567ca19 Fix tslint 2016-06-10 14:09:22 +02:00
Ibrahim Hadeed
8587d47ae8 add tslint instructions to dev guide 2016-06-10 06:17:17 -04:00
Ibrahim Hadeed
b9ae123d03 add missing types 2016-06-10 02:03:21 -04:00
Ibrahim Hadeed
411e6fc2a1 tweaks to make contact plugin work better 2016-06-10 01:10:50 -04:00
Ibrahim Hadeed
a5ebfbfc5d Merge pull request #205 from ghenry22/fix-#186
Fix #186
2016-06-10 00:07:21 -04:00
Gaven Henry
75dfdd236c update doc 2016-06-10 12:00:06 +08:00
Ibrahim Hadeed
264c85cfba Merge remote-tracking branch 'origin/master' into new-contacts 2016-06-09 23:12:44 -04:00
Ibrahim Hadeed
2d36c6b812 fix @InstanceProperty decorator, duplicate of get is set 2016-06-09 23:12:23 -04:00
Ibrahim Hadeed
6d94c1dfa2 Fixes 2016-06-09 23:11:51 -04:00
Ibrahim Hadeed
2c643de7cb Merge remote-tracking branch 'origin/master' into new-contacts 2016-06-09 22:24:42 -04:00
Ibrahim Hadeed
0c8bcf8b21 add 3D touch plugin docs 2016-06-09 21:51:23 -04:00
Ibrahim Hadeed
596948eeb3 add 3D touch plugin 2016-06-09 21:47:27 -04:00
Ibrahim Hadeed
3efc81d470 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-06-09 21:31:06 -04:00
Ibrahim Hadeed
b307690cca Merge pull request #204 from driftyco/wip-ng1
merge
2016-06-09 21:26:34 -04:00
Ibrahim Hadeed
e9efc9a0a3 add 3dtouch plugin 2016-06-09 21:25:53 -04:00
Ibrahim Hadeed
81f5d4acd1 tslint 2016-06-09 21:22:05 -04:00
Ibrahim Hadeed
b49efd89a7 Missing semicolumn!! 2016-06-09 21:20:55 -04:00
Ibrahim Hadeed
0d624c4cb6 Fix typo 2016-06-09 21:18:13 -04:00
Max Lynch
8dee02e234 fix(deviceorientation): cancelFunction renamed to clearFunction 2016-06-09 15:50:54 -05:00
Max Lynch
c93cbed9d2 feat(deeplinks): Add Ionic Deeplinks Plugin 2016-06-09 15:50:19 -05:00
mhartington
4875f66b7a docs(googleMaps): clean up extra docs 2016-06-09 16:48:40 -04:00
Ibrahim Hadeed
46a656fcbc Merge pull request #201 from driftyco/wip-ng1
feat(angular1): Support Angular 1
2016-06-09 12:38:47 -04:00
Max Lynch
af8fbde892 feat(angular1): Support Angular 1 2016-06-09 11:24:38 -05:00
Ibrahim Hadeed
aec95709bc tslint & cleanup 2016-06-09 10:28:46 -04:00
Ibrahim Hadeed
dcfe04861e tslint 2016-06-09 10:27:18 -04:00
Ibrahim Hadeed
d57a2dc29b add GooglePlus plugin, closes #183 2016-06-09 10:27:07 -04:00
Ibrahim Hadeed
fea980f1d9 chore(index): update indexl 2016-06-09 10:18:53 -04:00
Ibrahim Hadeed
1e29166c41 add cardio plugin, closes #194 2016-06-09 10:17:08 -04:00
Ibrahim Hadeed
d337cbdd69 add SafariViewController plugin, closes #195 2016-06-09 10:05:38 -04:00
Ibrahim Hadeed
62286db249 add browserInit(), closes #160 2016-06-09 09:47:45 -04:00
Ibrahim Hadeed
4fdcbb5726 fix(barcodescanner): add missing options param
closes #180
2016-06-09 09:38:58 -04:00
Ibrahim Hadeed
dfd9d60dfc Merge pull request #200 from ZiFFeL1992/master
Overwrite equals and toUrlValue
2016-06-09 05:52:48 -04:00
Guille
4c548581d6 Overwrite equals and toUrlValue 2016-06-09 11:50:59 +02:00
Ibrahim Hadeed
3d5762de86 Merge pull request #199 from vfdev-5/master
Fix documentation problem in BackgroundGeolocation plugin
2016-06-09 02:50:00 -04:00
vfdev
1e6828d0bb Fix documentation problem
Indicated in the issue [#101](https://github.com/driftyco/ionic-native/issues/101)
2016-06-09 08:35:03 +02:00
Ibrahim Hadeed
3e42bed84e refractor(googlemaps): optimize 2016-06-08 21:57:29 -04:00
Ibrahim Hadeed
32f779f53d Merge pull request #196 from ZiFFeL1992/master
Add options while creating map
2016-06-08 21:55:50 -04:00
Ibrahim Hadeed
186aace5dd Merge pull request #198 from pniraula/master
Background Mode
2016-06-08 21:54:30 -04:00
P Niraula
fd06247b06 Updated some comments and added resume option for android 2016-06-08 21:40:16 -04:00
P Niraula
397515274b Fixed pluginRef 2016-06-08 21:30:41 -04:00
P Niraula
ab1d37d006 Added backgroundmode in index.ts 2016-06-08 17:03:30 -04:00
Guille
49eb13ddee Add options while creating map 2016-06-08 16:55:43 +02:00
pniraula
c07e3f3e66 Cleaned and added comments 2016-06-08 10:43:11 -04:00
pniraula
715a33dcee update file name to be backgorundmode.ts 2016-06-08 10:30:30 -04:00
pniraula
18692b1797 updated file name 2016-06-08 10:30:02 -04:00
pniraula
043f77a06c Registered backgroundmode 2016-06-08 10:27:35 -04:00
pniraula
c5bfe0f83e Added backgroundMode.ts for plugin cordova.plugin.background-mode 2016-06-08 10:25:24 -04:00
Tim Lancina
66b7fa6312 fix(batterystatus): correct plugin name on npm 2016-06-06 11:16:41 -05:00
Gaven Henry
6e42607423 update status method 2016-06-04 11:01:06 +08:00
Ibrahim Hadeed
0b9f5d3ff2 Merge pull request #189 from driftyco/patch-1
change rxjs/Rxjs to rxjs/Observable
2016-06-03 10:15:15 -04:00
Ibrahim Hadeed
f83c8965e1 Update toast.ts
closes #182
2016-06-03 10:08:09 -04:00
Ibrahim Hadeed
e708653136 change rxjs/Rxjs to rxjs/Observable 2016-06-03 10:05:07 -04:00
Ibrahim Hadeed
55a7f1f377 fix event listener 2016-06-03 10:03:22 -04:00
Ibrahim Hadeed
22aae7422e fix event listener 2016-06-03 10:02:57 -04:00
Ibrahim Hadeed
4ce3b7a946 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-06-03 09:55:27 -04:00
Ibrahim Hadeed
f54cfb8a97 fix event listener 2016-06-03 09:52:44 -04:00
Ibrahim Hadeed
01ae7ab3e6 Merge pull request #188 from ZiFFeL1992/master
Some fixes on GoogleMaps plugin
2016-06-03 09:51:18 -04:00
Guille
82cfe33d86 Update docs GoogleMaps -> GoogleMap 2016-06-03 11:34:15 +02:00
Guille
d715d6a118 Update animateCamera parameter 2016-06-03 11:33:42 +02:00
Guille
d40f8d868a Update interfaces to use GoogleMapsLatLng instead of Lat / Lng 2016-06-03 11:32:55 +02:00
Guille
02a658321a lat/lng string->number 2016-06-03 11:31:54 +02:00
Gaven Henry
5df447a02f add success, error, status handlers
fixes #186
2016-06-03 15:09:55 +08:00
Ibrahim Hadeed
a250bd3e81 1.2.4 2016-06-01 16:36:52 -04:00
Ibrahim Hadeed
a9604c3bb9 fix plugin undefined, closes #185 2016-06-01 16:36:12 -04:00
Ibrahim Hadeed
09e5734720 1.2.3 2016-06-01 06:56:53 -04:00
Ibrahim Hadeed
5fa6d1d022 tslint 2016-06-01 06:56:04 -04:00
Ibrahim Hadeed
556125145d Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-06-01 06:53:39 -04:00
Ibrahim Hadeed
b444e5f316 Tslint 2016-06-01 06:52:56 -04:00
Ibrahim Hadeed
4b9902300d Merge pull request #177 from driftyco/googlemaps
Googlemaps
2016-06-01 06:48:18 -04:00
Ibrahim Hadeed
6282d743a8 reset circle.yml to previous config 2016-06-01 06:47:50 -04:00
Ibrahim Hadeed
f659bd24f3 export all from googlemaps plugin 2016-06-01 06:46:05 -04:00
Ibrahim Hadeed
1286bdb5be almost complete 2016-06-01 06:44:56 -04:00
Ibrahim Hadeed
1ba119b451 almost complete 2016-06-01 06:41:59 -04:00
Ibrahim Hadeed
4eeb5b3525 fix marker + circle 2016-06-01 06:20:25 -04:00
Ibrahim Hadeed
f3509689db working! 2016-06-01 06:05:15 -04:00
perry
7e61e3bd7c fix improve this doc link 2016-05-26 12:53:09 -05:00
Ibrahim Hadeed
6b5f216fa4 remove duplicate identifier 2016-05-25 17:42:25 -04:00
Ibrahim Hadeed
2e8b745576 Fixes 2016-05-25 17:40:00 -04:00
Ibrahim Hadeed
16e3264c84 Fix ts issues 2016-05-25 17:12:47 -04:00
Ibrahim Hadeed
e884a9cb89 enable circleci 2016-05-25 17:08:28 -04:00
Ibrahim Hadeed
72d9047da8 fixes! 2016-05-25 17:07:53 -04:00
Ibrahim Hadeed
bec74e6f44 add notes 2016-05-25 17:03:43 -04:00
Ibrahim Hadeed
5cf9fde505 add InstanceProperty decorator 2016-05-25 16:59:32 -04:00
Ibrahim Hadeed
1ff614edec fixes 2016-05-25 16:48:03 -04:00
Ibrahim Hadeed
531e616278 add marker class 2016-05-25 16:43:18 -04:00
Ibrahim Hadeed
346ca3e403 add marker object (temporary) 2016-05-25 03:52:00 -04:00
Ibrahim Hadeed
3aefd5a46d typo 2016-05-25 03:33:27 -04:00
Ibrahim Hadeed
c531114f46 formatting 2016-05-25 03:32:05 -04:00
Ibrahim Hadeed
5517e510dc add more functions 2016-05-25 03:31:27 -04:00
Ibrahim Hadeed
fbb1353827 add docs 2016-05-25 03:12:58 -04:00
Ibrahim Hadeed
9f67fa79db add googlemap features 2016-05-25 03:12:11 -04:00
Ibrahim Hadeed
6c485ed1f6 added docs 2016-05-25 00:53:35 -04:00
Ibrahim Hadeed
cc267038e6 add missing return type
closes #172
2016-05-25 00:28:19 -04:00
Ibrahim Hadeed
b11da8da0b 1.2.2 2016-05-20 17:02:45 -04:00
Ibrahim Hadeed
9987fb24da refractor Observable imports 2016-05-20 16:59:18 -04:00
Ibrahim Hadeed
bcdec67c2e refractor Observable imports 2016-05-20 16:58:57 -04:00
Ibrahim Hadeed
e391f5fa39 fix screenshot plugin - closes #169 2016-05-20 16:35:14 -04:00
Ibrahim Hadeed
5105b0a184 fixes 2016-05-20 15:34:34 -04:00
Ibrahim Hadeed
87637792ba Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-05-20 15:04:29 -04:00
Ibrahim Hadeed
eed8cb1b1d fix email type import 2016-05-20 15:04:11 -04:00
Ibrahim Hadeed
25d1d0a0cd Merge pull request #166 from rapropos/noimplicitany
type return value of globalization's stringToNumber
2016-05-20 14:56:12 -04:00
Robert Coie
2f6688c9c4 type return value of globalization's stringToNumber 2016-05-20 11:24:24 -07:00
Ibrahim Hadeed
21ffe99226 refactor(emailcomposer): create new file for the Email type
addresses #168
2016-05-20 14:08:25 -04:00
Ibrahim Hadeed
2a568d2398 fix(emailcomposer): fix isAvailable function
function now returns a promise that resolves if email composer is available, and rejects if it's not

partially fixes #168
2016-05-20 14:06:13 -04:00
Ibrahim Hadeed
3c49face4c docs(emailcomposer): fix docs
partially fixes #168
2016-05-20 13:57:00 -04:00
Ibrahim Hadeed
46564c8ca3 Merge pull request #151 from glecaros/master
Implemented wrappers for FileTransfer.
2016-05-19 21:04:48 -04:00
Ibrahim Hadeed
ccafdbac13 Merge pull request #162 from vfdev-5/master
Added Background Geolocation Cordova plugin
2016-05-19 19:37:33 -04:00
vfdev-5
d12a99c962 * Added Background-geolocation plugin : version to test 2016-05-17 23:34:14 +02:00
Ibrahim Hadeed
87751ca277 Merge pull request #157 from matiastucci/master
implement wrappers for Insomnia
2016-05-16 03:16:47 -04:00
Ibrahim Hadeed
52a6114721 Merge pull request #158 from matiastucci/patch-1
Update DEVELOPER.md
2016-05-16 03:16:04 -04:00
Mati Tucci
d561694750 Update DEVELOPER.md 2016-05-16 08:44:51 +02:00
Matias Tucci
f7ace39516 implement wrappers for Insomnia 2016-05-16 08:34:01 +02:00
vfdev-5
58b351ce13 * Fix signatures and bugs 2016-05-15 04:47:35 +02:00
vfdev-5
5c7b7e350f * Fix plugin insertion in index.ts
* Add main functions
2016-05-15 03:15:51 +02:00
glecaros
9ddde5762d Reimplemented using CordovaInstance.
Fixed wrapInstance signature to match how it is called.
2016-05-14 00:33:27 -07:00
glecaros
631d7f2d85 Added missing parameters to upload. 2016-05-14 00:33:26 -07:00
glecaros
e9739882f4 Exposed onprogress. 2016-05-14 00:33:26 -07:00
glecaros
293145257c Implemented wrappers for FileTransfer. 2016-05-14 00:33:26 -07:00
vfdev
2daca853dc * [DEV] Add some functions
* Add plugin in the index.ts
2016-05-13 15:58:43 +02:00
Ibrahim Hadeed
0f4fdda8c6 tslint + fix var name 2016-05-12 22:55:06 -04:00
Ibrahim Hadeed
38cab62d64 Merge branch 'master' of https://github.com/driftyco/ionic-native 2016-05-12 22:15:01 -04:00
Ibrahim Hadeed
58e3f0bbb9 fix(Bluetooth): make connect function an observable to maintain full functionality
closes #154
2016-05-12 22:14:27 -04:00
Ibrahim Hadeed
f055905190 Merge pull request #114 from iignatov/patch-1
Added implementation for File.readAsText() method.
2016-05-12 22:10:50 -04:00
Ibrahim Hadeed
62f71b2221 Merge pull request #122 from Barryrowe/master
Append Trailing Slash If Not Present On path Param
2016-05-12 22:06:53 -04:00
Ibrahim Hadeed
ddbd64d19a fix(calendar): add new permissions functions for Android 6 (M) devices
closes #156
2016-05-12 21:54:52 -04:00
vfdev-5
f0d5b88ec4 * Add background geolocation plugin from https://github.com/mauron85/cordova-plugin-background-geolocation 2016-05-13 01:26:05 +02:00
Ibrahim Hadeed
dfdd476ac9 pre-final plugin rewrite 2016-04-30 17:52:14 -04:00
Ibrahim Hadeed
ab9af2bdc4 pre-final plugin rewrite 2016-04-30 17:50:08 -04:00
Ibrahim Hadeed
937138378b update the new plugin rewrite 2016-04-30 13:43:47 -04:00
Ibrahim Hadeed
654cef2377 Merge branch 'master' of https://github.com/driftyco/ionic-native into new-contacts 2016-04-30 13:35:49 -04:00
Ibrahim Hadeed
aada893f09 fix(contacts): plugin rewrite 2016-04-30 12:56:30 -04:00
Barry Rowe
9d200e7020 Merge pull request #1 from Barryrowe/file-path-end-slash-patch
Append trailingSlash if not present on path param
2016-04-14 12:49:47 -04:00
Barry Rowe
ce2772b994 Append trailingSlash if not present on path param
In some cases the incoming ```path``` variable may not necessarily contain a trailing slash, but in cases where the directory path is manually built within the plugin this was not protected against. This shouldn't be a big issue if consumers are using ```cordova.file.*``` for the path params, but not all consumers may be using this.
2016-04-14 12:48:04 -04:00
Ignat Ignatov
96c47df151 Added implementation for readAsText() method. 2016-04-06 16:36:26 +02:00
285 changed files with 14561 additions and 153412 deletions

View File

@@ -1,4 +1,5 @@
# http://editorconfig.org
root = true
[*]

18
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,18 @@
# Contributing to Ionic Native
## Feature request?
Have a plugin you'd like to see supported? Since Ionic Native is a thin wrapper around existing Cordova plugins, adding support for new plugins is as easy as creating a new wrapper for whatever plugin you'd like to add.
Take a look at our [Developer Guide](https://github.com/driftyco/ionic-native/blob/master/DEVELOPER.md) for more info on adding new plugins.
## Have an issue?
#### There are no rules, but here are a few things to consider:
###### Before you submit an issue:
* Do a quick search to see if there are similar issues
* **Check that you are using the latest version of** `ionic-native`
###### Still having problems? submit an issue with the following details:
* Short description of the issue
* Steps to reproduce
* Stack trace (if available)

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
.DS_Store
node_modules/
.idea
dist/
scripts/ionic-native-bower

View File

@@ -1,3 +1,630 @@
<a name="2.2.3"></a>
## [2.2.3](https://github.com/driftyco/ionic-native/compare/v2.2.2...v2.2.3) (2016-10-14)
### Bug Fixes
* **googlemaps:** Expose 'type' property in GoogleMapsLatLngBounds [#693](https://github.com/driftyco/ionic-native/issues/693) ([#694](https://github.com/driftyco/ionic-native/issues/694)) ([74a252b](https://github.com/driftyco/ionic-native/commit/74a252b))
* **onesignal:** update to match latest API version ([#691](https://github.com/driftyco/ionic-native/issues/691)) ([babfb0d](https://github.com/driftyco/ionic-native/commit/babfb0d))
<a name="2.2.2"></a>
## [2.2.2](https://github.com/driftyco/ionic-native/compare/v2.2.1...v2.2.2) (2016-10-12)
### Bug Fixes
* **file:** getFreeDiskSpace now works ([d2f42ef](https://github.com/driftyco/ionic-native/commit/d2f42ef))
* **file:** read methods can accept Blobs too ([276d61b](https://github.com/driftyco/ionic-native/commit/276d61b))
### Features
* **file:** getFile and getDirectory are now public ([5c92455](https://github.com/driftyco/ionic-native/commit/5c92455)), closes [#657](https://github.com/driftyco/ionic-native/issues/657)
<a name="2.2.1"></a>
## [2.2.1](https://github.com/driftyco/ionic-native/compare/v2.2.0...v2.2.1) (2016-10-12)
### Bug Fixes
* **diagnostic:** misspelled getContactsAuthorizationStatus method ([#678](https://github.com/driftyco/ionic-native/issues/678)) ([bff4862](https://github.com/driftyco/ionic-native/commit/bff4862))
* **file:** fix writeFile method ([842a80d](https://github.com/driftyco/ionic-native/commit/842a80d))
* **file:** last parameter for writeFile now only accepts options ([5710eb7](https://github.com/driftyco/ionic-native/commit/5710eb7))
* **http:** export via window.IonicNative ([#675](https://github.com/driftyco/ionic-native/issues/675)) ([cf7abe1](https://github.com/driftyco/ionic-native/commit/cf7abe1))
* **location-accuracy:** accuracy param is number ([c2d4f1c](https://github.com/driftyco/ionic-native/commit/c2d4f1c)), closes [#676](https://github.com/driftyco/ionic-native/issues/676)
* **themeablebrowser:** add missed options ([#680](https://github.com/driftyco/ionic-native/issues/680)) ([e28e5b0](https://github.com/driftyco/ionic-native/commit/e28e5b0))
### Features
* **file:** resolveLocalFilesystemUrl and resolveDirectoryUrl are now public methods ([542ff4c](https://github.com/driftyco/ionic-native/commit/542ff4c)), closes [#657](https://github.com/driftyco/ionic-native/issues/657)
<a name="2.2.0"></a>
# [2.2.0](https://github.com/driftyco/ionic-native/compare/v2.1.9...v2.2.0) (2016-10-11)
### Bug Fixes
* **native-transitions:** add missing interface properties ([35c8bbd](https://github.com/driftyco/ionic-native/commit/35c8bbd))
* **onesignal:** update to match latest api ([#671](https://github.com/driftyco/ionic-native/issues/671)) ([7c6e6d8](https://github.com/driftyco/ionic-native/commit/7c6e6d8)), closes [#667](https://github.com/driftyco/ionic-native/issues/667)
* **thmeable-browser:** fix the name of the plugin ([#663](https://github.com/driftyco/ionic-native/issues/663)) ([1368175](https://github.com/driftyco/ionic-native/commit/1368175))
### Features
* **http:** add cordovaHTTP wrapper ([#674](https://github.com/driftyco/ionic-native/issues/674)) ([f0961c7](https://github.com/driftyco/ionic-native/commit/f0961c7))
<a name="2.1.9"></a>
## [2.1.9](https://github.com/driftyco/ionic-native/compare/v2.1.8...v2.1.9) (2016-10-09)
### Bug Fixes
* **paypal:** add optional details param to paypalpayment ([7200845](https://github.com/driftyco/ionic-native/commit/7200845))
* **paypal:** problems with selection of PayPal environment ([#662](https://github.com/driftyco/ionic-native/issues/662)) ([3dd6a92](https://github.com/driftyco/ionic-native/commit/3dd6a92))
<a name="2.1.8"></a>
## [2.1.8](https://github.com/driftyco/ionic-native/compare/v2.1.7...v2.1.8) (2016-10-08)
### Bug Fixes
* **googlemaps:** fixes GoogleMapsLatLng class ([11653ce](https://github.com/driftyco/ionic-native/commit/11653ce))
<a name="2.1.7"></a>
## [2.1.7](https://github.com/driftyco/ionic-native/compare/v2.1.6...v2.1.7) (2016-10-07)
### Bug Fixes
* **paypal:** fixed currency code not found issue ([#653](https://github.com/driftyco/ionic-native/issues/653)) ([598f8a9](https://github.com/driftyco/ionic-native/commit/598f8a9))
<a name="2.1.6"></a>
## [2.1.6](https://github.com/driftyco/ionic-native/compare/v2.1.5...v2.1.6) (2016-10-06)
### Bug Fixes
* **paypal:** fix helper classes ([f002657](https://github.com/driftyco/ionic-native/commit/f002657))
<a name="2.1.5"></a>
## [2.1.5](https://github.com/driftyco/ionic-native/compare/v2.1.4...v2.1.5) (2016-10-06)
<a name="2.1.4"></a>
## [2.1.4](https://github.com/driftyco/ionic-native/compare/v2.1.3...v2.1.4) (2016-10-06)
### Bug Fixes
* **google-analytics:** specify successIndex and errorIndex for methods with optional params ([6f23bef](https://github.com/driftyco/ionic-native/commit/6f23bef))
<a name="2.1.3"></a>
## [2.1.3](https://github.com/driftyco/ionic-native/compare/v2.1.2...v2.1.3) (2016-10-06)
### Bug Fixes
* **google-analytics:** add missing methods, fix return types ([77b0277](https://github.com/driftyco/ionic-native/commit/77b0277))
* **google-analytics:** add newSession param ([f62e108](https://github.com/driftyco/ionic-native/commit/f62e108))
* **google-analytics:** fix depreciated plugin reference ([40325ca](https://github.com/driftyco/ionic-native/commit/40325ca))
<a name="2.1.2"></a>
## [2.1.2](https://github.com/driftyco/ionic-native/compare/v2.1.1...v2.1.2) (2016-10-06)
### Bug Fixes
* **googlemaps:** add missing properties ([72a694a](https://github.com/driftyco/ionic-native/commit/72a694a)), closes [#642](https://github.com/driftyco/ionic-native/issues/642)
### Features
* **zBar:** add zBar barcode scanner plugin ([#634](https://github.com/driftyco/ionic-native/issues/634)) ([bbbbb3e](https://github.com/driftyco/ionic-native/commit/bbbbb3e))
<a name="2.1.1"></a>
## [2.1.1](https://github.com/driftyco/ionic-native/compare/v2.1.0...v2.1.1) (2016-10-03)
<a name="2.1.0"></a>
# [2.1.0](https://github.com/driftyco/ionic-native/compare/v2.0.3...v2.1.0) (2016-10-03)
### Bug Fixes
* **calendar:** fixed modifyEventWithOptions and related interface ([80ff2f3](https://github.com/driftyco/ionic-native/commit/80ff2f3))
* **googlemaps:** CameraPosition target can now be GoogleMapsLatLng[] ([#587](https://github.com/driftyco/ionic-native/issues/587)) ([8d21f5f](https://github.com/driftyco/ionic-native/commit/8d21f5f))
* **googlemaps:** typo in GoogleMapsTileOverlayOptions ([#589](https://github.com/driftyco/ionic-native/issues/589)) ([be2c198](https://github.com/driftyco/ionic-native/commit/be2c198))
* **isdebug:** export IsDebug class ([#578](https://github.com/driftyco/ionic-native/issues/578)) ([c573332](https://github.com/driftyco/ionic-native/commit/c573332))
* **media:** add status as a parmeter instead of property of instance ([58a99a1](https://github.com/driftyco/ionic-native/commit/58a99a1))
* **paypal:** fix typings, add PayPalItem and PayPalPaymentDetails ([5d13ba0](https://github.com/driftyco/ionic-native/commit/5d13ba0))
* **power-management:** fix repo and pluginref ([#603](https://github.com/driftyco/ionic-native/issues/603)) ([d6060a9](https://github.com/driftyco/ionic-native/commit/d6060a9))
* **push:** Add support for passing notification id into finish ([#600](https://github.com/driftyco/ionic-native/issues/600)) ([16f05c3](https://github.com/driftyco/ionic-native/commit/16f05c3))
* **social-sharing:** shareWithOptions method signature ([#598](https://github.com/driftyco/ionic-native/issues/598)) ([2ed84b1](https://github.com/driftyco/ionic-native/commit/2ed84b1)), closes [/github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin/blob/master/src/android/nl/xservices/plugins/SocialSharing.java#L209](https://github.com//github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin/blob/master/src/android/nl/xservices/plugins/SocialSharing.java/issues/L209)
### Features
* **ble:** add startScanWithOptions ([79f0a3f](https://github.com/driftyco/ionic-native/commit/79f0a3f)), closes [#539](https://github.com/driftyco/ionic-native/issues/539)
* **googlemaps:** support bounds in Geocoder ([#599](https://github.com/driftyco/ionic-native/issues/599)) ([66e9e46](https://github.com/driftyco/ionic-native/commit/66e9e46))
* **location-accuracy:** add location accuracy plugin ([#583](https://github.com/driftyco/ionic-native/issues/583)) ([60b7c74](https://github.com/driftyco/ionic-native/commit/60b7c74)), closes [#484](https://github.com/driftyco/ionic-native/issues/484)
* **plugin:** add getPlugin to plugin interface. Fixes [#582](https://github.com/driftyco/ionic-native/issues/582) ([d45a2b5](https://github.com/driftyco/ionic-native/commit/d45a2b5))
* **plugin:** checkInstall w/ warning msg ([47112c7](https://github.com/driftyco/ionic-native/commit/47112c7))
* **stepcounter:** add stepcounter plugin ([#607](https://github.com/driftyco/ionic-native/issues/607)) ([a99b753](https://github.com/driftyco/ionic-native/commit/a99b753))
* **themable-browser:** add ThemableBrowser plugin ([b9151bc](https://github.com/driftyco/ionic-native/commit/b9151bc)), closes [#549](https://github.com/driftyco/ionic-native/issues/549)
* **themable-browser:** add ThemableBrowser plugin ([972d63b](https://github.com/driftyco/ionic-native/commit/972d63b)), closes [#549](https://github.com/driftyco/ionic-native/issues/549)
<a name="2.0.3"></a>
## [2.0.3](https://github.com/driftyco/ionic-native/compare/v1.3.21...v2.0.3) (2016-09-24)
### Bug Fixes
* **call-number:** number should be a string ([763ad1b](https://github.com/driftyco/ionic-native/commit/763ad1b)), closes [#545](https://github.com/driftyco/ionic-native/issues/545)
* **googlemaps:** CameraPosition target can now be LatLngBounds ([23fc908](https://github.com/driftyco/ionic-native/commit/23fc908)), closes [#547](https://github.com/driftyco/ionic-native/issues/547)
* **npm:** duplicate typings ([e50b961](https://github.com/driftyco/ionic-native/commit/e50b961))
* **plugins:** export VideoPlayer. Fixes [#563](https://github.com/driftyco/ionic-native/issues/563) ([4292959](https://github.com/driftyco/ionic-native/commit/4292959))
* **ts:** use old ts version for 1.3.x [#567](https://github.com/driftyco/ionic-native/issues/567) ([6a19c8c](https://github.com/driftyco/ionic-native/commit/6a19c8c))
* **webintent:** add type param. Fixes [#564](https://github.com/driftyco/ionic-native/issues/564) ([a0b6b10](https://github.com/driftyco/ionic-native/commit/a0b6b10))
### Features
* **background-geolocation:** add showAppSettings function ([281575b](https://github.com/driftyco/ionic-native/commit/281575b)), closes [#548](https://github.com/driftyco/ionic-native/issues/548)
* **BackgroundGeolocation:** code cleanup ([3170686](https://github.com/driftyco/ionic-native/commit/3170686))
* **BackgroundGeolocation:** Update to the latest version ([808a75e](https://github.com/driftyco/ionic-native/commit/808a75e))
* **BackgroundGeolocation:** Update to the latest version ([919e8da](https://github.com/driftyco/ionic-native/commit/919e8da))
* **build:** Support ES2015 modules ([4014972](https://github.com/driftyco/ionic-native/commit/4014972))
* **emailcomposer:** use new supported plugin. [#568](https://github.com/driftyco/ionic-native/issues/568) ([a092a31](https://github.com/driftyco/ionic-native/commit/a092a31))
* **localNotifications:** added register and has permission functions ([#536](https://github.com/driftyco/ionic-native/issues/536)) ([c83b043](https://github.com/driftyco/ionic-native/commit/c83b043))
* **npm:** typescript 2.0.2 ([e7e45f6](https://github.com/driftyco/ionic-native/commit/e7e45f6))
* **plugin:** cordova function override. fixes [#437](https://github.com/driftyco/ionic-native/issues/437) ([f60d08b](https://github.com/driftyco/ionic-native/commit/f60d08b))
* **push:** add coldstart property. Fixes [#559](https://github.com/driftyco/ionic-native/issues/559) ([48196da](https://github.com/driftyco/ionic-native/commit/48196da))
* **scripts:** publish script with npm and bower. Fixes [#448](https://github.com/driftyco/ionic-native/issues/448) ([3903fee](https://github.com/driftyco/ionic-native/commit/3903fee))
<a name="1.3.21"></a>
## [1.3.21](https://github.com/driftyco/ionic-native/compare/v1.3.20...v1.3.21) (2016-09-07)
### Bug Fixes
* **base64togallery:** fixes callbacks ([#513](https://github.com/driftyco/ionic-native/issues/513)) ([1db1374](https://github.com/driftyco/ionic-native/commit/1db1374))
* **diagnostic:** Add DENIED_ALWAYS to permissionStatus, also some code formatting ([9d573a9](https://github.com/driftyco/ionic-native/commit/9d573a9))
* **diagnostic:** Fix diagnostic objects ([cb176aa](https://github.com/driftyco/ionic-native/commit/cb176aa))
* **diagnostic:** Fix permissionStatus object ([8f3d36f](https://github.com/driftyco/ionic-native/commit/8f3d36f))
* **diagnostic:** Fix typo ([f93f958](https://github.com/driftyco/ionic-native/commit/f93f958))
* **file:** set exclusive to true when replace is false ([7910493](https://github.com/driftyco/ionic-native/commit/7910493)), closes [#516](https://github.com/driftyco/ionic-native/issues/516)
* **geolocation:** retain Observable even during an error condition ([#532](https://github.com/driftyco/ionic-native/issues/532)) ([26dead9](https://github.com/driftyco/ionic-native/commit/26dead9))
* **googlemaps:** moveCamera and animateCamera now return a Promise ([d03d70f](https://github.com/driftyco/ionic-native/commit/d03d70f)), closes [#511](https://github.com/driftyco/ionic-native/issues/511)
* **install-instructions:** This fixes install instructions for deeplinks, facebook and googlemaps ([#499](https://github.com/driftyco/ionic-native/issues/499)) ([877ac27](https://github.com/driftyco/ionic-native/commit/877ac27))
* **media:** nest the constructor logic ([a566240](https://github.com/driftyco/ionic-native/commit/a566240))
* **mixpanel:** Make eventProperties optional ([#501](https://github.com/driftyco/ionic-native/issues/501)) ([51364f8](https://github.com/driftyco/ionic-native/commit/51364f8))
* **ng1:** fail gracefully when angular 1 promises can't be retrieved ([d135dc2](https://github.com/driftyco/ionic-native/commit/d135dc2))
* **ng1:** grab injector from app. [#451](https://github.com/driftyco/ionic-native/issues/451) ([2dc68a4](https://github.com/driftyco/ionic-native/commit/2dc68a4))
* remove CanvasCamera plugin ([c75f898](https://github.com/driftyco/ionic-native/commit/c75f898))
* **social-sharing:** shareViaEmail now resolves/rejects when not providing optional args ([c76de34](https://github.com/driftyco/ionic-native/commit/c76de34))
* **social-sharing:** various fixes ([#520](https://github.com/driftyco/ionic-native/issues/520)) ([4f97164](https://github.com/driftyco/ionic-native/commit/4f97164))
### Features
* **file:** adds chunked blob writing ([#529](https://github.com/driftyco/ionic-native/issues/529)) ([bbbd0d5](https://github.com/driftyco/ionic-native/commit/bbbd0d5))
* **file:** allows writeFile and writeExistingFile to accept Blob ([#527](https://github.com/driftyco/ionic-native/issues/527)) ([393e9d0](https://github.com/driftyco/ionic-native/commit/393e9d0))
* **googlemaps:** can pass HTMLElement to constructor ([dff034a](https://github.com/driftyco/ionic-native/commit/dff034a))
<a name="1.3.20"></a>
## [1.3.20](https://github.com/driftyco/ionic-native/compare/v1.3.19...v1.3.20) (2016-08-27)
### Bug Fixes
* **GoogleMaps:** Fixes [#452](https://github.com/driftyco/ionic-native/issues/452) ([#498](https://github.com/driftyco/ionic-native/issues/498)) ([f6d5ac4](https://github.com/driftyco/ionic-native/commit/f6d5ac4))
### Features
* **canvas-camera:** add CanvasCamera support ([ad57733](https://github.com/driftyco/ionic-native/commit/ad57733))
* **file-chooser:** add file chooser plugin support ([#495](https://github.com/driftyco/ionic-native/issues/495)) ([94a7dae](https://github.com/driftyco/ionic-native/commit/94a7dae))
* **file-opener:** add file opener support ([#497](https://github.com/driftyco/ionic-native/issues/497)) ([21d8122](https://github.com/driftyco/ionic-native/commit/21d8122)), closes [#295](https://github.com/driftyco/ionic-native/issues/295)
* **music-controls:** add music controls plugin support ([#494](https://github.com/driftyco/ionic-native/issues/494)) ([4e9bc95](https://github.com/driftyco/ionic-native/commit/4e9bc95))
* **youtube:** add Youtube video player plugin support ([#496](https://github.com/driftyco/ionic-native/issues/496)) ([0cf7d6a](https://github.com/driftyco/ionic-native/commit/0cf7d6a))
<a name="1.3.19"></a>
## [1.3.19](https://github.com/driftyco/ionic-native/compare/v1.3.18...v1.3.19) (2016-08-27)
### Bug Fixes
* **mixpanel:** implement CordovaProperty correctly ([dd0c9ba](https://github.com/driftyco/ionic-native/commit/dd0c9ba))
### Features
* **call-number:** add support for CallNumber plugin ([#487](https://github.com/driftyco/ionic-native/issues/487)) ([759f8ef](https://github.com/driftyco/ionic-native/commit/759f8ef))
* **market:** add Market plugin support ([#490](https://github.com/driftyco/ionic-native/issues/490)) ([9bcc4ed](https://github.com/driftyco/ionic-native/commit/9bcc4ed))
* **mixpanel:** add mixpanel support ([#492](https://github.com/driftyco/ionic-native/issues/492)) ([cf8e342](https://github.com/driftyco/ionic-native/commit/cf8e342))
* **native-page-transitions:** add support for Native Page Transitions plugin ([#488](https://github.com/driftyco/ionic-native/issues/488)) ([00d87db](https://github.com/driftyco/ionic-native/commit/00d87db))
* **nfc:** add nfc support ([#493](https://github.com/driftyco/ionic-native/issues/493)) ([76aa8a6](https://github.com/driftyco/ionic-native/commit/76aa8a6))
* **paypal:** add PayPal support ([#491](https://github.com/driftyco/ionic-native/issues/491)) ([9fe5c19](https://github.com/driftyco/ionic-native/commit/9fe5c19))
* **power-management:** add power management support ([#489](https://github.com/driftyco/ionic-native/issues/489)) ([cd82a53](https://github.com/driftyco/ionic-native/commit/cd82a53))
* **streaming-media:** add streaming media support ([#486](https://github.com/driftyco/ionic-native/issues/486)) ([841b242](https://github.com/driftyco/ionic-native/commit/841b242))
<a name="1.3.18"></a>
## [1.3.18](https://github.com/driftyco/ionic-native/compare/v1.3.17...v1.3.18) (2016-08-26)
### Bug Fixes
* **facebook:** export interfaces ([c4110ee](https://github.com/driftyco/ionic-native/commit/c4110ee))
* **File:** fixed readFileAs ([#479](https://github.com/driftyco/ionic-native/issues/479)) ([eff7841](https://github.com/driftyco/ionic-native/commit/eff7841))
* **geofence:** fix event listeners ([efa222f](https://github.com/driftyco/ionic-native/commit/efa222f))
### Features
* **code-push:** add wrapper for cordova-plugin-code-push ([#420](https://github.com/driftyco/ionic-native/issues/420)) ([905f988](https://github.com/driftyco/ionic-native/commit/905f988))
* **diagnostic:** add full plugin functionality ([#424](https://github.com/driftyco/ionic-native/issues/424)) ([47a9b34](https://github.com/driftyco/ionic-native/commit/47a9b34)), closes [#224](https://github.com/driftyco/ionic-native/issues/224)
* **geofence:** Adds geofence plugin ([#442](https://github.com/driftyco/ionic-native/issues/442)) ([a438967](https://github.com/driftyco/ionic-native/commit/a438967))
* **inAppPurchase:** add inAppPurhcase plugin ([#423](https://github.com/driftyco/ionic-native/issues/423)) ([8526e89](https://github.com/driftyco/ionic-native/commit/8526e89))
* **IsDebug:** add the IsDebug plugin ([#475](https://github.com/driftyco/ionic-native/issues/475)) ([dd39ba8](https://github.com/driftyco/ionic-native/commit/dd39ba8))
<a name="1.3.17"></a>
## [1.3.17](https://github.com/driftyco/ionic-native/compare/v1.3.16...v1.3.17) (2016-08-23)
### Bug Fixes
* add the reject function at the expected errorIndex position in the args array ([#436](https://github.com/driftyco/ionic-native/issues/436)) ([4e87ac7](https://github.com/driftyco/ionic-native/commit/4e87ac7))
* **camera-preview:** changes implementation to match Cordova plugin ([#441](https://github.com/driftyco/ionic-native/issues/441)) ([55ba65a](https://github.com/driftyco/ionic-native/commit/55ba65a))
* **file:** fixes exclusive option ([#459](https://github.com/driftyco/ionic-native/issues/459)) ([14e41a3](https://github.com/driftyco/ionic-native/commit/14e41a3))
* **file:** initialize writeFile options ([#468](https://github.com/driftyco/ionic-native/issues/468)) ([16628a4](https://github.com/driftyco/ionic-native/commit/16628a4))
* **nativeaudio:** fix plugin reference ([2510c5f](https://github.com/driftyco/ionic-native/commit/2510c5f))
### Features
* **instagram:** add instagram sharing plugin ([#453](https://github.com/driftyco/ionic-native/issues/453)) ([f3e698f](https://github.com/driftyco/ionic-native/commit/f3e698f)), closes [#307](https://github.com/driftyco/ionic-native/issues/307)
* **VideoEditor:** add video editor plugin. ([#457](https://github.com/driftyco/ionic-native/issues/457)) ([7a53013](https://github.com/driftyco/ionic-native/commit/7a53013)), closes [#316](https://github.com/driftyco/ionic-native/issues/316)
<a name="1.3.16"></a>
## [1.3.16](https://github.com/driftyco/ionic-native/compare/v1.3.15...v1.3.16) (2016-08-15)
### Bug Fixes
* **photo-viewer:** method is static ([8bc499f](https://github.com/driftyco/ionic-native/commit/8bc499f))
<a name="1.3.15"></a>
## [1.3.15](https://github.com/driftyco/ionic-native/compare/v1.3.14...v1.3.15) (2016-08-15)
### Features
* **google-analytics:** add missing functions ([689bfd9](https://github.com/driftyco/ionic-native/commit/689bfd9))
* **TTS:** add tts plugin ([#431](https://github.com/driftyco/ionic-native/issues/431)) ([dcf3ab2](https://github.com/driftyco/ionic-native/commit/dcf3ab2)), closes [#311](https://github.com/driftyco/ionic-native/issues/311)
<a name="1.3.14"></a>
## [1.3.14](https://github.com/driftyco/ionic-native/compare/v1.3.12...v1.3.14) (2016-08-15)
### Bug Fixes
* **datepicker:** date now accepts Date, string, or number ([#428](https://github.com/driftyco/ionic-native/issues/428)) ([aaddd9e](https://github.com/driftyco/ionic-native/commit/aaddd9e)), closes [#354](https://github.com/driftyco/ionic-native/issues/354)
* **inappbrowser:** fix event listener ([4b08d85](https://github.com/driftyco/ionic-native/commit/4b08d85))
### Features
* **native-audio:** Add native audio plugin ([#427](https://github.com/driftyco/ionic-native/issues/427)) ([8cd6686](https://github.com/driftyco/ionic-native/commit/8cd6686)), closes [#315](https://github.com/driftyco/ionic-native/issues/315)
* **shake:** add Shake plugin ([#426](https://github.com/driftyco/ionic-native/issues/426)) ([203d4c7](https://github.com/driftyco/ionic-native/commit/203d4c7)), closes [#313](https://github.com/driftyco/ionic-native/issues/313)
* **zip:** add zip plugin ([#430](https://github.com/driftyco/ionic-native/issues/430)) ([e34f94e](https://github.com/driftyco/ionic-native/commit/e34f94e)), closes [#421](https://github.com/driftyco/ionic-native/issues/421)
<a name="1.3.12"></a>
## [1.3.12](https://github.com/driftyco/ionic-native/compare/v1.3.11...v1.3.12) (2016-08-13)
### Bug Fixes
* **inappbrowser:** fix event listener ([618d866](https://github.com/driftyco/ionic-native/commit/618d866))
<a name="1.3.11"></a>
## [1.3.11](https://github.com/driftyco/ionic-native/compare/v1.3.10...v1.3.11) (2016-08-11)
### Bug Fixes
* **backgroundGeolocation:** update config and move to sync. Fixes [#331](https://github.com/driftyco/ionic-native/issues/331) ([4e20681](https://github.com/driftyco/ionic-native/commit/4e20681))
* **camera:** camera options should be optional. Fixes [#413](https://github.com/driftyco/ionic-native/issues/413) ([#417](https://github.com/driftyco/ionic-native/issues/417)) ([c60c3b7](https://github.com/driftyco/ionic-native/commit/c60c3b7))
* **index:** export Geolocation interfaces. ([#404](https://github.com/driftyco/ionic-native/issues/404)) ([0c486b0](https://github.com/driftyco/ionic-native/commit/0c486b0))
* **ng1:** Copy object properly. Fixes [#357](https://github.com/driftyco/ionic-native/issues/357) ([9ca38cd](https://github.com/driftyco/ionic-native/commit/9ca38cd))
### Features
* **file:** alternate file implementation ([#283](https://github.com/driftyco/ionic-native/issues/283)) ([6ed32ef](https://github.com/driftyco/ionic-native/commit/6ed32ef))
* **GoogleAnalytics:** Add campaign measurement tracking ([#405](https://github.com/driftyco/ionic-native/issues/405)) ([cf3f0f6](https://github.com/driftyco/ionic-native/commit/cf3f0f6))
* **GoogleMaps:** Allow specify enableHighAccuracy option that attempt to get your location with highest accuracy ([#410](https://github.com/driftyco/ionic-native/issues/410)) ([43e8a6d](https://github.com/driftyco/ionic-native/commit/43e8a6d))
* **ibeacon:** using option otherPromise instead of sync ([#388](https://github.com/driftyco/ionic-native/issues/388)) ([306cb5d](https://github.com/driftyco/ionic-native/commit/306cb5d))
* **inappbrowser:** implement instance based wrapper ([#305](https://github.com/driftyco/ionic-native/issues/305)) ([4b8ab4a](https://github.com/driftyco/ionic-native/commit/4b8ab4a))
* **keyboard:** enable hideKeyboardAccessoryBar function ([#398](https://github.com/driftyco/ionic-native/issues/398)) ([7a84262](https://github.com/driftyco/ionic-native/commit/7a84262)), closes [#394](https://github.com/driftyco/ionic-native/issues/394)
* **photo-viewer:** add wrapper for plugin ([#359](https://github.com/driftyco/ionic-native/issues/359)) ([154c029](https://github.com/driftyco/ionic-native/commit/154c029))
* **video-player:** Added video player plugin ([#391](https://github.com/driftyco/ionic-native/issues/391)) ([cabeeb8](https://github.com/driftyco/ionic-native/commit/cabeeb8)), closes [#342](https://github.com/driftyco/ionic-native/issues/342)
<a name="1.3.10"></a>
## [1.3.10](https://github.com/driftyco/ionic-native/compare/v1.3.9...v1.3.10) (2016-08-01)
### Bug Fixes
* **brightness:** use correct pluginRef ([e20c411](https://github.com/driftyco/ionic-native/commit/e20c411))
* **diagnostics:** Corrects isEnabled functions to isAvailable ([#373](https://github.com/driftyco/ionic-native/issues/373)) ([ccf7fb5](https://github.com/driftyco/ionic-native/commit/ccf7fb5))
* **ng1:** use $q promises instead of the native Promise ([#378](https://github.com/driftyco/ionic-native/issues/378)) ([817a434](https://github.com/driftyco/ionic-native/commit/817a434))
* **one-signal:** return Observable instead of promise ([#352](https://github.com/driftyco/ionic-native/issues/352)) ([08fe04e](https://github.com/driftyco/ionic-native/commit/08fe04e))
### Features
* **crop:** add crop plugin ([#284](https://github.com/driftyco/ionic-native/issues/284)) ([41c9adf](https://github.com/driftyco/ionic-native/commit/41c9adf))
* **screen-orientation:** Added Screen Orientation Plugin [#342](https://github.com/driftyco/ionic-native/issues/342) ([#366](https://github.com/driftyco/ionic-native/issues/366)) ([bd9366b](https://github.com/driftyco/ionic-native/commit/bd9366b))
<a name="1.3.9"></a>
## [1.3.9](https://github.com/driftyco/ionic-native/compare/v1.3.8...v1.3.9) (2016-07-23)
### Bug Fixes
* **file:** readAsText() and adds readAsDataURL() in File plugin ([#346](https://github.com/driftyco/ionic-native/issues/346)) ([77d31cd](https://github.com/driftyco/ionic-native/commit/77d31cd))
### Features
* **android-fingerprint-auth:** add wrapper for plugin ([df326f7](https://github.com/driftyco/ionic-native/commit/df326f7)), closes [#334](https://github.com/driftyco/ionic-native/issues/334)
* **secure-storage:** Add Secure Storage Wrapper ([#347](https://github.com/driftyco/ionic-native/issues/347)) ([075842d](https://github.com/driftyco/ionic-native/commit/075842d))
<a name="1.3.8"></a>
## [1.3.8](https://github.com/driftyco/ionic-native/compare/v1.3.7...v1.3.8) (2016-07-20)
### Bug Fixes
* **base64togallery:** update plugin wrapper to match latest version ([d4bee49](https://github.com/driftyco/ionic-native/commit/d4bee49)), closes [#335](https://github.com/driftyco/ionic-native/issues/335)
* **sqlite:** fix method attribute typo ([#324](https://github.com/driftyco/ionic-native/issues/324)) ([006bc70](https://github.com/driftyco/ionic-native/commit/006bc70))
### Features
* **facebook:** add FacebookLoginResponse interface ([8b27bed](https://github.com/driftyco/ionic-native/commit/8b27bed))
* **otherPromise:** can work better with plugins that return promises ([#304](https://github.com/driftyco/ionic-native/issues/304)) ([0aee6c8](https://github.com/driftyco/ionic-native/commit/0aee6c8))
* **social-sharing:** add canShareViaEmail ([#333](https://github.com/driftyco/ionic-native/issues/333)) ([5807dd7](https://github.com/driftyco/ionic-native/commit/5807dd7))
* **twitter-connect:** add twitter connect plugin ([979838f](https://github.com/driftyco/ionic-native/commit/979838f)), closes [#308](https://github.com/driftyco/ionic-native/issues/308)
<a name="1.3.7"></a>
## [1.3.7](https://github.com/driftyco/ionic-native/compare/v1.3.6...v1.3.7) (2016-07-18)
### Bug Fixes
* **contacts:** missing name property, types ([#320](https://github.com/driftyco/ionic-native/issues/320)) ([074d166](https://github.com/driftyco/ionic-native/commit/074d166))
* **geolocation:** handle errors on watchPosition ([1b161d8](https://github.com/driftyco/ionic-native/commit/1b161d8)), closes [#322](https://github.com/driftyco/ionic-native/issues/322)
### Features
* **sim:** Add sim plugin ([#317](https://github.com/driftyco/ionic-native/issues/317)) ([4f85110](https://github.com/driftyco/ionic-native/commit/4f85110))
<a name="1.3.6"></a>
## [1.3.6](https://github.com/driftyco/ionic-native/compare/v1.3.5...v1.3.6) (2016-07-17)
### Bug Fixes
* **googlemaps:** able to pass array of LatLng to GoogleMapsLatLngBounds constructor ([de14b0e](https://github.com/driftyco/ionic-native/commit/de14b0e)), closes [#298](https://github.com/driftyco/ionic-native/issues/298)
* **launch-navigator:** fix the navigate function wrapper to match latest plugin API ([6f625f9](https://github.com/driftyco/ionic-native/commit/6f625f9))
### Features
* **camera-preview:** add wrapper for camera-preview ([#301](https://github.com/driftyco/ionic-native/issues/301)) ([3a1a3ce](https://github.com/driftyco/ionic-native/commit/3a1a3ce))
* **launch-navigator:** add new methods and constants to match latest plugin API ([29de6b3](https://github.com/driftyco/ionic-native/commit/29de6b3))
<a name="1.3.5"></a>
## [1.3.5](https://github.com/driftyco/ionic-native/compare/v1.3.4...v1.3.5) (2016-07-17)
### Bug Fixes
* **ibeacon:** minor fixes ([b5a2ffc](https://github.com/driftyco/ionic-native/commit/b5a2ffc))
* **safari-view-controller:** fix wrappers ([b4b3ec0](https://github.com/driftyco/ionic-native/commit/b4b3ec0))
### Features
* **googlemaps:** add Geocoder class ([#292](https://github.com/driftyco/ionic-native/issues/292)) ([2996da6](https://github.com/driftyco/ionic-native/commit/2996da6)), closes [#280](https://github.com/driftyco/ionic-native/issues/280)
* **inAppPurchase:** add inAppPurchase ([f1988f6](https://github.com/driftyco/ionic-native/commit/f1988f6))
* **media-capture:** add media capture plugin ([#293](https://github.com/driftyco/ionic-native/issues/293)) ([daa6d4c](https://github.com/driftyco/ionic-native/commit/daa6d4c)), closes [#272](https://github.com/driftyco/ionic-native/issues/272)
* **nativestorage:** add NativeStorage plugin wrapper ([af5d4ad](https://github.com/driftyco/ionic-native/commit/af5d4ad))
* **pin-dialog:** add pin dialog plugin ([#291](https://github.com/driftyco/ionic-native/issues/291)) ([2fe37c4](https://github.com/driftyco/ionic-native/commit/2fe37c4))
<a name="1.3.4"></a>
## [1.3.4](https://github.com/driftyco/ionic-native/compare/v1.3.3...v1.3.4) (2016-07-14)
### Bug Fixes
* **touchid:** make isAvailable static ([c23f5e9](https://github.com/driftyco/ionic-native/commit/c23f5e9))
### Reverts
* **changelog:** old changelog ([0cb79d1](https://github.com/driftyco/ionic-native/commit/0cb79d1))
<a name="1.3.3"></a>
## [1.3.3](https://github.com/driftyco/ionic-native/compare/v1.3.2...v1.3.3) (2016-07-11)
### Bug Fixes
* remove unnecessary decorator ([#257](https://github.com/driftyco/ionic-native/issues/257)) ([25fab64](https://github.com/driftyco/ionic-native/commit/25fab64))
* **actionsheet:** add missing optional parameter for hide function ([#262](https://github.com/driftyco/ionic-native/issues/262)) ([644e999](https://github.com/driftyco/ionic-native/commit/644e999))
* **background-geolocation:** fix pluginref again ([b8a5133](https://github.com/driftyco/ionic-native/commit/b8a5133))
* **geolocation:** fix plugin reference ([4f0cd24](https://github.com/driftyco/ionic-native/commit/4f0cd24)), closes [#258](https://github.com/driftyco/ionic-native/issues/258)
* **googlemaps:** use correct methods for addGroundOverlay and addKmlOverlay ([#268](https://github.com/driftyco/ionic-native/issues/268)) ([b8be1de](https://github.com/driftyco/ionic-native/commit/b8be1de))
* **socialsharing:** all methods return Promises now ([e150224](https://github.com/driftyco/ionic-native/commit/e150224)), closes [#275](https://github.com/driftyco/ionic-native/issues/275)
### Features
* **ibeacon:** add iBeacon plugin support ([#270](https://github.com/driftyco/ionic-native/issues/270)) ([dd97df1](https://github.com/driftyco/ionic-native/commit/dd97df1))
* **onesignal:** added wrapper for the Cordova OneSignal Plugin ([#252](https://github.com/driftyco/ionic-native/issues/252)) ([ba20dbe](https://github.com/driftyco/ionic-native/commit/ba20dbe))
* **push:** added support for Action Buttons on iOS with categories ([#273](https://github.com/driftyco/ionic-native/issues/273)) ([592feb4](https://github.com/driftyco/ionic-native/commit/592feb4))
<a name="1.3.2"></a>
## [1.3.2](https://github.com/driftyco/ionic-native/compare/v1.3.1...v1.3.2) (2016-06-27)
### Bug Fixes
* **build:** disable emitDecoratorMetadata option in tsconfig ([a5f3d7a](https://github.com/driftyco/ionic-native/commit/a5f3d7a)), closes [#251](https://github.com/driftyco/ionic-native/issues/251)
<a name="1.3.1"></a>
## [1.3.1](https://github.com/driftyco/ionic-native/compare/v1.3.0...v1.3.1) (2016-06-26)
### Bug Fixes
* **3dtouch:** fix implementation for onHomeIconPressed function ([d2b2be6](https://github.com/driftyco/ionic-native/commit/d2b2be6)), closes [#232](https://github.com/driftyco/ionic-native/issues/232)
* **sqlite:** resolve race condition, add comments ([#235](https://github.com/driftyco/ionic-native/issues/235)) ([f1c8ce3](https://github.com/driftyco/ionic-native/commit/f1c8ce3))
### Features
* **googlemaps:** add GoogleMapsLatLngBounds class ([17da427](https://github.com/driftyco/ionic-native/commit/17da427))
* **printer:** add printer plugin ([#225](https://github.com/driftyco/ionic-native/issues/225)) ([48ffcae](https://github.com/driftyco/ionic-native/commit/48ffcae))
<a name="1.3.0"></a>
# [1.3.0](https://github.com/driftyco/ionic-native/compare/v1.2.3...v1.3.0) (2016-06-13)
### Bug Fixes
* **barcodescanner:** add missing options param ([4fdcbb5](https://github.com/driftyco/ionic-native/commit/4fdcbb5)), closes [#180](https://github.com/driftyco/ionic-native/issues/180)
* **base64togallery:** method is now static ([be7b9e2](https://github.com/driftyco/ionic-native/commit/be7b9e2)), closes [#212](https://github.com/driftyco/ionic-native/issues/212)
* **batterystatus:** correct plugin name on npm ([66b7fa6](https://github.com/driftyco/ionic-native/commit/66b7fa6))
* **calendar:** fix some functionality and add missing ones ([a15fb01](https://github.com/driftyco/ionic-native/commit/a15fb01)), closes [#184](https://github.com/driftyco/ionic-native/issues/184)
* **deeplinks:** new result type ([11226d7](https://github.com/driftyco/ionic-native/commit/11226d7))
* **deviceorientation:** cancelFunction renamed to clearFunction ([8dee02e](https://github.com/driftyco/ionic-native/commit/8dee02e))
* **geolocation:** fix watchPosition() ([4a8650e](https://github.com/driftyco/ionic-native/commit/4a8650e)), closes [#164](https://github.com/driftyco/ionic-native/issues/164)
* **googlemaps:** isAvailable() returns boolean, not an instance of GoogleMap ([a53ae8f](https://github.com/driftyco/ionic-native/commit/a53ae8f))
### Features
* **angular1:** Support Angular 1 ([af8fbde](https://github.com/driftyco/ionic-native/commit/af8fbde))
* **barcodescanner:** add encode function ([e73f57f](https://github.com/driftyco/ionic-native/commit/e73f57f)), closes [#115](https://github.com/driftyco/ionic-native/issues/115)
* **deeplinks:** Add Ionic Deeplinks Plugin ([c93cbed](https://github.com/driftyco/ionic-native/commit/c93cbed))
<a name="1.2.3"></a>
## [1.2.3](https://github.com/driftyco/ionic-native/compare/v1.2.2...v1.2.3) (2016-06-01)
<a name="1.2.2"></a>
## [1.2.2](https://github.com/driftyco/ionic-native/compare/v1.2.1...v1.2.2) (2016-05-20)
### Bug Fixes
* **Bluetooth:** make connect function an observable to maintain full functionality ([58e3f0b](https://github.com/driftyco/ionic-native/commit/58e3f0b)), closes [#154](https://github.com/driftyco/ionic-native/issues/154)
* **calendar:** add new permissions functions for Android 6 (M) devices ([ddbd64d](https://github.com/driftyco/ionic-native/commit/ddbd64d)), closes [#156](https://github.com/driftyco/ionic-native/issues/156)
* **emailcomposer:** fix isAvailable function ([2a568d2](https://github.com/driftyco/ionic-native/commit/2a568d2)), closes [#168](https://github.com/driftyco/ionic-native/issues/168)
<a name="1.2.1"></a>
## [1.2.1](https://github.com/driftyco/ionic-native/compare/v1.2.0...v1.2.1) (2016-05-11)
### Bug Fixes
* **contacts:** plugin rewrite ([aada893](https://github.com/driftyco/ionic-native/commit/aada893))
### Features
* **plugin:** add wrapper for instance properties ([28d7d5c](https://github.com/driftyco/ionic-native/commit/28d7d5c))
<a name="1.2.0"></a>
# [1.2.0](https://github.com/driftyco/ionic-native/compare/v1.1.0...v1.2.0) (2016-04-30)
@@ -16,6 +643,7 @@
* **spinnerdialog:** fix functionality ([66f0e03](https://github.com/driftyco/ionic-native/commit/66f0e03))
* **vibration:** fix plugin reference ([beeb075](https://github.com/driftyco/ionic-native/commit/beeb075)), closes [#106](https://github.com/driftyco/ionic-native/issues/106)
### Features
* **camera:** add camera constants ([ce02d82](https://github.com/driftyco/ionic-native/commit/ce02d82)), closes [#129](https://github.com/driftyco/ionic-native/issues/129)
@@ -32,6 +660,7 @@
* **toast:** add new features to toast plugin ([ed7e783](https://github.com/driftyco/ionic-native/commit/ed7e783))
* **webintent:** add plugin to index ([f357b56](https://github.com/driftyco/ionic-native/commit/f357b56))
### Performance Improvements
* **ionicnative:** instance wrapper cleanup and optimization ([5a8d48e](https://github.com/driftyco/ionic-native/commit/5a8d48e))
@@ -66,6 +695,7 @@
* fix options params ([c71f8d4](https://github.com/driftyco/ionic-native/commit/c71f8d4))
* remove confirm callback, not needed. ([662d8ce](https://github.com/driftyco/ionic-native/commit/662d8ce))
### Features
* **batterystatus:** complete functionality ([e7a09d9](https://github.com/driftyco/ionic-native/commit/e7a09d9))
@@ -109,12 +739,13 @@
* **geolocation:** call correct clearFunction ([9e86a40](https://github.com/driftyco/ionic-native/commit/9e86a40))
* **plugin:** return originalMethod return value ([240f0f8](https://github.com/driftyco/ionic-native/commit/240f0f8))
* **plugin:** use call for id based clearFunction ([c2fdf39](https://github.com/driftyco/ionic-native/commit/c2fdf39))
* datepicker plugin, pluginref, and @Cordova wrapper ([499ead3](https://github.com/driftyco/ionic-native/commit/499ead3))
* datepicker plugin, pluginref, and [@Cordova](https://github.com/Cordova) wrapper ([499ead3](https://github.com/driftyco/ionic-native/commit/499ead3))
### Features
* **DatePicker:** Added DatePicker ([5afa58f](https://github.com/driftyco/ionic-native/commit/5afa58f))
* **plugin:** add sync option to @Cordova for sync functions ([17e3827](https://github.com/driftyco/ionic-native/commit/17e3827))
* **plugin:** add sync option to [@Cordova](https://github.com/Cordova) for sync functions ([17e3827](https://github.com/driftyco/ionic-native/commit/17e3827))
* **plugin:** call clearFunction with original fn args ([8f27fc9](https://github.com/driftyco/ionic-native/commit/8f27fc9))
* add app version plugin ([20cb01f](https://github.com/driftyco/ionic-native/commit/20cb01f))
* add app version plugin ([8b78521](https://github.com/driftyco/ionic-native/commit/8b78521))

View File

@@ -1,5 +0,0 @@
# Contributing to Ionic Native
Have a plugin you'd like to see supported? Because Ionic Native is a thin wrapper around existing Cordova plugins, adding support for new plugins is as easy as creating a new wrapper for whichever plugin you'd like to add.
Take a look at our [Developer Guide](https://github.com/driftyco/ionic-native/blob/master/DEVELOPER.md) for more info on adding new plugins.

View File

@@ -5,6 +5,16 @@ This is a short guide on creating new plugin wrappers for Ionic Native.
## Creating Plugin Wrappers
First, let's start by creating a new plugin wrapper from template.
```
// Call this command, and replace PluginName with the name of the plugin you wish to add
// Make sure to capitalize the first letter, or use CamelCase if necessary.
gulp plugin:create -n PluginName
```
Let's take a look at the existing plugin wrapper for Geolocation to see what goes into an Ionic Native plugin (comments have been removed for clarity):
```
@@ -92,6 +102,95 @@ The `@Cordova` decorator has a few more options now.
`clearFunction` is used in conjunction with the `observable` option and indicates the function to be called when the Observable is disposed.
### Updating index.ts
For new plugins, you will need to update `/src/index.ts` to properly export your plugin and make it available for use.
1. Import the plugin class into `index.ts`:
`import {PluginClassName} from ./plugins/filenameForPlugin`
No need to put the `.ts` extension on the filename.
2. Add the plugin class name to the list in the `export` object:
```
export {
ActionSheet,
AdMob,
AndroidFingerprintAuth,
YourPluginClassName,
...
}
```
3. Add the plugin class name to the `window['IonicNative']` object:
```
window['IonicNative'] = {
ActionSheet: ActionSheet,
AdMob: AdMob,
AndroidFingerprintAuth: AndroidFingerprintAuth,
YourPluginClassName: YourPluginClassName,
...
```
4. If your plugin exports any other objects outside of the plugin class, add an export statement for the file:
`export * from './plugins/filenameForPlugin';`
No need to put the `.ts` extension on the filename.
For example, `googlemaps.ts` exports a const outside of the plugin's main `GoogleMap` class:
```
export const GoogleMapsAnimation = {
BOUNCE: 'BOUNCE',
DROP: 'DROP'
};
```
To properly export `GoogleMapsAnimation`, `index.ts` is updated with:
`export * from './plugins/googlemaps';`
### Testing your changes
You need to run `npm run build` in the `ionic-native` project, this will create a `dist` directory. Then, you must go to your ionic application folder and replace your current `node_modules/ionic-native/dist/` with the newly generated one.
### Cleaning the code
You need to run `npm run lint` to analyze the code and ensure it's consistency with the repository style. Fix any errors before submitting a PR.
### 'Wrapping' Up
That's it! The only thing left to do is rigorously document the plugin and it's usage. Take a look at some of the other plugins for good documentation styles.
## Commit Message Format
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate the our change log. (Ok you got us, it's basically Angular's commit message format).
`type(scope): subject`
#### Type
Must be one of the following:
* **fix**: A bug fix
* **feat**: A new feature
* **docs**: Documentation only changes
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* **refactor**: A code change that neither fixes a bug nor adds a feature
* **perf**: A code change that improves performance
* **test**: Adding missing tests
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
#### Scope
The scope could be anything specifying place of the commit change. For example, the name of the plugin being changed
#### Subject
The subject contains succinct description of the change:
* use the imperative, present tense: "change" not "changed" nor "changes"
* do not capitalize first letter
* do not place a period (.) at the end
* entire length of the commit message must not go over 50 characters

23
LICENSE Normal file
View File

@@ -0,0 +1,23 @@
Copyright 2015-present Drifty Co.
http://drifty.com/
MIT License
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,8 +1,8 @@
[![Circle CI](https://circleci.com/gh/driftyco/ionic-native.svg?style=shield)](https://circleci.com/gh/driftyco/ionic-native) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
[![npm](https://img.shields.io/npm/l/express.svg)](https://www.npmjs.com/package/ionic-native-playground)
[![npm](https://img.shields.io/npm/l/express.svg)](https://www.npmjs.com/package/ionic-native)
[![NPM](https://nodei.co/npm/ionic-native.png?stars&downloads)](https://nodei.co/npm/ionic-native/)
[![NPM](https://nodei.co/npm-dl/ionic-native.png?months=6&height=2)](https://nodei.co/npm/ionic-native/)
# Ionic Native
@@ -17,14 +17,13 @@ For the full Ionic Native documentation, please visit [http://ionicframework.com
Ionic Native wraps plugin callbacks in a Promise or [Observable](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754), providing a common interface for all plugins and ensuring that native events trigger change detection in Angular 2.
```
import {Geolocation} from 'ionic-native';
import { Geolocation } from 'ionic-native';
Geolocation.getCurrentPosition().then(pos => {
Geolocation.getCurrentPosition().then(pos => {
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
let watch = Geolocation.watchPosition();
watch.subscribe(pos => {
let watch = Geolocation.watchPosition().subscribe(pos => {
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
@@ -32,13 +31,50 @@ watch.subscribe(pos => {
watch.unsubscribe();
```
### Angular 1
Ionic Native works as a stand-in for [ngCordova](http://ngcordova.com/). In many cases, the usage is identical, but we import `ionic.native` instead of `ngCordova` as our module.
As a rule of thumb: take the ES6 class name of the plugin and add `$cordova` to get the service name. For example, `Geolocation` would be `$cordovaGeolocation`, and `Camera` will be `$cordovaCamera`:
```javascript
angular.module('myApp', ['ionic', 'ionic.native'])
.controller('MyCtrl', function($scope, $cordovaCamera) {
$scope.takePicture = function() {
$cordovaCamera.getPicture(opts).then(function(p) {
}, function(err) {
});
};
});
```
For services that return observables, the Angular 1 digest cycle must be done manually (currently):
```javascript
angular.module('myApp', ['ionic', 'ionic.native'])
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
$scope.takePicture = function() {
$cordovaGeolocation.watchPosition(opts).subscribe(function(p) {
$scope.$apply(function() {
$scope.position = p.coords;
});
}, function(err) {
});
};
});
```
### Runtime Diagnostics
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Ionic Native lets you know what the issue is and how you can resolve it.
![img](http://ionic-io-assets.s3.amazonaws.com/ionic-native-console.png)
## Installation
Run following commmand to install ionic-native in your project.
Run following commmand to install ionic-native in your project.
```
npm install ionic-native --save
```

View File

View File

@@ -17,8 +17,8 @@ dependencies:
test:
override:
- echo "No tests are written at the moment. But we will attempt to build the library with the latest changes."
- npm run build_bundle
- npm test
- npm run build
deployment:
staging:

31
demo/.gitignore vendored
View File

@@ -1,31 +0,0 @@
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore
*~
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt
*.sublime-project
*.sublime-workspace
.idea/
.sass-cache/
.versions/
coverage/
dist/
node_modules/
tmp/
temp/
hooks/
platforms/
plugins/
plugins/android.json
plugins/ios.json
www/build/
$RECYCLE.BIN/
.DS_Store
Thumbs.db
UserInterfaceState.xcuserstate

View File

@@ -1,72 +0,0 @@
## Getting Started
`ionic serve`
The `ionic serve` command compiles your ES6 files to ES5, your Sass files to CSS, bundles it all up for you, opens up a browser window and serves your app locally. After the initial build it will watch for changes and automatically rebuild and reload. The build output can be configured in your `ionic.config.js` file (which will be autogenerated by `ionic serve` if it doesn't exist yet).
#### Updating Ionic
When you start your project with `ionic start`, the latest version of `ionic-framework` is installed automatically. To update your ionic version in an existing project, run `npm install --save ionic-framework@latest`. This will install the latest version of `ionic-framework` published to npm, and save it in your `package.json` file so if you are checking your project in to version control the correct version of the framework will be installed by [`npm install`](https://docs.npmjs.com/cli/install).
#### Developing Against Unstable Master
- THIS IS NOT UPDATING YOUR APP. THIS IS FOR DEVELOPING AGAINST THE UNSTABLE MASTER BRANCH, WHICH WE DO NOT RECOMMEND. SEE [Updating Ionic](#updating-ionic) FOR INSTRUCTIONS ON UPDATING TO THE LATEST VERSION OF THE FRAMEWORK. To develop against a local version of ionic-framework (master) you'll need to do the following:
```bash
# if you haven't already, clone the ionic2 repo:
$ git clone https://github.com/driftyco/ionic2.git
$ cd ionic2
$ npm install
$ gulp src # build the source files
$ npm link
# now go to your app directory
$ cd /Users/Ionitron/git/MyIonic2App
$ npm link ionic-framework
```
And then update your [`webpack.config.js`](https://github.com/driftyco/ionic2-app-base/blob/master/webpack.config.js#L68) file by uncommenting the lines for local development:
```js
resolve: {
modulesDirectories: [
"node_modules",
"node_modules/ionic-framework/node_modules",
"node_modules/ionic-framework/dist/src/es5/common",
"node_modules/ionic-framework/dist/js",
"dist/src/es5/common" // <--- Uncomment me
],
}
```
Update the ionic2 [`gulpfile.js #L141`](https://github.com/driftyco/ionic2/blob/master/gulpfile.js#L141) to this in order to use `gulp watch` and make changes to the ionic2 repo:
```js
gulp.start('transpile.common');
```
### Missing Ionic 1 features
We are currently working on completing a few core Ionic 1 features:
- Collection repeat (known as Virtual Scrolling in v2) is not quite ready
### Current Angular 2 known issues:
- Angular 2 is still in alpha and is not production ready
- Angular team has first focused on developing what the core of Angular 2 "is"
- Angular 2 filesize has not been optimized for minification yet
- Angular 2 bootstrap time has not been optimized yet
- As Angular 2 reaches beta there will be significant performance improvements
### ES6/Typescript
- Ionic's source is written using [Typescript](http://www.typescriptlang.org/)
- Ionic apps can be written in ES6 or TypeScript
- Typescript is an optional feature to be used at the developers discretion
- Ionic 2 starters come with the necessary build tools to transpile both ES6 and Typescript
### CSS Attribute Selectors:
- Simple
- Smaller markup
- Easier to read and understand
- [Not an issue](https://twitter.com/paul_irish/status/311610425617838081) for today's mobile browsers
- No performance impacts have been found

View File

@@ -1,33 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.nativeDemo" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>V2 Test</name>
<description>An Ionic Framework and Cordova project.</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="16" />
<preference name="BackupWebStorage" value="none" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
<plugin name="cordova-plugin-facebook4" spec="~1.3.0-0">
<variable name="APP_ID" value="279000342284434" />
<variable name="APP_NAME" value="ngCordova Test" />
</plugin>
</widget>

View File

@@ -1,16 +0,0 @@
module.exports = {
name: 'demo',
proxies: null,
// hooks execute before or after all project-related Ionic commands
// (so not for start, docs, but serve, run, etc.) and take in the arguments
// passed to the command as a parameter
//
// The format is 'before' or 'after' + commandName (uppercased)
// ex: beforeServe, afterRun, beforePrepare, etc.
hooks: {
// beforeServe: function(argv) {
// console.log('Arguments to ionic serve: "' + argv._ + '"');
// }
}
}

View File

@@ -1,4 +0,0 @@
{
"name": "demo",
"app_id": ""
}

View File

@@ -1,33 +0,0 @@
{
"devDependencies": {
"autoprefixer-loader": "^3.1.0",
"awesome-typescript-loader": "0.12.0-rc.2",
"css-loader": "^0.22.0",
"file-loader": "^0.8.4",
"node-sass": "^3.4.2",
"resolve-url-loader": "^1.4.2",
"sass-loader": "^3.1.1",
"style-loader": "^0.13.0",
"typescript": "1.5.3",
"url-loader": "^0.5.6",
"webpack": "^1.12.4"
},
"dependencies": {
"ionic-framework": "2.0.0-alpha.35",
"ionic-native": "^1.0.7"
},
"name": "demo",
"description": "demo: An Ionic project",
"cordovaPlugins": [
"cordova-plugin-x-toast",
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-splashscreen",
"cordova-plugin-statusbar",
"ionic-plugin-keyboard"
],
"cordovaPlatforms": [
"ios"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -1,14 +0,0 @@
{
"compilerOptions": {
"target": "ES5",
"allowNonTsExtensions": true,
"module": "commonjs",
"sourceMap": true,
"isolatedModules": true,
"noEmitOnError": false,
"rootDir": ".",
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"compileOnSave": false
}

View File

@@ -1,80 +0,0 @@
var path = require('path');
var autoprefixerOptions = {
browsers: [
'last 2 versions',
'iOS >= 7',
'Android >= 4',
'Explorer >= 10',
'ExplorerMobile >= 11'
],
cascade: false
}
module.exports = {
entry: [
"es6-shim",
"reflect-metadata",
"web-animations.min",
"zone.js",
path.join(__dirname, 'www', 'app', 'app.js')
],
output: {
path: path.join(__dirname, 'www', 'build', 'js'),
filename: 'app.bundle.js',
publicPath: 'build/js/'
//pathinfo: true // show module paths in the bundle, handy for debugging
},
module: {
loaders: [
{
test: /\.js$/,
loader: "awesome-typescript-loader?doTypeCheck=false&useWebpackText=true",
include: [path.join(__dirname, 'www')],
exclude: /node_modules/
},
{
test: /\.ts$/,
loader: "awesome-typescript-loader",
include: [path.join(__dirname, 'www')],
exclude: /node_modules/
},
{
// Loader to compile all of our SASS down.
// Use the `resolve-url` pipe to convert the relative url paths to something this loader
// can work with, e.g.: url('../my-file.png') => url('/path/to/my-file.png')
// https://github.com/bholloway/resolve-url-loader
test: /\.scss$/,
loaders: [
"style",
"css",
"autoprefixer?" + JSON.stringify(autoprefixerOptions),
"resolve-url",
"sass?sourceMap"
]
},
// Any png-image or woff-font below or equal to 100K will be converted
// to inline base64 instead
{ test: /\.(png|woff|ttf)$/, loader: 'url-loader?limit=100000' }
]
},
resolve: {
modulesDirectories: [
"node_modules",
"node_modules/ionic-framework/node_modules", // angular is a dependency of ionic
"node_modules/ionic-framework/dist/js", // for web-animations polyfill
"node_modules/ionic-framework/dist/src/es5/common" // ionic-framework npm package (stable)
// See README for steps on developing against ionic-framework locally
// "dist/src/es5/common" // when developing against locally linked ionic-framework (master)
],
extensions: ["", ".js", ".ts"]
},
// Sass loader configuration to tell webpack where to find the additional SASS files
// it needs for `ionic`, located in the ionic-framework node module folder.
// https://github.com/jtangelder/sass-loader#sass-options
sassLoader: {
includePaths: [
path.resolve(__dirname, "node_modules", 'ionic-framework', 'dist', 'src', 'scss')
]
}
};

View File

@@ -1,27 +0,0 @@
import {App, Platform} from 'ionic/ionic';
import {HomePage} from './home/home';
import './app.scss';
import {StatusBar} from 'ionic-native';
@App({
template: `
<ion-nav [root]="root"></ion-nav>
<ion-overlay></ion-overlay>
`,
})
export class MyApp {
constructor(platform: Platform) {
this.platform = platform;
this.initializeApp();
this.root = HomePage;
}
initializeApp() {
this.platform.ready().then(() => {
console.log('Platform ready');
StatusBar.styleDefault();
});
}
}

View File

@@ -1,24 +0,0 @@
// To customize the look and feel of Ionic, you can override
// the Sass variables found in Ionic's source scss files.
// App Color Variables
// ---------------------------------
// It's highly recommended to change the default colors
// to match your app's branding. Ionic uses a Sass map of
// colors so you can add, rename and remove colors as needed.
// The "primary" color is the only required color in the map.
$colors: (primary: #387ef5, secondary: #32db64, danger: #f53d3d, light: #f4f4f4, dark: #222222);
// Ionic Sass
// ---------------------------------
@import "ionic";
// App Sass
// ---------------------------------
// It is recommended to do all of your imports in your files to let webpack build them
// in a module like manner.
// For example - instead of adding the @imports here, create a sass file
// in ./tabs/tabs.scss - then @import your variables there, along with any custom styles.
// Webpack only rebuilds that specific sass file on changes,
// and not the entire bundle, making rebuild times much faster for sass changes

View File

@@ -1,13 +0,0 @@
<ion-navbar *navbar>
<ion-title>
Ionic Native
</ion-title>
</ion-navbar>
<ion-content>
<ion-list>
<button ion-item *ng-for="#plugin of plugins" (click)="choosePlugin(plugin)">
{{plugin.name}}
</button>
</ion-list>
</ion-content>

View File

@@ -1,51 +0,0 @@
import {Page, NavController} from 'ionic/ionic'
import {
ActionSheet,
BarcodeScanner,
BLE,
Camera,
Calendar,
Contacts,
Device,
Facebook,
Geolocation,
Push,
StatusBar,
Toast,
TouchID
} from 'ionic-native';
import {Plugin} from '../plugin/plugin';
@Page({
templateUrl: 'app/home/home.html',
})
export class HomePage {
constructor(nav: NavController) {
this.nav = nav;
this.plugins = [
ActionSheet,
BarcodeScanner,
BLE,
Camera,
Calendar,
Contacts,
Device,
Facebook,
Geolocation,
Push,
StatusBar,
Toast,
TouchID
];
console.log('PLUGINS', this.plugins);
}
choosePlugin(plugin) {
this.nav.push(Plugin, {
plugin: plugin
});
}
}

View File

@@ -1,16 +0,0 @@
<ion-navbar *navbar>
<ion-title>
{{plugin.name}}
</ion-title>
</ion-navbar>
<ion-content>
<ion-input fixed-label>
<textarea [(ng-model)]="content.value" style="height: 150px; font-size: 11px" placeholder="Plugin output will go here as you test methods..."></textarea>
</ion-input>
<ion-list>
<button ion-item *ng-for="#method of methods" (click)="doMethod(method)">
{{method}}()
</button>
</ion-list>
</ion-content>

View File

@@ -1,172 +0,0 @@
import {ElementRef} from 'angular2/angular2';
import {Page, NavParams} from 'ionic/ionic';
import {Camera, Calendar, StatusBar, Toast, ActionSheet, Facebook, Push} from 'ionic-native';
import {safeJSONStringify} from '../util';
// To specify arguments for any plugin calls
var demoArgs = {};
demoArgs[ActionSheet] = {
show: {
'buttonLabels': ['Log out'],
'androidEnableCancelButton' : true, // default false
'winphoneEnableCancelButton' : true, // default false
'addCancelButtonWithLabel': 'Cancel'
}
}
demoArgs[Toast] = {
showWithOptions: [
{
message: "hey there",
duration: "short",
position: "bottom",
addPixelsY: -40 // added a negative value to move it up a bit (default 0)
}
]
}
demoArgs[Facebook] = {
login: [
["public_profile"]
]
};
demoArgs[Push] = {
init: [{
android: {
senderID: "12345679"
},
ios: {
alert: "true",
badge: true,
sound: 'false'
},
windows: {}
}]
}
var demoCode = {};
demoCode[Calendar] = {
createEventInteractively: function() {
Calendar.createEventInteractively("Grab Coffee", "Johnson Public House", new Date(), new Date()).then((event) => {
console.log("Created event", event);
this.output('Created event', event);
})
}
};
demoCode[Facebook] = {
login: function() {
Facebook.login(["public_profile"]).then((userData) => {
console.log("Facebook UserInfo: ", userData);
this.output('Facebook UserInfo: ', userData);
Facebook.getAccessToken().then((token) => {
this.output('Facebook Token: ', token);
console.log("Token: " + token);
});
}, (err) => {
console.error(err);
});
}
}
@Page({
templateUrl: 'app/plugin/plugin.html',
})
export class Plugin {
constructor(params: NavParams, elementRef: ElementRef) {
let el = elementRef.nativeElement;
this.textArea = el.querySelector('textarea');
this.content = {
items: [],
value: ''
};
this.plugin = params.get('plugin');
console.log('Plugin', this.plugin);
this.methods = Object.keys(this.plugin).filter((k) => {
if(typeof this.plugin[k] === 'function') {
return true;
}
return false;
});
}
output(...args) {
var s = args.map((v) => {
if(typeof v === 'object') {
console.log('Stringifying', v);
return safeJSONStringify(v, 4);//JSON.stringify(v);
}
return v;
});
this.content.items.push(s.join(' '));
this.content.value = this.content.items.join();
setTimeout(() => {
this.textArea.scrollTop = this.textArea.scrollHeight;
})
}
doMethod(method) {
let pluginMethodArgEntry = demoArgs[this.plugin];
let pluginCodeEntry = demoCode[this.plugin] && demoCode[this.plugin][method];
let args = [];
if(pluginMethodArgEntry) {
args = [pluginMethodArgEntry[method]] || [];
console.log('Found some default args', args);
}
Toast.showWithOptions({
message: 'Doing ' + this.plugin.name + '.' + method + '()',
duration: "short",
position: "bottom",
addPixelsY: -40 // added a negative value to move it up a bit (default 0)
});
console.log('Doing method', method, 'on Plugin', this.plugin, 'args:', args);
// Run the custom code
if(pluginCodeEntry) {
pluginCodeEntry.apply(this);
return;
}
let v = this.plugin[method].apply(this.plugin, args);
if(v && v.then) {
v.then(() => {
console.log('Success', arguments, this);
this.output(arguments);
}, (err) => {
console.error('Error', err);
this.output(err);
});
} else {
console.log('Response: ', v);
this.output(v);
if(v.subscribe) {
console.log('Observable response, subscribing...');
v.subscribe((val) => {
console.log('Observable val', val);
this.output(val);
}, (err) => {
this.output(err);
console.log('ERROR: Observable', err);
});
}
}
}
}

View File

@@ -1,68 +0,0 @@
export function safeJSONStringify (input, maxDepth)
{
var output,
refs = [],
refsPaths = [];
maxDepth = maxDepth || 5;
function recursion (input, path, depth)
{
var output = {},
pPath,
refIdx;
path = path || "";
depth = depth || 0;
depth++;
if (maxDepth && depth > maxDepth)
{
return "{depth over " + maxDepth + "}";
}
for (var p in input)
{
pPath = (path ? (path+".") : "") + p;
if (typeof input[p] === "function")
{
//output[p] = "{function}";
}
else if (typeof input[p] === "object")
{
/*
refIdx = refs.indexOf(input[p]);
if (-1 !== refIdx)
{
output[p] = recursion(input[p])"{reference to " + refsPaths[refIdx] + "}";
}
else
{
*/
refs.push(input[p]);
refsPaths.push(pPath);
output[p] = recursion(input[p], pPath, depth);
//}
}
else
{
output[p] = input[p];
}
}
return output;
}
if (typeof input === "object")
{
output = recursion(input);
}
else
{
output = input;
}
return JSON.stringify(output);
}

View File

@@ -1,24 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Ionic</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<!--
Looking for a style sheet?
Webpack loads styles as dependencies in your javascript
See www/app/app.js as an example
-->
</head>
<body>
<ion-app></ion-app>
<script src="cordova.js"></script>
<script src="build/js/app.bundle.js"></script>
</body>
</html>

View File

@@ -3,6 +3,8 @@ var minimist = require('minimist');
var uglify = require('gulp-uglify');
var rename = require("gulp-rename");
var tslint = require('gulp-tslint');
var decamelize = require('decamelize');
var replace = require('gulp-replace');
var flagConfig = {
string: ['port', 'version', 'ngVersion', 'animations'],
@@ -25,8 +27,23 @@ gulp.task("minify:dist", function(){
.pipe(gulp.dest('./dist'));
});
gulp.task("tslint", function(){
gulp.src("src/**/*.ts")
.pipe(tslint())
.pipe(tslint.report('verbose'));
gulp.task('lint', function() {
gulp.src('src/**/*.ts')
.pipe(tslint({
formatter: "verbose",
configuration: 'tslint.json'
}))
.pipe(tslint.report())
});
gulp.task('plugin:create', function(){
if(flags.n && flags.n !== ''){
var src = flags.m?'./scripts/templates/wrap-min.tmpl':'./scripts/templates/wrap.tmpl';
return gulp.src(src)
.pipe(replace('PluginName', flags.n))
.pipe(rename(decamelize(flags.n, '-') + '.ts'))
.pipe(gulp.dest('./src/plugins/'));
} else {
console.log("Usage is: gulp plugin:create -n PluginName");
}
});

60
karma.conf.ts Normal file
View File

@@ -0,0 +1,60 @@
const WATCH = process.argv.indexOf('--watch') > -1;
module.exports = config => {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: './',
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine', 'browserify'],
// list of files / patterns to load in the browser
files: [
'test/**/*.spec.ts'
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
'test/**/*.spec.ts': ['browserify']
},
browserify: {
plugin: [ 'tsify' ],
extensions: ['.js', '.ts']
},
phantomjsLauncher: {
// Have phantomjs exit if a ResourceError is encountered (useful if karma exits without killing phantom)
exitOnResourceError: true
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['dots'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: WATCH,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['PhantomJS'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: !WATCH
});
};

View File

@@ -1,3 +0,0 @@
{
"directory": "www/lib"
}

6
ng1demo/.gitignore vendored
View File

@@ -1,6 +0,0 @@
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore
node_modules/
platforms/
plugins/

View File

@@ -1,7 +0,0 @@
{
"name": "HelloIonic",
"private": "true",
"devDependencies": {
"ionic": "driftyco/ionic-bower#1.1.1"
}
}

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.ng1demo111951" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>ng1demo</name>
<description>
An Ionic Framework and Cordova project.
</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">
Ionic Framework Team
</author>
<content src="index.html"/>
<access origin="*"/>
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="android-minSdkVersion" value="16"/>
<preference name="BackupWebStorage" value="none"/>
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true"/>
</feature>
</widget>

View File

@@ -1,51 +0,0 @@
var gulp = require('gulp');
var gutil = require('gulp-util');
var bower = require('bower');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var minifyCss = require('gulp-minify-css');
var rename = require('gulp-rename');
var sh = require('shelljs');
var paths = {
sass: ['./scss/**/*.scss']
};
gulp.task('default', ['sass']);
gulp.task('sass', function(done) {
gulp.src('./scss/ionic.app.scss')
.pipe(sass())
.on('error', sass.logError)
.pipe(gulp.dest('./www/css/'))
.pipe(minifyCss({
keepSpecialComments: 0
}))
.pipe(rename({ extname: '.min.css' }))
.pipe(gulp.dest('./www/css/'))
.on('end', done);
});
gulp.task('watch', function() {
gulp.watch(paths.sass, ['sass']);
});
gulp.task('install', ['git-check'], function() {
return bower.commands.install()
.on('log', function(data) {
gutil.log('bower', gutil.colors.cyan(data.id), data.message);
});
});
gulp.task('git-check', function(done) {
if (!sh.which('git')) {
console.log(
' ' + gutil.colors.red('Git is not installed.'),
'\n Git, the version control system, is required to download Ionic.',
'\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
'\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
);
process.exit(1);
}
done();
});

View File

@@ -1,83 +0,0 @@
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
-->
# Cordova Hooks
This directory may contain scripts used to customize cordova commands. This
directory used to exist at `.cordova/hooks`, but has now been moved to the
project root. Any scripts you add to these directories will be executed before
and after the commands corresponding to the directory name. Useful for
integrating your own build systems or integrating with version control systems.
__Remember__: Make your scripts executable.
## Hook Directories
The following subdirectories will be used for hooks:
after_build/
after_compile/
after_docs/
after_emulate/
after_platform_add/
after_platform_rm/
after_platform_ls/
after_plugin_add/
after_plugin_ls/
after_plugin_rm/
after_plugin_search/
after_prepare/
after_run/
after_serve/
before_build/
before_compile/
before_docs/
before_emulate/
before_platform_add/
before_platform_rm/
before_platform_ls/
before_plugin_add/
before_plugin_ls/
before_plugin_rm/
before_plugin_search/
before_prepare/
before_run/
before_serve/
pre_package/ <-- Windows 8 and Windows Phone only.
## Script Interface
All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables:
* CORDOVA_VERSION - The version of the Cordova-CLI.
* CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios).
* CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer)
* CORDOVA_HOOK - Path to the hook that is being executed.
* CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate)
If a script returns a non-zero exit code, then the parent cordova command will be aborted.
## Writing hooks
We highly recommend writting your hooks using Node.js so that they are
cross-platform. Some good examples are shown here:
[http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/)

View File

@@ -1,94 +0,0 @@
#!/usr/bin/env node
// Add Platform Class
// v1.0
// Automatically adds the platform class to the body tag
// after the `prepare` command. By placing the platform CSS classes
// directly in the HTML built for the platform, it speeds up
// rendering the correct layout/style for the specific platform
// instead of waiting for the JS to figure out the correct classes.
var fs = require('fs');
var path = require('path');
var rootdir = process.argv[2];
function addPlatformBodyTag(indexPath, platform) {
// add the platform class to the body tag
try {
var platformClass = 'platform-' + platform;
var cordovaClass = 'platform-cordova platform-webview';
var html = fs.readFileSync(indexPath, 'utf8');
var bodyTag = findBodyTag(html);
if(!bodyTag) return; // no opening body tag, something's wrong
if(bodyTag.indexOf(platformClass) > -1) return; // already added
var newBodyTag = bodyTag;
var classAttr = findClassAttr(bodyTag);
if(classAttr) {
// body tag has existing class attribute, add the classname
var endingQuote = classAttr.substring(classAttr.length-1);
var newClassAttr = classAttr.substring(0, classAttr.length-1);
newClassAttr += ' ' + platformClass + ' ' + cordovaClass + endingQuote;
newBodyTag = bodyTag.replace(classAttr, newClassAttr);
} else {
// add class attribute to the body tag
newBodyTag = bodyTag.replace('>', ' class="' + platformClass + ' ' + cordovaClass + '">');
}
html = html.replace(bodyTag, newBodyTag);
fs.writeFileSync(indexPath, html, 'utf8');
process.stdout.write('add to body class: ' + platformClass + '\n');
} catch(e) {
process.stdout.write(e);
}
}
function findBodyTag(html) {
// get the body tag
try{
return html.match(/<body(?=[\s>])(.*?)>/gi)[0];
}catch(e){}
}
function findClassAttr(bodyTag) {
// get the body tag's class attribute
try{
return bodyTag.match(/ class=["|'](.*?)["|']/gi)[0];
}catch(e){}
}
if (rootdir) {
// go through each of the platform directories that have been prepared
var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []);
for(var x=0; x<platforms.length; x++) {
// open up the index.html file at the www root
try {
var platform = platforms[x].trim().toLowerCase();
var indexPath;
if(platform == 'android') {
indexPath = path.join('platforms', platform, 'assets', 'www', 'index.html');
} else {
indexPath = path.join('platforms', platform, 'www', 'index.html');
}
if(fs.existsSync(indexPath)) {
addPlatformBodyTag(indexPath, platform);
}
} catch(e) {
process.stdout.write(e);
}
}
}

View File

@@ -1,4 +0,0 @@
{
"name": "ng1demo",
"app_id": ""
}

View File

@@ -1,27 +0,0 @@
{
"name": "ng1demo",
"version": "1.1.1",
"description": "ng1demo: An Ionic project",
"dependencies": {
"gulp": "^3.5.6",
"gulp-concat": "^2.2.0",
"gulp-minify-css": "^0.3.0",
"gulp-rename": "^1.2.0",
"gulp-sass": "^2.0.4",
"ionic-native": "^1.0.7"
},
"devDependencies": {
"bower": "^1.3.3",
"gulp-util": "^2.2.14",
"shelljs": "^0.3.0"
},
"cordovaPlugins": [
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-splashscreen",
"cordova-plugin-statusbar",
"ionic-plugin-keyboard"
],
"cordovaPlatforms": []
}

View File

@@ -1,23 +0,0 @@
/*
To customize the look and feel of Ionic, you can override the variables
in ionic's _variables.scss file.
For example, you might change some of the default colors:
$light: #fff !default;
$stable: #f8f8f8 !default;
$positive: #387ef5 !default;
$calm: #11c1f3 !default;
$balanced: #33cd5f !default;
$energized: #ffc900 !default;
$assertive: #ef473a !default;
$royal: #886aea !default;
$dark: #444 !default;
*/
// The path for our ionicons font files, relative to the built CSS in www/css
$ionicons-font-path: "../lib/ionic/fonts" !default;
// Include all of Ionic
@import "www/lib/ionic/scss/ionic";

View File

@@ -1 +0,0 @@
/* Empty. Add your own CSS if you like */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -1,35 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
<link href="css/ionic.app.css" rel="stylesheet">
-->
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
<!-- your app's js -->
<script src="js/app.js"></script>
<script src="js/bundle.js"></script>
</head>
<body ng-app="starter">
<ion-pane>
<ion-header-bar class="bar-stable">
<h1 class="title">Ionic Blank Starter</h1>
</ion-header-bar>
<ion-content>
</ion-content>
</ion-pane>
</body>
</html>

View File

@@ -1,19 +0,0 @@
// Ionic Starter App
// angular.module is a global place for creating, registering and retrieving Angular modules
// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)
// the 2nd parameter is an array of 'requires'
angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
})

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 326 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +0,0 @@
/*
AngularJS v1.4.3
(c) 2010-2015 Google, Inc. http://angularjs.org
License: MIT
*/
(function(F,t,W){'use strict';function ua(a,b,c){if(!a)throw ngMinErr("areq",b||"?",c||"required");return a}function va(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;X(a)&&(a=a.join(" "));X(b)&&(b=b.join(" "));return a+" "+b}function Ea(a){var b={};a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from);return b}function ba(a,b,c){var d="";a=X(a)?a:a&&U(a)&&a.length?a.split(/\s+/):[];u(a,function(a,s){a&&0<a.length&&(d+=0<s?" ":"",d+=c?b+a:a+b)});return d}function Fa(a){if(a instanceof G)switch(a.length){case 0:return[];
case 1:if(1===a[0].nodeType)return a;break;default:return G(ka(a))}if(1===a.nodeType)return G(a)}function ka(a){if(!a[0])return a;for(var b=0;b<a.length;b++){var c=a[b];if(1==c.nodeType)return c}}function Ga(a,b,c){u(b,function(b){a.addClass(b,c)})}function Ha(a,b,c){u(b,function(b){a.removeClass(b,c)})}function ha(a){return function(b,c){c.addClass&&(Ga(a,b,c.addClass),c.addClass=null);c.removeClass&&(Ha(a,b,c.removeClass),c.removeClass=null)}}function ia(a){a=a||{};if(!a.$$prepared){var b=a.domOperation||
H;a.domOperation=function(){a.$$domOperationFired=!0;b();b=H};a.$$prepared=!0}return a}function ca(a,b){wa(a,b);xa(a,b)}function wa(a,b){b.from&&(a.css(b.from),b.from=null)}function xa(a,b){b.to&&(a.css(b.to),b.to=null)}function R(a,b,c){var d=(b.addClass||"")+" "+(c.addClass||""),e=(b.removeClass||"")+" "+(c.removeClass||"");a=Ia(a.attr("class"),d,e);ya(b,c);b.addClass=a.addClass?a.addClass:null;b.removeClass=a.removeClass?a.removeClass:null;return b}function Ia(a,b,c){function d(a){U(a)&&(a=a.split(" "));
var b={};u(a,function(a){a.length&&(b[a]=!0)});return b}var e={};a=d(a);b=d(b);u(b,function(a,b){e[b]=1});c=d(c);u(c,function(a,b){e[b]=1===e[b]?null:-1});var s={addClass:"",removeClass:""};u(e,function(b,c){var d,e;1===b?(d="addClass",e=!a[c]):-1===b&&(d="removeClass",e=a[c]);e&&(s[d].length&&(s[d]+=" "),s[d]+=c)});return s}function z(a){return a instanceof t.element?a[0]:a}function za(a,b,c){var d=Object.create(null),e=a.getComputedStyle(b)||{};u(c,function(a,b){var c=e[a];if(c){var k=c.charAt(0);
if("-"===k||"+"===k||0<=k)c=Ja(c);0===c&&(c=null);d[b]=c}});return d}function Ja(a){var b=0;a=a.split(/\s*,\s*/);u(a,function(a){"s"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1));a=parseFloat(a)||0;b=b?Math.max(a,b):a});return b}function la(a){return 0===a||null!=a}function Aa(a,b){var c=O,d=a+"s";b?c+="Duration":d+=" linear all";return[c,d]}function ja(a,b){var c=b?"-"+b+"s":"";da(a,[ea,c]);return[ea,c]}function ma(a,b){var c=b?"paused":"",d=V+"PlayState";da(a,[d,c]);return[d,c]}function da(a,
b){a.style[b[0]]=b[1]}function Ba(){var a=Object.create(null);return{flush:function(){a=Object.create(null)},count:function(b){return(b=a[b])?b.total:0},get:function(b){return(b=a[b])&&b.value},put:function(b,c){a[b]?a[b].total++:a[b]={total:1,value:c}}}}var H=t.noop,ya=t.extend,G=t.element,u=t.forEach,X=t.isArray,U=t.isString,na=t.isObject,Ka=t.isUndefined,La=t.isDefined,Ca=t.isFunction,oa=t.isElement,O,pa,V,qa;F.ontransitionend===W&&F.onwebkittransitionend!==W?(O="WebkitTransition",pa="webkitTransitionEnd transitionend"):
(O="transition",pa="transitionend");F.onanimationend===W&&F.onwebkitanimationend!==W?(V="WebkitAnimation",qa="webkitAnimationEnd animationend"):(V="animation",qa="animationend");var ra=V+"Delay",sa=V+"Duration",ea=O+"Delay";F=O+"Duration";var Ma={transitionDuration:F,transitionDelay:ea,transitionProperty:O+"Property",animationDuration:sa,animationDelay:ra,animationIterationCount:V+"IterationCount"},Na={transitionDuration:F,transitionDelay:ea,animationDuration:sa,animationDelay:ra};t.module("ngAnimate",
[]).directive("ngAnimateChildren",[function(){return function(a,b,c){a=c.ngAnimateChildren;t.isString(a)&&0===a.length?b.data("$$ngAnimateChildren",!0):c.$observe("ngAnimateChildren",function(a){b.data("$$ngAnimateChildren","on"===a||"true"===a)})}}]).factory("$$rAFMutex",["$$rAF",function(a){return function(){var b=!1;a(function(){b=!0});return function(c){b?c():a(c)}}}]).factory("$$rAFScheduler",["$$rAF",function(a){function b(a){d.push([].concat(a));c()}function c(){if(d.length){for(var b=[],n=
0;n<d.length;n++){var h=d[n];h.shift()();h.length&&b.push(h)}d=b;e||a(function(){e||c()})}}var d=[],e;b.waitUntilQuiet=function(b){e&&e();e=a(function(){e=null;b();c()})};return b}]).factory("$$AnimateRunner",["$q","$$rAFMutex",function(a,b){function c(a){this.setHost(a);this._doneCallbacks=[];this._runInAnimationFrame=b();this._state=0}c.chain=function(a,b){function c(){if(n===a.length)b(!0);else a[n](function(a){!1===a?b(!1):(n++,c())})}var n=0;c()};c.all=function(a,b){function c(s){h=h&&s;++n===
a.length&&b(h)}var n=0,h=!0;u(a,function(a){a.done(c)})};c.prototype={setHost:function(a){this.host=a||{}},done:function(a){2===this._state?a():this._doneCallbacks.push(a)},progress:H,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){!1===b?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&
this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end();this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel();this._resolve(!1)},complete:function(a){var b=this;0===b._state&&(b._state=1,b._runInAnimationFrame(function(){b._resolve(a)}))},_resolve:function(a){2!==this._state&&(u(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=2)}};return c}]).provider("$$animateQueue",["$animateProvider",
function(a){function b(a,b,c,h){return d[a].some(function(a){return a(b,c,h)})}function c(a,b){a=a||{};var c=0<(a.addClass||"").length,d=0<(a.removeClass||"").length;return b?c&&d:c||d}var d=this.rules={skip:[],cancel:[],join:[]};d.join.push(function(a,b,d){return!b.structural&&c(b.options)});d.skip.push(function(a,b,d){return!b.structural&&!c(b.options)});d.skip.push(function(a,b,c){return"leave"==c.event&&b.structural});d.skip.push(function(a,b,c){return c.structural&&!b.structural});d.cancel.push(function(a,
b,c){return c.structural&&b.structural});d.cancel.push(function(a,b,c){return 2===c.state&&b.structural});d.cancel.push(function(a,b,c){a=b.options;c=c.options;return a.addClass&&a.addClass===c.removeClass||a.removeClass&&a.removeClass===c.addClass});this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite",function(d,s,n,h,k,D,A,Z,I){function w(a,b){var c=z(a),f=[],m=l[b];m&&u(m,function(a){a.node.contains(c)&&f.push(a.callback)});
return f}function B(a,b,c,f){d(function(){u(w(b,a),function(a){a(b,c,f)})})}function r(a,S,p){function d(b,c,f,p){B(c,a,f,p);b.progress(c,f,p)}function g(b){Da(a,p);ca(a,p);p.domOperation();l.complete(!b)}var P,E;if(a=Fa(a))P=z(a),E=a.parent();p=ia(p);var l=new A;if(!P)return g(),l;X(p.addClass)&&(p.addClass=p.addClass.join(" "));X(p.removeClass)&&(p.removeClass=p.removeClass.join(" "));p.from&&!na(p.from)&&(p.from=null);p.to&&!na(p.to)&&(p.to=null);var e=[P.className,p.addClass,p.removeClass].join(" ");
if(!v(e))return g(),l;var M=0<=["enter","move","leave"].indexOf(S),h=!x||L.get(P),e=!h&&m.get(P)||{},k=!!e.state;h||k&&1==e.state||(h=!ta(a,E,S));if(h)return g(),l;M&&K(a);h={structural:M,element:a,event:S,close:g,options:p,runner:l};if(k){if(b("skip",a,h,e)){if(2===e.state)return g(),l;R(a,e.options,p);return e.runner}if(b("cancel",a,h,e))2===e.state?e.runner.end():e.structural?e.close():R(a,h.options,e.options);else if(b("join",a,h,e))if(2===e.state)R(a,p,{});else return S=h.event=e.event,p=R(a,
e.options,h.options),l}else R(a,p,{});(k=h.structural)||(k="animate"===h.event&&0<Object.keys(h.options.to||{}).length||c(h.options));if(!k)return g(),C(a),l;M&&f(E);var r=(e.counter||0)+1;h.counter=r;ga(a,1,h);s.$$postDigest(function(){var b=m.get(P),v=!b,b=b||{},e=a.parent()||[],E=0<e.length&&("animate"===b.event||b.structural||c(b.options));if(v||b.counter!==r||!E){v&&(Da(a,p),ca(a,p));if(v||M&&b.event!==S)p.domOperation(),l.end();E||C(a)}else S=!b.structural&&c(b.options,!0)?"setClass":b.event,
b.structural&&f(e),ga(a,2),b=D(a,S,b.options),b.done(function(b){g(!b);(b=m.get(P))&&b.counter===r&&C(z(a));d(l,S,"close",{})}),l.setHost(b),d(l,S,"start",{})});return l}function K(a){a=z(a).querySelectorAll("[data-ng-animate]");u(a,function(a){var b=parseInt(a.getAttribute("data-ng-animate")),c=m.get(a);switch(b){case 2:c.runner.end();case 1:c&&m.remove(a)}})}function C(a){a=z(a);a.removeAttribute("data-ng-animate");m.remove(a)}function E(a,b){return z(a)===z(b)}function f(a){a=z(a);do{if(!a||1!==
a.nodeType)break;var b=m.get(a);if(b){var f=a;!b.structural&&c(b.options)&&(2===b.state&&b.runner.end(),C(f))}a=a.parentNode}while(1)}function ta(a,b,c){var f=c=!1,d=!1,v;for((a=a.data("$ngAnimatePin"))&&(b=a);b&&b.length;){f||(f=E(b,n));a=b[0];if(1!==a.nodeType)break;var e=m.get(a)||{};d||(d=e.structural||L.get(a));if(Ka(v)||!0===v)a=b.data("$$ngAnimateChildren"),La(a)&&(v=a);if(d&&!1===v)break;f||(f=E(b,n),f||(a=b.data("$ngAnimatePin"))&&(b=a));c||(c=E(b,g));b=b.parent()}return(!d||v)&&f&&c}function ga(a,
b,c){c=c||{};c.state=b;a=z(a);a.setAttribute("data-ng-animate",b);c=(b=m.get(a))?ya(b,c):c;m.put(a,c)}var m=new k,L=new k,x=null,M=s.$watch(function(){return 0===Z.totalPendingRequests},function(a){a&&(M(),s.$$postDigest(function(){s.$$postDigest(function(){null===x&&(x=!0)})}))}),g=G(h[0].body),l={},P=a.classNameFilter(),v=P?function(a){return P.test(a)}:function(){return!0},Da=ha(I);return{on:function(a,b,c){b=ka(b);l[a]=l[a]||[];l[a].push({node:b,callback:c})},off:function(a,b,c){function f(a,
b,c){var d=ka(b);return a.filter(function(a){return!(a.node===d&&(!c||a.callback===c))})}var d=l[a];d&&(l[a]=1===arguments.length?null:f(d,b,c))},pin:function(a,b){ua(oa(a),"element","not an element");ua(oa(b),"parentElement","not an element");a.data("$ngAnimatePin",b)},push:function(a,b,c,f){c=c||{};c.domOperation=f;return r(a,b,c)},enabled:function(a,b){var c=arguments.length;if(0===c)b=!!x;else if(oa(a)){var f=z(a),d=L.get(f);1===c?b=!d:(b=!!b)?d&&L.remove(f):L.put(f,!0)}else b=x=!!a;return b}}}]}]).provider("$$animation",
["$animateProvider",function(a){function b(a){return a.data("$$animationRunner")}var c=this.drivers=[];this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$rAFScheduler",function(a,e,s,n,h){var k=[],D=ha(a),A=0,Z=0,I=[];return function(w,B,r){function K(a){a=a.hasAttribute("ng-animate-ref")?[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];u(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b}function C(a){var b=[],c={};u(a,function(a,f){var d=z(a.element),
m=0<=["enter","move"].indexOf(a.event),d=a.structural?K(d):[];if(d.length){var g=m?"to":"from";u(d,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][g]={animationID:f,element:G(a)}})}else b.push(a)});var f={},d={};u(c,function(c,m){var g=c.from,e=c.to;if(g&&e){var l=a[g.animationID],h=a[e.animationID],x=g.animationID.toString();if(!d[x]){var B=d[x]={structural:!0,beforeStart:function(){l.beforeStart();h.beforeStart()},close:function(){l.close();h.close()},classes:E(l.classes,h.classes),
from:l,to:h,anchors:[]};B.classes.length?b.push(B):(b.push(l),b.push(h))}d[x].anchors.push({out:g.element,"in":e.element})}else g=g?g.animationID:e.animationID,e=g.toString(),f[e]||(f[e]=!0,b.push(a[g]))});return b}function E(a,b){a=a.split(" ");b=b.split(" ");for(var c=[],f=0;f<a.length;f++){var d=a[f];if("ng-"!==d.substring(0,3))for(var g=0;g<b.length;g++)if(d===b[g]){c.push(d);break}}return c.join(" ")}function f(a){for(var b=c.length-1;0<=b;b--){var f=c[b];if(s.has(f)&&(f=s.get(f)(a)))return f}}
function ta(a,c){a.from&&a.to?(b(a.from.element).setHost(c),b(a.to.element).setHost(c)):b(a.element).setHost(c)}function ga(){var a=b(w);!a||"leave"===B&&r.$$domOperationFired||a.end()}function m(b){w.off("$destroy",ga);w.removeData("$$animationRunner");D(w,r);ca(w,r);r.domOperation();g&&a.removeClass(w,g);w.removeClass("ng-animate");x.complete(!b)}r=ia(r);var L=0<=["enter","move","leave"].indexOf(B),x=new n({end:function(){m()},cancel:function(){m(!0)}});if(!c.length)return m(),x;w.data("$$animationRunner",
x);var M=va(w.attr("class"),va(r.addClass,r.removeClass)),g=r.tempClasses;g&&(M+=" "+g,r.tempClasses=null);var l;L||(l=A,A+=1);k.push({element:w,classes:M,event:B,classBasedIndex:l,structural:L,options:r,beforeStart:function(){w.addClass("ng-animate");g&&a.addClass(w,g)},close:m});w.on("$destroy",ga);if(1<k.length)return x;e.$$postDigest(function(){Z=A;A=0;I.length=0;var a=[];u(k,function(c){b(c.element)&&a.push(c)});k.length=0;u(C(a),function(a){function c(){a.beforeStart();var d,g=a.close,e=a.anchors?
a.from.element||a.to.element:a.element;b(e)&&z(e).parentNode&&(e=f(a))&&(d=e.start);d?(d=d(),d.done(function(a){g(!a)}),ta(a,d)):g()}a.structural?c():(I.push({node:z(a.element),fn:c}),a.classBasedIndex===Z-1&&(I=I.sort(function(a,b){return b.node.contains(a.node)}).map(function(a){return a.fn}),h(I)))})});return x}}]}]).provider("$animateCss",["$animateProvider",function(a){var b=Ba(),c=Ba();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$document","$sniffer","$$rAFScheduler",function(a,
e,s,n,h,k,D){function A(a,b){var c=a.parentNode;return(c.$$ngAnimateParentKey||(c.$$ngAnimateParentKey=++r))+"-"+a.getAttribute("class")+"-"+b}function Z(h,f,B,k){var m;0<b.count(B)&&(m=c.get(B),m||(f=ba(f,"-stagger"),e.addClass(h,f),m=za(a,h,k),m.animationDuration=Math.max(m.animationDuration,0),m.transitionDuration=Math.max(m.transitionDuration,0),e.removeClass(h,f),c.put(B,m)));return m||{}}function I(a){C.push(a);D.waitUntilQuiet(function(){b.flush();c.flush();for(var a=K.offsetWidth+1,d=0;d<
C.length;d++)C[d](a);C.length=0})}function w(c,f,e){f=b.get(e);f||(f=za(a,c,Ma),"infinite"===f.animationIterationCount&&(f.animationIterationCount=1));b.put(e,f);c=f;e=c.animationDelay;f=c.transitionDelay;c.maxDelay=e&&f?Math.max(e,f):e||f;c.maxDuration=Math.max(c.animationDuration*c.animationIterationCount,c.transitionDuration);return c}var B=ha(e),r=0,K=z(h).body,C=[];return function(a,c){function d(){m()}function h(){m(!0)}function m(b){if(!(K||C&&D)){K=!0;D=!1;e.removeClass(a,Y);e.removeClass(a,
W);ma(g,!1);ja(g,!1);u(l,function(a){g.style[a[0]]=""});B(a,c);ca(a,c);if(c.onDone)c.onDone();p&&p.complete(!b)}}function L(a){q.blockTransition&&ja(g,a);q.blockKeyframeAnimation&&ma(g,!!a)}function x(){p=new s({end:d,cancel:h});m();return{$$willAnimate:!1,start:function(){return p},end:d}}function M(){function b(){if(!K){L(!1);u(l,function(a){g.style[a[0]]=a[1]});B(a,c);e.addClass(a,W);if(q.recalculateTimingStyles){fa=g.className+" "+Y;$=A(g,fa);y=w(g,fa,$);Q=y.maxDelay;H=Math.max(Q,0);J=y.maxDuration;
if(0===J){m();return}q.hasTransitions=0<y.transitionDuration;q.hasAnimations=0<y.animationDuration}if(q.applyTransitionDelay||q.applyAnimationDelay){Q="boolean"!==typeof c.delay&&la(c.delay)?parseFloat(c.delay):Q;H=Math.max(Q,0);var k;q.applyTransitionDelay&&(y.transitionDelay=Q,k=[ea,Q+"s"],l.push(k),g.style[k[0]]=k[1]);q.applyAnimationDelay&&(y.animationDelay=Q,k=[ra,Q+"s"],l.push(k),g.style[k[0]]=k[1])}F=1E3*H;G=1E3*J;if(c.easing){var r=c.easing;q.hasTransitions&&(k=O+"TimingFunction",l.push([k,
r]),g.style[k]=r);q.hasAnimations&&(k=V+"TimingFunction",l.push([k,r]),g.style[k]=r)}y.transitionDuration&&p.push(pa);y.animationDuration&&p.push(qa);x=Date.now();a.on(p.join(" "),h);n(d,F+1.5*G);xa(a,c)}}function d(){m()}function h(a){a.stopPropagation();var b=a.originalEvent||a;a=b.$manualTimeStamp||b.timeStamp||Date.now();b=parseFloat(b.elapsedTime.toFixed(3));Math.max(a-x,0)>=F&&b>=J&&(C=!0,m())}if(!K)if(g.parentNode){var x,p=[],k=function(a){if(C)D&&a&&(D=!1,m());else if(D=!a,y.animationDuration)if(a=
ma(g,D),D)l.push(a);else{var b=l,c=b.indexOf(a);0<=a&&b.splice(c,1)}},r=0<U&&(y.transitionDuration&&0===T.transitionDuration||y.animationDuration&&0===T.animationDuration)&&Math.max(T.animationDelay,T.transitionDelay);r?n(b,Math.floor(r*U*1E3),!1):b();t.resume=function(){k(!0)};t.pause=function(){k(!1)}}else m()}var g=z(a);if(!g||!g.parentNode)return x();c=ia(c);var l=[],r=a.attr("class"),v=Ea(c),K,D,C,p,t,H,F,J,G;if(0===c.duration||!k.animations&&!k.transitions)return x();var aa=c.event&&X(c.event)?
c.event.join(" "):c.event,R="",N="";aa&&c.structural?R=ba(aa,"ng-",!0):aa&&(R=aa);c.addClass&&(N+=ba(c.addClass,"-add"));c.removeClass&&(N.length&&(N+=" "),N+=ba(c.removeClass,"-remove"));c.applyClassesEarly&&N.length&&(B(a,c),N="");var Y=[R,N].join(" ").trim(),fa=r+" "+Y,W=ba(Y,"-active"),r=v.to&&0<Object.keys(v.to).length;if(!(0<(c.keyframeStyle||"").length||r||Y))return x();var $,T;0<c.stagger?(v=parseFloat(c.stagger),T={transitionDelay:v,animationDelay:v,transitionDuration:0,animationDuration:0}):
($=A(g,fa),T=Z(g,Y,$,Na));e.addClass(a,Y);c.transitionStyle&&(v=[O,c.transitionStyle],da(g,v),l.push(v));0<=c.duration&&(v=0<g.style[O].length,v=Aa(c.duration,v),da(g,v),l.push(v));c.keyframeStyle&&(v=[V,c.keyframeStyle],da(g,v),l.push(v));var U=T?0<=c.staggerIndex?c.staggerIndex:b.count($):0;(aa=0===U)&&ja(g,9999);var y=w(g,fa,$),Q=y.maxDelay;H=Math.max(Q,0);J=y.maxDuration;var q={};q.hasTransitions=0<y.transitionDuration;q.hasAnimations=0<y.animationDuration;q.hasTransitionAll=q.hasTransitions&&
"all"==y.transitionProperty;q.applyTransitionDuration=r&&(q.hasTransitions&&!q.hasTransitionAll||q.hasAnimations&&!q.hasTransitions);q.applyAnimationDuration=c.duration&&q.hasAnimations;q.applyTransitionDelay=la(c.delay)&&(q.applyTransitionDuration||q.hasTransitions);q.applyAnimationDelay=la(c.delay)&&q.hasAnimations;q.recalculateTimingStyles=0<N.length;if(q.applyTransitionDuration||q.applyAnimationDuration)J=c.duration?parseFloat(c.duration):J,q.applyTransitionDuration&&(q.hasTransitions=!0,y.transitionDuration=
J,v=0<g.style[O+"Property"].length,l.push(Aa(J,v))),q.applyAnimationDuration&&(q.hasAnimations=!0,y.animationDuration=J,l.push([sa,J+"s"]));if(0===J&&!q.recalculateTimingStyles)return x();null==c.duration&&0<y.transitionDuration&&(q.recalculateTimingStyles=q.recalculateTimingStyles||aa);F=1E3*H;G=1E3*J;c.skipBlocking||(q.blockTransition=0<y.transitionDuration,q.blockKeyframeAnimation=0<y.animationDuration&&0<T.animationDelay&&0===T.animationDuration);wa(a,c);q.blockTransition||ja(g,!1);L(J);return{$$willAnimate:!0,
end:d,start:function(){if(!K)return t={end:d,cancel:h,resume:null,pause:null},p=new s(t),I(M),p}}}}]}]).provider("$$animateCssDriver",["$$animationProvider",function(a){a.drivers.push("$$animateCssDriver");this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$document","$sniffer",function(a,c,d,e,s,n){function h(a){return a.replace(/\bng-\S+\b/g,"")}function k(a,b){U(a)&&(a=a.split(" "));U(b)&&(b=b.split(" "));return a.filter(function(a){return-1===b.indexOf(a)}).join(" ")}function D(c,
e,A){function D(a){var b={},c=z(a).getBoundingClientRect();u(["width","height","top","left"],function(a){var d=c[a];switch(a){case "top":d+=I.scrollTop;break;case "left":d+=I.scrollLeft}b[a]=Math.floor(d)+"px"});return b}function s(){var c=h(A.attr("class")||""),d=k(c,t),c=k(t,c),d=a(n,{to:D(A),addClass:"ng-anchor-in "+d,removeClass:"ng-anchor-out "+c,delay:!0});return d.$$willAnimate?d:null}function f(){n.remove();e.removeClass("ng-animate-shim");A.removeClass("ng-animate-shim")}var n=G(z(e).cloneNode(!0)),
t=h(n.attr("class")||"");e.addClass("ng-animate-shim");A.addClass("ng-animate-shim");n.addClass("ng-anchor");w.append(n);var m;c=function(){var c=a(n,{addClass:"ng-anchor-out",delay:!0,from:D(e)});return c.$$willAnimate?c:null}();if(!c&&(m=s(),!m))return f();var L=c||m;return{start:function(){function a(){c&&c.end()}var b,c=L.start();c.done(function(){c=null;if(!m&&(m=s()))return c=m.start(),c.done(function(){c=null;f();b.complete()}),c;f();b.complete()});return b=new d({end:a,cancel:a})}}}function A(a,
b,c,e){var h=t(a),f=t(b),k=[];u(e,function(a){(a=D(c,a.out,a["in"]))&&k.push(a)});if(h||f||0!==k.length)return{start:function(){function a(){u(b,function(a){a.end()})}var b=[];h&&b.push(h.start());f&&b.push(f.start());u(k,function(a){b.push(a.start())});var c=new d({end:a,cancel:a});d.all(b,function(a){c.complete(a)});return c}}}function t(c){var d=c.element,e=c.options||{};c.structural?(e.structural=e.applyClassesEarly=!0,e.event=c.event,"leave"===e.event&&(e.onDone=e.domOperation)):e.event=null;
c=a(d,e);return c.$$willAnimate?c:null}if(!n.animations&&!n.transitions)return H;var I=z(s).body;c=z(e);var w=G(I.parentNode===c?I:c);return function(a){return a.from&&a.to?A(a.from,a.to,a.classes,a.anchors):t(a)}}]}]).provider("$$animateJs",["$animateProvider",function(a){this.$get=["$injector","$$AnimateRunner","$$rAFMutex","$$jqLite",function(b,c,d,e){function s(c){c=X(c)?c:c.split(" ");for(var d=[],e={},A=0;A<c.length;A++){var n=c[A],s=a.$$registeredAnimations[n];s&&!e[n]&&(d.push(b.get(s)),e[n]=
!0)}return d}var n=ha(e);return function(a,b,d,e){function t(){e.domOperation();n(a,e)}function z(a,b,d,e,g){switch(d){case "animate":b=[b,e.from,e.to,g];break;case "setClass":b=[b,r,K,g];break;case "addClass":b=[b,r,g];break;case "removeClass":b=[b,K,g];break;default:b=[b,g]}b.push(e);if(a=a.apply(a,b))if(Ca(a.start)&&(a=a.start()),a instanceof c)a.done(g);else if(Ca(a))return a;return H}function w(a,b,d,e,g){var f=[];u(e,function(e){var h=e[g];h&&f.push(function(){var e,g,f=!1,l=function(a){f||
(f=!0,(g||H)(a),e.complete(!a))};e=new c({end:function(){l()},cancel:function(){l(!0)}});g=z(h,a,b,d,function(a){l(!1===a)});return e})});return f}function B(a,b,d,e,g){var f=w(a,b,d,e,g);if(0===f.length){var h,k;"beforeSetClass"===g?(h=w(a,"removeClass",d,e,"beforeRemoveClass"),k=w(a,"addClass",d,e,"beforeAddClass")):"setClass"===g&&(h=w(a,"removeClass",d,e,"removeClass"),k=w(a,"addClass",d,e,"addClass"));h&&(f=f.concat(h));k&&(f=f.concat(k))}if(0!==f.length)return function(a){var b=[];f.length&&
u(f,function(a){b.push(a())});b.length?c.all(b,a):a();return function(a){u(b,function(b){a?b.cancel():b.end()})}}}3===arguments.length&&na(d)&&(e=d,d=null);e=ia(e);d||(d=a.attr("class")||"",e.addClass&&(d+=" "+e.addClass),e.removeClass&&(d+=" "+e.removeClass));var r=e.addClass,K=e.removeClass,C=s(d),E,f;if(C.length){var F,G;"leave"==b?(G="leave",F="afterLeave"):(G="before"+b.charAt(0).toUpperCase()+b.substr(1),F=b);"enter"!==b&&"move"!==b&&(E=B(a,b,e,C,G));f=B(a,b,e,C,F)}if(E||f)return{start:function(){function b(c){n=
!0;t();ca(a,e);g.complete(c)}var d,k=[];E&&k.push(function(a){d=E(a)});k.length?k.push(function(a){t();a(!0)}):t();f&&k.push(function(a){d=f(a)});var n=!1,g=new c({end:function(){n||((d||H)(void 0),b(void 0))},cancel:function(){n||((d||H)(!0),b(!0))}});c.chain(k,b);return g}}}}]}]).provider("$$animateJsDriver",["$$animationProvider",function(a){a.drivers.push("$$animateJsDriver");this.$get=["$$animateJs","$$AnimateRunner",function(a,c){function d(c){return a(c.element,c.event,c.classes,c.options)}
return function(a){if(a.from&&a.to){var b=d(a.from),n=d(a.to);if(b||n)return{start:function(){function a(){return function(){u(d,function(a){a.end()})}}var d=[];b&&d.push(b.start());n&&d.push(n.start());c.all(d,function(a){e.complete(a)});var e=new c({end:a(),cancel:a()});return e}}}else return d(a)}}]}])})(window,window.angular);
//# sourceMappingURL=angular-animate.min.js.map

View File

@@ -1,669 +0,0 @@
/**
* @license AngularJS v1.4.3
* (c) 2010-2015 Google, Inc. http://angularjs.org
* License: MIT
*/
(function(window, angular, undefined) {'use strict';
var $resourceMinErr = angular.$$minErr('$resource');
// Helper functions and regex to lookup a dotted path on an object
// stopping at undefined/null. The path must be composed of ASCII
// identifiers (just like $parse)
var MEMBER_NAME_REGEX = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;
function isValidDottedPath(path) {
return (path != null && path !== '' && path !== 'hasOwnProperty' &&
MEMBER_NAME_REGEX.test('.' + path));
}
function lookupDottedPath(obj, path) {
if (!isValidDottedPath(path)) {
throw $resourceMinErr('badmember', 'Dotted member path "@{0}" is invalid.', path);
}
var keys = path.split('.');
for (var i = 0, ii = keys.length; i < ii && obj !== undefined; i++) {
var key = keys[i];
obj = (obj !== null) ? obj[key] : undefined;
}
return obj;
}
/**
* Create a shallow copy of an object and clear other fields from the destination
*/
function shallowClearAndCopy(src, dst) {
dst = dst || {};
angular.forEach(dst, function(value, key) {
delete dst[key];
});
for (var key in src) {
if (src.hasOwnProperty(key) && !(key.charAt(0) === '$' && key.charAt(1) === '$')) {
dst[key] = src[key];
}
}
return dst;
}
/**
* @ngdoc module
* @name ngResource
* @description
*
* # ngResource
*
* The `ngResource` module provides interaction support with RESTful services
* via the $resource service.
*
*
* <div doc-module-components="ngResource"></div>
*
* See {@link ngResource.$resource `$resource`} for usage.
*/
/**
* @ngdoc service
* @name $resource
* @requires $http
*
* @description
* A factory which creates a resource object that lets you interact with
* [RESTful](http://en.wikipedia.org/wiki/Representational_State_Transfer) server-side data sources.
*
* The returned resource object has action methods which provide high-level behaviors without
* the need to interact with the low level {@link ng.$http $http} service.
*
* Requires the {@link ngResource `ngResource`} module to be installed.
*
* By default, trailing slashes will be stripped from the calculated URLs,
* which can pose problems with server backends that do not expect that
* behavior. This can be disabled by configuring the `$resourceProvider` like
* this:
*
* ```js
app.config(['$resourceProvider', function($resourceProvider) {
// Don't strip trailing slashes from calculated URLs
$resourceProvider.defaults.stripTrailingSlashes = false;
}]);
* ```
*
* @param {string} url A parameterized URL template with parameters prefixed by `:` as in
* `/user/:username`. If you are using a URL with a port number (e.g.
* `http://example.com:8080/api`), it will be respected.
*
* If you are using a url with a suffix, just add the suffix, like this:
* `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json')`
* or even `$resource('http://example.com/resource/:resource_id.:format')`
* If the parameter before the suffix is empty, :resource_id in this case, then the `/.` will be
* collapsed down to a single `.`. If you need this sequence to appear and not collapse then you
* can escape it with `/\.`.
*
* @param {Object=} paramDefaults Default values for `url` parameters. These can be overridden in
* `actions` methods. If any of the parameter value is a function, it will be executed every time
* when a param value needs to be obtained for a request (unless the param was overridden).
*
* Each key value in the parameter object is first bound to url template if present and then any
* excess keys are appended to the url search query after the `?`.
*
* Given a template `/path/:verb` and parameter `{verb:'greet', salutation:'Hello'}` results in
* URL `/path/greet?salutation=Hello`.
*
* If the parameter value is prefixed with `@` then the value for that parameter will be extracted
* from the corresponding property on the `data` object (provided when calling an action method). For
* example, if the `defaultParam` object is `{someParam: '@someProp'}` then the value of `someParam`
* will be `data.someProp`.
*
* @param {Object.<Object>=} actions Hash with declaration of custom actions that should extend
* the default set of resource actions. The declaration should be created in the format of {@link
* ng.$http#usage $http.config}:
*
* {action1: {method:?, params:?, isArray:?, headers:?, ...},
* action2: {method:?, params:?, isArray:?, headers:?, ...},
* ...}
*
* Where:
*
* - **`action`** {string} The name of action. This name becomes the name of the method on
* your resource object.
* - **`method`** {string} Case insensitive HTTP method (e.g. `GET`, `POST`, `PUT`,
* `DELETE`, `JSONP`, etc).
* - **`params`** {Object=} Optional set of pre-bound parameters for this action. If any of
* the parameter value is a function, it will be executed every time when a param value needs to
* be obtained for a request (unless the param was overridden).
* - **`url`** {string} action specific `url` override. The url templating is supported just
* like for the resource-level urls.
* - **`isArray`** {boolean=} If true then the returned object for this action is an array,
* see `returns` section.
* - **`transformRequest`**
* `{function(data, headersGetter)|Array.<function(data, headersGetter)>}`
* transform function or an array of such functions. The transform function takes the http
* request body and headers and returns its transformed (typically serialized) version.
* By default, transformRequest will contain one function that checks if the request data is
* an object and serializes to using `angular.toJson`. To prevent this behavior, set
* `transformRequest` to an empty array: `transformRequest: []`
* - **`transformResponse`**
* `{function(data, headersGetter)|Array.<function(data, headersGetter)>}`
* transform function or an array of such functions. The transform function takes the http
* response body and headers and returns its transformed (typically deserialized) version.
* By default, transformResponse will contain one function that checks if the response looks like
* a JSON string and deserializes it using `angular.fromJson`. To prevent this behavior, set
* `transformResponse` to an empty array: `transformResponse: []`
* - **`cache`** `{boolean|Cache}` If true, a default $http cache will be used to cache the
* GET request, otherwise if a cache instance built with
* {@link ng.$cacheFactory $cacheFactory}, this cache will be used for
* caching.
* - **`timeout`** `{number|Promise}` timeout in milliseconds, or {@link ng.$q promise} that
* should abort the request when resolved.
* - **`withCredentials`** - `{boolean}` - whether to set the `withCredentials` flag on the
* XHR object. See
* [requests with credentials](https://developer.mozilla.org/en/http_access_control#section_5)
* for more information.
* - **`responseType`** - `{string}` - see
* [requestType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType).
* - **`interceptor`** - `{Object=}` - The interceptor object has two optional methods -
* `response` and `responseError`. Both `response` and `responseError` interceptors get called
* with `http response` object. See {@link ng.$http $http interceptors}.
*
* @param {Object} options Hash with custom settings that should extend the
* default `$resourceProvider` behavior. The only supported option is
*
* Where:
*
* - **`stripTrailingSlashes`** {boolean} If true then the trailing
* slashes from any calculated URL will be stripped. (Defaults to true.)
*
* @returns {Object} A resource "class" object with methods for the default set of resource actions
* optionally extended with custom `actions`. The default set contains these actions:
* ```js
* { 'get': {method:'GET'},
* 'save': {method:'POST'},
* 'query': {method:'GET', isArray:true},
* 'remove': {method:'DELETE'},
* 'delete': {method:'DELETE'} };
* ```
*
* Calling these methods invoke an {@link ng.$http} with the specified http method,
* destination and parameters. When the data is returned from the server then the object is an
* instance of the resource class. The actions `save`, `remove` and `delete` are available on it
* as methods with the `$` prefix. This allows you to easily perform CRUD operations (create,
* read, update, delete) on server-side data like this:
* ```js
* var User = $resource('/user/:userId', {userId:'@id'});
* var user = User.get({userId:123}, function() {
* user.abc = true;
* user.$save();
* });
* ```
*
* It is important to realize that invoking a $resource object method immediately returns an
* empty reference (object or array depending on `isArray`). Once the data is returned from the
* server the existing reference is populated with the actual data. This is a useful trick since
* usually the resource is assigned to a model which is then rendered by the view. Having an empty
* object results in no rendering, once the data arrives from the server then the object is
* populated with the data and the view automatically re-renders itself showing the new data. This
* means that in most cases one never has to write a callback function for the action methods.
*
* The action methods on the class object or instance object can be invoked with the following
* parameters:
*
* - HTTP GET "class" actions: `Resource.action([parameters], [success], [error])`
* - non-GET "class" actions: `Resource.action([parameters], postData, [success], [error])`
* - non-GET instance actions: `instance.$action([parameters], [success], [error])`
*
*
* Success callback is called with (value, responseHeaders) arguments, where the value is
* the populated resource instance or collection object. The error callback is called
* with (httpResponse) argument.
*
* Class actions return empty instance (with additional properties below).
* Instance actions return promise of the action.
*
* The Resource instances and collection have these additional properties:
*
* - `$promise`: the {@link ng.$q promise} of the original server interaction that created this
* instance or collection.
*
* On success, the promise is resolved with the same resource instance or collection object,
* updated with data from server. This makes it easy to use in
* {@link ngRoute.$routeProvider resolve section of $routeProvider.when()} to defer view
* rendering until the resource(s) are loaded.
*
* On failure, the promise is resolved with the {@link ng.$http http response} object, without
* the `resource` property.
*
* If an interceptor object was provided, the promise will instead be resolved with the value
* returned by the interceptor.
*
* - `$resolved`: `true` after first server interaction is completed (either with success or
* rejection), `false` before that. Knowing if the Resource has been resolved is useful in
* data-binding.
*
* @example
*
* # Credit card resource
*
* ```js
// Define CreditCard class
var CreditCard = $resource('/user/:userId/card/:cardId',
{userId:123, cardId:'@id'}, {
charge: {method:'POST', params:{charge:true}}
});
// We can retrieve a collection from the server
var cards = CreditCard.query(function() {
// GET: /user/123/card
// server returns: [ {id:456, number:'1234', name:'Smith'} ];
var card = cards[0];
// each item is an instance of CreditCard
expect(card instanceof CreditCard).toEqual(true);
card.name = "J. Smith";
// non GET methods are mapped onto the instances
card.$save();
// POST: /user/123/card/456 {id:456, number:'1234', name:'J. Smith'}
// server returns: {id:456, number:'1234', name: 'J. Smith'};
// our custom method is mapped as well.
card.$charge({amount:9.99});
// POST: /user/123/card/456?amount=9.99&charge=true {id:456, number:'1234', name:'J. Smith'}
});
// we can create an instance as well
var newCard = new CreditCard({number:'0123'});
newCard.name = "Mike Smith";
newCard.$save();
// POST: /user/123/card {number:'0123', name:'Mike Smith'}
// server returns: {id:789, number:'0123', name: 'Mike Smith'};
expect(newCard.id).toEqual(789);
* ```
*
* The object returned from this function execution is a resource "class" which has "static" method
* for each action in the definition.
*
* Calling these methods invoke `$http` on the `url` template with the given `method`, `params` and
* `headers`.
* When the data is returned from the server then the object is an instance of the resource type and
* all of the non-GET methods are available with `$` prefix. This allows you to easily support CRUD
* operations (create, read, update, delete) on server-side data.
```js
var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123}, function(user) {
user.abc = true;
user.$save();
});
```
*
* It's worth noting that the success callback for `get`, `query` and other methods gets passed
* in the response that came from the server as well as $http header getter function, so one
* could rewrite the above example and get access to http headers as:
*
```js
var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123}, function(u, getResponseHeaders){
u.abc = true;
u.$save(function(u, putResponseHeaders) {
//u => saved user object
//putResponseHeaders => $http header getter
});
});
```
*
* You can also access the raw `$http` promise via the `$promise` property on the object returned
*
```
var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123})
.$promise.then(function(user) {
$scope.user = user;
});
```
* # Creating a custom 'PUT' request
* In this example we create a custom method on our resource to make a PUT request
* ```js
* var app = angular.module('app', ['ngResource', 'ngRoute']);
*
* // Some APIs expect a PUT request in the format URL/object/ID
* // Here we are creating an 'update' method
* app.factory('Notes', ['$resource', function($resource) {
* return $resource('/notes/:id', null,
* {
* 'update': { method:'PUT' }
* });
* }]);
*
* // In our controller we get the ID from the URL using ngRoute and $routeParams
* // We pass in $routeParams and our Notes factory along with $scope
* app.controller('NotesCtrl', ['$scope', '$routeParams', 'Notes',
function($scope, $routeParams, Notes) {
* // First get a note object from the factory
* var note = Notes.get({ id:$routeParams.id });
* $id = note.id;
*
* // Now call update passing in the ID first then the object you are updating
* Notes.update({ id:$id }, note);
*
* // This will PUT /notes/ID with the note object in the request payload
* }]);
* ```
*/
angular.module('ngResource', ['ng']).
provider('$resource', function() {
var provider = this;
this.defaults = {
// Strip slashes by default
stripTrailingSlashes: true,
// Default actions configuration
actions: {
'get': {method: 'GET'},
'save': {method: 'POST'},
'query': {method: 'GET', isArray: true},
'remove': {method: 'DELETE'},
'delete': {method: 'DELETE'}
}
};
this.$get = ['$http', '$q', function($http, $q) {
var noop = angular.noop,
forEach = angular.forEach,
extend = angular.extend,
copy = angular.copy,
isFunction = angular.isFunction;
/**
* We need our custom method because encodeURIComponent is too aggressive and doesn't follow
* http://www.ietf.org/rfc/rfc3986.txt with regards to the character set
* (pchar) allowed in path segments:
* segment = *pchar
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
* pct-encoded = "%" HEXDIG HEXDIG
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
* sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
* / "*" / "+" / "," / ";" / "="
*/
function encodeUriSegment(val) {
return encodeUriQuery(val, true).
replace(/%26/gi, '&').
replace(/%3D/gi, '=').
replace(/%2B/gi, '+');
}
/**
* This method is intended for encoding *key* or *value* parts of query component. We need a
* custom method because encodeURIComponent is too aggressive and encodes stuff that doesn't
* have to be encoded per http://tools.ietf.org/html/rfc3986:
* query = *( pchar / "/" / "?" )
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
* pct-encoded = "%" HEXDIG HEXDIG
* sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
* / "*" / "+" / "," / ";" / "="
*/
function encodeUriQuery(val, pctEncodeSpaces) {
return encodeURIComponent(val).
replace(/%40/gi, '@').
replace(/%3A/gi, ':').
replace(/%24/g, '$').
replace(/%2C/gi, ',').
replace(/%20/g, (pctEncodeSpaces ? '%20' : '+'));
}
function Route(template, defaults) {
this.template = template;
this.defaults = extend({}, provider.defaults, defaults);
this.urlParams = {};
}
Route.prototype = {
setUrlParams: function(config, params, actionUrl) {
var self = this,
url = actionUrl || self.template,
val,
encodedVal;
var urlParams = self.urlParams = {};
forEach(url.split(/\W/), function(param) {
if (param === 'hasOwnProperty') {
throw $resourceMinErr('badname', "hasOwnProperty is not a valid parameter name.");
}
if (!(new RegExp("^\\d+$").test(param)) && param &&
(new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) {
urlParams[param] = true;
}
});
url = url.replace(/\\:/g, ':');
params = params || {};
forEach(self.urlParams, function(_, urlParam) {
val = params.hasOwnProperty(urlParam) ? params[urlParam] : self.defaults[urlParam];
if (angular.isDefined(val) && val !== null) {
encodedVal = encodeUriSegment(val);
url = url.replace(new RegExp(":" + urlParam + "(\\W|$)", "g"), function(match, p1) {
return encodedVal + p1;
});
} else {
url = url.replace(new RegExp("(\/?):" + urlParam + "(\\W|$)", "g"), function(match,
leadingSlashes, tail) {
if (tail.charAt(0) == '/') {
return tail;
} else {
return leadingSlashes + tail;
}
});
}
});
// strip trailing slashes and set the url (unless this behavior is specifically disabled)
if (self.defaults.stripTrailingSlashes) {
url = url.replace(/\/+$/, '') || '/';
}
// then replace collapse `/.` if found in the last URL path segment before the query
// E.g. `http://url.com/id./format?q=x` becomes `http://url.com/id.format?q=x`
url = url.replace(/\/\.(?=\w+($|\?))/, '.');
// replace escaped `/\.` with `/.`
config.url = url.replace(/\/\\\./, '/.');
// set params - delegate param encoding to $http
forEach(params, function(value, key) {
if (!self.urlParams[key]) {
config.params = config.params || {};
config.params[key] = value;
}
});
}
};
function resourceFactory(url, paramDefaults, actions, options) {
var route = new Route(url, options);
actions = extend({}, provider.defaults.actions, actions);
function extractParams(data, actionParams) {
var ids = {};
actionParams = extend({}, paramDefaults, actionParams);
forEach(actionParams, function(value, key) {
if (isFunction(value)) { value = value(); }
ids[key] = value && value.charAt && value.charAt(0) == '@' ?
lookupDottedPath(data, value.substr(1)) : value;
});
return ids;
}
function defaultResponseInterceptor(response) {
return response.resource;
}
function Resource(value) {
shallowClearAndCopy(value || {}, this);
}
Resource.prototype.toJSON = function() {
var data = extend({}, this);
delete data.$promise;
delete data.$resolved;
return data;
};
forEach(actions, function(action, name) {
var hasBody = /^(POST|PUT|PATCH)$/i.test(action.method);
Resource[name] = function(a1, a2, a3, a4) {
var params = {}, data, success, error;
/* jshint -W086 */ /* (purposefully fall through case statements) */
switch (arguments.length) {
case 4:
error = a4;
success = a3;
//fallthrough
case 3:
case 2:
if (isFunction(a2)) {
if (isFunction(a1)) {
success = a1;
error = a2;
break;
}
success = a2;
error = a3;
//fallthrough
} else {
params = a1;
data = a2;
success = a3;
break;
}
case 1:
if (isFunction(a1)) success = a1;
else if (hasBody) data = a1;
else params = a1;
break;
case 0: break;
default:
throw $resourceMinErr('badargs',
"Expected up to 4 arguments [params, data, success, error], got {0} arguments",
arguments.length);
}
/* jshint +W086 */ /* (purposefully fall through case statements) */
var isInstanceCall = this instanceof Resource;
var value = isInstanceCall ? data : (action.isArray ? [] : new Resource(data));
var httpConfig = {};
var responseInterceptor = action.interceptor && action.interceptor.response ||
defaultResponseInterceptor;
var responseErrorInterceptor = action.interceptor && action.interceptor.responseError ||
undefined;
forEach(action, function(value, key) {
if (key != 'params' && key != 'isArray' && key != 'interceptor') {
httpConfig[key] = copy(value);
}
});
if (hasBody) httpConfig.data = data;
route.setUrlParams(httpConfig,
extend({}, extractParams(data, action.params || {}), params),
action.url);
var promise = $http(httpConfig).then(function(response) {
var data = response.data,
promise = value.$promise;
if (data) {
// Need to convert action.isArray to boolean in case it is undefined
// jshint -W018
if (angular.isArray(data) !== (!!action.isArray)) {
throw $resourceMinErr('badcfg',
'Error in resource configuration for action `{0}`. Expected response to ' +
'contain an {1} but got an {2} (Request: {3} {4})', name, action.isArray ? 'array' : 'object',
angular.isArray(data) ? 'array' : 'object', httpConfig.method, httpConfig.url);
}
// jshint +W018
if (action.isArray) {
value.length = 0;
forEach(data, function(item) {
if (typeof item === "object") {
value.push(new Resource(item));
} else {
// Valid JSON values may be string literals, and these should not be converted
// into objects. These items will not have access to the Resource prototype
// methods, but unfortunately there
value.push(item);
}
});
} else {
shallowClearAndCopy(data, value);
value.$promise = promise;
}
}
value.$resolved = true;
response.resource = value;
return response;
}, function(response) {
value.$resolved = true;
(error || noop)(response);
return $q.reject(response);
});
promise = promise.then(
function(response) {
var value = responseInterceptor(response);
(success || noop)(value, response.headers);
return value;
},
responseErrorInterceptor);
if (!isInstanceCall) {
// we are creating instance / collection
// - set the initial promise
// - return the instance / collection
value.$promise = promise;
value.$resolved = false;
return value;
}
// instance call
return promise;
};
Resource.prototype['$' + name] = function(params, success, error) {
if (isFunction(params)) {
error = success; success = params; params = {};
}
var result = Resource[name].call(this, params, this, success, error);
return result.$promise || result;
};
});
Resource.bind = function(additionalParamDefaults) {
return resourceFactory(url, extend({}, paramDefaults, additionalParamDefaults), actions);
};
return Resource;
}
return resourceFactory;
}];
});
})(window, window.angular);

Some files were not shown because too many files have changed in this diff Show More