changes to new server
@@ -1,5 +1,5 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget id="com.unam.acatan.sintomapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<widget id="com.unam.acatan.sintomapp" version="0.0.5" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<name>SintomApp-Acatlan</name>
|
||||
<description>An app for control an visualizatión of a pandemic data like simphtoms evolution and sumarized data in the 'FES Acatán UNAM'</description>
|
||||
<author email="aisgxvso@comunidad.unam.com" href="http://ionicframework.com/">Axel Iván Solano González</author>
|
||||
@@ -11,6 +11,7 @@
|
||||
<allow-intent href="sms:*" />
|
||||
<allow-intent href="mailto:*" />
|
||||
<allow-intent href="geo:*" />
|
||||
<preference name="android-targetSdkVersion" value="30" />
|
||||
<preference name="ScrollEnabled" value="false" />
|
||||
<preference name="android-minSdkVersion" value="19" />
|
||||
<preference name="BackupWebStorage" value="none" />
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"@angular/platform-browser": "~9.1.6",
|
||||
"@angular/platform-browser-dynamic": "~9.1.6",
|
||||
"@angular/router": "~9.1.6",
|
||||
"@awesome-cordova-plugins/file-transfer": "^5.38.0",
|
||||
"@ionic-native/camera": "^5.28.0",
|
||||
"@ionic-native/core": "^5.0.7",
|
||||
"@ionic-native/file": "^5.28.0",
|
||||
@@ -29,7 +30,6 @@
|
||||
"@ionic/storage": "^2.3.0",
|
||||
"chart.js": "^2.9.3",
|
||||
"cordova": "^10.0.0",
|
||||
"cordova-android": "^8.1.0",
|
||||
"cordova-ios": "^5.1.1",
|
||||
"cordova-plugin-badge": "^0.8.8",
|
||||
"cordova-plugin-camera": "^4.1.0",
|
||||
@@ -59,6 +59,7 @@
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"codelyzer": "^5.1.2",
|
||||
"cordova-android": "^9.1.0",
|
||||
"cordova-plugin-device": "^2.0.2",
|
||||
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
||||
"cordova-plugin-ionic-webview": "^4.2.1",
|
||||
@@ -809,6 +810,30 @@
|
||||
"tslib": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@awesome-cordova-plugins/core": {
|
||||
"version": "5.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/core/-/core-5.38.0.tgz",
|
||||
"integrity": "sha512-mXMsQLTkJ/BBA0a44KutxpZK9jvC7vY7b8XuuiemPhC/1KxKQ9NKUQrQpDKanpHMoiiGRpLqoCFxLS2ShOzC3w==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/cordova": "latest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@awesome-cordova-plugins/file-transfer": {
|
||||
"version": "5.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/file-transfer/-/file-transfer-5.38.0.tgz",
|
||||
"integrity": "sha512-TDJk1J2e28VCMO6iauY6QHZWp8xehmJq8Aco0GqCU0xy5If61MRXerVaunrtdal1BdS9uiAgEja0UKNWeZEhEw==",
|
||||
"dependencies": {
|
||||
"@types/cordova": "latest"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@awesome-cordova-plugins/core": "^5.1.0",
|
||||
"rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.12.13",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
|
||||
@@ -3914,9 +3939,10 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/android-versions": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.6.0.tgz",
|
||||
"integrity": "sha512-ojC2Ig7b/KJ6iNtR8e4bacmOsJyEkoERk3CKMIsnH7kJz5z6551NMbrVaRb7KXYavu1d74Uhml/bfcmqT3nAcg==",
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.7.0.tgz",
|
||||
"integrity": "sha512-TCy4b8Dk8YS6A23ZPfhSKqK66JHFq0D8avGYiwvYpjno6HrrcI0DRgHx9+jtkvWYmrsE2vQWgbHJhvGGhhOb0g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"semver": "^5.7.1"
|
||||
}
|
||||
@@ -3925,6 +3951,7 @@
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
}
|
||||
@@ -4193,11 +4220,6 @@
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
|
||||
},
|
||||
"node_modules/array-ify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
|
||||
"integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
|
||||
},
|
||||
"node_modules/array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
|
||||
@@ -5859,34 +5881,6 @@
|
||||
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/compare-func": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz",
|
||||
"integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
|
||||
"dependencies": {
|
||||
"array-ify": "^1.0.0",
|
||||
"dot-prop": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/compare-func/node_modules/dot-prop": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
|
||||
"integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
|
||||
"dependencies": {
|
||||
"is-obj": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/compare-func/node_modules/is-obj": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
|
||||
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/compare-versions": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
|
||||
@@ -6362,138 +6356,98 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz",
|
||||
"integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==",
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.1.0.tgz",
|
||||
"integrity": "sha512-bzOX9E4eQsOSpa06oZZ7XAGq3DwB73juhhj0oPqHH/khWk0mkCD4aiVYMFoc0fmIaSQvzbY1ww7L6UBW5pyGfg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"android-versions": "^1.4.0",
|
||||
"compare-func": "^1.3.2",
|
||||
"cordova-common": "^3.2.0",
|
||||
"nopt": "^4.0.1",
|
||||
"android-versions": "^1.5.0",
|
||||
"cordova-common": "^4.0.1",
|
||||
"execa": "^4.0.2",
|
||||
"fast-glob": "^3.2.4",
|
||||
"fs-extra": "^9.0.1",
|
||||
"is-path-inside": "^3.0.2",
|
||||
"nopt": "^4.0.3",
|
||||
"properties-parser": "^0.3.1",
|
||||
"q": "^1.5.1",
|
||||
"shelljs": "^0.5.3"
|
||||
"semver": "^7.3.4",
|
||||
"which": "^2.0.2"
|
||||
},
|
||||
"bin": {
|
||||
"create": "bin/create"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/bplist-parser": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
|
||||
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
|
||||
"dependencies": {
|
||||
"big-integer": "^1.6.7"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/cordova-common": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz",
|
||||
"integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==",
|
||||
"dependencies": {
|
||||
"ansi": "^0.3.1",
|
||||
"bplist-parser": "^0.1.0",
|
||||
"cross-spawn": "^6.0.5",
|
||||
"elementtree": "0.1.7",
|
||||
"endent": "^1.1.1",
|
||||
"fs-extra": "^8.0.0",
|
||||
"glob": "^7.1.2",
|
||||
"minimatch": "^3.0.0",
|
||||
"plist": "^3.0.1",
|
||||
"q": "^1.4.1",
|
||||
"strip-bom": "^3.0.0",
|
||||
"underscore": "^1.8.3",
|
||||
"which": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/cross-spawn": {
|
||||
"version": "6.0.5",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
|
||||
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
|
||||
"dependencies": {
|
||||
"nice-try": "^1.0.4",
|
||||
"path-key": "^2.0.1",
|
||||
"semver": "^5.5.0",
|
||||
"shebang-command": "^1.2.0",
|
||||
"which": "^1.2.9"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.8"
|
||||
"node": ">=10.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
|
||||
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"at-least-node": "^1.0.0",
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
"jsonfile": "^6.0.1",
|
||||
"universalify": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6 <7 || >=8"
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/path-key": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
|
||||
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
|
||||
"node_modules/cordova-android/node_modules/jsonfile": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"universalify": "^2.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
|
||||
"version": "7.3.5",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"shebang-regex": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/shebang-regex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/strip-bom": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
|
||||
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"which": "bin/which"
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/universalify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
||||
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-android/node_modules/yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/cordova-app-hello-world": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cordova-app-hello-world/-/cordova-app-hello-world-5.0.0.tgz",
|
||||
@@ -17115,6 +17069,7 @@
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
|
||||
"integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"string.prototype.codepointat": "^0.2.0"
|
||||
},
|
||||
@@ -20026,7 +19981,8 @@
|
||||
"node_modules/string.prototype.codepointat": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
|
||||
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
|
||||
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/string.prototype.trimend": {
|
||||
"version": "1.0.4",
|
||||
@@ -24477,6 +24433,23 @@
|
||||
"integrity": "sha512-AvqjCsxdzBqOGsPuyCtHb2ckfNhCEGrDfkFmZ5jT9MwohCVbChCKtwEH4cwlph6Tpxvu1a4zSryxOf5q8OSsJQ==",
|
||||
"requires": {}
|
||||
},
|
||||
"@awesome-cordova-plugins/core": {
|
||||
"version": "5.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/core/-/core-5.38.0.tgz",
|
||||
"integrity": "sha512-mXMsQLTkJ/BBA0a44KutxpZK9jvC7vY7b8XuuiemPhC/1KxKQ9NKUQrQpDKanpHMoiiGRpLqoCFxLS2ShOzC3w==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@types/cordova": "latest"
|
||||
}
|
||||
},
|
||||
"@awesome-cordova-plugins/file-transfer": {
|
||||
"version": "5.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/file-transfer/-/file-transfer-5.38.0.tgz",
|
||||
"integrity": "sha512-TDJk1J2e28VCMO6iauY6QHZWp8xehmJq8Aco0GqCU0xy5If61MRXerVaunrtdal1BdS9uiAgEja0UKNWeZEhEw==",
|
||||
"requires": {
|
||||
"@types/cordova": "latest"
|
||||
}
|
||||
},
|
||||
"@babel/code-frame": {
|
||||
"version": "7.12.13",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
|
||||
@@ -27032,9 +27005,10 @@
|
||||
"dev": true
|
||||
},
|
||||
"android-versions": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.6.0.tgz",
|
||||
"integrity": "sha512-ojC2Ig7b/KJ6iNtR8e4bacmOsJyEkoERk3CKMIsnH7kJz5z6551NMbrVaRb7KXYavu1d74Uhml/bfcmqT3nAcg==",
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.7.0.tgz",
|
||||
"integrity": "sha512-TCy4b8Dk8YS6A23ZPfhSKqK66JHFq0D8avGYiwvYpjno6HrrcI0DRgHx9+jtkvWYmrsE2vQWgbHJhvGGhhOb0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"semver": "^5.7.1"
|
||||
},
|
||||
@@ -27042,7 +27016,8 @@
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -27259,11 +27234,6 @@
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
|
||||
},
|
||||
"array-ify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
|
||||
"integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
|
||||
},
|
||||
"array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
|
||||
@@ -28607,30 +28577,6 @@
|
||||
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
|
||||
"dev": true
|
||||
},
|
||||
"compare-func": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz",
|
||||
"integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
|
||||
"requires": {
|
||||
"array-ify": "^1.0.0",
|
||||
"dot-prop": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"dot-prop": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
|
||||
"integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
|
||||
"requires": {
|
||||
"is-obj": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-obj": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
|
||||
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
|
||||
}
|
||||
}
|
||||
},
|
||||
"compare-versions": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
|
||||
@@ -29078,104 +29024,74 @@
|
||||
}
|
||||
},
|
||||
"cordova-android": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz",
|
||||
"integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==",
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.1.0.tgz",
|
||||
"integrity": "sha512-bzOX9E4eQsOSpa06oZZ7XAGq3DwB73juhhj0oPqHH/khWk0mkCD4aiVYMFoc0fmIaSQvzbY1ww7L6UBW5pyGfg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"android-versions": "^1.4.0",
|
||||
"compare-func": "^1.3.2",
|
||||
"cordova-common": "^3.2.0",
|
||||
"nopt": "^4.0.1",
|
||||
"android-versions": "^1.5.0",
|
||||
"cordova-common": "^4.0.1",
|
||||
"execa": "^4.0.2",
|
||||
"fast-glob": "^3.2.4",
|
||||
"fs-extra": "^9.0.1",
|
||||
"is-path-inside": "^3.0.2",
|
||||
"nopt": "^4.0.3",
|
||||
"properties-parser": "^0.3.1",
|
||||
"q": "^1.5.1",
|
||||
"shelljs": "^0.5.3"
|
||||
"semver": "^7.3.4",
|
||||
"which": "^2.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"bplist-parser": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
|
||||
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
|
||||
"requires": {
|
||||
"big-integer": "^1.6.7"
|
||||
}
|
||||
},
|
||||
"cordova-common": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz",
|
||||
"integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==",
|
||||
"requires": {
|
||||
"ansi": "^0.3.1",
|
||||
"bplist-parser": "^0.1.0",
|
||||
"cross-spawn": "^6.0.5",
|
||||
"elementtree": "0.1.7",
|
||||
"endent": "^1.1.1",
|
||||
"fs-extra": "^8.0.0",
|
||||
"glob": "^7.1.2",
|
||||
"minimatch": "^3.0.0",
|
||||
"plist": "^3.0.1",
|
||||
"q": "^1.4.1",
|
||||
"strip-bom": "^3.0.0",
|
||||
"underscore": "^1.8.3",
|
||||
"which": "^1.3.0"
|
||||
}
|
||||
},
|
||||
"cross-spawn": {
|
||||
"version": "6.0.5",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
|
||||
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
|
||||
"requires": {
|
||||
"nice-try": "^1.0.4",
|
||||
"path-key": "^2.0.1",
|
||||
"semver": "^5.5.0",
|
||||
"shebang-command": "^1.2.0",
|
||||
"which": "^1.2.9"
|
||||
}
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
|
||||
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"at-least-node": "^1.0.0",
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
"jsonfile": "^6.0.1",
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"path-key": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
|
||||
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
|
||||
"jsonfile": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.6",
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
|
||||
"version": "7.3.5",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"shebang-regex": "^1.0.0"
|
||||
"lru-cache": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"shebang-regex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
|
||||
"universalify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
||||
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
||||
"dev": true
|
||||
},
|
||||
"strip-bom": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
|
||||
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
|
||||
},
|
||||
"which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"requires": {
|
||||
"isexe": "^2.0.0"
|
||||
}
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -37624,6 +37540,7 @@
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
|
||||
"integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"string.prototype.codepointat": "^0.2.0"
|
||||
}
|
||||
@@ -39982,7 +39899,8 @@
|
||||
"string.prototype.codepointat": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
|
||||
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
|
||||
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
|
||||
"dev": true
|
||||
},
|
||||
"string.prototype.trimend": {
|
||||
"version": "1.0.4",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"@angular/platform-browser": "~9.1.6",
|
||||
"@angular/platform-browser-dynamic": "~9.1.6",
|
||||
"@angular/router": "~9.1.6",
|
||||
"@awesome-cordova-plugins/file-transfer": "^5.38.0",
|
||||
"@ionic-native/camera": "^5.28.0",
|
||||
"@ionic-native/core": "^5.0.7",
|
||||
"@ionic-native/file": "^5.28.0",
|
||||
@@ -34,7 +35,6 @@
|
||||
"@ionic/storage": "^2.3.0",
|
||||
"chart.js": "^2.9.3",
|
||||
"cordova": "^10.0.0",
|
||||
"cordova-android": "^8.1.0",
|
||||
"cordova-ios": "^5.1.1",
|
||||
"cordova-plugin-badge": "^0.8.8",
|
||||
"cordova-plugin-camera": "^4.1.0",
|
||||
@@ -64,6 +64,7 @@
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"codelyzer": "^5.1.2",
|
||||
"cordova-android": "^9.1.0",
|
||||
"cordova-plugin-device": "^2.0.2",
|
||||
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
||||
"cordova-plugin-ionic-webview": "^4.2.1",
|
||||
@@ -104,8 +105,8 @@
|
||||
"cordova-plugin-filepath": {}
|
||||
},
|
||||
"platforms": [
|
||||
"android",
|
||||
"ios"
|
||||
"ios",
|
||||
"android"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
#!/bin/sh
|
||||
ionic cordova build --release android
|
||||
#Gradlew build
|
||||
./platform/android/gradlew bundle
|
||||
#Just excecute on first time it's the keystore generation
|
||||
#keytool -genkey -v -keystore SintomApp.keystore -alias sintomApp -keyalg RSA -keysize 2048 -validity 10000
|
||||
#Password APPp455w0rd
|
||||
#Signing APP
|
||||
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore SintomApp.keystore ./platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk sintomApp
|
||||
#APK signed and ready to upload
|
||||
zipalign -v 4 ./platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk sintomApp.apk
|
||||
#pepk.jar it to upload keystore to Google console
|
||||
#java -jar pepk.jar --keystore=SintomApp.keystore --alias=sintomApp --output=keySintomApp.zip --include-cert --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
|
||||
ionic cordova build android --release --prod
|
||||
cd platforms/android/
|
||||
./gradlew bundle
|
||||
cd ../..
|
||||
#Password APPp455w0rd
|
||||
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore SintomApp.keystore ./platforms/android/app/build/outputs/bundle/release/app-release.aab sintomApp
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 424 KiB After Width: | Height: | Size: 423 KiB |
|
Before Width: | Height: | Size: 668 KiB After Width: | Height: | Size: 668 KiB |
|
Before Width: | Height: | Size: 1024 KiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 474 KiB After Width: | Height: | Size: 474 KiB |
|
Before Width: | Height: | Size: 733 KiB After Width: | Height: | Size: 734 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
@@ -16,7 +16,7 @@
|
||||
<div class="ion-padding">
|
||||
<ion-list class="list-bg">
|
||||
<ion-item color="none" *ngFor="let entry of carrers" (click)="presentActionSheet(entry)">
|
||||
<ion-label>{{entry.name}}</ion-label>
|
||||
<ion-label color="ligth">{{entry.name}}</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
@@ -30,7 +30,7 @@
|
||||
<div class="ion-padding">
|
||||
<ion-list class="list-bg">
|
||||
<ion-item color="none" *ngFor="let secretary of secretarys" (click)="presentActionSheet(secretary)">
|
||||
<ion-label>{{secretary.name}}</ion-label>
|
||||
<ion-label color="ligth">{{secretary.name}}</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
@@ -44,7 +44,7 @@
|
||||
<div class="ion-padding">
|
||||
<ion-list class="list-bg">
|
||||
<ion-item color="none" *ngFor="let sympthom of symptoms" (click)="sympthomActionSheet(sympthom)">
|
||||
<ion-label>{{sympthom.description}}</ion-label>
|
||||
<ion-label color="ligth">{{sympthom.description}}</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
|
||||
@@ -39,6 +39,20 @@ export class AdminPagePage implements OnInit {
|
||||
role: 'destructive',
|
||||
icon: 'trash',
|
||||
handler: () => {
|
||||
if(data.email!= undefined){
|
||||
this.auth.store.create(`admin/disableSecretary/${data.id}`).subscribe()
|
||||
this.secretarys = this.secretarys.filter(function(value, index, arr){
|
||||
return value.id != data.id;
|
||||
});
|
||||
|
||||
}
|
||||
else {
|
||||
this.auth.store.create(`admin/disableCarer/${data.id}`)
|
||||
this.carrers = this.carrers.filter(function(value, index, arr){
|
||||
return value.id != data.id;
|
||||
});
|
||||
}
|
||||
|
||||
console.log('Delete clicked');
|
||||
}
|
||||
}, {
|
||||
@@ -52,7 +66,7 @@ export class AdminPagePage implements OnInit {
|
||||
icon: 'close',
|
||||
role: 'cancel',
|
||||
handler: () => {
|
||||
console.log('Cancel clicked');
|
||||
console.log('clicked', data.email!=undefined);
|
||||
}
|
||||
}]
|
||||
});
|
||||
@@ -67,6 +81,13 @@ export class AdminPagePage implements OnInit {
|
||||
role: 'destructive',
|
||||
icon: 'trash',
|
||||
handler: () => {
|
||||
this.auth.store.create(`admin/disableSymptom/${data.id}`).subscribe(
|
||||
res =>
|
||||
console.log(res, data)
|
||||
);
|
||||
this.symptoms = this.symptoms.filter(function(value, index, arr){
|
||||
return value.id != data.id;
|
||||
});
|
||||
console.log('Delete clicked');
|
||||
}
|
||||
},{
|
||||
@@ -74,7 +95,7 @@ export class AdminPagePage implements OnInit {
|
||||
icon: 'close',
|
||||
role: 'cancel',
|
||||
handler: () => {
|
||||
console.log('Cancel clicked');
|
||||
console.log("cancel");
|
||||
}
|
||||
}]
|
||||
});
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="mail" color="secondary"></ion-icon>
|
||||
<ion-label>Correo: </ion-label>
|
||||
<ion-input placeholder="Coreo" [(ngModel)]= "data.email" ></ion-input>
|
||||
<ion-label >Correo: </ion-label>
|
||||
<ion-input placeholder="Coreo" [(ngModel)]= "data.email" color="ligth"></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="call-outline" color="secondary"></ion-icon>
|
||||
<ion-label>Teléfono: </ion-label>
|
||||
<ion-input placeholder="Coreo" [(ngModel)]= "data.phone" ></ion-input>
|
||||
<ion-input placeholder="Coreo" [(ngModel)]= "data.phone" color="ligth"></ion-input>
|
||||
</ion-item>
|
||||
<ion-button (click)="sendUpdate()">
|
||||
<ion-icon name="save-outline" color="secondary"></ion-icon>
|
||||
@@ -34,7 +34,7 @@
|
||||
</ion-item>
|
||||
<ion-list class="list-bg">
|
||||
<ion-item color="translucent" *ngFor="let student of students" (click)="action(student)">
|
||||
<ion-label>{{student.user.name}}</ion-label>
|
||||
<ion-label color="ligth">{{student.user.name}}</ion-label>
|
||||
<ion-icon name="fitness-outline" slot="end" *ngIf="student.infected==true"></ion-icon>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title text-center>
|
||||
Covid-UNAM
|
||||
SintomAppAcatlán
|
||||
</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
@@ -21,7 +21,8 @@
|
||||
<ion-icon slot="start" name="person" color="secondary"></ion-icon>
|
||||
<ion-input inputmode="numeric" placeholder="Número de cuenta"
|
||||
[(ngModel)]="data.cuenta"
|
||||
name="cuenta" minlength=6 maxlength=8
|
||||
name="cuenta" minlength=6 maxlength=9
|
||||
color="ligth"
|
||||
required>
|
||||
</ion-input>
|
||||
</ion-item>
|
||||
@@ -36,7 +37,7 @@
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="glasses-outline" color="secondary" ></ion-icon>
|
||||
<ion-select class="my-select" placeholder="Carrera" interface="action-sheet" [(ngModel)]=data.carrer name="carrer" required >
|
||||
<ion-select class="my-select" placeholder="Carrera" interface="action-sheet" [(ngModel)]=data.carer name="carer" required >
|
||||
<ion-select-option *ngFor="let entry of carreras" [(value)]=entry.code>{{entry.name}}</ion-select-option>
|
||||
</ion-select>
|
||||
</ion-item>
|
||||
|
||||
@@ -14,7 +14,7 @@ import { AlertController } from '@ionic/angular';
|
||||
export class LogginPage implements OnInit {
|
||||
@ViewChild(NgForm, {static: true}) ngForm: NgForm;
|
||||
errorMessage = null;
|
||||
data = {cuenta: null, password: null, carrer:null};
|
||||
data = {cuenta: null, password: null, carer:null};
|
||||
constructor(private auth: AuthService,
|
||||
private loading: LoadingController,
|
||||
private nav: NavController,
|
||||
@@ -47,7 +47,7 @@ export class LogginPage implements OnInit {
|
||||
this.errorMessage = 'Complete el formulario';
|
||||
return;
|
||||
}
|
||||
localStorage.setItem('carrer', this.data.carrer);
|
||||
localStorage.setItem('carer', this.data.carer);
|
||||
this.startLoading()
|
||||
.then(async _ => {await new Promise(r => setTimeout(r, 2000)); console.log("Data", this.data.cuenta, " ,", this.data.password)})
|
||||
.then(_ => this.auth.signup(this.data).toPromise())
|
||||
|
||||
@@ -8,30 +8,10 @@
|
||||
</ion-header>
|
||||
|
||||
<ion-content class="ion-padding">
|
||||
<ion-item>
|
||||
<ion-label>
|
||||
<ion-row>
|
||||
<ion-col size="6">
|
||||
<ion-button (click)="takePhoto()" color="danger" expand="full" shape="round" size="large" type="button">
|
||||
<ion-icon name="camera"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-col>
|
||||
<ion-col size="6">
|
||||
<ion-button (click)="selectPhoto()" color="secondary" expand="full" shape="round" size="large" type="button">
|
||||
<ion-icon name="image"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item *ngIf="error">
|
||||
<ion-label>
|
||||
<strong>{{error}}</strong>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>
|
||||
<img *ngIf="myPhoto" [src]="myPhoto"/>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<div id="container">
|
||||
<ion-item>
|
||||
<input type="file" (change)="onFileChange($event)" />
|
||||
</ion-item>
|
||||
<ion-button color="danger" expand="full" (click)="submitForm()"> Subir Archivo </ion-button>
|
||||
</div>
|
||||
</ion-content>
|
||||
@@ -1,8 +1,6 @@
|
||||
import { Component, OnInit,ChangeDetectorRef } from '@angular/core';
|
||||
import { ToastController, LoadingController } from '@ionic/angular';
|
||||
import { Observable, throwError } from 'rxjs';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { environment } from '../../environments/environment';
|
||||
import { AuthService } from '../services/auth.service';
|
||||
import { LoaderService } from '../services/loader.service';
|
||||
|
||||
const STORAGE_KEY = 'my_images';
|
||||
|
||||
@@ -16,119 +14,30 @@ const STORAGE_KEY = 'my_images';
|
||||
export class PhotoPage implements OnInit {
|
||||
public myPhoto: any;
|
||||
public error: string | null = null;
|
||||
private loading: any;
|
||||
private file: File;
|
||||
|
||||
constructor(private auth:AuthService,
|
||||
private loader:LoaderService,
|
||||
private readonly loadingCtrl: LoadingController,
|
||||
private readonly toastCtrl: ToastController,
|
||||
private readonly changeDetectorRef: ChangeDetectorRef) {
|
||||
constructor(
|
||||
private auth:AuthService) {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
takePhoto(): void {
|
||||
// @ts-ignore
|
||||
const camera: any = navigator.camera;
|
||||
camera.getPicture((imageData: any) => {
|
||||
this.myPhoto = this.convertFileSrc(imageData);
|
||||
this.changeDetectorRef.detectChanges();
|
||||
this.changeDetectorRef.markForCheck();
|
||||
this.uploadPhoto(imageData);
|
||||
}, (error: any) => this.error = JSON.stringify(error), {
|
||||
quality: 100,
|
||||
destinationType: camera.DestinationType.FILE_URI,
|
||||
sourceType: camera.PictureSourceType.CAMERA,
|
||||
encodingType: camera.EncodingType.JPEG
|
||||
});
|
||||
onFileChange(fileChangeEvent) {
|
||||
this.file = fileChangeEvent.target.files[0];
|
||||
}
|
||||
|
||||
selectPhoto(): void {
|
||||
// @ts-ignore
|
||||
const camera: any = navigator.camera;
|
||||
camera.getPicture((imageData: any) => {
|
||||
this.myPhoto = this.convertFileSrc(imageData);
|
||||
this.uploadPhoto(imageData);
|
||||
}, (error: any) => this.error = JSON.stringify(error), {
|
||||
sourceType: camera.PictureSourceType.PHOTOLIBRARY,
|
||||
destinationType: camera.DestinationType.FILE_URI,
|
||||
quality: 100,
|
||||
encodingType: camera.EncodingType.JPEG,
|
||||
});
|
||||
}
|
||||
|
||||
private convertFileSrc(url: string): string {
|
||||
if (!url) {
|
||||
return url;
|
||||
|
||||
async submitForm() {
|
||||
let formData = new FormData();
|
||||
formData.append("file", this.file, this.file.name);
|
||||
|
||||
this.auth.store.create("file", formData).subscribe((response) =>
|
||||
{if(response){
|
||||
console.log("exito");
|
||||
}else{
|
||||
console.log("error");
|
||||
}
|
||||
if (url.startsWith('/')) {
|
||||
// @ts-ignore
|
||||
return window.WEBVIEW_SERVER_URL + '/_app_file_' + url;
|
||||
}
|
||||
if (url.startsWith('file://')) {
|
||||
// @ts-ignore
|
||||
return window.WEBVIEW_SERVER_URL + url.replace('file://', '/_app_file_');
|
||||
}
|
||||
if (url.startsWith('content://')) {
|
||||
// @ts-ignore
|
||||
return window.WEBVIEW_SERVER_URL + url.replace('content:/', '/_app_content_');
|
||||
}
|
||||
return url;
|
||||
});
|
||||
}
|
||||
|
||||
private async uploadPhoto(imageFileUri: any): Promise<void> {
|
||||
this.error = null;
|
||||
|
||||
// @ts-ignore
|
||||
window.resolveLocalFileSystemURL(imageFileUri,
|
||||
(entry: any) => {
|
||||
entry.file((file: any) => this.readFile(file));
|
||||
});
|
||||
}
|
||||
|
||||
private readFile(file: any): void {
|
||||
const reader = new FileReader();
|
||||
reader.onloadend = () => {
|
||||
const formData = new FormData();
|
||||
if (reader.result) {
|
||||
const imgBlob = new Blob([reader.result], {type: file.type});
|
||||
formData.append('file', imgBlob, file.name);
|
||||
this.postData(formData);
|
||||
}
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
|
||||
private postData(formData: FormData): void {
|
||||
const request = this.auth.store.create("file",formData);
|
||||
console.log(request);
|
||||
this.loader.do(request, 'Guardando información');
|
||||
}
|
||||
|
||||
private async showToast(ok: boolean | {}): Promise<void> {
|
||||
if (ok === true) {
|
||||
const toast = await this.toastCtrl.create({
|
||||
message: 'Upload successful',
|
||||
duration: 3000,
|
||||
position: 'top'
|
||||
});
|
||||
toast.present();
|
||||
} else {
|
||||
const toast = await this.toastCtrl.create({
|
||||
message: 'Upload failed',
|
||||
duration: 3000,
|
||||
position: 'top'
|
||||
});
|
||||
toast.present();
|
||||
}
|
||||
}
|
||||
|
||||
private handleError(error: any): Observable<never> {
|
||||
const errMsg = error.message ? error.message : error.toString();
|
||||
this.error = errMsg;
|
||||
this.changeDetectorRef.detectChanges();
|
||||
return throwError(errMsg);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -26,26 +26,26 @@
|
||||
<ion-label>Dirección</ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Calle: {{ data.street }}</ion-label>
|
||||
<ion-label color="ligth">Calle: {{ data.street }}</ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Número: {{ data.noExt }} </ion-label>
|
||||
<ion-label color="ligth">Número: {{ data.noExt }} </ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Número Interior: {{ data.noInt }}</ion-label>
|
||||
<ion-label color="ligth">Número Interior: {{ data.noInt }}</ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Colonia:{{ data.suburb }} </ion-label>
|
||||
<ion-label color="ligth">Colonia:{{ data.suburb }} </ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Código postal: {{ data.cp }}</ion-label>
|
||||
<ion-label color="ligth">Código postal: {{ data.cp }}</ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Estado: {{ data.state }}</ion-label>
|
||||
<ion-label color="ligth">Estado: {{ data.state }}</ion-label>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="fitness-outline" color="secondary"></ion-icon>
|
||||
<ion-label>Infectado: {{ data.infected }}</ion-label>
|
||||
<ion-label color="ligth">Infectado: {{ data.infected }}</ion-label>
|
||||
</ion-item>
|
||||
<ion-list class="list-bg">
|
||||
<ion-item color="none" *ngFor="let photo of photos" >
|
||||
|
||||
@@ -13,18 +13,18 @@
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="person" color="secondary"></ion-icon>
|
||||
<ion-label>Nombre: {{name}}</ion-label>
|
||||
<ion-input placeholder="Nombre"></ion-input>
|
||||
<ion-input placeholder="Nombre" color="ligth"></ion-input>
|
||||
</ion-item>
|
||||
<form #ngForm="ngForm">
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="mail" color="secondary"></ion-icon>
|
||||
<ion-label>Correo: </ion-label>
|
||||
<ion-input placeholder="Correo" type="email" name="email" pattern="email" [(ngModel)]="data.email" required></ion-input>
|
||||
<ion-input placeholder="Correo" type="email" name="email" pattern="email" [(ngModel)]="data.email" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="call-outline" color="secondary"></ion-icon>
|
||||
<ion-label>Teléfono Personal: </ion-label>
|
||||
<ion-input placeholder="Teléfono celular" type="tel" name="phone"[(ngModel)]="data.phone" required maxlength="10" minlength="10"></ion-input>
|
||||
<ion-input placeholder="Teléfono celular" type="tel" name="phone"[(ngModel)]="data.phone" required maxlength="10" minlength="10" color="ligth"></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-icon name="home-outline" color="secondary"></ion-icon>
|
||||
@@ -32,27 +32,27 @@
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Calle: </ion-label>
|
||||
<ion-input placeholder="Calle" [(ngModel)]="data.street" name="street" required></ion-input>
|
||||
<ion-input placeholder="Calle" [(ngModel)]="data.street" name="street" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Número: </ion-label>
|
||||
<ion-input placeholder="Número" type="number" [(ngModel)]="data.noExt" name="noExt" required></ion-input>
|
||||
<ion-input placeholder="Número" type="number" [(ngModel)]="data.noExt" name="noExt" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Número Interior: </ion-label>
|
||||
<ion-input placeholder="Número Interior" type="number" min=1 [(ngModel)]="data.noInt" name="noInt" required></ion-input>
|
||||
<ion-input placeholder="Número Interior" type="number" min=1 [(ngModel)]="data.noInt" name="noInt" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Colonia: </ion-label>
|
||||
<ion-input placeholder="Colonia" [(ngModel)]="data.suburb" name="suburb" required></ion-input>
|
||||
<ion-input placeholder="Colonia" [(ngModel)]="data.suburb" name="suburb" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Código postal: </ion-label>
|
||||
<ion-input placeholder="Codigo postal" inputmode="numeric" [(ngModel)]="data.cp" name="cp" required></ion-input>
|
||||
<ion-input placeholder="Codigo postal" inputmode="numeric" [(ngModel)]="data.cp" name="cp" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
<ion-item color="translucent">
|
||||
<ion-label>Estado: </ion-label>
|
||||
<ion-input placeholder="Estado" [(ngModel)]="data.state" name="state" required></ion-input>
|
||||
<ion-input placeholder="Estado" [(ngModel)]="data.state" name="state" color="ligth" required></ion-input>
|
||||
</ion-item>
|
||||
</form>
|
||||
</ion-content>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
export const environment = {
|
||||
production: false,
|
||||
server: 'http://192.168.0.7:9707/'
|
||||
server: 'http://192.168.0.13:9707/'
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||