Merge branch 'feature/PushNotification_Cordova' into developer

This commit is contained in:
tiago.kayaya
2021-04-12 11:26:58 +01:00
11 changed files with 557 additions and 238 deletions
+1
View File
@@ -30,6 +30,7 @@ npm-debug.log*
/platforms
/plugins
/www
/mobilefirst
# Custom
/android
+5 -5
View File
@@ -101,14 +101,14 @@
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<mfp:android>
<mfp:sdkChecksum>1109370933</mfp:sdkChecksum>
<mfp:appChecksum>0</mfp:appChecksum>
<mfp:appChecksum>4242109404</mfp:appChecksum>
<mfp:security>
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
</mfp:security>
</mfp:android>
<mfp:ios>
<mfp:sdkChecksum>0</mfp:sdkChecksum>
<mfp:appChecksum>0</mfp:appChecksum>
<mfp:sdkChecksum>246097737</mfp:sdkChecksum>
<mfp:appChecksum>3914937917</mfp:appChecksum>
<mfp:security>
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
</mfp:security>
@@ -134,9 +134,9 @@
</mfp:windows10>
<mfp:appChecksum>0</mfp:appChecksum>
</mfp:windows>
<mfp:platformVersion>8.0.0.00-20210214-154410</mfp:platformVersion>
<mfp:platformVersion>8.0.0.00-20210308-063916</mfp:platformVersion>
<mfp:clientCustomInit enabled="false" />
<mfp:server runtime="mfp" url="http://10.0.0.1:9080" />
<mfp:server runtime="mfp" url="http://gpr-dev-10.gabinetedigital.local:9080" />
<mfp:serverUri url="" />
<mfp:directUpdateAuthenticityPublicKey />
<mfp:languagePreferences>en</mfp:languagePreferences>
+40
View File
@@ -0,0 +1,40 @@
{
"project_info": {
"project_number": "800733765231",
"firebase_url": "https://gabinete-digital-2020.firebaseio.com",
"project_id": "gabinete-digital-2020",
"storage_bucket": "gabinete-digital-2020.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:800733765231:android:e7ffc0b310037d9f13779a",
"android_client_info": {
"package_name": "com.gpr.gabinetedigital"
}
},
"oauth_client": [
{
"client_id": "800733765231-92oa7ib62ob0pkouphb5i5sp01vkalid.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyD0pfW45DLoW6mqvZRklJdbfSTskW22Fok"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "800733765231-92oa7ib62ob0pkouphb5i5sp01vkalid.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
+236 -68
View File
@@ -2039,6 +2039,21 @@
}
}
},
"@ionic-native/fcm": {
"version": "5.32.0",
"resolved": "https://registry.npmjs.org/@ionic-native/fcm/-/fcm-5.32.0.tgz",
"integrity": "sha512-6BU5cbxILHe3LmL82qwTl80BCaDzZvkd2svQm3CQgwBrBuzzccYd4iSqpdkHXyLkb49fIRa22r3apc7EJ72cFg==",
"requires": {
"@types/cordova": "^0.0.34"
},
"dependencies": {
"@types/cordova": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
"integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
}
}
},
"@ionic-native/file": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.31.1.tgz",
@@ -4388,6 +4403,15 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
"bplist-creator": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
"integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==",
"dev": true,
"requires": {
"stream-buffers": "~2.2.0"
}
},
"bplist-parser": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
@@ -5628,6 +5652,97 @@
}
}
},
"cordova-ios": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.2.0.tgz",
"integrity": "sha512-sLjZg2QBI1SpQVwfe0MSn89YNVkBGLW9Q1vcFJBsqKBrhvoEOJ5Ytq0gwqdhgTOGzlwJUfxC6OHM3jcsRjtYrw==",
"dev": true,
"requires": {
"cordova-common": "^4.0.2",
"fs-extra": "^9.1.0",
"ios-sim": "^8.0.2",
"nopt": "^5.0.0",
"plist": "^3.0.1",
"semver": "^7.3.4",
"unorm": "^1.6.0",
"which": "^2.0.2",
"xcode": "^3.0.1",
"xml-escape": "^1.1.0"
},
"dependencies": {
"fs-extra": {
"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": "^6.0.1",
"universalify": "^2.0.0"
}
},
"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"
}
},
"nopt": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dev": true,
"requires": {
"abbrev": "1"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"cordova-plugin-androidx": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-androidx/-/cordova-plugin-androidx-3.0.0.tgz",
"integrity": "sha512-niMnhcxKsu4/oKTUbL0jRAnh6/cdoIVxRxJqj3uEyv8CVOlAj1sWhX+9b1XiAo9+bejAM9BbA21YK0mChfbVTA==",
"dev": true
},
"cordova-plugin-androidx-adapter": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-androidx-adapter/-/cordova-plugin-androidx-adapter-1.1.3.tgz",
"integrity": "sha512-W1SImn0cCCvOSTSfWWp5TnanIQrSuh2Bch+dcZXIzEn0km3Qb7VryeAqHhgBQYwwzC5Ollk1DtUAk/AJSojuZA==",
"dev": true,
"requires": {
"q": "^1.5.1",
"recursive-readdir": "^2.2.2"
}
},
"cordova-plugin-camera": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-5.0.1.tgz",
@@ -5645,6 +5760,15 @@
"integrity": "sha512-Jb3V72btxf3XHpkPQsGdyc8N6tVBYn1vsxSFj43fIz9vonJDUThYPCJJHqk6PX6N4dJw6I4FjxkpfCR4LDYMlw==",
"dev": true
},
"cordova-plugin-fcm-with-dependecy-updated": {
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-fcm-with-dependecy-updated/-/cordova-plugin-fcm-with-dependecy-updated-7.8.0.tgz",
"integrity": "sha512-p2pbY1oqQ2UDbaWOWA2z84uMXmdDGYmK2O+mrufj1bZyoFodt7WqrtiB9oDnUuSSinMrdNFrupiWEDMSBSNVeQ==",
"dev": true,
"requires": {
"typescript": "^4.1.3"
}
},
"cordova-plugin-filepath": {
"version": "1.5.8",
"resolved": "https://registry.npmjs.org/cordova-plugin-filepath/-/cordova-plugin-filepath-1.5.8.tgz",
@@ -6479,11 +6603,6 @@
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
},
"deepmerge": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
},
"default-gateway": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
@@ -7024,7 +7143,8 @@
"entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true
},
"env-paths": {
"version": "2.2.0",
@@ -8252,11 +8372,6 @@
"minimalistic-assert": "^1.0.1"
}
},
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
"hex-color-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
@@ -8325,63 +8440,6 @@
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
"html-to-text": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-7.0.0.tgz",
"integrity": "sha512-UR/WMSHRN8m+L7qQUhbSoxylwBovNPS+xURn/pHeJvbnemhyMiuPYBTBGqB6s8ajAARN5jzKfF0d3CY86VANpA==",
"requires": {
"deepmerge": "^4.2.2",
"he": "^1.2.0",
"htmlparser2": "^6.0.0",
"minimist": "^1.2.5"
},
"dependencies": {
"dom-serializer": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz",
"integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
"entities": "^2.0.0"
}
},
"domelementtype": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
},
"domhandler": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.1.0.tgz",
"integrity": "sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ==",
"requires": {
"domelementtype": "^2.2.0"
}
},
"domutils": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.5.1.tgz",
"integrity": "sha512-hO1XwHMGAthA/1KL7c83oip/6UWo3FlUNIuWiWKltoiQ5oCOiqths8KknvY2jpOohUoUgnwa/+Rm7UpwpSbY/Q==",
"requires": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.1.0"
}
},
"htmlparser2": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.1.tgz",
"integrity": "sha512-GDKPd+vk4jvSuvCbyuzx/unmXkk090Azec7LovXP8as1Hn8q9p3hbjmDGbUqqhknw0ajwit6LiiWqfiTUPMK7w==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
"domutils": "^2.4.4",
"entities": "^2.0.0"
}
}
}
},
"htmlparser2": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
@@ -8900,6 +8958,11 @@
"ipaddr.js": "^1.9.0"
}
},
"ionic-angular": {
"version": "3.9.10",
"resolved": "https://registry.npmjs.org/ionic-angular/-/ionic-angular-3.9.10.tgz",
"integrity": "sha512-4nmGrdpu4Zy3SZwF0AaS/3gDrbFGU1dV+zn1eqInFgFj9q20N1cIITgvyIcoxUI/IoqYiohsJX1rGY5vB/HrhQ=="
},
"ionic-selectable": {
"version": "4.7.1",
"resolved": "https://registry.npmjs.org/ionic-selectable/-/ionic-selectable-4.7.1.tgz",
@@ -8929,6 +8992,35 @@
"@stencil/core": "^2.4.0"
}
},
"ios-sim": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.2.tgz",
"integrity": "sha512-P7nEG771bfd+JoMRjnis1gpZOkjTUUxu+4Ek1Z+eoaEEoT9byllU9pxfQ8Df7hL3gSkIQxNwTSLhos2I8tWUQA==",
"dev": true,
"requires": {
"bplist-parser": "^0.0.6",
"nopt": "1.0.9",
"plist": "^3.0.1",
"simctl": "^2"
},
"dependencies": {
"bplist-parser": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
"integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk=",
"dev": true
},
"nopt": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz",
"integrity": "sha1-O8DXy6e/sNWmdtvtfA6+SKT9RU4=",
"dev": true,
"requires": {
"abbrev": "1"
}
}
}
},
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -13930,6 +14022,15 @@
"picomatch": "^2.2.1"
}
},
"recursive-readdir": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
"dev": true,
"requires": {
"minimatch": "3.0.4"
}
},
"reflect-metadata": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
@@ -14819,11 +14920,27 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"shelljs": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
"integrity": "sha1-kEktcv/MgVmXa6umL7D2iE8MM3g=",
"dev": true
},
"signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"simctl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/simctl/-/simctl-2.0.0.tgz",
"integrity": "sha512-5rB7rN4N3b0z0nFdy9eczVssXqrv2aAgdVRksPVqVoiDtvXmfzNvebp3EMdId2sAUzXIflarQlx4P0hjVQEzKQ==",
"dev": true,
"requires": {
"shelljs": "^0.2.6",
"tail": "^0.4.0"
}
},
"simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
@@ -14854,6 +14971,17 @@
}
}
},
"simple-plist": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.1.1.tgz",
"integrity": "sha512-pKMCVKvZbZTsqYR6RKgLfBHkh2cV89GXcA/0CVPje3sOiNOnXA8+rp/ciAMZ7JRaUdLzlEM6JFfUn+fS6Nt3hg==",
"dev": true,
"requires": {
"bplist-creator": "0.0.8",
"bplist-parser": "0.2.0",
"plist": "^3.0.1"
}
},
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -15528,6 +15656,12 @@
"readable-stream": "^2.0.2"
}
},
"stream-buffers": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
"integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=",
"dev": true
},
"stream-each": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
@@ -15888,6 +16022,12 @@
"integrity": "sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==",
"dev": true
},
"tail": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz",
"integrity": "sha1-0p3nJ1DMmdseBTr/E8NZ7PtxMAI=",
"dev": true
},
"tapable": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
@@ -16403,6 +16543,12 @@
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true
},
"unorm": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
"integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==",
"dev": true
},
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -16576,6 +16722,12 @@
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
},
"uuid": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
"integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
"dev": true
},
"validate-npm-package-name": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
@@ -17776,6 +17928,22 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz",
"integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA=="
},
"xcode": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz",
"integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==",
"dev": true,
"requires": {
"simple-plist": "^1.1.0",
"uuid": "^7.0.3"
}
},
"xml-escape": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz",
"integrity": "sha1-OQTBQ/qOs6ADDsZG0pAqLxtwbEQ=",
"dev": true
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+18 -2
View File
@@ -28,6 +28,7 @@
"@fullcalendar/interaction": "^5.3.0",
"@ionic-native/camera": "^5.31.1",
"@ionic-native/core": "^5.0.7",
"@ionic-native/fcm": "^5.32.0",
"@ionic-native/file": "^5.30.0",
"@ionic-native/file-path": "^5.30.0",
"@ionic-native/http": "^5.31.1",
@@ -50,7 +51,7 @@
"cordova-res": "^0.15.3",
"cordova-sqlite-storage": "^5.1.0",
"date-fns": "^2.17.0",
"html-to-text": "^7.0.0",
"ionic-angular": "^3.9.10",
"ionic-selectable": "^4.7.1",
"ionic2-alpha-scroll": "^2.0.1",
"ionic2-calendar": "^0.6.6",
@@ -78,8 +79,12 @@
"codelyzer": "^6.0.0",
"cordova-android": "^9.0.0",
"cordova-browser": "^6.0.0",
"cordova-ios": "^6.2.0",
"cordova-plugin-androidx": "^3.0.0",
"cordova-plugin-androidx-adapter": "^1.1.3",
"cordova-plugin-compat": "^1.2.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-fcm-with-dependecy-updated": "^7.8.0",
"cordova-plugin-inappbrowser": "^4.0.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
@@ -112,10 +117,21 @@
"cordova-plugin-camera": {},
"cordova-sqlite-storage": {},
"cordova-plugin-compat": {},
"cordova-plugin-mfp": {}
"cordova-plugin-mfp": {},
"cordova-plugin-androidx": {},
"cordova-plugin-androidx-adapter": {},
"cordova-plugin-fcm-with-dependecy-updated": {
"ANDROID_DEFAULT_NOTIFICATION_ICON": "@mipmap/ic_launcher",
"ANDROID_FCM_VERSION": "21.0.0",
"ANDROID_FIREBASE_BOM_VERSION": "26.0.0",
"ANDROID_GOOGLE_SERVICES_VERSION": "4.3.4",
"ANDROID_GRADLE_TOOLS_VERSION": "4.1.0",
"IOS_FIREBASE_MESSAGING_VERSION": "~> 7.4.0"
}
},
"platforms": [
"browser",
"ios",
"android"
]
},
@@ -2,5 +2,7 @@
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">192.168.0.244</domain>
<domain includeSubdomains="true">gpr-dev-10.gabinetedigital.local</domain>
</domain-config>
</network-security-config>
+3
View File
@@ -29,6 +29,8 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MessagesPage } from './pages/chat/messages/messages.page';
import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx'
@NgModule({
declarations: [AppComponent,MessagesPage,],
@@ -55,6 +57,7 @@ import { MessagesPage } from './pages/chat/messages/messages.page';
//File,
WebView,
FilePath,
FCM
],
bootstrap: [AppComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
+168 -126
View File
@@ -1,11 +1,20 @@
///<reference path="../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />
import { Component, OnInit, NgZone } from '@angular/core';
import { EventsService } from '../services/events.service';
import { Event } from '../models/event.model';
import { ProcessesService } from '../services/processes.service';
import { ModalController } from '@ionic/angular';
import { ModalController, AlertController, AnimationController } from '@ionic/angular';
//import { AlertController } from 'ionic-angular';
/* import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed, Modals } from '@capacitor/core'; */
import { Router } from '@angular/router';
import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
import { ViewEventPage } from '../pages/agenda/view-event/view-event.page';
import { ApproveEventModalPage } from '../pages/agenda/approve-event-modal/approve-event-modal.page';
import { ExpedienteDetailPage } from '../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';
import { PublicationDetailPage } from '../pages/publications/publication-detail/publication-detail.page';
import { ViewPublicationsPage } from '../pages/publications/view-publications/view-publications.page';
/* const { PushNotifications, LocalNotifications, LocalNotificationAction } = Plugins; */
@Component({
@@ -22,16 +31,43 @@ export class HomePage implements OnInit {
totalExpediente = 0;
profile: string;
constructor(private zone: NgZone,private eventService: EventsService, private processesbackend: ProcessesService, private router: Router, private modalController: ModalController) {
adding: "intervenient" | "CC" = "intervenient";
mobileComponent = {
showAddNewEvent: false,
showEditEvent: false,
showEventDetails: false,
showEventList: false,
transparentEventList: false,
transparentEventToApprove: false,
showEventToApprove: false,
showAttendees: false,
showAttendeeModal: false
}
eventToaprove: any = {
back: false,
serialNumber: "",
saveData: {}
}
selectedEvent: Event;
postEvent: any;
folderId: string;
constructor(private zone: NgZone, private eventService: EventsService, private processesbackend: ProcessesService, private router: Router, private modalController: ModalController, public modalCtrl: AlertController, private fcm: FCM, private animationController: AnimationController,) {
router.events.subscribe((val) => {
document.querySelectorAll('ion-modal').forEach((e) => e.remove())
});
{
//this.folderId = this.navParams.get('folderId');
}
}
ngOnInit() {
//Initialize profile as mdgpr
this.pushCordova()
/* //Initialize profile as mdgpr
let date = new Date();
date.setMonth(date.getMonth() + 1);
@@ -56,96 +92,99 @@ export class HomePage implements OnInit {
this.totalExpediente = result;
});
/*
PushNotifications.addListener('registrationError', (error: any) => {
alert('Error on registration: ' + JSON.stringify(error));
});
*/
}
PushNotifications.addListener('pushNotificationReceived', notification => {
pushCordova() {
//const isPushNotification = !!notification.title || !!notification.body;
this.fcm.onNotification().subscribe(data => {
this.viewEventDetail(data.idObject)
if (data.click_action) {
console.log("Received in background: ", data);
// if this is a push notification received when the app is in the foreground on Android
//if (isAndroid && isPushNotification) {
// We schedule a LocalNotification 1 second later since Capacitor for Android doesn't show anything in this case
console.log('Recived: ', notification)
//}
});
PushNotifications.addListener(
'pushNotificationActionPerformed',
(notification: PushNotificationActionPerformed) => {
let service = notification.notification.data.Service;
let object = notification.notification.data.Object;
let idObject = notification.notification.data.IdObject;
console.log('Complete Object: ', notification.notification )
console.log('Service: ', service);
console.log('Object: ', object);
console.log('idObject: ', idObject);
if (service === "agenda") {
if (data.service === "agenda") {
//this.router.navigate(['/home/', service, idObject, 'home']);
this.viewEventDetail(idObject)
this.viewEventDetail(data.idObject)
}
else if (service === "gabinete-digital" && object === "expediente") {
this.viewExpedientDetail(idObject)
else if (data.service === "gabinete-digital" && data.object === "expediente") {
this.viewExpedientDetail(data.idObject)
}
else if (service === "gabinete-digital" && object === "event-list") {
else if (data.service === "gabinete-digital" && data.object === "event-list") {
// this.ngZone.run(() => {this.router.navigate(['/home/gabinete-digital/event-list', idObject])})
this.openApproveModal(idObject);
this.openApproveModal(data.idObject);
}
else if (service === "accoes" && object === "accao") {
this.viewPublications(idObject)
else if (data.service === "accoes" && data.object === "accao") {
//this.viewPublications(data.idObject)
alert(data.idObject)
}
else if (service === "accoes" && object === "publicacao") {
this.viewPublicationDetail(idObject)
else if (data.service === "accoes" && data.object === "publicacao") {
this.viewPublicationDetail(data.idObject)
}
} else {
console.log("Received in foreground: ", data);
if (data.service === "agenda") {
//this.router.navigate(['/home/', service, idObject, 'home']);
this.viewEventDetail(data.idObject)
}
else if (data.service === "gabinete-digital" && data.object === "expediente") {
this.viewExpedientDetail(data.idObject)
}
else if (data.service === "gabinete-digital" && data.object === "event-list") {
// this.ngZone.run(() => {this.router.navigate(['/home/gabinete-digital/event-list', idObject])})
this.openApproveModal(data.idObject);
}
else if (data.service === "accoes" && data.object === "accao") {
this.viewPublications(data.idObject)
}
else if (data.service === "accoes" && data.object === "publicacao") {
this.viewPublicationDetail(data.idObject)
}
};
});
this.fcm.onTokenRefresh().subscribe(token => {
// Register your new token in your back-end if you want
// backend.registerToken(token);
});
this.ubscribeToTopic()
this.getToken()
}
ubscribeToTopic() {
this.fcm.subscribeToTopic('enappd');
}
getToken() {
this.fcm.getToken().then(token => {
console.log('token: ', token)
// Register your new token in your back-end if you want
// backend.registerToken(token);
});
}
async viewEventDetail(eventId: any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps: {
eventId: eventId,
adding: this.adding
},
); */
}
/* mobileFirstTest() {
this.zone.run(() => {
alert("Hello MobileFirst");
alert("Connecting to Server...");
cssClass: 'modal modal-desktop',
backdropDismiss: false
});
WLAuthorizationManager.obtainAccessToken("").then(
(token) => {
console.log('--> pingMFP(): Success ', token);
this.zone.run(() => {
alert("Yay!");
alert("Connected to MobileFirst Server");
});
var resourceRequest = new WLResourceRequest("/adapters/javaAdapter/resource/greet/",
WLResourceRequest.GET
);
resourceRequest.setQueryParameter("name", "world");
resourceRequest.send().then(
(response) => {
// Will display "Hello world" in an alert dialog.
alert("Success: " + response.responseText);
},
(error) => {
alert("Failure: " + JSON.stringify(error));
await modal.present();
modal.onDidDismiss().then((res) => {
if (res) {
//this.viewEventDetailDismiss(res);
}
);
}, (error) => {
console.log('--> pingMFP(): failure ', error.responseText);
this.zone.run(() => {
alert("Bummer...");
alert("Failed to connect to MobileFirst Server");
});
}
);
} */
/* async openApproveModal(eventSerialNumber){
async openApproveModal(eventSerialNumber) {
const modal = await this.modalController.create({
component: ApproveEventModalPage,
componentProps: {
@@ -157,46 +196,17 @@ export class HomePage implements OnInit {
await modal.present();
modal.onDidDismiss();
} */
/* async viewEventDetail(eventId:any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps:{
eventId: eventId,
},
cssClass: 'modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
} */
/* async viewExpedientDetail(serialNumber:any) {
console.log(this.profile);
const modal = await this.modalController.create({
component: ViewEventPage,
componentProps: {
eventId: eventId,
},
cssClass: 'modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then((res) => {
if (res) {
console.log(res);
//this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
}
});
}
async viewExpedientDetail(serialNumber: any) {
console.log(this.profile);
console.log("Expediente id: ", serialNumber);
let classs;
if (window.innerWidth <= 800) {
classs = 'modal'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
/* console.log(this.profile);
console.log(serialNumber); */
const modal = await this.modalController.create({
component: ExpedienteDetailPage,
@@ -204,42 +214,74 @@ export class HomePage implements OnInit {
serialNumber: serialNumber,
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
cssClass: classs,
});
await modal.present();
modal.onDidDismiss();
} */
modal.onDidDismiss().then((res) => {
if (res) {
console.log(res);
}
});
}
/* async viewPublicationDetail(folderId) {
async viewPublicationDetail(publicationId: string) {
const modal = await this.modalController.create({
component: PublicationDetailPage,
componentProps: {
folderId: folderId,
publicationId: publicationId,
folderId: this.folderId,
},
cssClass: 'publication-detail',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
} */
modal.onDidDismiss().then(() => {
//this.getPublications();
});
}
async viewPublications(folderId) {
const enterAnimation = (baseEl: any) => {
const backdropAnimation = this.animationController.create()
.addElement(baseEl.querySelector('ion-backdrop')!)
.fromTo('opacity', '0.01', 'var(--backdrop-opacity)');
const wrapperAnimation = this.animationController.create()
.addElement(baseEl.querySelector('.modal-wrapper')!)
.keyframes([
{ offset: 0, opacity: '0', transform: 'scale(0)' },
{ offset: 1, opacity: '0.99', transform: 'scale(1)' }
]);
return this.animationController.create()
.addElement(baseEl)
.easing('ease-out')
.duration(500)
.addAnimation([backdropAnimation, wrapperAnimation]);
}
const leaveAnimation = (baseEl: any) => {
return enterAnimation(baseEl).direction('reverse');
}
/* async viewPublications(folderId) {
const modal = await this.modalController.create({
component: ViewPublicationsPage,
enterAnimation,
leaveAnimation,
componentProps: {
item: folderId,
folderId: folderId,
},
cssClass: 'new-action',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss();
} */
}
+22
View File
@@ -0,0 +1,22 @@
function wlCommonInit() {
WLAuthorizationManager.obtainAccessToken()
.then(
function (accessToken) {
alert('Index sucsse: ', accessToken)
},
function (error) {
alert('Index error: ', error)
}
);
}
+22
View File
@@ -0,0 +1,22 @@
function wlCommonInit(){
// Override the default Direct Update interface.
//uncomment below function to get custom DU
wl_directUpdateChallengeHandler.handleDirectUpdate = function(directUpdateData, directUpdateContext) {
// Create a dialog.
navigator.notification.confirm(
'Actualização Disponivel',
// Handle dialog buttons.
function(buttonIndex) {
if (buttonIndex == 1) {
directUpdateContext.start();
} else {
wl_directUpdateChallengeHandler.submitFailure();
}
},
'ctualização Disponivel',
['Actualizar']
);
};
}
+3
View File
@@ -7,6 +7,9 @@
<base href="/" />
<script src="assets/js/index.js"></script>
<script src="assets/js/wldirectudpate.js"></script>
<meta name="color-scheme" content="light dark" />
<meta name="viewport" content="viewport-fit=cover, width=device-width, height=device-hight, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="format-detection" content="telephone=no" />