Browse Source

event upload

tum 4 years ago
parent
commit
61d136eb13

+ 2 - 1
config.xml

@@ -3,7 +3,7 @@
3 3
     <name>White Sports</name>
4 4
     <description>Virtual Run Mobile App</description>
5 5
     <author email="patumos@gmail.com" href="http://www.simplico.net/">Suebpong Sittimalairut</author>
6
-    <content src="index.html" />
6
+    <content original-src="index.html" src="http://localhost:8100" />
7 7
     <access origin="*" />
8 8
     <allow-intent href="http://*/*" />
9 9
     <allow-intent href="https://*/*" />
@@ -138,4 +138,5 @@
138 138
     <allow-navigation href="http://10.107.138.80:8100" />
139 139
     <allow-navigation href="http://203.159.52.44:8100" />
140 140
     <allow-navigation href="http://203.159.52.32:8100" />
141
+    <allow-navigation href="http://localhost:8100" sessionid="2f1d5c27" />
141 142
 </widget>

+ 174 - 55
package-lock.json

@@ -535,6 +535,11 @@
535 535
         "to-fast-properties": "^2.0.0"
536 536
       }
537 537
     },
538
+    "@ionic-native/camera": {
539
+      "version": "4.20.0",
540
+      "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-4.20.0.tgz",
541
+      "integrity": "sha512-WnfQq8RV+7ezOqpCyNx9Xgpy7Y8TZehGLSxZXnCqCbFZ72CpC70Q5AV/eTIRGiKkotx2U6nUopYF+gTj1cunFA=="
542
+    },
538 543
     "@ionic-native/core": {
539 544
       "version": "4.7.0",
540 545
       "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-4.7.0.tgz",
@@ -545,6 +550,16 @@
545 550
       "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-4.7.0.tgz",
546 551
       "integrity": "sha512-jU+PldoDtJtDB7oPHx/OdBODpFBiTrlTLmj6oQ0DF2IxmJA2sy/CPDgnl5HKnd0lbf6JBYtjlXvrGKLffTZPpw=="
547 552
     },
553
+    "@ionic-native/file": {
554
+      "version": "4.20.0",
555
+      "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-4.20.0.tgz",
556
+      "integrity": "sha512-iIq/wXTw1vLMB/19dhDQEHCB3SwfiwU9X8HivM6pEvW5eFr2BkR371/1KF2LcmSDNjctG4HvrjTnRpH1uKfUfQ=="
557
+    },
558
+    "@ionic-native/file-transfer": {
559
+      "version": "4.20.0",
560
+      "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-4.20.0.tgz",
561
+      "integrity": "sha512-eZymJgIXQ4Vh8YaoHRKBJYM/1ynGYeQvLOvQks+yvlwp2tzVh4q1IVjvvA2O50zGRVFHGgdyuG4YDMWMZEZzdw=="
562
+    },
548 563
     "@ionic-native/health": {
549 564
       "version": "4.7.0",
550 565
       "resolved": "https://registry.npmjs.org/@ionic-native/health/-/health-4.7.0.tgz",
@@ -1022,6 +1037,7 @@
1022 1037
       "version": "1.1.3",
1023 1038
       "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
1024 1039
       "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==",
1040
+      "dev": true,
1025 1041
       "requires": {
1026 1042
         "assert-plus": "^1.0.0",
1027 1043
         "extsprintf": "^1.4.0",
@@ -1031,7 +1047,8 @@
1031 1047
         "extsprintf": {
1032 1048
           "version": "1.4.0",
1033 1049
           "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz",
1034
-          "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8="
1050
+          "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=",
1051
+          "dev": true
1035 1052
         }
1036 1053
       }
1037 1054
     },
@@ -1039,6 +1056,7 @@
1039 1056
       "version": "2.1.5",
1040 1057
       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
1041 1058
       "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
