forked from CIT/Vmeda.Online
		
	MOBILE-2403 core: Install fileopener and implement openFile
This commit is contained in:
		
							parent
							
								
									07976a2a9a
								
							
						
					
					
						commit
						35d854f93e
					
				| @ -115,7 +115,6 @@ | ||||
|     <plugin name="ionic-plugin-keyboard" spec="2.2.1" /> | ||||
|     <plugin name="cordova-plugin-zip" spec="3.1.0" /> | ||||
|     <plugin name="cordova-plugin-local-notifications-mm" /> | ||||
|     <plugin name="net.tunts.webintent" spec="https://github.com/Tunts/WebIntent.git" /> | ||||
|     <plugin name="ch.ti8m.documenthandler" spec="https://github.com/ti8m/DocumentHandler.git" /> | ||||
|     <plugin name="cordova-sqlite-storage" spec="2.0.4" /> | ||||
|     <plugin name="cordova-plugin-file-opener2" spec="~2.0.19" /> | ||||
| </widget> | ||||
|  | ||||
							
								
								
									
										198
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										198
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -7,7 +7,7 @@ | ||||
|     "7zip-bin": { | ||||
|       "version": "2.2.7", | ||||
|       "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.2.7.tgz", | ||||
|       "integrity": "sha1-ckgCuNa9oL8s/mGkuGqCDvyOzpM=", | ||||
|       "integrity": "sha512-+rr4OgeTNrLuJAf09o3USdttEYiXvZshWMkhD6wR9v1ieXH0JM1Q2yT41/cJuJcqiPpSXlM/g3aR+Y5MWQdr0Q==", | ||||
|       "optional": true, | ||||
|       "requires": { | ||||
|         "7zip-bin-linux": "1.3.1", | ||||
| @ -48,7 +48,7 @@ | ||||
|     "@angular/animations": { | ||||
|       "version": "5.2.9", | ||||
|       "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.9.tgz", | ||||
|       "integrity": "sha1-Ig25+1pSoZPbACPXIbI93SWnV3A=", | ||||
|       "integrity": "sha512-H/3fMs4PhYjKoA81II6D0PHifDrqlKet2u/EXzUBq3ehXby+N/0GBzqsBYwPeU5pTye7WPFfW+5sgoJpN8Ye6Q==", | ||||
|       "requires": { | ||||
|         "tslib": "1.8.1" | ||||
|       } | ||||
| @ -123,7 +123,7 @@ | ||||
|     "@ionic-native/badge": { | ||||
|       "version": "4.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/badge/-/badge-4.6.0.tgz", | ||||
|       "integrity": "sha1-/L4+HDpd9skKhtC2LZzBJ2so0JA=" | ||||
|       "integrity": "sha512-tzPqvETj5OEDdo3nlgMbMaCnuJ9+8RzCat3yOxtpRt3IWfYFgPqr7CrKYgQF68UBg/7S5Gc1l4OmM0f3yQru7w==" | ||||
|     }, | ||||
|     "@ionic-native/camera": { | ||||
|       "version": "4.5.2", | ||||
| @ -138,18 +138,23 @@ | ||||
|     "@ionic-native/core": { | ||||
|       "version": "4.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-4.3.0.tgz", | ||||
|       "integrity": "sha1-DWE7tsh3kUaUlRQpnKHAJhHjCKk=" | ||||
|       "integrity": "sha512-Pf0qCzqlVFmIpZpvo35Kl0e+1K8GUgPMcKBnN57gWh+5Ecj3dPcb+MbP4murJo/dnFsIYPYdXRZRf74hjo6gtw==" | ||||
|     }, | ||||
|     "@ionic-native/device": { | ||||
|       "version": "4.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-4.6.0.tgz", | ||||
|       "integrity": "sha1-NvvxsjbfFqmNgKxz9gzJsp6aHps=" | ||||
|       "integrity": "sha512-xHXmfoRQ0aAJRiD3ZmHOExfQTbgv4Bgu6aDeGVOQ2vo5ZShIvHR1zvhjZ65Avg0tNf3Bz4ZqRIYpSENj77XI5g==" | ||||
|     }, | ||||
|     "@ionic-native/file": { | ||||
|       "version": "4.5.2", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-4.5.2.tgz", | ||||
|       "integrity": "sha512-6XmK6oFHpVCbZNAJffX09UWxQvwNcKMTy1qKu6iXzxRoEuhsGEls17B1COA+fr2JuPwitxGm14ZzsBXN5pPLiA==" | ||||
|     }, | ||||
|     "@ionic-native/file-opener": { | ||||
|       "version": "4.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/file-opener/-/file-opener-4.7.0.tgz", | ||||
|       "integrity": "sha512-xaqAl3UJWR0kV/wZcKWmzvBO21iNe+Lk2ef9rQK+DDd/lKrtew7cZRQ7CPQGxPdW13t9ES4DeMiSpfkIgXQzYQ==" | ||||
|     }, | ||||
|     "@ionic-native/file-transfer": { | ||||
|       "version": "4.5.2", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-4.5.2.tgz", | ||||
| @ -188,12 +193,12 @@ | ||||
|     "@ionic-native/push": { | ||||
|       "version": "4.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/push/-/push-4.6.0.tgz", | ||||
|       "integrity": "sha1-TeQ/Wl0rTW/ARaEvTtJjs1240GM=" | ||||
|       "integrity": "sha512-fBVZotifaGD7bJNenLfm1QmPFg4mwUfYfURDskDIEPhxw6tpk6uAw6ZYtpadEP4bMfEa/gmcF75aHblFYfNQSw==" | ||||
|     }, | ||||
|     "@ionic-native/splash-screen": { | ||||
|       "version": "4.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-4.3.0.tgz", | ||||
|       "integrity": "sha1-nesHr88QWYByM6p9kNbkQfbss3I=" | ||||
|       "integrity": "sha512-psShN4u3hiLkuva8GaCUqwFuVrd8nizXxM8n0eZyFdXedFHFF3CqBMPzPdH98fcoseyOD7QekOtrm0lV6QlD8w==" | ||||
|     }, | ||||
|     "@ionic-native/sqlite": { | ||||
|       "version": "4.5.2", | ||||
| @ -203,7 +208,7 @@ | ||||
|     "@ionic-native/status-bar": { | ||||
|       "version": "4.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-4.3.0.tgz", | ||||
|       "integrity": "sha1-3bFoYaIscjXAc3uk4OUSfJruSs4=" | ||||
|       "integrity": "sha512-gjS0U2uT6XYshysvzNu98Pf6b5SZ7SGSYkZW1mft19geFn6/MKunX1CJkjpXmiTn14nAD1+FBxF43Oi2OfoM4g==" | ||||
|     }, | ||||
|     "@ionic-native/zip": { | ||||
|       "version": "4.5.2", | ||||
| @ -375,12 +380,12 @@ | ||||
|     "@types/promise.prototype.finally": { | ||||
|       "version": "2.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/@types/promise.prototype.finally/-/promise.prototype.finally-2.0.2.tgz", | ||||
|       "integrity": "sha1-aP77jw4j8hiTozdAyTHHn0S+NJk=" | ||||
|       "integrity": "sha512-Fs99h+iFQZ4ZY2vO3+uJCrx+5KQnJ4FPerZ3oT/1L5aA7vnmK/d7Z/Ml1yHtNCh9UQcjFTR4Xo/Jss2f39Fgtw==" | ||||
|     }, | ||||
|     "abbrev": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | ||||
|       "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", | ||||
|       "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "accepts": { | ||||
| @ -477,7 +482,7 @@ | ||||
|     "anymatch": { | ||||
|       "version": "1.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", | ||||
|       "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", | ||||
|       "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", | ||||
|       "requires": { | ||||
|         "micromatch": "2.3.11", | ||||
|         "normalize-path": "2.1.1" | ||||
| @ -486,7 +491,7 @@ | ||||
|     "aproba": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", | ||||
|       "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", | ||||
|       "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "archiver": { | ||||
| @ -552,7 +557,7 @@ | ||||
|     "arr-flatten": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", | ||||
|       "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" | ||||
|       "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" | ||||
|     }, | ||||
|     "array-differ": { | ||||
|       "version": "1.0.0", | ||||
| @ -581,7 +586,7 @@ | ||||
|     "array-slice": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", | ||||
|       "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=", | ||||
|       "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "array-uniq": { | ||||
| @ -630,7 +635,7 @@ | ||||
|     "async": { | ||||
|       "version": "2.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", | ||||
|       "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", | ||||
|       "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", | ||||
|       "requires": { | ||||
|         "lodash": "4.17.5" | ||||
|       } | ||||
| @ -643,7 +648,7 @@ | ||||
|     "async-exit-hook": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", | ||||
|       "integrity": "sha1-i9iwJLDsmxwBzMua+dspvXF9+vM=" | ||||
|       "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==" | ||||
|     }, | ||||
|     "async-foreach": { | ||||
|       "version": "0.1.3", | ||||
| @ -654,7 +659,7 @@ | ||||
|     "async-limiter": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", | ||||
|       "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=", | ||||
|       "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "asynckit": { | ||||
| @ -757,7 +762,7 @@ | ||||
|     "big.js": { | ||||
|       "version": "3.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", | ||||
|       "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", | ||||
|       "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "binary-extensions": { | ||||
| @ -815,12 +820,12 @@ | ||||
|     "bluebird": { | ||||
|       "version": "3.5.1", | ||||
|       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", | ||||
|       "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" | ||||
|       "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" | ||||
|     }, | ||||
|     "bluebird-lst": { | ||||
|       "version": "1.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz", | ||||
|       "integrity": "sha1-vryDAmt+kqcocaPcWZ4hnL+wAqk=", | ||||
|       "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==", | ||||
|       "requires": { | ||||
|         "bluebird": "3.5.1" | ||||
|       } | ||||
| @ -828,7 +833,7 @@ | ||||
|     "bn.js": { | ||||
|       "version": "4.11.8", | ||||
|       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", | ||||
|       "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", | ||||
|       "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "body": { | ||||
| @ -986,7 +991,7 @@ | ||||
|     "browserify-zlib": { | ||||
|       "version": "0.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", | ||||
|       "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", | ||||
|       "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "pako": "1.0.6" | ||||
| @ -1027,7 +1032,7 @@ | ||||
|     "builder-util": { | ||||
|       "version": "4.2.5", | ||||
|       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-4.2.5.tgz", | ||||
|       "integrity": "sha1-urwZDi8sNoFJdjK1zCdPFUOqkmQ=", | ||||
|       "integrity": "sha512-zc3mm9ThI0WP3ghHBtrWDTiV+YiuePCFey1ncbZT0HTB6kckrUG6I6dj2tuE+hzQQAuUZh53CTMmo3V+XMxPoA==", | ||||
|       "requires": { | ||||
|         "7zip-bin": "3.0.0", | ||||
|         "bluebird-lst": "1.0.5", | ||||
| @ -1049,7 +1054,7 @@ | ||||
|         "7zip-bin": { | ||||
|           "version": "3.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-3.0.0.tgz", | ||||
|           "integrity": "sha1-F0FtxUL0FRGyapZnuShH117xUP4=" | ||||
|           "integrity": "sha512-CYsciSeLZvl+hlJiDBBEh987fyqvFFFJG3nZi8QbNYgmgxNOzf+kyYuAYIR48CTc/X6SX5d5KtTgvkUlj9jLQA==" | ||||
|         }, | ||||
|         "debug": { | ||||
|           "version": "3.1.0", | ||||
| @ -1169,6 +1174,39 @@ | ||||
|         "supports-color": "5.3.0" | ||||
|       } | ||||
|     }, | ||||
|     "chart.js": { | ||||
|       "version": "2.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.2.tgz", | ||||
|       "integrity": "sha512-90wl3V9xRZ8tnMvMlpcW+0Yg13BelsGS9P9t0ClaDxv/hdypHDr/YAGf+728m11P5ljwyB0ZHfPKCapZFqSqYA==", | ||||
|       "requires": { | ||||
|         "chartjs-color": "2.2.0", | ||||
|         "moment": "2.19.4" | ||||
|       } | ||||
|     }, | ||||
|     "chartjs-color": { | ||||
|       "version": "2.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz", | ||||
|       "integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=", | ||||
|       "requires": { | ||||
|         "chartjs-color-string": "0.5.0", | ||||
|         "color-convert": "0.5.3" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "color-convert": { | ||||
|           "version": "0.5.3", | ||||
|           "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", | ||||
|           "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "chartjs-color-string": { | ||||
|       "version": "0.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz", | ||||
|       "integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==", | ||||
|       "requires": { | ||||
|         "color-name": "1.1.3" | ||||
|       } | ||||
|     }, | ||||
|     "chokidar": { | ||||
|       "version": "1.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", | ||||
| @ -1193,7 +1231,7 @@ | ||||
|     "cipher-base": { | ||||
|       "version": "1.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", | ||||
|       "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", | ||||
|       "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "inherits": "2.0.3", | ||||
| @ -1247,7 +1285,7 @@ | ||||
|     "color-convert": { | ||||
|       "version": "1.9.1", | ||||
|       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", | ||||
|       "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", | ||||
|       "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", | ||||
|       "requires": { | ||||
|         "color-name": "1.1.3" | ||||
|       } | ||||
| @ -1318,7 +1356,7 @@ | ||||
|     "content-type": { | ||||
|       "version": "1.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||||
|       "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", | ||||
|       "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "continuable-cache": { | ||||
| @ -1422,7 +1460,7 @@ | ||||
|     "crypto-browserify": { | ||||
|       "version": "3.12.0", | ||||
|       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", | ||||
|       "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", | ||||
|       "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "browserify-cipher": "1.0.0", | ||||
| @ -1772,7 +1810,7 @@ | ||||
|     "es-abstract": { | ||||
|       "version": "1.10.0", | ||||
|       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", | ||||
|       "integrity": "sha1-Hss2wZeEKgDY7kwt/YZGu5fWCGQ=", | ||||
|       "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", | ||||
|       "requires": { | ||||
|         "es-to-primitive": "1.1.1", | ||||
|         "function-bind": "1.1.1", | ||||
| @ -1913,7 +1951,7 @@ | ||||
|     "estree-walker": { | ||||
|       "version": "0.5.1", | ||||
|       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.1.tgz", | ||||
|       "integrity": "sha1-ZPw3UFOrxvV9c+m9LwBGRK08WFQ=", | ||||
|       "integrity": "sha512-7HgCgz1axW7w5aOvgOQkoR1RMBkllygJrssU3BvymKQ95lxXYv6Pon17fBRDm9qhkvXZGijOULoSF9ShOk/ZLg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "esutils": { | ||||
| @ -1947,7 +1985,7 @@ | ||||
|     "evp_bytestokey": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", | ||||
|       "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", | ||||
|       "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "md5.js": "1.3.4", | ||||
| @ -3187,7 +3225,7 @@ | ||||
|     "function-bind": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||||
|       "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" | ||||
|       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" | ||||
|     }, | ||||
|     "gauge": { | ||||
|       "version": "2.7.4", | ||||
| @ -3267,7 +3305,7 @@ | ||||
|     "glob": { | ||||
|       "version": "7.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", | ||||
|       "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", | ||||
|       "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", | ||||
|       "requires": { | ||||
|         "fs.realpath": "1.0.0", | ||||
|         "inflight": "1.0.6", | ||||
| @ -3774,7 +3812,7 @@ | ||||
|     "hash.js": { | ||||
|       "version": "1.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", | ||||
|       "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=", | ||||
|       "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "inherits": "2.0.3", | ||||
| @ -3863,7 +3901,7 @@ | ||||
|     "iconv-lite": { | ||||
|       "version": "0.4.19", | ||||
|       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", | ||||
|       "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", | ||||
|       "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "ieee754": { | ||||
| @ -3915,7 +3953,7 @@ | ||||
|     "ini": { | ||||
|       "version": "1.3.5", | ||||
|       "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", | ||||
|       "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" | ||||
|       "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" | ||||
|     }, | ||||
|     "interpret": { | ||||
|       "version": "1.1.0", | ||||
| @ -3932,7 +3970,7 @@ | ||||
|     "ionic-angular": { | ||||
|       "version": "3.9.2", | ||||
|       "resolved": "https://registry.npmjs.org/ionic-angular/-/ionic-angular-3.9.2.tgz", | ||||
|       "integrity": "sha1-dQU+SkIqqufXzWaMySz9XLKdOMw=" | ||||
|       "integrity": "sha512-BEZ6magY1i5GwM9ki/MOpszUz62+g518HsGICtw9TE1D4v9Eb6n/o7e+X0vtvpK4TdouFjQ8r5XA9VPAKW9/+Q==" | ||||
|     }, | ||||
|     "ionicons": { | ||||
|       "version": "3.0.0", | ||||
| @ -3972,7 +4010,7 @@ | ||||
|     "is-buffer": { | ||||
|       "version": "1.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", | ||||
|       "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" | ||||
|       "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" | ||||
|     }, | ||||
|     "is-builtin-module": { | ||||
|       "version": "1.0.0", | ||||
| @ -4091,7 +4129,7 @@ | ||||
|     "is-plain-object": { | ||||
|       "version": "2.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", | ||||
|       "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", | ||||
|       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "isobject": "3.0.1" | ||||
| @ -4232,7 +4270,7 @@ | ||||
|     "json-loader": { | ||||
|       "version": "0.5.7", | ||||
|       "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", | ||||
|       "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=", | ||||
|       "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "json-schema": { | ||||
| @ -4296,7 +4334,7 @@ | ||||
|     "jszip": { | ||||
|       "version": "3.1.5", | ||||
|       "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", | ||||
|       "integrity": "sha1-48KmxtcGrG5gMxQDbUPNQL7v3zc=", | ||||
|       "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", | ||||
|       "requires": { | ||||
|         "core-js": "2.3.0", | ||||
|         "es6-promise": "3.0.2", | ||||
| @ -4629,7 +4667,7 @@ | ||||
|     "macos-release": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", | ||||
|       "integrity": "sha1-gxlF4pNltHCqhySwqzbI+JWdEPs=", | ||||
|       "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "magic-string": { | ||||
| @ -4753,7 +4791,7 @@ | ||||
|     "miller-rabin": { | ||||
|       "version": "4.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", | ||||
|       "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", | ||||
|       "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "bn.js": "4.11.8", | ||||
| @ -4763,7 +4801,7 @@ | ||||
|     "mime": { | ||||
|       "version": "1.4.1", | ||||
|       "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", | ||||
|       "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", | ||||
|       "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "mime-db": { | ||||
| @ -4802,7 +4840,7 @@ | ||||
|     "minimatch": { | ||||
|       "version": "3.0.4", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||||
|       "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", | ||||
|       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||||
|       "requires": { | ||||
|         "brace-expansion": "1.1.8" | ||||
|       } | ||||
| @ -4907,7 +4945,7 @@ | ||||
|     "node-libs-browser": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", | ||||
|       "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=", | ||||
|       "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "assert": "1.4.1", | ||||
| @ -5022,7 +5060,7 @@ | ||||
|     "normalize-package-data": { | ||||
|       "version": "2.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", | ||||
|       "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", | ||||
|       "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "hosted-git-info": "2.6.0", | ||||
| @ -5057,7 +5095,7 @@ | ||||
|     "npmlog": { | ||||
|       "version": "4.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", | ||||
|       "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", | ||||
|       "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "are-we-there-yet": "1.1.4", | ||||
| @ -5284,7 +5322,7 @@ | ||||
|     "pako": { | ||||
|       "version": "1.0.6", | ||||
|       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", | ||||
|       "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=" | ||||
|       "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" | ||||
|     }, | ||||
|     "parse-asn1": { | ||||
|       "version": "5.1.0", | ||||
| @ -5418,7 +5456,7 @@ | ||||
|     "pbkdf2": { | ||||
|       "version": "3.0.14", | ||||
|       "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", | ||||
|       "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=", | ||||
|       "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "create-hash": "1.1.3", | ||||
| @ -5491,7 +5529,7 @@ | ||||
|     "promise.prototype.finally": { | ||||
|       "version": "3.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz", | ||||
|       "integrity": "sha1-ZvFhsWQ2NuUOfPIB3BuEqFfzhk4=", | ||||
|       "integrity": "sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ==", | ||||
|       "requires": { | ||||
|         "define-properties": "1.1.2", | ||||
|         "es-abstract": "1.10.0", | ||||
| @ -5548,7 +5586,7 @@ | ||||
|     "qs": { | ||||
|       "version": "6.5.1", | ||||
|       "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", | ||||
|       "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", | ||||
|       "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "querystring": { | ||||
| @ -5566,7 +5604,7 @@ | ||||
|     "randomatic": { | ||||
|       "version": "1.1.7", | ||||
|       "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", | ||||
|       "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", | ||||
|       "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", | ||||
|       "requires": { | ||||
|         "is-number": "3.0.0", | ||||
|         "kind-of": "4.0.0" | ||||
| @ -5746,7 +5784,7 @@ | ||||
|     "regex-cache": { | ||||
|       "version": "0.4.4", | ||||
|       "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", | ||||
|       "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", | ||||
|       "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", | ||||
|       "requires": { | ||||
|         "is-equal-shallow": "0.1.3" | ||||
|       } | ||||
| @ -5832,7 +5870,7 @@ | ||||
|     "resolve": { | ||||
|       "version": "1.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", | ||||
|       "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=", | ||||
|       "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "path-parse": "1.0.5" | ||||
| @ -5860,7 +5898,7 @@ | ||||
|     "rimraf": { | ||||
|       "version": "2.6.2", | ||||
|       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", | ||||
|       "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", | ||||
|       "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "glob": "7.1.2" | ||||
| @ -5879,13 +5917,13 @@ | ||||
|     "rollup": { | ||||
|       "version": "0.50.0", | ||||
|       "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", | ||||
|       "integrity": "sha1-TBWPTngObLM/8Nv8GEpSzFjNXzs=", | ||||
|       "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "rollup-plugin-commonjs": { | ||||
|       "version": "8.2.6", | ||||
|       "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.6.tgz", | ||||
|       "integrity": "sha1-J+W5Bp/5QAW7AeAbtGoeSHN4Rnc=", | ||||
|       "integrity": "sha512-qK0+uhktmnAgZkHkqFuajNmPw93fjrO7+CysDaxWE5jrUR9XSlSvuao5ZJP+XizxA8weakhgYYBtbVz9SGBpjA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "acorn": "5.5.3", | ||||
| @ -5928,7 +5966,7 @@ | ||||
|     "rxjs": { | ||||
|       "version": "5.5.2", | ||||
|       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", | ||||
|       "integrity": "sha1-KNQD8AcRIZZ/GK1mVWMlXVQjasM=", | ||||
|       "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==", | ||||
|       "requires": { | ||||
|         "symbol-observable": "1.1.0" | ||||
|       } | ||||
| @ -5936,7 +5974,7 @@ | ||||
|     "safe-buffer": { | ||||
|       "version": "5.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", | ||||
|       "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" | ||||
|       "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" | ||||
|     }, | ||||
|     "safe-json-parse": { | ||||
|       "version": "1.0.1", | ||||
| @ -5955,7 +5993,7 @@ | ||||
|     "sanitize-xml-string": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/sanitize-xml-string/-/sanitize-xml-string-1.1.0.tgz", | ||||
|       "integrity": "sha1-3YZoYGnOECtJVJEtnHmCA3uSh2g=" | ||||
|       "integrity": "sha512-RzX25K64YtZm9FvdZr/Ac7Eeq0va1YX0xmpOkjWoREhgKXXldrJRVJhBel83nS8omIcaKcNTdLY8XzOIK920HA==" | ||||
|     }, | ||||
|     "sass-graph": { | ||||
|       "version": "2.2.4", | ||||
| @ -5972,7 +6010,7 @@ | ||||
|     "sax": { | ||||
|       "version": "1.2.4", | ||||
|       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | ||||
|       "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" | ||||
|       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" | ||||
|     }, | ||||
|     "scss-tokenizer": { | ||||
|       "version": "0.2.3", | ||||
| @ -6053,7 +6091,7 @@ | ||||
|     "setprototypeof": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", | ||||
|       "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", | ||||
|       "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "sha.js": { | ||||
| @ -6111,7 +6149,7 @@ | ||||
|     "source-list-map": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", | ||||
|       "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", | ||||
|       "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "source-map": { | ||||
| @ -6122,7 +6160,7 @@ | ||||
|     "source-map-support": { | ||||
|       "version": "0.4.18", | ||||
|       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", | ||||
|       "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", | ||||
|       "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", | ||||
|       "requires": { | ||||
|         "source-map": "0.5.7" | ||||
|       } | ||||
| @ -6325,7 +6363,7 @@ | ||||
|     "symbol-observable": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", | ||||
|       "integrity": "sha1-XGj9jVQRXZ37cqhHIFSSIujbmzI=" | ||||
|       "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==" | ||||
|     }, | ||||
|     "tapable": { | ||||
|       "version": "0.2.8", | ||||
| @ -6347,7 +6385,7 @@ | ||||
|     "tar-stream": { | ||||
|       "version": "1.5.5", | ||||
|       "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", | ||||
|       "integrity": "sha1-XK2Ed59FyDsfJQjZawnYjHIYr1U=", | ||||
|       "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", | ||||
|       "requires": { | ||||
|         "bl": "1.2.2", | ||||
|         "end-of-stream": "1.4.1", | ||||
| @ -6423,7 +6461,7 @@ | ||||
|         "debug": { | ||||
|           "version": "3.1.0", | ||||
|           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", | ||||
|           "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", | ||||
|           "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
|             "ms": "2.0.0" | ||||
| @ -6492,7 +6530,7 @@ | ||||
|     "tsickle": { | ||||
|       "version": "0.24.1", | ||||
|       "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", | ||||
|       "integrity": "sha1-A5NDsgW/UXozOwcDl4iS+Ap9hI4=", | ||||
|       "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", | ||||
|       "requires": { | ||||
|         "minimist": "1.2.0", | ||||
|         "mkdirp": "0.5.1", | ||||
| @ -6591,7 +6629,7 @@ | ||||
|     "uglify-es": { | ||||
|       "version": "3.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.2.tgz", | ||||
|       "integrity": "sha1-FcYrd3UALIG3mHocSezT8SbKznM=", | ||||
|       "integrity": "sha512-l+s5VLzFwGJfS+fbqaGf/Dfwo1MF13jLOF2ekL0PytzqEqQ6cVppvHf4jquqFok+35USMpKjqkYxy6pQyUcuug==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "commander": "2.12.2", | ||||
| @ -6669,7 +6707,7 @@ | ||||
|     "ultron": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", | ||||
|       "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=", | ||||
|       "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "unc-path-regex": { | ||||
| @ -6894,7 +6932,7 @@ | ||||
|     "vlq": { | ||||
|       "version": "0.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", | ||||
|       "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY=", | ||||
|       "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "vm-browserify": { | ||||
| @ -7093,7 +7131,7 @@ | ||||
|     "webpack-merge": { | ||||
|       "version": "4.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", | ||||
|       "integrity": "sha1-XTct3dPh5fiHT1v1qOkp2wn+shY=", | ||||
|       "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "lodash": "4.17.5" | ||||
| @ -7102,7 +7140,7 @@ | ||||
|     "webpack-sources": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", | ||||
|       "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=", | ||||
|       "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "source-list-map": "2.0.0", | ||||
| @ -7122,13 +7160,13 @@ | ||||
|     "websocket-extensions": { | ||||
|       "version": "0.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", | ||||
|       "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", | ||||
|       "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "which": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", | ||||
|       "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", | ||||
|       "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "isexe": "2.0.0" | ||||
| @ -7143,7 +7181,7 @@ | ||||
|     "wide-align": { | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", | ||||
|       "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", | ||||
|       "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "string-width": "1.0.2" | ||||
| @ -7188,7 +7226,7 @@ | ||||
|     "ws": { | ||||
|       "version": "3.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", | ||||
|       "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=", | ||||
|       "integrity": "sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "async-limiter": "1.0.0", | ||||
| @ -7204,7 +7242,7 @@ | ||||
|     "xml2js": { | ||||
|       "version": "0.4.19", | ||||
|       "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", | ||||
|       "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", | ||||
|       "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "sax": "1.2.4", | ||||
| @ -7294,7 +7332,7 @@ | ||||
|     "zone.js": { | ||||
|       "version": "0.8.18", | ||||
|       "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.18.tgz", | ||||
|       "integrity": "sha1-jOyzl3/NGzCQVi/0Vw4oR+dStI0=" | ||||
|       "integrity": "sha512-knKOBQM0oea3/x9pdyDuDi7RhxDlJhOIkeixXSiTKWLgs4LpK37iBc+1HaHwzlciHUKT172CymJFKo8Xgh+44Q==" | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -45,6 +45,7 @@ | ||||
|     "@ionic-native/core": "4.3.0", | ||||
|     "@ionic-native/device": "^4.5.3", | ||||
|     "@ionic-native/file": "^4.3.3", | ||||
|     "@ionic-native/file-opener": "^4.7.0", | ||||
|     "@ionic-native/file-transfer": "^4.3.3", | ||||
|     "@ionic-native/globalization": "^4.3.2", | ||||
|     "@ionic-native/in-app-browser": "^4.3.3", | ||||
|  | ||||
| @ -21,6 +21,7 @@ import { Camera } from '@ionic-native/camera'; | ||||
| import { Clipboard } from '@ionic-native/clipboard'; | ||||
| import { Device } from '@ionic-native/device'; | ||||
| import { File } from '@ionic-native/file'; | ||||
| import { FileOpener } from '@ionic-native/file-opener'; | ||||
| import { FileTransfer } from '@ionic-native/file-transfer'; | ||||
| import { Globalization } from '@ionic-native/globalization'; | ||||
| import { InAppBrowser } from '@ionic-native/in-app-browser'; | ||||
| @ -39,6 +40,7 @@ import { BadgeMock } from './providers/badge'; | ||||
| import { CameraMock } from './providers/camera'; | ||||
| import { ClipboardMock } from './providers/clipboard'; | ||||
| import { FileMock } from './providers/file'; | ||||
| import { FileOpenerMock } from './providers/file-opener'; | ||||
| import { FileTransferMock } from './providers/file-transfer'; | ||||
| import { GlobalizationMock } from './providers/globalization'; | ||||
| import { InAppBrowserMock } from './providers/inappbrowser'; | ||||
| @ -123,6 +125,13 @@ export const IONIC_NATIVE_PROVIDERS = [ | ||||
|                 return appProvider.isMobile() ? new File() : new FileMock(appProvider, textUtils); | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             provide: FileOpener, | ||||
|             deps: [CoreAppProvider], | ||||
|             useFactory: (appProvider: CoreAppProvider): FileOpener => { | ||||
|                 return appProvider.isMobile() ? new FileOpener() : new FileOpenerMock(appProvider); | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             provide: FileTransfer, | ||||
|             deps: [CoreAppProvider, CoreFileProvider], | ||||
|  | ||||
							
								
								
									
										70
									
								
								src/core/emulator/providers/file-opener.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								src/core/emulator/providers/file-opener.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,70 @@ | ||||
| // (C) Copyright 2015 Martin Dougiamas
 | ||||
| //
 | ||||
| // Licensed 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.
 | ||||
| 
 | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { FileOpener } from '@ionic-native/file-opener'; | ||||
| import { CoreAppProvider } from '@providers/app'; | ||||
| 
 | ||||
| /** | ||||
|  * Emulates the FileOpener plugin in desktop apps and in browser. | ||||
|  */ | ||||
| @Injectable() | ||||
| export class FileOpenerMock extends FileOpener { | ||||
| 
 | ||||
|     constructor(private appProvider: CoreAppProvider) { | ||||
|         super(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Check if an app is already installed. | ||||
|      * | ||||
|      * @param {string} packageId Package ID. | ||||
|      * @returns {Promise<any>} Promise resolved when done. | ||||
|      */ | ||||
|     appIsInstalled(packageId: string): Promise<any> { | ||||
|         return Promise.reject('appIsInstalled not supported in browser or dekstop.'); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Open an file. | ||||
|      * | ||||
|      * @param {string} filePath File path. | ||||
|      * @param {string} fileMIMEType File MIME type. | ||||
|      * @returns {Promise<any>} Promise resolved when done. | ||||
|      */ | ||||
|     open(filePath: string, fileMIMEType: string): Promise<any> { | ||||
|         if (this.appProvider.isDesktop()) { | ||||
|             // It's a desktop app, send an event so the file is opened.
 | ||||
|             // Opening the file from here (renderer process) doesn't focus the opened app, that's why an event is needed.
 | ||||
|             // Use sendSync so we can receive the result.
 | ||||
|             if (!require('electron').ipcRenderer.sendSync('openItem', filePath)) { | ||||
|                 return Promise.reject('Error opening file'); | ||||
|             } | ||||
|         } else { | ||||
|             window.open(filePath, '_blank'); | ||||
|         } | ||||
| 
 | ||||
|         return Promise.resolve(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Uninstalls a package. | ||||
|      * | ||||
|      * @param {string} packageId Package ID. | ||||
|      * @returns {Promise<any>} Promise resolved when done. | ||||
|      */ | ||||
|     uninstall(packageId: string): Promise<any> { | ||||
|         return Promise.reject('uninstall not supported in browser or dekstop.'); | ||||
|     } | ||||
| } | ||||
| @ -16,8 +16,10 @@ import { Injectable } from '@angular/core'; | ||||
| import { Platform } from 'ionic-angular'; | ||||
| import { InAppBrowser, InAppBrowserObject } from '@ionic-native/in-app-browser'; | ||||
| import { Clipboard } from '@ionic-native/clipboard'; | ||||
| import { FileOpener } from '@ionic-native/file-opener'; | ||||
| import { CoreAppProvider } from '../app'; | ||||
| import { CoreDomUtilsProvider } from './dom'; | ||||
| import { CoreMimetypeUtilsProvider } from './mimetype'; | ||||
| import { CoreEventsProvider } from '../events'; | ||||
| import { CoreLoggerProvider } from '../logger'; | ||||
| import { TranslateService } from '@ngx-translate/core'; | ||||
| @ -59,7 +61,8 @@ export class CoreUtilsProvider { | ||||
| 
 | ||||
|     constructor(private iab: InAppBrowser, private appProvider: CoreAppProvider, private clipboard: Clipboard, | ||||
|             private domUtils: CoreDomUtilsProvider, logger: CoreLoggerProvider, private translate: TranslateService, | ||||
|             private platform: Platform, private langProvider: CoreLangProvider, private eventsProvider: CoreEventsProvider) { | ||||
|             private platform: Platform, private langProvider: CoreLangProvider, private eventsProvider: CoreEventsProvider, | ||||
|             private fileOpener: FileOpener, private mimetypeUtils: CoreMimetypeUtilsProvider) { | ||||
|         this.logger = logger.getInstance('CoreUtilsProvider'); | ||||
|     } | ||||
| 
 | ||||
| @ -685,25 +688,28 @@ export class CoreUtilsProvider { | ||||
|      * @return {Promise<any>} Promise resolved when done. | ||||
|      */ | ||||
|     openFile(path: string): Promise<any> { | ||||
|         return new Promise((resolve, reject): void => { | ||||
|             if (this.appProvider.isDesktop()) { | ||||
|                 // It's a desktop app, send an event so the file is opened.
 | ||||
|                 // Opening the file from here (renderer process) doesn't focus the opened app, that's why an event is needed.
 | ||||
|                 // Use sendSync so we can receive the result.
 | ||||
|                 if (require('electron').ipcRenderer.sendSync('openItem', path)) { | ||||
|                     resolve(); | ||||
|                 } else { | ||||
|                     reject(this.translate.instant('core.erroropenfilenoapp')); | ||||
|                 } | ||||
|             } else if ((<any> window).plugins) { | ||||
|                 // @todo
 | ||||
|                 reject('TODO'); | ||||
|         const extension = this.mimetypeUtils.getFileExtension(path), | ||||
|             mimetype = this.mimetypeUtils.getMimeType(extension); | ||||
| 
 | ||||
|         // Path needs to be decoded, the file won't be opened if the path has %20 instead of spaces and so.
 | ||||
|         try { | ||||
|             path = decodeURIComponent(path); | ||||
|         } catch (ex) { | ||||
|             // Error, use the original path.
 | ||||
|         } | ||||
| 
 | ||||
|         return this.fileOpener.open(path, mimetype).catch((error) => { | ||||
|             this.logger.error('Error opening file ' + path + ' with mimetype ' + mimetype); | ||||
|             this.logger.error('Error: ', JSON.stringify(error)); | ||||
| 
 | ||||
|             if (!extension || extension.indexOf('/') > -1 || extension.indexOf('\\') > -1) { | ||||
|                 // Extension not found.
 | ||||
|                 error = this.translate.instant('core.erroropenfilenoextension'); | ||||
|             } else { | ||||
|                 // Changing _blank for _system may work in cordova 2.4 and onwards.
 | ||||
|                 this.logger.log('Opening external file using window.open()'); | ||||
|                 window.open(path, '_blank'); | ||||
|                 resolve(); | ||||
|                 error = this.translate.instant('core.erroropenfilenoapp'); | ||||
|             } | ||||
| 
 | ||||
|             return Promise.reject(error); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user