1059
+      "dev": true,
1042 1060
       "requires": {
1043 1061
         "@nodelib/fs.stat": "2.0.5",
1044 1062
         "run-parallel": "^1.1.9"
@@ -1047,12 +1065,14 @@
1047 1065
     "@nodelib/fs.stat": {
1048 1066
       "version": "2.0.5",
1049 1067
       "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
1050
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
1068
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
1069
+      "dev": true
1051 1070
     },
1052 1071
     "@nodelib/fs.walk": {
1053 1072
       "version": "1.2.8",
1054 1073
       "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
1055 1074
       "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
1075
+      "dev": true,
1056 1076
       "requires": {
1057 1077
         "@nodelib/fs.scandir": "2.1.5",
1058 1078
         "fastq": "^1.6.0"
@@ -1084,7 +1104,8 @@
1084 1104
     "abbrev": {
1085 1105
       "version": "1.1.1",
1086 1106
       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
1087
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
1107
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
1108
+      "dev": true
1088 1109
     },
1089 1110
     "accepts": {
1090 1111
       "version": "1.3.7",
@@ -1156,6 +1177,7 @@
1156 1177
       "version": "1.7.0",
1157 1178
       "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.7.0.tgz",
1158 1179
       "integrity": "sha512-TCy4b8Dk8YS6A23ZPfhSKqK66JHFq0D8avGYiwvYpjno6HrrcI0DRgHx9+jtkvWYmrsE2vQWgbHJhvGGhhOb0g==",
1180
+      "dev": true,
1159 1181
       "requires": {
1160 1182
         "semver": "^5.7.1"
1161 1183
       }
@@ -1171,7 +1193,8 @@
1171 1193
     "ansi": {
1172 1194
       "version": "0.3.1",
1173 1195
       "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
1174
-      "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
1196
+      "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=",
1197
+      "dev": true
1175 1198
     },
1176 1199
     "ansi-regex": {
1177 1200
       "version": "2.1.1",
@@ -1304,7 +1327,8 @@
1304 1327
     "assert-plus": {
1305 1328
       "version": "1.0.0",
1306 1329
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1307
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1330
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
1331
+      "dev": true
1308 1332
     },
1309 1333
     "assign-symbols": {
1310 1334
       "version": "1.0.0",
@@ -1353,7 +1377,8 @@
1353 1377
     "at-least-node": {
1354 1378
       "version": "1.0.0",
1355 1379
       "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
1356
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
1380
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
1381
+      "dev": true
1357 1382
     },
1358 1383
     "atob": {
1359 1384
       "version": "2.1.2",
@@ -1390,7 +1415,8 @@
1390 1415
     "balanced-match": {
1391 1416
       "version": "1.0.0",
1392 1417
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1393
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
1418
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1419
+      "dev": true
1394 1420
     },
1395 1421
     "base": {
1396 1422
       "version": "0.11.2",
@@ -1467,7 +1493,8 @@
1467 1493
     "base64-js": {
1468 1494
       "version": "1.5.1",
1469 1495
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1470
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
1496
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1497
+      "dev": true
1471 1498
     },
1472 1499
     "bcrypt-pbkdf": {
1473 1500
       "version": "1.0.2",
@@ -1481,7 +1508,8 @@
1481 1508
     "big-integer": {
1482 1509
       "version": "1.6.48",
1483 1510
       "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
1484
-      "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w=="
1511
+      "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==",
1512
+      "dev": true
1485 1513
     },
1486 1514
     "big.js": {
1487 1515
       "version": "5.2.2",
@@ -1587,6 +1615,7 @@
1587 1615
       "version": "0.2.0",
1588 1616
       "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
1589 1617
       "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
1618
+      "dev": true,
1590 1619
       "requires": {
1591 1620
         "big-integer": "^1.6.44"
1592 1621
       }
@@ -1595,6 +1624,7 @@
1595 1624
       "version": "1.1.11",
1596 1625
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1597 1626
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1627
+      "dev": true,
1598 1628
       "requires": {
1599 1629
         "balanced-match": "^1.0.0",
1600 1630
         "concat-map": "0.0.1"
@@ -2032,7 +2062,8 @@
2032 2062
     "concat-map": {
2033 2063
       "version": "0.0.1",
2034 2064
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2035
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
2065
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2066
+      "dev": true
2036 2067
     },
2037 2068
     "console-browserify": {
2038 2069
       "version": "1.2.0",
@@ -2103,6 +2134,7 @@
2103 2134
       "version": "9.1.0",
2104 2135
       "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.1.0.tgz",
2105 2136
       "integrity": "sha512-bzOX9E4eQsOSpa06oZZ7XAGq3DwB73juhhj0oPqHH/khWk0mkCD4aiVYMFoc0fmIaSQvzbY1ww7L6UBW5pyGfg==",
2137
+      "dev": true,
2106 2138
       "requires": {
2107 2139
         "android-versions": "^1.5.0",
2108 2140
         "cordova-common": "^4.0.1",
@@ -2120,6 +2152,7 @@
2120 2152
           "version": "7.0.3",
2121 2153
           "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2122 2154
           "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2155
+          "dev": true,
2123 2156
           "requires": {
2124 2157
             "path-key": "^3.1.0",
2125 2158
             "shebang-command": "^2.0.0",
@@ -2130,6 +2163,7 @@
2130 2163
           "version": "4.1.0",
2131 2164
           "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
2132 2165
           "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
2166
+          "dev": true,
2133 2167
           "requires": {
2134 2168
             "cross-spawn": "^7.0.0",
2135 2169
             "get-stream": "^5.0.0",
@@ -2146,6 +2180,7 @@
2146 2180
           "version": "9.1.0",
2147 2181
           "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
2148 2182
           "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
2183
+          "dev": true,
2149 2184
           "requires": {
2150 2185
             "at-least-node": "^1.0.0",
2151 2186
             "graceful-fs": "^4.2.0",
@@ -2157,24 +2192,28 @@
2157 2192
           "version": "5.2.0",
2158 2193
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
2159 2194
           "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
2195
+          "dev": true,
2160 2196
           "requires": {
2161 2197
             "pump": "^3.0.0"
2162 2198
           }
2163 2199
         },
2164 2200
         "graceful-fs": {
2165
-          "version": "4.2.8",
2166
-          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
2167
-          "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
2201
+          "version": "4.2.9",
2202
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
2203
+          "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
2204
+          "dev": true
2168 2205
         },
2169 2206
         "is-stream": {
2170 2207
           "version": "2.0.1",
2171 2208
           "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
2172
-          "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
2209
+          "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
2210
+          "dev": true
2173 2211
         },
2174 2212
         "jsonfile": {
2175 2213
           "version": "6.1.0",
2176 2214
           "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
2177 2215
           "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
2216
+          "dev": true,
2178 2217
           "requires": {
2179 2218
             "graceful-fs": "^4.1.6",
2180 2219
             "universalify": "^2.0.0"
@@ -2184,6 +2223,7 @@
2184 2223
           "version": "6.0.0",
2185 2224
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
2186 2225
           "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
2226
+          "dev": true,
2187 2227
           "requires": {
2188 2228
             "yallist": "^4.0.0"
2189 2229
           }
@@ -2192,6 +2232,7 @@
2192 2232
           "version": "4.0.3",
2193 2233
           "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
2194 2234
           "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
2235
+          "dev": true,
2195 2236
           "requires": {
2196 2237
             "abbrev": "1",
2197 2238
             "osenv": "^0.1.4"
@@ -2201,6 +2242,7 @@
2201 2242
           "version": "4.0.1",
2202 2243
           "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
2203 2244
           "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
2245
+          "dev": true,
2204 2246
           "requires": {
2205 2247
             "path-key": "^3.0.0"
2206 2248
           }
@@ -2208,12 +2250,14 @@
2208 2250
         "path-key": {
2209 2251
           "version": "3.1.1",
2210 2252
           "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2211
-          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
2253
+          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2254
+          "dev": true
2212 2255
         },
2213 2256
         "semver": {
2214 2257
           "version": "7.3.5",
2215 2258
           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
2216 2259
           "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
2260
+          "dev": true,
2217 2261
           "requires": {
2218 2262
             "lru-cache": "^6.0.0"
2219 2263
           }
@@ -2222,6 +2266,7 @@
2222 2266
           "version": "2.0.0",
2223 2267
           "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2224 2268
           "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2269
+          "dev": true,
2225 2270
           "requires": {
2226 2271
             "shebang-regex": "^3.0.0"
2227 2272
           }
@@ -2229,17 +2274,20 @@
2229 2274
         "shebang-regex": {
2230 2275
           "version": "3.0.0",
2231 2276
           "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2232
-          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
2277
+          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2278
+          "dev": true
2233 2279
         },
2234 2280
         "universalify": {
2235 2281
           "version": "2.0.0",
2236 2282
           "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
2237
-          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
2283
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
2284
+          "dev": true
2238 2285
         },
2239 2286
         "which": {
2240 2287
           "version": "2.0.2",
2241 2288
           "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2242 2289
           "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2290
+          "dev": true,
2243 2291
           "requires": {
2244 2292
             "isexe": "^2.0.0"
2245 2293
           }
@@ -2247,7 +2295,8 @@
2247 2295
         "yallist": {
2248 2296
           "version": "4.0.0",
2249 2297
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2250
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
2298
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2299
+          "dev": true
2251 2300
         }
2252 2301
       }
2253 2302
     },
@@ -2255,6 +2304,7 @@
2255 2304
       "version": "4.0.2",
2256 2305
       "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.0.2.tgz",
2257 2306
       "integrity": "sha512-od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==",
2307
+      "dev": true,
2258 2308
       "requires": {
2259 2309
         "@netflix/nerror": "^1.1.3",
2260 2310
         "ansi": "^0.3.1",
@@ -2276,6 +2326,7 @@
2276 2326
           "version": "7.0.3",
2277 2327
           "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2278 2328
           "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2329
+          "dev": true,
2279 2330
           "requires": {
2280 2331
             "path-key": "^3.1.0",
2281 2332
             "shebang-command": "^2.0.0",
@@ -2286,6 +2337,7 @@
2286 2337
           "version": "9.1.0",
2287 2338
           "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
2288 2339
           "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
2340
+          "dev": true,
2289 2341
           "requires": {
2290 2342
             "at-least-node": "^1.0.0",
2291 2343
             "graceful-fs": "^4.2.0",
@@ -2296,12 +2348,14 @@
2296 2348
         "graceful-fs": {
2297 2349
           "version": "4.2.8",
2298 2350
           "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
2299
-          "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
2351
+          "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
2352
+          "dev": true
2300 2353
         },
2301 2354
         "jsonfile": {
2302 2355
           "version": "6.1.0",
2303 2356
           "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
2304 2357
           "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
2358
+          "dev": true,
2305 2359
           "requires": {
2306 2360
             "graceful-fs": "^4.1.6",
2307 2361
             "universalify": "^2.0.0"
@@ -2310,12 +2364,14 @@
2310 2364
         "path-key": {
2311 2365
           "version": "3.1.1",
2312 2366
           "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2313
-          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
2367
+          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2368
+          "dev": true
2314 2369
         },
2315 2370
         "shebang-command": {
2316 2371
           "version": "2.0.0",
2317 2372
           "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2318 2373
           "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2374
+          "dev": true,
2319 2375
           "requires": {
2320 2376
             "shebang-regex": "^3.0.0"
2321 2377
           }
@@ -2323,22 +2379,26 @@
2323 2379
         "shebang-regex": {
2324 2380
           "version": "3.0.0",
2325 2381
           "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2326
-          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
2382
+          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2383
+          "dev": true
2327 2384
         },
2328 2385
         "strip-bom": {
2329 2386
           "version": "4.0.0",
2330 2387
           "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
2331
-          "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="
2388
+          "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
2389
+          "dev": true
2332 2390
         },
2333 2391
         "universalify": {
2334 2392
           "version": "2.0.0",
2335 2393
           "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
2336
-          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
2394
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
2395
+          "dev": true
2337 2396
         },
2338 2397
         "which": {
2339 2398
           "version": "2.0.2",
2340 2399
           "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2341 2400
           "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2401
+          "dev": true,
2342 2402
           "requires": {
2343 2403
             "isexe": "^2.0.0"
2344 2404
           }
@@ -2376,9 +2436,9 @@
2376 2436
           }
2377 2437
         },
2378 2438
         "graceful-fs": {
2379
-          "version": "4.2.8",
2380
-          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
2381
-          "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
2439
+          "version": "4.2.9",
2440
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
2441
+          "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
2382 2442
           "dev": true
2383 2443
         },
2384 2444
         "jsonfile": {
@@ -2446,11 +2506,23 @@
2446 2506
       "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-1.11.1.tgz",
2447 2507
       "integrity": "sha1-VrdtN0hlAPNX7lEcD63NEm4WcAI="
2448 2508
     },
2509
+    "cordova-plugin-camera": {
2510
+      "version": "5.0.3",
2511
+      "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-5.0.3.tgz",
2512
+      "integrity": "sha512-CfoqP8+0XGm8wS0Ri6BCaTTq195Z7ny/tXrD14DsYyR7hHjf1nn+B643tzdYuPNVynxMLRQa1T8n1EkCxFyUog==",
2513
+      "dev": true
2514
+    },
2449 2515
     "cordova-plugin-file": {
2450 2516
       "version": "6.0.1",
2451 2517
       "resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-6.0.1.tgz",
2452 2518
       "integrity": "sha1-SWBrjBWlaI1HKPkuSnMloGHeB/U="
2453 2519
     },
2520
+    "cordova-plugin-file-transfer": {
2521
+      "version": "1.7.1",
2522
+      "resolved": "https://registry.npmjs.org/cordova-plugin-file-transfer/-/cordova-plugin-file-transfer-1.7.1.tgz",
2523
+      "integrity": "sha1-p12L4uvDu5sjxbG70ZkhTsJnWGs=",
2524
+      "dev": true
2525
+    },
2454 2526
     "cordova-plugin-inappbrowser": {
2455 2527
       "version": "5.0.0",
2456 2528
       "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz",
@@ -2737,7 +2809,8 @@
2737 2809
     "dedent": {
2738 2810
       "version": "0.7.0",
2739 2811
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
2740
-      "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
2812
+      "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
2813
+      "dev": true
2741 2814
     },
2742 2815
     "define-property": {
2743 2816
       "version": "2.0.2",
@@ -2929,6 +3002,7 @@
2929 3002
       "version": "0.1.7",
2930 3003
       "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
2931 3004
       "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
3005
+      "dev": true,
2932 3006
       "requires": {
2933 3007
         "sax": "1.1.4"
2934 3008
       },
@@ -2936,7 +3010,8 @@
2936 3010
         "sax": {
2937 3011
           "version": "1.1.4",
2938 3012
           "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
2939
-          "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk="
3013
+          "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=",
3014
+          "dev": true
2940 3015
         }
2941 3016
       }
2942 3017
     },
@@ -2991,6 +3066,7 @@
2991 3066
       "version": "1.4.4",
2992 3067
       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
2993 3068
       "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
3069
+      "dev": true,
2994 3070
       "requires": {
2995 3071
         "once": "^1.4.0"
2996 3072
       }
@@ -2999,6 +3075,7 @@
2999 3075
       "version": "1.4.1",
3000 3076
       "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz",
3001 3077
       "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==",
3078
+      "dev": true,
3002 3079
       "requires": {
3003 3080
         "dedent": "^0.7.0",
3004 3081
         "fast-json-parse": "^1.0.3",
@@ -3392,6 +3469,7 @@
3392 3469
       "version": "3.2.7",
3393 3470
       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
3394 3471
       "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
3472
+      "dev": true,
3395 3473
       "requires": {
3396 3474
         "@nodelib/fs.stat": "^2.0.2",
3397 3475
         "@nodelib/fs.walk": "^1.2.3",
@@ -3403,7 +3481,8 @@
3403 3481
     "fast-json-parse": {
3404 3482
       "version": "1.0.3",
3405 3483
       "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz",
3406
-      "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw=="
3484
+      "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==",
3485
+      "dev": true
3407 3486
     },
3408 3487
     "fast-json-stable-stringify": {
3409 3488
       "version": "2.1.0",
@@ -3415,6 +3494,7 @@
3415 3494
       "version": "1.13.0",
3416 3495
       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
3417 3496
       "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
3497
+      "dev": true,
3418 3498
       "requires": {
3419 3499
         "reusify": "^1.0.4"
3420 3500
       }
@@ -3546,7 +3626,8 @@
3546 3626
     "fs.realpath": {
3547 3627
       "version": "1.0.0",
3548 3628
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
3549
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
3629
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
3630
+      "dev": true
3550 3631
     },
3551 3632
     "fsevents": {
3552 3633
       "version": "2.3.2",
@@ -3638,6 +3719,7 @@
3638 3719
       "version": "7.1.7",
3639 3720
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
3640 3721
       "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
3722
+      "dev": true,
3641 3723
       "requires": {
3642 3724
         "fs.realpath": "^1.0.0",
3643 3725
         "inflight": "^1.0.4",
@@ -3884,7 +3966,8 @@
3884 3966
     "human-signals": {
3885 3967
       "version": "1.1.1",
3886 3968
       "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
3887
-      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw=="
3969
+      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
3970
+      "dev": true
3888 3971
     },
3889 3972
     "humanize-num": {
3890 3973
       "version": "1.1.5",
@@ -3930,6 +4013,7 @@
3930 4013
       "version": "1.0.6",
3931 4014
       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
3932 4015
       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
4016
+      "dev": true,
3933 4017
       "requires": {
3934 4018
         "once": "^1.3.0",
3935 4019
         "wrappy": "1"
@@ -4121,7 +4205,8 @@
4121 4205
     "is-path-inside": {
4122 4206
       "version": "3.0.3",
4123 4207
       "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
4124
-      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
4208
+      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
4209
+      "dev": true
4125 4210
     },
4126 4211
     "is-plain-object": {
4127 4212
       "version": "2.0.4",
@@ -4173,7 +4258,8 @@
4173 4258
     "isexe": {
4174 4259
       "version": "2.0.0",
4175 4260
       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
4176
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
4261
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
4262
+      "dev": true
4177 4263
     },
4178 4264
     "isstream": {
4179 4265
       "version": "0.1.2",
@@ -4396,7 +4482,8 @@
4396 4482
     "lodash": {
4397 4483
       "version": "4.17.21",
4398 4484
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
4399
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
4485
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
4486
+      "dev": true
4400 4487
     },
4401 4488
     "longest": {
4402 4489
       "version": "1.0.1",
@@ -4523,12 +4610,14 @@
4523 4610
     "merge-stream": {
4524 4611
       "version": "2.0.0",
4525 4612
       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
4526
-      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
4613
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
4614
+      "dev": true
4527 4615
     },
4528 4616
     "merge2": {
4529 4617
       "version": "1.4.1",
4530 4618
       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
4531
-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
4619
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
4620
+      "dev": true
4532 4621
     },
4533 4622
     "methods": {
4534 4623
       "version": "1.1.2",
@@ -4540,6 +4629,7 @@
4540 4629
       "version": "4.0.4",
4541 4630
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
4542 4631
       "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
4632
+      "dev": true,
4543 4633
       "requires": {
4544 4634
         "braces": "^3.0.1",
4545 4635
         "picomatch": "^2.2.3"
@@ -4606,6 +4696,7 @@
4606 4696
       "version": "3.0.4",
4607 4697
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
4608 4698
       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4699
+      "dev": true,
4609 4700
       "requires": {
4610 4701
         "brace-expansion": "^1.1.7"
4611 4702
       }
@@ -5002,7 +5093,8 @@
5002 5093
     "objectorarray": {
5003 5094
       "version": "1.0.5",
5004 5095
       "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz",
5005
-      "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg=="
5096
+      "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==",
5097
+      "dev": true
5006 5098
     },
5007 5099
     "on-finished": {
5008 5100
       "version": "2.3.0",
@@ -5017,6 +5109,7 @@
5017 5109
       "version": "1.4.0",
5018 5110
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
5019 5111
       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5112
+      "dev": true,
5020 5113
       "requires": {
5021 5114
         "wrappy": "1"
5022 5115
       }
@@ -5025,6 +5118,7 @@
5025 5118
       "version": "5.1.2",
5026 5119
       "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
5027 5120
       "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
5121
+      "dev": true,
5028 5122
       "requires": {
5029 5123
         "mimic-fn": "^2.1.0"
5030 5124
       },
@@ -5032,7 +5126,8 @@
5032 5126
         "mimic-fn": {
5033 5127
           "version": "2.1.0",
5034 5128
           "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
5035
-          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
5129
+          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
5130
+          "dev": true
5036 5131
         }
5037 5132
       }
5038 5133
     },
@@ -5045,7 +5140,8 @@
5045 5140
     "os-homedir": {
5046 5141
       "version": "1.0.2",
5047 5142
       "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
5048
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
5143
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
5144
+      "dev": true
5049 5145
     },
5050 5146
     "os-locale": {
5051 5147
       "version": "2.1.0",
@@ -5071,12 +5167,14 @@
5071 5167
     "os-tmpdir": {
5072 5168
       "version": "1.0.2",
5073 5169
       "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
5074
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
5170
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
5171
+      "dev": true
5075 5172
     },
5076 5173
     "osenv": {
5077 5174
       "version": "0.1.5",
5078 5175
       "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
5079 5176
       "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
5177
+      "dev": true,
5080 5178
       "requires": {
5081 5179
         "os-homedir": "^1.0.0",
5082 5180
         "os-tmpdir": "^1.0.0"
@@ -5085,7 +5183,8 @@
5085 5183
     "p-finally": {
5086 5184
       "version": "1.0.0",
5087 5185
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
5088
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
5186
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
5187
+      "dev": true
5089 5188
     },
5090 5189
     "p-limit": {
5091 5190
       "version": "2.3.0",
@@ -5108,7 +5207,8 @@
5108 5207
     "p-try": {
5109 5208
       "version": "2.2.0",
5110 5209
       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
5111
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
5210
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
5211
+      "dev": true
5112 5212
     },
5113 5213
     "pako": {
5114 5214
       "version": "1.0.11",
@@ -5174,7 +5274,8 @@
5174 5274
     "path-is-absolute": {
5175 5275
       "version": "1.0.1",
5176 5276
       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
5177
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
5277
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
5278
+      "dev": true
5178 5279
     },
5179 5280
     "path-key": {
5180 5281
       "version": "2.0.1",
@@ -5263,6 +5364,7 @@
5263 5364
       "version": "3.0.4",
5264 5365
       "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz",
5265 5366
       "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==",
5367
+      "dev": true,
5266 5368
       "requires": {
5267 5369
         "base64-js": "^1.5.1",
5268 5370
         "xmlbuilder": "^9.0.7"
@@ -5271,7 +5373,8 @@
5271 5373
         "xmlbuilder": {
5272 5374
           "version": "9.0.7",
5273 5375
           "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
5274
-          "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
5376
+          "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
5377
+          "dev": true
5275 5378
         }
5276 5379
       }
5277 5380
     },
@@ -5319,6 +5422,7 @@
5319 5422
       "version": "0.3.1",
5320 5423
       "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
5321 5424
       "integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
5425
+      "dev": true,
5322 5426
       "requires": {
5323 5427
         "string.prototype.codepointat": "^0.2.0"
5324 5428
       }
@@ -5383,6 +5487,7 @@
5383 5487
       "version": "3.0.0",
5384 5488
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
5385 5489
       "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
5490
+      "dev": true,
5386 5491
       "requires": {
5387 5492
         "end-of-stream": "^1.1.0",
5388 5493
         "once": "^1.3.1"
@@ -5397,7 +5502,8 @@
5397 5502
     "q": {
5398 5503
       "version": "1.5.1",
5399 5504
       "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
5400
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
5505
+      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
5506
+      "dev": true
5401 5507
     },
5402 5508
     "qs": {
5403 5509
       "version": "6.7.0",
@@ -5420,7 +5526,8 @@
5420 5526
     "queue-microtask": {
5421 5527
       "version": "1.2.3",
5422 5528
       "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
5423
-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
5529
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
5530
+      "dev": true
5424 5531
     },
5425 5532
     "randombytes": {
5426 5533
       "version": "2.1.0",
@@ -5463,6 +5570,7 @@
5463 5570
       "version": "3.2.0",
5464 5571
       "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz",
5465 5572
       "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==",
5573
+      "dev": true,
5466 5574
       "requires": {
5467 5575
         "pify": "^4.0.1",
5468 5576
         "with-open-file": "^0.1.6"
@@ -5471,7 +5579,8 @@
5471 5579
         "pify": {
5472 5580
           "version": "4.0.1",
5473 5581
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
5474
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
5582
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
5583
+          "dev": true
5475 5584
         }
5476 5585
       }
5477 5586
     },
@@ -5666,7 +5775,8 @@
5666 5775
     "reusify": {
5667 5776
       "version": "1.0.4",
5668 5777
       "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
5669
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
5778
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
5779
+      "dev": true
5670 5780
     },
5671 5781
     "right-align": {
5672 5782
       "version": "0.1.3",
@@ -5756,6 +5866,7 @@
5756 5866
       "version": "1.2.0",
5757 5867
       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
5758 5868
       "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
5869
+      "dev": true,
5759 5870
       "requires": {
5760 5871
         "queue-microtask": "^1.2.2"
5761 5872
       }
@@ -5841,7 +5952,8 @@
5841 5952
     "semver": {
5842 5953
       "version": "5.7.1",
5843 5954
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
5844
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
5955
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
5956
+      "dev": true
5845 5957
     },
5846 5958
     "send": {
5847 5959
       "version": "0.17.1",
@@ -5964,7 +6076,8 @@
5964 6076
     "signal-exit": {
5965 6077
       "version": "3.0.3",
5966 6078
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
5967
-      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
6079
+      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
6080
+      "dev": true
5968 6081
     },
5969 6082
     "simctl": {
5970 6083
       "version": "2.0.0",
@@ -6296,7 +6409,8 @@
6296 6409
     "string.prototype.codepointat": {
6297 6410
       "version": "0.2.1",
6298 6411
       "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
6299
-      "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
6412
+      "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
6413
+      "dev": true
6300 6414
     },
6301 6415
     "string_decoder": {
6302 6416
       "version": "1.1.1",
@@ -6334,7 +6448,8 @@
6334 6448
     "strip-final-newline": {
6335 6449
       "version": "2.0.0",
6336 6450
       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
6337
-      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
6451
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
6452
+      "dev": true
6338 6453
     },
6339 6454
     "strip-indent": {
6340 6455
       "version": "1.0.1",
@@ -6744,7 +6859,8 @@
6744 6859
     "underscore": {
6745 6860
       "version": "1.13.1",
6746 6861
       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
6747
-      "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g=="
6862
+      "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==",
6863
+      "dev": true
6748 6864
     },
6749 6865
     "union-value": {
6750 6866
       "version": "1.0.1",
@@ -7889,6 +8005,7 @@
7889 8005
       "version": "0.1.7",
7890 8006
       "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz",
7891 8007
       "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==",
8008
+      "dev": true,
7892 8009
       "requires": {
7893 8010
         "p-finally": "^1.0.0",
7894 8011
         "p-try": "^2.1.0",
@@ -7898,7 +8015,8 @@
7898 8015
         "pify": {
7899 8016
           "version": "4.0.1",
7900 8017
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
7901
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
8018
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
8019
+          "dev": true
7902 8020
         }
7903 8021
       }
7904 8022
     },
@@ -7956,7 +8074,8 @@
7956 8074
     "wrappy": {
7957 8075
       "version": "1.0.2",
7958 8076
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
7959
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
8077
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
8078
+      "dev": true
7960 8079
     },
7961 8080
     "ws": {
7962 8081
       "version": "3.3.2",

+ 13 - 4
package.json

@@ -21,8 +21,11 @@
21 21
     "@angular/http": "5.2.10",
22 22
     "@angular/platform-browser": "5.2.10",
23 23
     "@angular/platform-browser-dynamic": "5.2.10",
24
+    "@ionic-native/camera": "^4.20.0",
24 25
     "@ionic-native/core": "4.7.0",
25 26
     "@ionic-native/device": "^4.7.0",
27
+    "@ionic-native/file": "^4.20.0",
28
+    "@ionic-native/file-transfer": "^4.20.0",
26 29
     "@ionic-native/health": "^4.7.0",
27 30
     "@ionic-native/http": "^4.20.0",
28 31
     "@ionic-native/in-app-browser": "^4.7.0",
@@ -50,7 +53,10 @@
50 53
   },
51 54
   "devDependencies": {
52 55
     "@ionic/app-scripts": "^3.2.4",
56
+    "cordova-android": "^9.1.0",
53 57
     "cordova-ios": "^6.2.0",
58
+    "cordova-plugin-camera": "^5.0.3",
59
+    "cordova-plugin-file-transfer": "^1.7.1",
54 60
     "cordova-plugin-inappbrowser": "^5.0.0",
55 61
     "typescript": "~2.6.2"
56 62
   },
@@ -65,11 +71,14 @@
65 71
       "cordova-plugin-splashscreen": {},
66 72
       "cordova-plugin-device": {},
67 73
       "cordova-plugin-whitelist": {},
68
-      "cordova-plugin-inappbrowser": {}
74
+      "cordova-plugin-inappbrowser": {},
75
+      "cordova-plugin-file-transfer": {},
76
+      "cordova-plugin-file": {},
77
+      "cordova-plugin-camera": {}
69 78
     },
70 79
     "platforms": [
71
-      "ios",
72
-      "android"
80
+      "android",
81
+      "ios"
73 82
     ]
74 83
   }
75
-}
84
+}

+ 15 - 3
src/app/app.module.ts

@@ -13,6 +13,7 @@ import { EventPage } from '../pages/event/event';
13 13
 import { ProductCatDetailPage } from '../pages/product-cat-detail/product-cat-detail';
14 14
 import { NewsReaderPage } from '../pages/news-reader/news-reader';
15 15
 import { CouponViewPage } from '../pages/coupon-view/coupon-view';
16
+import { EventUploadPage } from '../pages/event-upload/event-upload';
16 17
 
17 18
 import { StatusBar } from '@ionic-native/status-bar';
18 19
 import { SplashScreen } from '@ionic-native/splash-screen';
@@ -33,6 +34,12 @@ import { UserAgent } from '@ionic-native/user-agent';
33 34
 
34 35
 import { HTTP  } from '@ionic-native/http';
35 36
 
37
+import { FileTransfer } from '@ionic-native/file-transfer';
38
+import { File } from '@ionic-native/file';
39
+import { Camera } from '@ionic-native/camera';
40
+
41
+
42
+
36 43
 @NgModule({
37 44
     declarations: [
38 45
         MyApp,
@@ -45,7 +52,8 @@ import { HTTP  } from '@ionic-native/http';
45 52
         EventPage,
46 53
         ProductCatDetailPage,
47 54
         NewsReaderPage,
48
-        CouponViewPage
55
+        CouponViewPage,
56
+        EventUploadPage
49 57
     ],
50 58
     imports: [
51 59
         BrowserModule,
@@ -69,7 +77,8 @@ import { HTTP  } from '@ionic-native/http';
69 77
         EventPage,
70 78
         ProductCatDetailPage,
71 79
         NewsReaderPage,
72
-        CouponViewPage
80
+        CouponViewPage,
81
+        EventUploadPage
73 82
     ],
74 83
     providers: [
75 84
         StatusBar,
@@ -83,7 +92,10 @@ import { HTTP  } from '@ionic-native/http';
83 92
         HumanizePipe,
84 93
         Device,
85 94
         HTTP, 
86
-        UserAgent
95
+        UserAgent,
96
+        FileTransfer,
97
+        File,
98
+        Camera
87 99
     ]
88 100
 })
89 101
 export class AppModule {}

+ 19 - 0
src/pages/event-upload/event-upload.html

@@ -0,0 +1,19 @@
1
+<!--
2
+  Generated template for the EventUploadPage page.
3
+
4
+  See http://ionicframework.com/docs/components/#navigation for more info on
5
+  Ionic pages and navigation.
6
+-->
7
+<ion-header>
8
+
9
+  <ion-navbar color="primary">
10
+    <ion-title>Event Detail</ion-title>
11
+  </ion-navbar>
12
+
13
+</ion-header>
14
+
15
+
16
+<ion-content padding>
17
+     <button ion-button (click)="selectImage()" color="tertiary" size='small'>Upload</button>
18
+
19
+</ion-content>

+ 13 - 0
src/pages/event-upload/event-upload.module.ts

@@ -0,0 +1,13 @@
1
+import { NgModule } from '@angular/core';
2
+import { IonicPageModule } from 'ionic-angular';
3
+import { EventUploadPage } from './event-upload';
4
+
5
+@NgModule({
6
+  declarations: [
7
+    EventUploadPage,
8
+  ],
9
+  imports: [
10
+    IonicPageModule.forChild(EventUploadPage),
11
+  ],
12
+})
13
+export class EventUploadPageModule {}

+ 3 - 0
src/pages/event-upload/event-upload.scss

@@ -0,0 +1,3 @@
1
+page-event-upload {
2
+
3
+}

+ 87 - 0
src/pages/event-upload/event-upload.ts

@@ -0,0 +1,87 @@
1
+import { Component } from '@angular/core';
2
+import { IonicPage, NavController, NavParams } from 'ionic-angular';
3
+import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer';
4
+import { File } from '@ionic-native/file';
5
+import { ActionSheetController } from 'ionic-angular';
6
+import { Camera, CameraOptions } from '@ionic-native/camera';
7
+import { HealthProvider } from '../../providers/health/health';
8
+/**
9
+ * Generated class for the EventUploadPage page.
10
+ *
11
+ * See https://ionicframework.com/docs/components/#navigation for more info on
12
+ * Ionic pages and navigation.
13
+ */
14
+
15
+@IonicPage()
16
+@Component({
17
+    selector: 'page-event-upload',
18
+    templateUrl: 'event-upload.html',
19
+})
20
+export class EventUploadPage {
21
+
22
+     imagePickerOptions = {
23
+         maximumImagesCount: 1,
24
+         quality: 50
25
+       };
26
+     croppedImagePath:string = "";
27
+
28
+     photoURL: any;
29
+     msg:string = "Upload Your Photo";
30
+
31
+    constructor(public navCtrl: NavController, public navParams: NavParams, private camera: Camera,   public actionSheetController: ActionSheetController, private hp: HealthProvider) {
32
+        let eventId = navParams.get('eventId');
33
+        console.log("eventId "+eventId);
34
+    }
35
+
36
+    ionViewDidLoad() {
37
+        console.log('ionViewDidLoad EventUploadPage');
38
+    }
39
+      async selectImage() {
40
+         const actionSheet = await this.actionSheetController.create({
41
+             header: "Select Image source",
42
+             buttons: [{
43
+                 text: 'Load from Library',
44
+                 handler: () => {
45
+                     this.pickImage(this.camera.PictureSourceType.PHOTOLIBRARY);
46
+                 }
47
+             },
48
+                 {
49
+                     text: 'Use Camera',
50
+                     handler: () => {
51
+                         this.pickImage(this.camera.PictureSourceType.CAMERA);
52
+                     }
53
+                 },
54
+                 {
55
+                     text: 'Cancel',
56
+                     role: 'cancel'
57
+                 }
58
+             ]
59
+         });
60
+         await actionSheet.present();
61
+     }
62
+    pickImage(sourceType) {
63
+        const options: CameraOptions = {
64
+            quality: 100,
65
+            sourceType: sourceType,
66
+            destinationType: this.camera.DestinationType.FILE_URI,
67
+            encodingType: this.camera.EncodingType.JPEG,
68
+            mediaType: this.camera.MediaType.PICTURE
69
+        }
70
+        this.camera.getPicture(options).then( async (imageData) => {
71
+            // imageData is either a base64 encoded string or a file URI
72
+            this.croppedImagePath = 'data:image/jpeg;base64,' + imageData;
73
+
74
+            console.log(this.croppedImagePath);
75
+            this.msg = "Uploading ...";
76
+            let r0  = await this.hp.uploadPhoto(imageData);
77
+            this.photoURL = await this.hp.getPhoto();
78
+            this.msg = "Upload Your Photo";
79
+            console.log("r0");
80
+            console.log(r0);
81
+        }, (err) => {
82
+            // Handle error
83
+            console.log(err);
84
+        });
85
+    }
86
+
87
+}

+ 1 - 1
src/pages/event/event.html

@@ -31,7 +31,7 @@
31 31
       </button>
32 32
     </ion-col>
33 33
     <ion-col>
34
-      <button ion-button icon-start color='success' block>
34
+      <button ion-button icon-start color='success' block (click)="joinEvent(p.id)">
35 35
         <ion-icon name="text"></ion-icon>
36 36
         <div>Join</div>
37 37
       </button>

+ 6 - 0
src/pages/event/event.ts

@@ -7,6 +7,7 @@ import { HealthProvider } from '../../providers/health/health';
7 7
 import { HumanizePipe  } from 'angular2-humanize';
8 8
 import { NativeStorage } from '@ionic-native/native-storage';
9 9
 import { InAppBrowser } from '@ionic-native/in-app-browser';
10
+import { EventUploadPage }  from '../event-upload/event-upload';
10 11
 /**
11 12
  * Generated class for the EventPage page.
12 13
  *
@@ -88,6 +89,7 @@ export class EventPage {
88 89
         this.hp.getWPPostCat(46, 1)
89 90
             .then( data => {
90 91
                 this.eventPosts = JSON.parse(data.data);
92
+                console.log(JSON.stringify(this.eventPosts));
91 93
             }, error => {
92 94
                 console.log("errors");
93 95
                 console.log(""+error);
@@ -188,4 +190,8 @@ export class EventPage {
188 190
     openLink(link: string) {
189 191
          this.ab.create(link, '_blank');
190 192
     }
193
+    joinEvent(id) {
194
+        console.log("join "+id);
195
+        this.navCtrl.push(EventUploadPage, { eventId: id });
196
+    }
191 197
 }

+ 2 - 1
src/pages/home/home.ts

@@ -33,6 +33,7 @@ export class HomePage {
33 33
     }
34 34
 
35 35
     ionViewDidEnter() {
36
+        this.postPage = 1;
36 37
         this.healthProvider.getWPPostCat(30, this.postPage++)
37 38
             .then( data => {
38 39
                 console.log(data);
@@ -40,7 +41,7 @@ export class HomePage {
40 41
                 console.log(this.wpPosts);
41 42
             }, error => {
42 43
                 console.log("errors");
43
-                console.log(""+error);
44
+                console.log(JSON.stringify(error));
44 45
             });
45 46
         /*
46 47
         this.healthProvider.getProducts()

+ 62 - 2
src/providers/health/health.ts

@@ -4,7 +4,8 @@ import { Observable } from 'rxjs';
4 4
 import { HttpHeaders } from '@angular/common/http';
5 5
 import { Device } from '@ionic-native/device';
6 6
 import { HTTP, HTTPResponse } from '@ionic-native/http';
7
-
7
+import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer';
8
+import { NativeStorage } from '@ionic-native/native-storage';
8 9
 
9 10
 /*
10 11
   Generated class for the HealthProvider provider.
@@ -20,6 +21,7 @@ const IMAGE_URL = HOSTBASE + "/media/";
20 21
 const QR_URL = HOSTBASE + "/static/";
21 22
 const REDEEM_API = HOSTBASE + "/coredata/api/redeem";
22 23
 const SV_API = HOSTBASE + "/strava/api";
24
+const UPLOAD_API = HOSTBASE + "/strava/uploadPhoto";
23 25
 const WP = "https://whitesports.net/wp-json/wp/v2/";
24 26
 
25 27
 @Injectable()
@@ -33,7 +35,7 @@ export class HealthProvider {
33 35
             'Authorization': 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoicHVibGljIiwicm9sZXMiOlsicHVibGljIl0sImV4cCI6MTczNDE2NTcxMCwiaWF0IjoxNDc0OTY1NzEwLCJuYmYiOjE0NzQ5NjU3MTAsImlkZW50aXR5IjoiNTdlOWVmMjZjMjU0ZmQ4N2Q3ZmQ4MzM2In0.-9fcm5s8qYbdqBDUX7cZJ5J3AX91fe6VrCLs_S-_eBU'
34 36
         })
35 37
     };
36
-    constructor(public http: HttpClient, private nhttp: HTTP, private dev: Device) {
38
+    constructor(public http: HttpClient, private nhttp: HTTP, private dev: Device, private transfer: FileTransfer, private storage: NativeStorage) {
37 39
         console.log('Hello HealthProvider Provider');
38 40
         console.log("construct device = ", this.dev.model, this.dev.serial, this.dev.isVirtual);
39 41
     }
@@ -115,6 +117,64 @@ export class HealthProvider {
115 117
     getWSProfile(athId, token) {
116 118
         return this.http.post(SV_API, {action: "GET_WS_PROFILE", athId: athId,   token: token });
117 119
     }
120
+      async getPhoto() {
121
+          /*
122
+ >>        let info = await this.kohaService.getPatronInfo();
123
+
124
+           console.log(info);
125
+           if( info != null ) {
126
+ >>            let url =  this.getPhotoUrl(info.GetPatronInfo.borrowernumber)
127
+               return this.http.get(url, {}, this.header)
128
+               .then(
129
+                   res => {
130
+ >>                    let o = JSON.parse(res.data);
131
+                       console.log(o);
132
+                       if(o.output == null ) {
133
+ >>                        return "";
134
+                       }else {
135
+                           return this.UPLOAD_URL + o.output;
136
+                       }
137
+                   },
138
+                   error => {
139
+                       return null;
140
+                   }
141
+               );
142
+           }else {
143
+               return null;
144
+           }*/
145
+       }
146
+    uploadPhotoUrl(eventId, athId) {
147
+        let url = UPLOAD_API + "?eventId="+eventId+"&athId="+athId;
148
+        return url;
149
+    }
150
+     async uploadPhoto(filePath) {
151
+
152
+         /*
153
+         let info = await this.kohaService.getPatronInfo();
154
+
155
+         console.log(info);
156
+         if( info != null ) {
157
+             const fileTransfer: FileTransferObject = this.transfer.create();
158
+
159
+             let options: FileUploadOptions = {
160
+                 fileKey: 'file',
161
+                 //fileName: 'name.jpg',
162
+             }
163
+
164
+             return fileTransfer.upload(filePath, this.uploadPhotoUrl(info.GetPatronInfo.borrowernumber), options)
165
+                 .then((data) => {
166
+                     // success
167
+                     console.log("from tranfer");
168
+                     console.log(data);
169
+                     return JSON.parse(data.response);
170
+                 }, (err) => {
171
+                     // error
172
+                     return err;
173
+                 })
174
+         } else {
175
+             return null;
176
+         }*/
177
+     }
118 178
     /*
119 179
   listNews(token, act): Observable<any> {
120 180
     return this.http.post("http://mcotn-api.simplico.net/api/v2.0/posts", {  action: "LIST", model: {} }, this.httpOptions);