diff --git a/.gitignore b/.gitignore index 8e9cdb052..9796ab682 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,7 @@ npm-debug.log* /android /package-lock.json - + src/app/architect/ src/environments/environment.e2e.ts .env @@ -50,4 +50,7 @@ src/app/store/notification.service.ts src/assets/www/pdfjs/web/compressed.tracemonkey-pldi-09.pdf.pdf -node_modules_ \ No newline at end of file +node_modules_ +node_modules__ +plugins_ +ios diff --git a/angular.json b/angular.json index 28356ab3f..ecd38fe24 100644 --- a/angular.json +++ b/angular.json @@ -84,8 +84,7 @@ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "browserTarget": "app:build", - "proxyConfig": "src/proxy.conf.json" + "browserTarget": "app:build" }, "configurations": { "production": { diff --git a/capacitor.config.json b/capacitor.config.json index abe9bdb63..1119e4dc1 100644 --- a/capacitor.config.json +++ b/capacitor.config.json @@ -17,5 +17,6 @@ }, "android": { "allowMixedContent": true - } + }, + "bundledWebRuntime": false } diff --git a/config.xml b/config.xml index 7cb062033..4b774909f 100644 --- a/config.xml +++ b/config.xml @@ -1,6 +1,6 @@ - - gabinete digital + + Gabinete digital An awesome Ionic/Cordova app. Ionic Framework Team @@ -27,12 +27,6 @@ - - - - - - @@ -45,7 +39,14 @@ + + + + + + +<<<<<<< HEAD 3077110622 3619450036 @@ -89,6 +90,11 @@ en /adapters/MobileAPIProxy 2 +======= +>>>>>>> d9593fa592ca58a1f04e3fcd0aaf596f9a54cd3a + + + diff --git a/firebase-messaging-sw.js b/firebase-messaging-sw.js new file mode 100644 index 000000000..aa3917c40 --- /dev/null +++ b/firebase-messaging-sw.js @@ -0,0 +1,42 @@ + if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('./firebase-messaging-sw.js') + .then(function(registration) { + console.log('Registration successful, scope is:', registration.scope); + }).catch(function(err) { + console.log('Service worker registration failed, error:', err); + }); + } +// Scripts for firebase and firebase messaging + + +/* importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-app.js'); +importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-messaging.js'); + +// Initialize the Firebase app in the service worker by passing the generated config +var firebaseConfig = { + apiKey: "AIzaSyAAdHmTFznCMerdT99nrewJgISRvtxPqoY", + authDomain: "gabinete-digital-2020.firebaseapp.com", + databaseURL: "https://gabinete-digital-2020.firebaseio.com", + projectId: "gabinete-digital-2020", + storageBucket: "gabinete-digital-2020.appspot.com", + messagingSenderId: "800733765231", + appId: "1:800733765231:web:28e7792ab150006513779a", + measurementId: "G-8QN4BLZ8XK" +}; + +firebase.initializeApp(firebaseConfig); + +// Retrieve firebase messaging +const messaging = firebase.messaging(); + +messaging.onBackgroundMessage(function(payload) { + console.log('Received background message ', payload); + + const notificationTitle = payload.notification.title; + const notificationOptions = { + body: payload.notification.body, + }; + + self.registration.showNotification(notificationTitle, + notificationOptions); +}); */ \ No newline at end of file diff --git a/ionic.config.json b/ionic.config.json index aab0ef21f..503cee40d 100644 --- a/ionic.config.json +++ b/ionic.config.json @@ -1,17 +1,9 @@ { "name": "gabinete-digital", "integrations": { - "cordova": {} + "cordova": {}, + "capacitor": {} }, "type": "angular", - "proxies":[ - { - "path": "/mfp/api/imfpush/", - "proxyUrl": "http://gpr-dev-10.gabinetedigital.local:9080/mfp/api/imfpush/" - }, - { - "path": "/mfp/api", - "proxyUrl": "http://gpr-dev-10.gabinetedigital.local:9080/mfp/api" - } - ] + "proxies": [] } diff --git a/package-lock.json b/package-lock.json index 30f2759e4..ac401ff1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2030,6 +2030,163 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@capacitor/android": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.3.1.tgz", + "integrity": "sha512-TB9UJh6/e6CV6KDpu/lNHKhgVvnDL2d3crNYtfKzp64CzeZhttQGIQShXSdMb3DG4kk7Zi/qBlfSaWBBD95NhQ==" + }, + "@capacitor/app": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-1.0.5.tgz", + "integrity": "sha512-U0dAw1CAjKyguSRxKDabszsQ4dj679RnxaUZrSHDR5Jnt5x308oQuKXFP++wnMBbw72D02iqjG0a+/Ujye7C9g==" + }, + "@capacitor/camera": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/camera/-/camera-1.2.0.tgz", + "integrity": "sha512-NAIGWnyHBGQ/dgla/D4KDkAeQ2f3fzw+D+DIkGNH3f1ciX4bXC7lNbDVU67SMOuNt+CmcTJF64q3nVXcpv5JvQ==" + }, + "@capacitor/cli": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.3.0.tgz", + "integrity": "sha512-BkxagJhHG11+0ivFwUOnAhhdwQ1WXoX0WEzqzzGVL9k63hStuIOvPUusp34+G4EcNU01BAJlBt+dgefSvDhOFw==", + "dev": true, + "requires": { + "@ionic/cli-framework-output": "^2.2.1", + "@ionic/utils-fs": "^3.1.5", + "@ionic/utils-subprocess": "^2.1.6", + "@ionic/utils-terminal": "^2.3.0", + "commander": "^6.0.0", + "debug": "^4.2.0", + "env-paths": "^2.2.0", + "kleur": "^4.1.1", + "native-run": "^1.5.0", + "open": "^7.4.2", + "plist": "^3.0.2", + "prompts": "^2.3.2", + "semver": "^7.3.2", + "tar": "^6.1.11", + "tslib": "^2.1.0", + "xml2js": "^0.4.23" + }, + "dependencies": { + "@ionic/utils-object": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", + "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + } + }, + "@ionic/utils-process": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", + "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", + "dev": true, + "requires": { + "@ionic/utils-object": "2.1.5", + "@ionic/utils-terminal": "2.3.1", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + } + }, + "@ionic/utils-stream": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", + "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + } + }, + "@ionic/utils-subprocess": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", + "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", + "dev": true, + "requires": { + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.5", + "@ionic/utils-process": "2.1.8", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-terminal": "2.3.1", + "cross-spawn": "^7.0.0", + "debug": "^4.0.0", + "tslib": "^2.0.1" + } + }, + "@ionic/utils-terminal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", + "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "kleur": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", + "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", + "dev": true + } + } + }, + "@capacitor/core": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.3.0.tgz", + "integrity": "sha512-bKkg/IGALz5OKJPGwtGXoqi4JUXWbuILnZ9J12Mv21fPMFBoszYOiMfm7FqdcCwqcyJWCdG3SQDxCz0Q3e2y8Q==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@capacitor/filesystem": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-1.0.6.tgz", + "integrity": "sha512-8xqUbDZFGBMhgqoBSn9wEd9OBPdHIRegQ9zCCZcpHNf3FFAIby1ck+aDFnoq+Da49xhD6ks1SKCBSxz/26qWTw==" + }, + "@capacitor/haptics": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-1.1.3.tgz", + "integrity": "sha512-ui2mY/riK1Y4bxnJKJfclWO61obZ0RHmtErPhpmt4wIEVjG1segYdFop45R2PxyEwoUJgzEsAxnviM/T6k8seQ==" + }, + "@capacitor/ios": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-3.3.0.tgz", + "integrity": "sha512-KImT4hVoQJuAfe01wUYiMLnutMu7PxVCv4c8HVWiW+OuyyOua3lC8wQ5gAauGDugAo6mdM7fVva5a0Vtyhnbdg==" + }, + "@capacitor/keyboard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-1.1.3.tgz", + "integrity": "sha512-WpD1f/3HH6IpADiRaFTDGdhrqYhZDikybXXhUdGAEEwHbErHt9zS5RQgbeROjGmkXcurVvQsalQ59YuKU0VzwA==" + }, + "@capacitor/network": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@capacitor/network/-/network-1.0.6.tgz", + "integrity": "sha512-xkkmRLlFcg1dM0WfblxKwcKFjcfBQ04yWYX0ubD/n5QfQjLCCb8GbAHlorqIyt2j4PUvSAb0ERLyL89hpKlh2w==" + }, + "@capacitor/push-notifications": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@capacitor/push-notifications/-/push-notifications-1.0.7.tgz", + "integrity": "sha512-vbvAptFq5cI6xKYYWMb7tsWvA88/PTG4v6ptxN0Ygtc1fQ4l/AzONQiYqdtFpbBhF2fML2kXQ/5eSAfn8HY9aw==" + }, "@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", @@ -2062,6 +2219,568 @@ "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", "dev": true }, + "@firebase/analytics": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.7.3.tgz", + "integrity": "sha512-FrWo266CzFiNPBvt4hY3wgRrkcMjb7QY+sCEnyJXaXc10QfgWtpFDPkV+mJwS5djRAlU6/FrAMe7y1w7xcSZsg==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/installations": "0.5.3", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-compat": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.4.tgz", + "integrity": "sha512-1/3wpiWGOu1+mX0ZDMl2FkYZGZt3iYdFh80FBOa4GN6ohgTWK21N35EB8E4jS7Gz4a70dBtWHxWrzhLLzL5JyA==", + "requires": { + "@firebase/analytics": "0.7.3", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.8", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "@firebase/app": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.6.tgz", + "integrity": "sha512-/KqKT7BSq9qseBAjS6JxJy6QosoWRVvDT/3tV9p26gVM5mqrmimTJvSh5+NMlTn1cf00DjCzQcOyaZrcJB54dg==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.0.tgz", + "integrity": "sha512-J9mod9V+o/0cq/57FxjAx5Whx7zVHJL0OWGi64ERFpG2gC9MAcGsqKy76zpGGTvEuGKEFgTILcXHchIlmjOrmw==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-compat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.0.tgz", + "integrity": "sha512-SwXVFjcwC1ksYOT3GFyAa4nQeUfXSYN+j7B1Vb4qlk7CBqmIYWhX/KlP1EAaOhmPuwsvA10E1t3HKeY+rmFzkw==", + "requires": { + "@firebase/app-check": "0.5.0", + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "@firebase/app-compat": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.7.tgz", + "integrity": "sha512-Wb8w5XRPMC9HYPByMfqJt6SVabWEtOL4ccZHjtOzaJa0pJkLOYmgUOikqTchHaRla/cHPfR6pBQO3C5ljikkyw==", + "requires": { + "@firebase/app": "0.7.6", + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "@firebase/auth": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.19.1.tgz", + "integrity": "sha512-U5QV0AJ7RdHOHHLUYSZouRdu0hXJ0RFyRl9GgrwnkLKTX1qaWUrHOQZEwrD3TGE6bfFsWtjg+KYHeOImMqkB9g==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "node-fetch": "2.6.5", + "selenium-webdriver": "4.0.0-rc-1", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "selenium-webdriver": { + "version": "4.0.0-rc-1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz", + "integrity": "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==", + "requires": { + "jszip": "^3.6.0", + "rimraf": "^3.0.2", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "@firebase/auth-compat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.1.tgz", + "integrity": "sha512-D3Cs5maug2pvk0epjCnmgATVlT3Lt2/yPB7UTLKjM+ZW1RewRMd18ruMJkeSArwApHxi1CCPxSTKNqvG4eKSMw==", + "requires": { + "@firebase/auth": "0.19.1", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.8", + "@firebase/util": "1.4.1", + "node-fetch": "2.6.5", + "selenium-webdriver": "^4.0.0-beta.2", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "selenium-webdriver": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0.tgz", + "integrity": "sha512-tOlu6FnTjPq2FKpd153pl8o2cB7H40Rvl/ogiD2sapMv4IDjQqpIxbd+swDJe9UDLdszeh5CDis6lgy4e9UG1w==", + "requires": { + "jszip": "^3.6.0", + "rimraf": "^3.0.2", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==" + }, + "@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==" + }, + "@firebase/component": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.8.tgz", + "integrity": "sha512-td705iXrumVoZbpxFg1kuD+/NtYMQwAK37DITJNmVEe5E0gUHAGeBptXNL4KPCHOd8+/7EB4JfaUOZDxylp2+g==", + "requires": { + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/database": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.12.3.tgz", + "integrity": "sha512-L2f1jgmQgrTL5l4rh4/JBw3+stVHaOSvd6sJ0aMJ3WifLLSYeW7TcqxrSqOqCqE8f2NlM2ugl9uF2/kJKk8V5A==", + "requires": { + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "@firebase/database-compat": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.1.3.tgz", + "integrity": "sha512-Y6di+XLM3UyntenjxWcmcesOfFjHOoaDqOStyryILSHNtyWeOCLDnuatJ/RNSNC2LDFFlKDqOj8C+LHGaubhNg==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/database": "0.12.3", + "@firebase/database-types": "0.9.2", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/database-types": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.2.tgz", + "integrity": "sha512-arIcrtyuca171NhaQNzyXd/+s8xemxnMpQb3hboW9UFbctOpa0fqmqMBg26rmIVOBzJ1APTw7GmXu7ch6JLoxA==", + "requires": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.4.1" + } + }, + "@firebase/firestore": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.2.1.tgz", + "integrity": "sha512-n0uNTRlhVee0O+VvDkB/e1gtH96+242LmRe8YUHGqGKPHgtFrZAhePlY31ujwaVzlP5Fw0hBffwYIe9GwWlmSA==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "@firebase/webchannel-wrapper": "0.6.1", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.0", + "node-fetch": "2.6.5", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "@firebase/firestore-compat": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.6.tgz", + "integrity": "sha512-CzpC8dcnBdoKlONnmObCQYOq+zEPdt1wgBH7Jo/0IWFmLEOIJ0aFZoxv6JVqi/qrZIroJ3Yd1KK36auOiQJ7Fw==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/firestore": "3.2.1", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==" + }, + "@firebase/functions": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.7.4.tgz", + "integrity": "sha512-HU6PNp4u1SNbXZD3Jy/Sv5bTmc/WZCd+tf4wWn7oHD83Ms285TGDjG6PrKxgZIuBL3aPF/2JBXrEgZL7BATI9w==", + "requires": { + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.8", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.4.1", + "node-fetch": "2.6.5", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "@firebase/functions-compat": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.1.5.tgz", + "integrity": "sha512-uqudQemXstb1lmiErVC8jCgLDyp/quc+McVekNLBCTfE9IoonXpepik0APH0Oj0smBs2oPIBpIL10VXdRjvP9Q==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/functions": "0.7.4", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "@firebase/installations": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.3.tgz", + "integrity": "sha512-l4HGnzFbr9E9OuXHJwjAzcWb4YW6Z3dqAqFqE4uSeFZnTANi/tV5pUVJu4FZHidkFAH/MREwbfI5JACfQ7k1tQ==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/util": "1.4.1", + "idb": "3.0.2", + "tslib": "^2.1.0" + } + }, + "@firebase/logger": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.1.tgz", + "integrity": "sha512-RlqTPGWQSFESVbcA9IsNi8hRcp+8SV7HHHAU7YrcmdXTD1RNlz50sCIq4EcXaXgBphdc7yb3Xtvle0QuFETUlg==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/messaging": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.3.tgz", + "integrity": "sha512-MOWm9gNTHimhxTnA5yqRZxC+E/iqnPMlX9mp55dLY/WKkpbjSNrORQmR7olLDGyCEsL+kIpLY7Hi4uPZu5t98Q==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/installations": "0.5.3", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.4.1", + "idb": "3.0.2", + "tslib": "^2.1.0" + } + }, + "@firebase/messaging-compat": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.3.tgz", + "integrity": "sha512-XoLJHpy6cSIWZvcNzz6j17UkIzYWZvz8u44P/mjkXq7K5Q0QsRMTSXxRRRrSlwFALEKq0kVY8YccshkVTvtIdw==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/messaging": "0.9.3", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "@firebase/performance": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.3.tgz", + "integrity": "sha512-L0MjQwfmc30Ep6IZxle9rjD9lYil82d8E6QChjD+NGaxQOkujJgHUSKmq7dE3pQpEPYQ0FOOzy7FKN2AJEiHKQ==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/installations": "0.5.3", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/performance-compat": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.3.tgz", + "integrity": "sha512-as/4kskp4yPgGrRQMRwuvOGnzoj/87e0CoEw31fCAVVakiHXznOu300kyEJad9IuVuIl7lxB03JoQTldwtUAnA==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/performance": "0.5.3", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" + }, + "@firebase/polyfill": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", + "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", + "requires": { + "core-js": "3.6.5", + "promise-polyfill": "8.1.3", + "whatwg-fetch": "2.0.4" + }, + "dependencies": { + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + } + } + }, + "@firebase/remote-config": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.2.tgz", + "integrity": "sha512-kS31tzXZ4Jb1qFTM5zhx0Er0C3BPPMLxmZDe1xaPF/nNqP1CPFwnmUiGT2rnuQ90Uc4f0j24dahISQe9qlLniA==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/installations": "0.5.3", + "@firebase/logger": "0.3.1", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/remote-config-compat": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.3.tgz", + "integrity": "sha512-BXrvJ9kLoiNgDXHgwLO83P287yj2cCdxtPpBBslZCgKiksSAAWSBsTYlIzMTFScJ9JcJDXvM1PXpejWPxCs8AA==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/logger": "0.3.1", + "@firebase/remote-config": "0.3.2", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" + }, + "@firebase/storage": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.8.5.tgz", + "integrity": "sha512-cYPNs8lAxlll4/SIorA/Wot4BngC/uLcq5AGN7axoVWeShmQyeLDL5h2XuqRks8JlJ6eHmpxZcDZNCxzAAj+lg==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/util": "1.4.1", + "node-fetch": "2.6.5", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "@firebase/storage-compat": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.5.tgz", + "integrity": "sha512-Qnpp9SmoU4MtwXTpHbjNX5CzKMFz6xFJUJqGbsFDLoifsuQwUr/t8SPpLv2/evnPkIEw5c2rFu6nYLdDK8mslA==", + "requires": { + "@firebase/component": "0.5.8", + "@firebase/storage": "0.8.5", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.4.1", + "tslib": "^2.1.0" + } + }, + "@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==" + }, + "@firebase/util": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.4.1.tgz", + "integrity": "sha512-6GM+R1MQaLmzVOX/keb1oTWUYG0jqvA5dTsh/rsCNR1ndPCtDKiMTcH5XKHEzyog1+NLSVTSMsN/AqTmm2rGCw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/webchannel-wrapper": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.1.tgz", + "integrity": "sha512-9FqhNjKQWpQ3fGnSOCovHOm+yhhiorKEqYLAfd525jWavunDJcx8rOW6i6ozAh+FbwcYMkL7b+3j4UR/30MpoQ==" + }, "@fortawesome/angular-fontawesome": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.9.0.tgz", @@ -2163,6 +2882,43 @@ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" }, + "@grpc/grpc-js": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.2.tgz", + "integrity": "sha512-aUN6oGk9un8rfYWz73nQgFxPCYJQYd8LpIGguZHBsNduBMyqG6EWANrsVBuTG+nl/l4dKb3x+qi1l9+oxDxqGg==", + "requires": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + } + }, + "@grpc/proto-loader": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.6.tgz", + "integrity": "sha512-cdMaPZ8AiFz6ua6PUbP+LKbhwJbFXnrQ/mlnKGUyzDUZ3wp7vPLksnmLCBX6SHgSmjX7CbNVNLFYD5GmmjO4GQ==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.1.1" + }, + "dependencies": { + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, "@hapi/hoek": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", @@ -2192,12 +2948,34 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/fcm": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/fcm/-/fcm-5.36.0.tgz", + "integrity": "sha512-hToPT/4lqdaCc99sUYgnHM+DSFTe4WphF7Ia00QtwsNGW5/pS8w9iZSgppij5OJtwe67dNsuf2+PkxS4r7av/g==", + "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.36.0", "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.36.0.tgz", "integrity": "sha512-x7yZ4VdC8n8FNlpRmUFtohNlOZnExvoxZ/6oCvGsV+ec8TJXUsDK/BYi1g+lkPTCUY3EmQIeBOe4PLO6fRJ7qg==", "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-path": { @@ -2221,6 +2999,21 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/image-picker": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/image-picker/-/image-picker-5.36.0.tgz", + "integrity": "sha512-6RzK9x3/lnYvCYHeAzZuYejUKIifSnFt79iP2DvSZZ+4bu+a72yvPXx3xtHZZZT4sp4+vgZZNRfBYAJAikx6uw==", + "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/in-app-browser": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.36.0.tgz", @@ -2248,6 +3041,28 @@ "integrity": "sha512-WIDCeUlX7bCbse/x2Rr7mAIQJnLo18ZWcmsVgSTTBVS7ObU2DBl4ieqRx6y9PAAV+3tNZqMV4JAWDfMiFokpJg==", "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/media-capture": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/media-capture/-/media-capture-5.36.0.tgz", + "integrity": "sha512-JBXZYsiIYO95bycF6EU8JBEai6UXdEx3dLnkXzJSYgYt8ynWceSr7Z/nPeuYfScEiKI3JA5FmaUGUsTkyHXOnw==", + "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/network": { @@ -2258,6 +3073,21 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/photo-viewer": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/photo-viewer/-/photo-viewer-5.36.0.tgz", + "integrity": "sha512-VVCeDVRHTFLNVZUdvk3P+G4DhL54TGi3My2VBw4E8Kp11Clg4jdNPtMFRcwRoLk40LVB3Qaoq0avf1d5yKIZLw==", + "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/screen-orientation": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/@ionic-native/screen-orientation/-/screen-orientation-5.36.0.tgz", @@ -2295,6 +3125,21 @@ "@types/cordova": "^0.0.34" } }, + "@ionic-native/streaming-media": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/streaming-media/-/streaming-media-5.36.0.tgz", + "integrity": "sha512-l4+r3O2VRfEw4if3BLdawNx+tApH+czpVlkz14szAmIvsIVUqKoz6n2xq9hTX5z4uZdKVYLn8l8OnLuuNbCM2A==", + "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/wheel-selector": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/@ionic-native/wheel-selector/-/wheel-selector-5.36.0.tgz", @@ -2483,6 +3328,35 @@ } } }, + "@ionic/cli-framework-output": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", + "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", + "dev": true, + "requires": { + "@ionic/utils-terminal": "2.3.1", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "dependencies": { + "@ionic/utils-terminal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", + "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + } + } + } + }, "@ionic/core": { "version": "5.8.1", "resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.8.1.tgz", @@ -3616,6 +4490,60 @@ "resolved": "https://registry.npmjs.org/@pdftron/pdfjs-express/-/pdfjs-express-8.1.0.tgz", "integrity": "sha512-YKH2M8ZVXQgFpxVKD48mtDcVwjdLkibp4j9gCMkywSwDc1lQv2jzGmRSBQzsq5QKVx54MHHVWIr5hG21KduACw==" }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, "@rkusa/linebreak": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@rkusa/linebreak/-/linebreak-1.0.0.tgz", @@ -3921,6 +4849,11 @@ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz", "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==" }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, "@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", @@ -3930,8 +4863,7 @@ "@types/node": { "version": "12.20.27", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.27.tgz", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", - "dev": true + "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==" }, "@types/parse-json": { "version": "4.0.0", @@ -4417,6 +5349,14 @@ } } }, + "angular-svg-icon": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/angular-svg-icon/-/angular-svg-icon-12.0.0.tgz", + "integrity": "sha512-nPAbF/U6sHdY+Dt/J5TZuUNOGRZmxoqJioRfLGMeNt8ycbBbTwq1OmkZ7DLuF02+XGafGHwzmI5/2y9OWAl+TA==", + "requires": { + "tslib": "^2.2.0" + } + }, "angular-tag-cloud-module": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/angular-tag-cloud-module/-/angular-tag-cloud-module-5.3.0.tgz", @@ -5751,6 +6691,14 @@ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", "dev": true }, + "capacitor-voice-recorder": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capacitor-voice-recorder/-/capacitor-voice-recorder-2.0.0.tgz", + "integrity": "sha512-YU0tN8+A963sCYjL9du6jbUqOh5w5dJf++8IFBkuV0sDQZuuLaK//1RypJi0MQLifQESZSjhTVWoXTViIthA/w==", + "requires": { + "get-blob-duration": "^1.2.0" + } + }, "capture-exit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", @@ -6162,6 +7110,12 @@ "text-hex": "1.0.x" } }, + "com-sarriaroman-photoviewer": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/com-sarriaroman-photoviewer/-/com-sarriaroman-photoviewer-1.2.5.tgz", + "integrity": "sha512-VH7Yo8O2qe1ZR7hiZqtiAwsv2FLztEXsA+ksXVIBGEDiY+o5IxOrMb+9g+nGCVMxfxmID3T8GZxpGxAAZXTv2A==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -6536,6 +7490,24 @@ "which": "^2.0.2" } }, + "cordova-android-support-gradle-release": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-3.0.1.tgz", + "integrity": "sha512-RSW55DkSckmqhX/kjj+a1YeVdy7s/AtlZn6Qa5XMQmmA4Iogq+IF2jvInZqzCF19DbI5YE95AP7VDbRk+DdDRw==", + "dev": true, + "requires": { + "q": "^1.4.1", + "semver": "5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, "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", @@ -6842,10 +7814,9 @@ "integrity": "sha1-C8ZXVyduvZIMASzpIOJ0F3V2Nz4=", "dev": true }, - "cordova-plugin-crosswalk-webview": { - "version": "git+https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git#58dda06c97609c6a0699b8d0691ad603901625ce", - "from": "git+https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git", - "dev": true + "cordova-plugin-dbcopy": { + "version": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git#861f585e4313db828d6b8c7d354c32c83373d0d2", + "from": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git" }, "cordova-plugin-device": { "version": "2.0.3", @@ -6906,1929 +7877,10 @@ "integrity": "sha512-UQPFlpk1zL4BY44zGi8RVmYCvcKBCN4Dyf8ovxqGYCC8zR1yhbTRWYDdO9vJdERwbfgWV7+z7FMWiSUfqWm9bQ==", "dev": true }, - "cordova-plugin-mfp": { - "version": "8.0.2021090603", - "resolved": "https://registry.npmjs.org/cordova-plugin-mfp/-/cordova-plugin-mfp-8.0.2021090603.tgz", - "integrity": "sha512-nphUrrMX6mLk8ofDLsSo6hTb6d5zLE6ik+QuWEXAsY57NwudyVgNwuR0byqkuVtqur3PfzLxQ81hZb481Kdjtw==", - "dev": true, - "requires": { - "archiver": "4.0.2", - "cordova-serve": "^1.0.0", - "crc": "^3.4.0", - "elementtree": "0.1.6", - "express": "^4.14.0", - "ibm-strings": "~0.1.0", - "jssha": "2.2.0", - "mfp-config-xml": "0.0.5", - "nopt": "^3.0.6", - "npmlog": "0.0.6", - "plist": "1.1.0", - "promiz": "1.0.5", - "q": "0.9.7", - "request": "^2.73.0", - "rimraf": "2.4.4", - "shelljs": "0.3.0", - "sjcl": "1.0.3", - "xcode": "0.8.7" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "accepts": { - "version": "1.3.7", - "bundled": true, - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "ajv": { - "version": "6.12.6", - "bundled": true, - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "archiver": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.1.6", - "readable-stream": "^3.6.0", - "tar-stream": "^2.1.2", - "zip-stream": "^3.0.1" - } - }, - "archiver-utils": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "are-we-there-yet": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "array-flatten": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "asn1": { - "version": "0.2.4", - "bundled": true, - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async": { - "version": "3.2.1", - "bundled": true, - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.11.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bl": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "body-parser": { - "version": "1.19.0", - "bundled": true, - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "bundled": true, - "dev": true - } - } - }, - "bplist-creator": { - "version": "0.0.4", - "bundled": true, - "dev": true, - "requires": { - "stream-buffers": "~0.2.3" - } - }, - "bplist-parser": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.7.1", - "bundled": true, - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "bundled": true, - "dev": true - }, - "bytes": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "colors": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "compress-commons": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^2.3.7" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "compressible": { - "version": "2.0.18", - "bundled": true, - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "bundled": true, - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "cookie": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "bundled": true, - "dev": true - }, - "cordova-serve": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "chalk": "^1.1.1", - "compression": "^1.6.0", - "express": "^4.13.3", - "q": "^1.4.1" - }, - "dependencies": { - "q": { - "version": "1.5.1", - "bundled": true, - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "crc": { - "version": "3.8.0", - "bundled": true, - "dev": true, - "requires": { - "buffer": "^5.1.0" - } - }, - "crc32-stream": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "crc": "^3.4.4", - "readable-stream": "^3.4.0" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "depd": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "destroy": { - "version": "1.0.4", - "bundled": true, - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "elementtree": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "sax": "0.3.5" - } - }, - "encodeurl": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "escape-html": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "etag": { - "version": "1.8.1", - "bundled": true, - "dev": true - }, - "express": { - "version": "4.17.1", - "bundled": true, - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "extend": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "bundled": true, - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "finalhandler": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "findup-sync": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "glob": "~5.0.0" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "2.3.3", - "bundled": true, - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "fresh": { - "version": "0.5.2", - "bundled": true, - "dev": true - }, - "fs-constants": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.7", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.8", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "bundled": true, - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "bundled": true, - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "ibm-strings": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "colors": "1.1.2", - "nopt": "3.0.6" - } - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "bundled": true, - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.10.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - } - } - }, - "jssha": { - "version": "2.2.0", - "bundled": true, - "dev": true - }, - "lazystream": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "lodash-node": { - "version": "2.4.1", - "bundled": true, - "dev": true - }, - "lodash.defaults": { - "version": "4.2.0", - "bundled": true, - "dev": true - }, - "lodash.difference": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "bundled": true, - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "bundled": true, - "dev": true - }, - "lodash.pad": { - "version": "4.5.1", - "bundled": true, - "dev": true - }, - "lodash.padend": { - "version": "4.6.1", - "bundled": true, - "dev": true - }, - "lodash.padstart": { - "version": "4.6.1", - "bundled": true, - "dev": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "merge-descriptors": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "methods": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "mfp-config-xml": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "requires": { - "elementtree": "0.1.6", - "findup-sync": "0.3.0", - "glob": "7.0.3", - "ibm-strings": "0.1.4", - "npmlog": "2.0.2", - "q": "1.4.1", - "underscore": "1.8.3", - "verror": "1.6.1" - }, - "dependencies": { - "glob": { - "version": "7.0.3", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "npmlog": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.0.6", - "gauge": "~1.2.5" - } - }, - "q": { - "version": "1.4.1", - "bundled": true, - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "bundled": true, - "dev": true - }, - "mime-db": { - "version": "1.49.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.32", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.49.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "bundled": true, - "dev": true - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-path": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "requires": { - "ansi": "~0.2.1" - }, - "dependencies": { - "ansi": { - "version": "0.2.1", - "bundled": true, - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "bundled": true, - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "parseurl": { - "version": "1.3.3", - "bundled": true, - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "bundled": true, - "dev": true - }, - "pegjs": { - "version": "0.6.2", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "plist": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "base64-js": "0.0.6", - "util-deprecate": "1.0.0", - "xmlbuilder": "2.2.1", - "xmldom": "0.1.x" - }, - "dependencies": { - "base64-js": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "promiz": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "proxy-addr": { - "version": "2.0.7", - "bundled": true, - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "psl": { - "version": "1.8.0", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "q": { - "version": "0.9.7", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.7.0", - "bundled": true, - "dev": true - }, - "range-parser": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "bundled": true, - "dev": true - } - } - }, - "readable-stream": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "request": { - "version": "2.88.2", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "bundled": true, - "dev": true - } - } - }, - "rimraf": { - "version": "2.4.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "^5.0.14" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "sax": { - "version": "0.3.5", - "bundled": true, - "dev": true - }, - "send": { - "version": "0.17.1", - "bundled": true, - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "setprototypeof": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "shelljs": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "simple-plist": { - "version": "0.0.4", - "bundled": true, - "dev": true, - "requires": { - "bplist-creator": "0.0.4", - "bplist-parser": "0.0.6", - "plist": "1.1.0" - } - }, - "sjcl": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "bundled": true, - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "statuses": { - "version": "1.5.0", - "bundled": true, - "dev": true - }, - "stream-buffers": { - "version": "0.2.6", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "tar-stream": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "bundled": true, - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true - }, - "type-is": { - "version": "1.6.18", - "bundled": true, - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "underscore": { - "version": "1.8.3", - "bundled": true, - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.4.0", - "bundled": true, - "dev": true - }, - "vary": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.6.1", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "extsprintf": "1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "xcode": { - "version": "0.8.7", - "bundled": true, - "dev": true, - "requires": { - "node-uuid": "1.4.7", - "pegjs": "0.6.2", - "simple-plist": "0.0.4" - }, - "dependencies": { - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - } - } - }, - "xmlbuilder": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "lodash-node": "~2.4.1" - } - }, - "xmldom": { - "version": "0.1.31", - "bundled": true, - "dev": true - }, - "zip-stream": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^3.0.0", - "readable-stream": "^3.6.0" - } - } - } - }, - "cordova-plugin-mfp-jsonstore": { - "version": "8.0.2021090603", - "resolved": "https://registry.npmjs.org/cordova-plugin-mfp-jsonstore/-/cordova-plugin-mfp-jsonstore-8.0.2021090603.tgz", - "integrity": "sha512-a8IqMSTkkGXe3bq0n8OamufVhcTHRX5EgZlA6kS+uy4m40h3BeaL78LglyW8Y5BJOVI5evJyTNt8FqI8qPPgdw==", - "dev": true, - "requires": { - "ibm-strings": "~0.1.0", - "mfp-config-xml": "0.0.5", - "npmlog": "0.0.6", - "shelljs": "0.3.0", - "xcode": "0.8.7" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "are-we-there-yet": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - } - }, - "balanced-match": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "base64-js": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "bplist-creator": { - "version": "0.0.4", - "bundled": true, - "dev": true, - "requires": { - "stream-buffers": "~0.2.3" - } - }, - "bplist-parser": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "colors": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "elementtree": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "sax": "0.3.5" - } - }, - "extsprintf": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "findup-sync": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "glob": "~5.0.0" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - } - }, - "glob": { - "version": "7.0.3", - "bundled": true, - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "ibm-strings": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "colors": "1.1.2", - "nopt": "3.0.6" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "lodash-node": { - "version": "2.4.1", - "bundled": true, - "dev": true - }, - "lodash.pad": { - "version": "4.5.1", - "bundled": true, - "dev": true - }, - "lodash.padend": { - "version": "4.6.1", - "bundled": true, - "dev": true - }, - "lodash.padstart": { - "version": "4.6.1", - "bundled": true, - "dev": true - }, - "mfp-config-xml": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "requires": { - "elementtree": "0.1.6", - "findup-sync": "0.3.0", - "glob": "7.0.3", - "ibm-strings": "0.1.4", - "npmlog": "2.0.2", - "q": "1.4.1", - "underscore": "1.8.3", - "verror": "1.6.1" - }, - "dependencies": { - "npmlog": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.0.6", - "gauge": "~1.2.5" - } - } - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "npmlog": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "requires": { - "ansi": "~0.2.1" - }, - "dependencies": { - "ansi": { - "version": "0.2.1", - "bundled": true, - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "pegjs": { - "version": "0.6.2", - "bundled": true, - "dev": true - }, - "plist": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "base64-js": "0.0.6", - "util-deprecate": "1.0.0", - "xmlbuilder": "2.2.1", - "xmldom": "0.1.x" - }, - "dependencies": { - "util-deprecate": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "q": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "sax": { - "version": "0.3.5", - "bundled": true, - "dev": true - }, - "shelljs": { - "version": "0.3.0", - "bundled": true, - "dev": true - }, - "simple-plist": { - "version": "0.0.4", - "bundled": true, - "dev": true, - "requires": { - "bplist-creator": "0.0.4", - "bplist-parser": "0.0.6", - "plist": "1.1.0" - } - }, - "stream-buffers": { - "version": "0.2.6", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "underscore": { - "version": "1.8.3", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.6.1", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "extsprintf": "1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "xcode": { - "version": "0.8.7", - "bundled": true, - "dev": true, - "requires": { - "node-uuid": "1.4.7", - "pegjs": "0.6.2", - "simple-plist": "0.0.4" - } - }, - "xmlbuilder": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "lodash-node": "~2.4.1" - } - }, - "xmldom": { - "version": "0.1.31", - "bundled": true, - "dev": true - } - } - }, - "cordova-plugin-mfp-push": { - "version": "8.0.2021062405", - "resolved": "https://registry.npmjs.org/cordova-plugin-mfp-push/-/cordova-plugin-mfp-push-8.0.2021062405.tgz", - "integrity": "sha512-OOSV4TCkZVNfwQzjfbsD0ycNcZyokKdBPJnEK/QrtrGtEA+Ah1R86FphXFNJtCWEQYybCCHvCVXgor4Pgf11xQ==", + "cordova-plugin-media-capture": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-media-capture/-/cordova-plugin-media-capture-3.0.3.tgz", + "integrity": "sha512-pVQOrNM7VAuVUMXibAlMGIArrftHPrRs4dUCoE+e2HEFUp3LmN3Yj539LjdUxcWmz/A/cHC65m9E3DS56YJhcg==", "dev": true }, "cordova-plugin-network-information": { @@ -8842,12 +7894,6 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-okhttp/-/cordova-plugin-okhttp-2.0.0.tgz", "integrity": "sha1-6GT2C//zQqHZJHeugvckmqYIXIA=" }, - "cordova-plugin-screen-orientation": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.2.tgz", - "integrity": "sha512-2w6CMC+HGvbhogJetalwGurL2Fx8DQCCPy3wlSZHN1/W7WoQ5n9ujVozcoKrY4VaagK6bxrPFih+ElkO8Uqfzg==", - "dev": true - }, "cordova-plugin-splashscreen": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-5.0.4.tgz", @@ -11017,7 +10063,6 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, "requires": { "websocket-driver": ">=0.5.1" } @@ -11135,6 +10180,39 @@ "locate-path": "^2.0.0" } }, + "firebase": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.3.0.tgz", + "integrity": "sha512-JGrWWmMjoDutwK8OGEE2nJoteQAR8r0LPqZnz6GHOtKMlVaNEbvy4eoIMuwnQFaap/lYdAVfWkRJghuSGdCrnQ==", + "requires": { + "@firebase/analytics": "0.7.3", + "@firebase/analytics-compat": "0.1.4", + "@firebase/app": "0.7.6", + "@firebase/app-check": "0.5.0", + "@firebase/app-check-compat": "0.2.0", + "@firebase/app-compat": "0.1.7", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.19.1", + "@firebase/auth-compat": "0.2.1", + "@firebase/database": "0.12.3", + "@firebase/database-compat": "0.1.3", + "@firebase/firestore": "3.2.1", + "@firebase/firestore-compat": "0.1.6", + "@firebase/functions": "0.7.4", + "@firebase/functions-compat": "0.1.5", + "@firebase/installations": "0.5.3", + "@firebase/messaging": "0.9.3", + "@firebase/messaging-compat": "0.1.3", + "@firebase/performance": "0.5.3", + "@firebase/performance-compat": "0.1.3", + "@firebase/polyfill": "0.3.36", + "@firebase/remote-config": "0.3.2", + "@firebase/remote-config-compat": "0.1.3", + "@firebase/storage": "0.8.5", + "@firebase/storage-compat": "0.1.5", + "@firebase/util": "1.4.1" + } + }, "flatted": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", @@ -11317,6 +10395,24 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, + "get-blob-duration": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-blob-duration/-/get-blob-duration-1.2.0.tgz", + "integrity": "sha512-2xNJa+oKznR21eC2ThMzw4a1931a3ogA8aHoY92xruZufc/02G7pl/P793GJZytkyI8xMJ2DepEQ7MWvg/tn/Q==", + "requires": { + "@babel/runtime": "7.11.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", + "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -11903,8 +10999,7 @@ "http-parser-js": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" }, "http-proxy": { "version": "1.18.1", @@ -12104,38 +11199,6 @@ "ms": "^2.0.0" } }, - "ibm-mfp-web-push": { - "version": "8.0.2020052213", - "resolved": "https://registry.npmjs.org/ibm-mfp-web-push/-/ibm-mfp-web-push-8.0.2020052213.tgz", - "integrity": "sha512-I7Jv7Blagw7Ha7GtEJHnzvYiUop5g8c6ni0OrXddzuUPAzzdepyfPPA2or+chnYrYanSrX5H0RI+ZX97ChIXWw==", - "requires": { - "jssha": "^2.3.1", - "promiz": "^1.0.5", - "sjcl": "^1.0.8" - } - }, - "ibm-mfp-web-sdk": { - "version": "8.0.2021082309", - "resolved": "https://registry.npmjs.org/ibm-mfp-web-sdk/-/ibm-mfp-web-sdk-8.0.2021082309.tgz", - "integrity": "sha512-f6w5PfYmRHSxW++uuQefsqkfok3gV0PiKy6ywNcvoiLwPufqDCrbhII456XLSPIHNELsyu2TWs/+VfnQQ46uWA==", - "requires": { - "jssha": "2.2.0", - "promiz": "1.0.5", - "sjcl": "1.0.3" - }, - "dependencies": { - "jssha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jssha/-/jssha-2.2.0.tgz", - "integrity": "sha1-h9z2CCHcO+xZPzhVu+vM0naqzBw=" - }, - "sjcl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.3.tgz", - "integrity": "sha1-TtSGSY7Wt0K11KIZAiaBFvBUpwk=" - } - } - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -12150,6 +11213,11 @@ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true }, + "idb": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz", + "integrity": "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==" + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -15621,16 +14689,10 @@ } } }, - "jssha": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jssha/-/jssha-2.4.2.tgz", - "integrity": "sha512-/jsi/9C0S70zfkT/4UlKQa5E1xKurDnXcQizcww9JSR/Fv+uIbWM2btG+bFcL3iNoK9jIGS0ls9HWLr1iw0kFg==" - }, "jszip": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", - "dev": true, "requires": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -15642,7 +14704,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, "requires": { "immediate": "~3.0.5" } @@ -15650,14 +14711,12 @@ "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -15671,14 +14730,12 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -16299,6 +15356,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -16410,6 +15472,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -16972,6 +16039,61 @@ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, + "native-run": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-1.5.0.tgz", + "integrity": "sha512-YYsYYAljk70N+FJLeY5KuafsBit7agOBR3ch1KTXOaKkREkM49yCwJIwVz2faoWpJ2MeyLdXltk5PskUuPQqZA==", + "dev": true, + "requires": { + "@ionic/utils-fs": "^3.1.5", + "@ionic/utils-terminal": "^2.3.1", + "bplist-parser": "^0.3.0", + "debug": "^4.3.2", + "elementtree": "^0.1.7", + "ini": "^1.3.5", + "plist": "^3.0.4", + "split2": "^3.2.2", + "through2": "^4.0.2", + "tslib": "^2.3.1", + "yauzl": "^2.10.0" + }, + "dependencies": { + "@ionic/utils-terminal": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", + "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "bplist-parser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", + "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", + "dev": true, + "requires": { + "big-integer": "1.6.x" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -19451,6 +18573,11 @@ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, + "promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, "promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", @@ -19465,11 +18592,6 @@ "resolved": "https://registry.npmjs.org/promised-io/-/promised-io-0.3.6.tgz", "integrity": "sha512-bNwZusuNIW4m0SPR8jooSyndD35ggirHlxVl/UhIaZD/F0OBv9ebfc6tNmbpZts3QXHggkjIBH8lvtnzhtcz0A==" }, - "promiz": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/promiz/-/promiz-1.0.5.tgz", - "integrity": "sha1-8m/bKYdWWJeC9lCaax61SnA40zU=" - }, "prompts": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", @@ -19496,6 +18618,33 @@ "string.prototype.codepointat": "^0.2.0" } }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "16.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", + "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==" + } + } + }, "protractor": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", @@ -20211,8 +19360,7 @@ "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", @@ -21154,8 +20302,7 @@ "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, "set-value": { "version": "2.0.1", @@ -21343,11 +20490,6 @@ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, - "sjcl": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.8.tgz", - "integrity": "sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==" - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -21819,6 +20961,15 @@ "extend-shallow": "^3.0.0" } }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", @@ -24982,7 +24133,6 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, "requires": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -24992,8 +24142,7 @@ "websocket-extensions": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" }, "whatwg-encoding": { "version": "1.0.5", @@ -25015,6 +24164,11 @@ } } }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", @@ -25059,40 +24213,11 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "widest-line": { diff --git a/package.json b/package.json index 7fa89aff5..517868044 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "ng": "ng", "start": "ng serve --port 4200", - "build": "ng build", + "build": "node --max_old_space_size=999192 ./node_modules/@angular/cli/bin/ng build", "lint": "ng lint", "e2e": "ng e2e", "test": "jest --detectOpenHandles --runInBand", @@ -31,6 +31,16 @@ "@angular/platform-browser": "~12.1.2", "@angular/platform-browser-dynamic": "~12.1.2", "@angular/router": "~12.1.2", + "@capacitor/android": "3.3.1", + "@capacitor/app": "^1.0.5", + "@capacitor/camera": "^1.2.0", + "@capacitor/core": "^3.3.0", + "@capacitor/filesystem": "^1.0.6", + "@capacitor/haptics": "^1.1.2", + "@capacitor/ios": "3.3.0", + "@capacitor/keyboard": "^1.1.2", + "@capacitor/network": "^1.0.6", + "@capacitor/push-notifications": "^1.0.7", "@fortawesome/angular-fontawesome": "^0.9.0", "@fortawesome/fontawesome-free": "^5.15.3", "@fortawesome/fontawesome-svg-core": "^1.2.35", @@ -42,20 +52,25 @@ "@fullcalendar/interaction": "^5.3.0", "@ionic-native/camera": "^5.31.1", "@ionic-native/core": "^5.0.7", + "@ionic-native/fcm": "^5.36.0", "@ionic-native/file": "^5.36.0", "@ionic-native/file-path": "^5.30.0", "@ionic-native/fingerprint-aio": "^4.20.0", "@ionic-native/http": "^5.31.1", + "@ionic-native/image-picker": "^5.36.0", "@ionic-native/in-app-browser": "^5.28.0", "@ionic-native/ionic-webview": "^5.35.0", "@ionic-native/local-notifications": "^4.20.0", "@ionic-native/media": "^5.36.0", + "@ionic-native/media-capture": "^5.36.0", "@ionic-native/network": "^5.36.0", + "@ionic-native/photo-viewer": "^5.36.0", "@ionic-native/screen-orientation": "^5.35.0", "@ionic-native/splash-screen": "^5.31.1", "@ionic-native/sqlite": "^5.36.0", "@ionic-native/sqlite-porter": "^4.20.0", "@ionic-native/status-bar": "^5.0.0", + "@ionic-native/streaming-media": "^5.36.0", "@ionic-native/wheel-selector": "^5.31.1", "@ionic/angular": "^5.8.4", "@ionic/core": "^5.8.1", @@ -68,11 +83,14 @@ "@types/jest-environment-puppeteer": "^4.4.1", "@types/puppeteer": "^5.4.4", "angular-calendar": "^0.28.22", + "angular-svg-icon": "^12.0.0", "angular-tag-cloud-module": "^5.2.2", "bootstrap": "^4.5.0", "build": "0.1.4", + "capacitor-voice-recorder": "^2.0.0", "ci": "^2.1.1", "cordova": "^10.0.0", + "cordova-plugin-dbcopy": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git", "cordova-plugin-filepath": "^1.5.8", "cordova-plugin-okhttp": "^2.0.0", "cordova-res": "^0.15.3", @@ -84,18 +102,17 @@ "dotenv": "^10.0.0", "duration": "^0.2.2", "faker": "^5.5.3", + "firebase": "^9.3.0", "global": "^4.4.0", "hammerjs": "^2.0.8", "http-server": "^0.12.3", - "ibm-mfp-web-push": "^8.0.2020052213", - "ibm-mfp-web-sdk": "^8.0.2021021706", "ionic-angular": "^3.9.10", "ionic-selectable": "^4.7.1", "ionic2-alpha-scroll": "^2.0.1", "ionic2-calendar": "^0.6.6", "ionicons": "^5.5.3", "jest-puppeteer": "^5.0.4", - "jetifier": "^1.6.6", + "jetifier": "^1.6.8", "lite-server": "^2.6.1", "moment": "^2.29.1", "ng2-pdf-viewer": "^7.0.1", @@ -121,6 +138,7 @@ "@angular/compiler": "^12.1.2", "@angular/compiler-cli": "^12.1.2", "@angular/language-service": "^12.1.2", + "@capacitor/cli": "^3.3.0", "@ionic/angular-toolkit": "^4.0.0", "@ionic/lab": "3.1.7", "@types/jasmine": "~3.6.0", @@ -128,12 +146,13 @@ "@types/jest": "^26.0.24", "@types/node": "^12.11.1", "codelyzer": "^6.0.0", + "com-sarriaroman-photoviewer": "^1.2.5", "cordova-android": "^9.1.0", + "cordova-android-support-gradle-release": "^3.0.1", "cordova-browser": "^6.0.0", "cordova-plugin-androidx": "^3.0.0", "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-compat": "^1.2.0", - "cordova-plugin-crosswalk-webview": "git+https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git", "cordova-plugin-device": "^2.0.2", "cordova-plugin-dialogs": "^2.0.2", "cordova-plugin-file": "^6.0.2", @@ -143,11 +162,8 @@ "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-ionic-webview": "^5.0.0", "cordova-plugin-media": "^5.0.3", - "cordova-plugin-mfp": "^8.0.2021031007", - "cordova-plugin-mfp-jsonstore": "^8.0.2021062408", - "cordova-plugin-mfp-push": "^8.0.2021062405", + "cordova-plugin-media-capture": "^3.0.3", "cordova-plugin-network-information": "^3.0.0", - "cordova-plugin-screen-orientation": "^3.0.2", "cordova-plugin-splashscreen": "^5.0.2", "cordova-plugin-statusbar": "^2.4.2", "cordova-plugin-whitelist": "^1.3.4", @@ -178,15 +194,43 @@ "cordova-plugin-inappbrowser": {}, "cordova-sqlite-storage": {}, "cordova-plugin-compat": {}, - "cordova-plugin-mfp": {}, "cordova-plugin-androidx": {}, "cordova-plugin-androidx-adapter": {}, "cordova-plugin-fingerprint-aio": {}, - "cordova-plugin-mfp-push": {}, - "cordova-plugin-mfp-jsonstore": {}, "cordova-plugin-ionic-webview": {}, "cordova-plugin-screen-orientation": {}, - "cordova-plugin-network-information": {} + "cordova-plugin-network-information": {}, + "cordova-plugin-file": {}, + "cordova-plugin-firebasex": { + "FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true", + "FIREBASE_PERFORMANCE_COLLECTION_ENABLED": "true", + "FIREBASE_CRASHLYTICS_COLLECTION_ENABLED": "true", + "ANDROID_ICON_ACCENT": "#FF00FFFF", + "ANDROID_FIREBASE_PERFORMANCE_MONITORING": "false", + "ANDROID_PLAY_SERVICES_TAGMANAGER_VERSION": "17.0.0", + "ANDROID_PLAY_SERVICES_AUTH_VERSION": "19.0.0", + "ANDROID_FIREBASE_ANALYTICS_VERSION": "19.0.0", + "ANDROID_FIREBASE_MESSAGING_VERSION": "22.0.0", + "ANDROID_FIREBASE_CONFIG_VERSION": "21.0.0", + "ANDROID_FIREBASE_PERF_VERSION": "20.0.2", + "ANDROID_FIREBASE_AUTH_VERSION": "21.0.1", + "ANDROID_FIREBASE_INAPPMESSAGING_VERSION": "20.0.0", + "ANDROID_FIREBASE_FIRESTORE_VERSION": "23.0.2", + "ANDROID_FIREBASE_FUNCTIONS_VERSION": "20.0.0", + "ANDROID_FIREBASE_IID_VERSION": "21.1.0", + "ANDROID_FIREBASE_INSTALLATIONS_VERSION": "17.0.0", + "ANDROID_FIREBASE_CRASHLYTICS_VERSION": "18.1.0", + "ANDROID_FIREBASE_CRASHLYTICS_NDK_VERSION": "18.1.0", + "ANDROID_GSON_VERSION": "2.8.7", + "ANDROID_FIREBASE_PERF_GRADLE_PLUGIN_VERSION": "1.4.0" + }, + "cordova-plugin-fcm-with-dependecy-updated": { + "ANDROID_FCM_VERSION": "19.0.0", + "ANDROID_GRADLE_TOOLS_VERSION": "3.5.3", + "ANDROID_GOOGLE_SERVICES_VERSION": "4.3.3", + "ANDROID_DEFAULT_NOTIFICATION_ICON": "@mipmap/ic_launcher" + }, + "cordova-plugin-dbcopy": {} }, "platforms": [ "browser", diff --git a/readme.md b/readme.md index 1410e0477..98424de20 100644 --- a/readme.md +++ b/readme.md @@ -18,12 +18,10 @@ npm install -g cordova npm install -g cordova-res ## Mobile first dependencies -cordova plugin add cordova-plugin-mfp-jsonstore -cordova plugin add cordova-plugin-mfp ionic cordova plugin add cordova-plugin-network-information ## memory leak -set NODE_OPTIONS=--max_old_space_size=10096 +set NODE_OPTIONS=--max_old_space_size=99996 ``` ## BUG @@ -76,4 +74,4 @@ npm run dev:share For major changes, please open an issue first to discuss what you would like to change. -Please make sure to update tests as appropriate. \ No newline at end of file +Please make sure to update tests as appropriate. diff --git a/resources/android/icon/drawable-hdpi-icon.png b/resources/android/icon/drawable-hdpi-icon.png index d36c1a33e..14ced160f 100644 Binary files a/resources/android/icon/drawable-hdpi-icon.png and b/resources/android/icon/drawable-hdpi-icon.png differ diff --git a/resources/android/icon/drawable-ldpi-icon.png b/resources/android/icon/drawable-ldpi-icon.png index 23cb8318e..3b3fc667d 100644 Binary files a/resources/android/icon/drawable-ldpi-icon.png and b/resources/android/icon/drawable-ldpi-icon.png differ diff --git a/resources/android/icon/drawable-mdpi-icon.png b/resources/android/icon/drawable-mdpi-icon.png index 2797056eb..2762a5041 100644 Binary files a/resources/android/icon/drawable-mdpi-icon.png and b/resources/android/icon/drawable-mdpi-icon.png differ diff --git a/resources/android/icon/drawable-playstore-512-icon.png b/resources/android/icon/drawable-playstore-512-icon.png index a6aac8994..dc50fce84 100644 Binary files a/resources/android/icon/drawable-playstore-512-icon.png and b/resources/android/icon/drawable-playstore-512-icon.png differ diff --git a/resources/android/icon/drawable-xhdpi-icon.png b/resources/android/icon/drawable-xhdpi-icon.png index a681d641b..4be2d7b06 100644 Binary files a/resources/android/icon/drawable-xhdpi-icon.png and b/resources/android/icon/drawable-xhdpi-icon.png differ diff --git a/resources/android/icon/drawable-xxhdpi-icon.png b/resources/android/icon/drawable-xxhdpi-icon.png index 75f41540d..12c9f53c6 100644 Binary files a/resources/android/icon/drawable-xxhdpi-icon.png and b/resources/android/icon/drawable-xxhdpi-icon.png differ diff --git a/resources/android/icon/drawable-xxxhdpi-icon.png b/resources/android/icon/drawable-xxxhdpi-icon.png index df3b5433c..f7fef445b 100644 Binary files a/resources/android/icon/drawable-xxxhdpi-icon.png and b/resources/android/icon/drawable-xxxhdpi-icon.png differ diff --git a/resources/android/icon/mipmap-hdpi/ic_launcher.png b/resources/android/icon/mipmap-hdpi/ic_launcher.png index 2a90f40f8..e5e0b8e04 100644 Binary files a/resources/android/icon/mipmap-hdpi/ic_launcher.png and b/resources/android/icon/mipmap-hdpi/ic_launcher.png differ diff --git a/resources/android/icon/mipmap-ldpi/ic_launcher.png b/resources/android/icon/mipmap-ldpi/ic_launcher.png index dd87e2d73..45efa5ab5 100644 Binary files a/resources/android/icon/mipmap-ldpi/ic_launcher.png and b/resources/android/icon/mipmap-ldpi/ic_launcher.png differ diff --git a/resources/android/icon/mipmap-mdpi/ic_launcher.png b/resources/android/icon/mipmap-mdpi/ic_launcher.png index ed9328d64..19f73eee8 100644 Binary files a/resources/android/icon/mipmap-mdpi/ic_launcher.png and b/resources/android/icon/mipmap-mdpi/ic_launcher.png differ diff --git a/resources/android/icon/mipmap-xhdpi/ic_launcher.png b/resources/android/icon/mipmap-xhdpi/ic_launcher.png index c68bc0adc..de5f6e383 100644 Binary files a/resources/android/icon/mipmap-xhdpi/ic_launcher.png and b/resources/android/icon/mipmap-xhdpi/ic_launcher.png differ diff --git a/resources/android/icon/mipmap-xxhdpi/ic_launcher.png b/resources/android/icon/mipmap-xxhdpi/ic_launcher.png index d11d659a1..b74f60b81 100644 Binary files a/resources/android/icon/mipmap-xxhdpi/ic_launcher.png and b/resources/android/icon/mipmap-xxhdpi/ic_launcher.png differ diff --git a/resources/android/icon/mipmap-xxxhdpi/ic_launcher.png b/resources/android/icon/mipmap-xxxhdpi/ic_launcher.png index a51c14623..044dff1f7 100644 Binary files a/resources/android/icon/mipmap-xxxhdpi/ic_launcher.png and b/resources/android/icon/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/resources/android/splash/drawable-land-hdpi-screen.png b/resources/android/splash/drawable-land-hdpi-screen.png index 444dc39ab..862b1494c 100644 Binary files a/resources/android/splash/drawable-land-hdpi-screen.png and b/resources/android/splash/drawable-land-hdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-ldpi-screen.png b/resources/android/splash/drawable-land-ldpi-screen.png index 80409d7bd..9bbd8ea10 100644 Binary files a/resources/android/splash/drawable-land-ldpi-screen.png and b/resources/android/splash/drawable-land-ldpi-screen.png differ diff --git a/resources/android/splash/drawable-land-mdpi-screen.png b/resources/android/splash/drawable-land-mdpi-screen.png index f9342e83a..c9e3e9ac2 100644 Binary files a/resources/android/splash/drawable-land-mdpi-screen.png and b/resources/android/splash/drawable-land-mdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-xhdpi-screen.png b/resources/android/splash/drawable-land-xhdpi-screen.png index d7936aa71..0849e8817 100644 Binary files a/resources/android/splash/drawable-land-xhdpi-screen.png and b/resources/android/splash/drawable-land-xhdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-xxhdpi-screen.png b/resources/android/splash/drawable-land-xxhdpi-screen.png index 63a3b921a..7d6fc0737 100644 Binary files a/resources/android/splash/drawable-land-xxhdpi-screen.png and b/resources/android/splash/drawable-land-xxhdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-xxxhdpi-screen.png b/resources/android/splash/drawable-land-xxxhdpi-screen.png index 22ec1444a..aff1cd850 100644 Binary files a/resources/android/splash/drawable-land-xxxhdpi-screen.png and b/resources/android/splash/drawable-land-xxxhdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-hdpi-screen.png b/resources/android/splash/drawable-port-hdpi-screen.png index a6b455ddf..7180ee893 100644 Binary files a/resources/android/splash/drawable-port-hdpi-screen.png and b/resources/android/splash/drawable-port-hdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-ldpi-screen.png b/resources/android/splash/drawable-port-ldpi-screen.png index e1f6c084c..6ddb87e9a 100644 Binary files a/resources/android/splash/drawable-port-ldpi-screen.png and b/resources/android/splash/drawable-port-ldpi-screen.png differ diff --git a/resources/android/splash/drawable-port-mdpi-screen.png b/resources/android/splash/drawable-port-mdpi-screen.png index f65e1fb76..a464461b0 100644 Binary files a/resources/android/splash/drawable-port-mdpi-screen.png and b/resources/android/splash/drawable-port-mdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-xhdpi-screen.png b/resources/android/splash/drawable-port-xhdpi-screen.png index bee833117..e04e5598e 100644 Binary files a/resources/android/splash/drawable-port-xhdpi-screen.png and b/resources/android/splash/drawable-port-xhdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-xxhdpi-screen.png b/resources/android/splash/drawable-port-xxhdpi-screen.png index 2f9421671..ce228b013 100644 Binary files a/resources/android/splash/drawable-port-xxhdpi-screen.png and b/resources/android/splash/drawable-port-xxhdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-xxxhdpi-screen.png b/resources/android/splash/drawable-port-xxxhdpi-screen.png index 0295c0138..00f70995a 100644 Binary files a/resources/android/splash/drawable-port-xxxhdpi-screen.png and b/resources/android/splash/drawable-port-xxxhdpi-screen.png differ diff --git a/resources/blackberry10/icon/icon-110.png b/resources/blackberry10/icon/icon-110.png index 44a3739a3..d15821f6d 100644 Binary files a/resources/blackberry10/icon/icon-110.png and b/resources/blackberry10/icon/icon-110.png differ diff --git a/resources/blackberry10/icon/icon-144.png b/resources/blackberry10/icon/icon-144.png index d11d659a1..b74f60b81 100644 Binary files a/resources/blackberry10/icon/icon-144.png and b/resources/blackberry10/icon/icon-144.png differ diff --git a/resources/blackberry10/icon/icon-90.png b/resources/blackberry10/icon/icon-90.png index 35f87072b..aef56ebdc 100644 Binary files a/resources/blackberry10/icon/icon-90.png and b/resources/blackberry10/icon/icon-90.png differ diff --git a/resources/blackberry10/icon/icon-96.png b/resources/blackberry10/icon/icon-96.png index c68bc0adc..de5f6e383 100644 Binary files a/resources/blackberry10/icon/icon-96.png and b/resources/blackberry10/icon/icon-96.png differ diff --git a/resources/icon.png b/resources/icon.png index 73421fb35..550d059c1 100644 Binary files a/resources/icon.png and b/resources/icon.png differ diff --git a/resources/ios/icon/AppIcon-20x20@1x.png b/resources/ios/icon/AppIcon-20x20@1x.png index ce7aac50d..a2063b2e9 100644 Binary files a/resources/ios/icon/AppIcon-20x20@1x.png and b/resources/ios/icon/AppIcon-20x20@1x.png differ diff --git a/resources/ios/icon/AppIcon-20x20@2x-1.png b/resources/ios/icon/AppIcon-20x20@2x-1.png index 6169994b6..9a2bb303a 100644 Binary files a/resources/ios/icon/AppIcon-20x20@2x-1.png and b/resources/ios/icon/AppIcon-20x20@2x-1.png differ diff --git a/resources/ios/icon/AppIcon-20x20@2x.png b/resources/ios/icon/AppIcon-20x20@2x.png index 6169994b6..9a2bb303a 100644 Binary files a/resources/ios/icon/AppIcon-20x20@2x.png and b/resources/ios/icon/AppIcon-20x20@2x.png differ diff --git a/resources/ios/icon/AppIcon-20x20@3x.png b/resources/ios/icon/AppIcon-20x20@3x.png index 20111cd9b..49ac4dde5 100644 Binary files a/resources/ios/icon/AppIcon-20x20@3x.png and b/resources/ios/icon/AppIcon-20x20@3x.png differ diff --git a/resources/ios/icon/AppIcon-29x29@1x.png b/resources/ios/icon/AppIcon-29x29@1x.png index 6046dfe07..f31b2c258 100644 Binary files a/resources/ios/icon/AppIcon-29x29@1x.png and b/resources/ios/icon/AppIcon-29x29@1x.png differ diff --git a/resources/ios/icon/AppIcon-29x29@2x-1.png b/resources/ios/icon/AppIcon-29x29@2x-1.png index 5bd5bf512..b77c5cd40 100644 Binary files a/resources/ios/icon/AppIcon-29x29@2x-1.png and b/resources/ios/icon/AppIcon-29x29@2x-1.png differ diff --git a/resources/ios/icon/AppIcon-29x29@2x.png b/resources/ios/icon/AppIcon-29x29@2x.png index 5bd5bf512..b77c5cd40 100644 Binary files a/resources/ios/icon/AppIcon-29x29@2x.png and b/resources/ios/icon/AppIcon-29x29@2x.png differ diff --git a/resources/ios/icon/AppIcon-29x29@3x.png b/resources/ios/icon/AppIcon-29x29@3x.png index b5079ae4e..b8dd76f73 100644 Binary files a/resources/ios/icon/AppIcon-29x29@3x.png and b/resources/ios/icon/AppIcon-29x29@3x.png differ diff --git a/resources/ios/icon/AppIcon-40x40@1x.png b/resources/ios/icon/AppIcon-40x40@1x.png index 6169994b6..9a2bb303a 100644 Binary files a/resources/ios/icon/AppIcon-40x40@1x.png and b/resources/ios/icon/AppIcon-40x40@1x.png differ diff --git a/resources/ios/icon/AppIcon-40x40@2x-1.png b/resources/ios/icon/AppIcon-40x40@2x-1.png index 192d6e5b0..f816ab30f 100644 Binary files a/resources/ios/icon/AppIcon-40x40@2x-1.png and b/resources/ios/icon/AppIcon-40x40@2x-1.png differ diff --git a/resources/ios/icon/AppIcon-40x40@2x.png b/resources/ios/icon/AppIcon-40x40@2x.png index 192d6e5b0..f816ab30f 100644 Binary files a/resources/ios/icon/AppIcon-40x40@2x.png and b/resources/ios/icon/AppIcon-40x40@2x.png differ diff --git a/resources/ios/icon/AppIcon-40x40@3x.png b/resources/ios/icon/AppIcon-40x40@3x.png index cd1c092f2..5ed265fc0 100644 Binary files a/resources/ios/icon/AppIcon-40x40@3x.png and b/resources/ios/icon/AppIcon-40x40@3x.png differ diff --git a/resources/ios/icon/AppIcon-512@2x.png b/resources/ios/icon/AppIcon-512@2x.png index 37aa479ee..3098f0290 100644 Binary files a/resources/ios/icon/AppIcon-512@2x.png and b/resources/ios/icon/AppIcon-512@2x.png differ diff --git a/resources/ios/icon/AppIcon-60x60@2x.png b/resources/ios/icon/AppIcon-60x60@2x.png index cd1c092f2..5ed265fc0 100644 Binary files a/resources/ios/icon/AppIcon-60x60@2x.png and b/resources/ios/icon/AppIcon-60x60@2x.png differ diff --git a/resources/ios/icon/AppIcon-60x60@3x.png b/resources/ios/icon/AppIcon-60x60@3x.png index 8be6ae6b0..c9b2b3334 100644 Binary files a/resources/ios/icon/AppIcon-60x60@3x.png and b/resources/ios/icon/AppIcon-60x60@3x.png differ diff --git a/resources/ios/icon/AppIcon-76x76@1x.png b/resources/ios/icon/AppIcon-76x76@1x.png index ef70c6601..83b6e7132 100644 Binary files a/resources/ios/icon/AppIcon-76x76@1x.png and b/resources/ios/icon/AppIcon-76x76@1x.png differ diff --git a/resources/ios/icon/AppIcon-76x76@2x.png b/resources/ios/icon/AppIcon-76x76@2x.png index 813528101..15999784e 100644 Binary files a/resources/ios/icon/AppIcon-76x76@2x.png and b/resources/ios/icon/AppIcon-76x76@2x.png differ diff --git a/resources/ios/icon/AppIcon-83.5x83.5@2x.png b/resources/ios/icon/AppIcon-83.5x83.5@2x.png index cb8a9b492..71a59f4fc 100644 Binary files a/resources/ios/icon/AppIcon-83.5x83.5@2x.png and b/resources/ios/icon/AppIcon-83.5x83.5@2x.png differ diff --git a/resources/ios/splash/Default-568h@2x~iphone.png b/resources/ios/splash/Default-568h@2x~iphone.png index 320164ea9..d345ad9bf 100644 Binary files a/resources/ios/splash/Default-568h@2x~iphone.png and b/resources/ios/splash/Default-568h@2x~iphone.png differ diff --git a/resources/ios/splash/Default-667h.png b/resources/ios/splash/Default-667h.png index a366a7a4e..1005dc131 100644 Binary files a/resources/ios/splash/Default-667h.png and b/resources/ios/splash/Default-667h.png differ diff --git a/resources/ios/splash/Default-736h.png b/resources/ios/splash/Default-736h.png index b0c43db31..e4e0d68a5 100644 Binary files a/resources/ios/splash/Default-736h.png and b/resources/ios/splash/Default-736h.png differ diff --git a/resources/ios/splash/Default-Landscape-736h.png b/resources/ios/splash/Default-Landscape-736h.png index 95fa6931c..e5c45d7f6 100644 Binary files a/resources/ios/splash/Default-Landscape-736h.png and b/resources/ios/splash/Default-Landscape-736h.png differ diff --git a/resources/ios/splash/Default-Landscape@2x~ipad.png b/resources/ios/splash/Default-Landscape@2x~ipad.png index 6bcebee94..291dc652f 100644 Binary files a/resources/ios/splash/Default-Landscape@2x~ipad.png and b/resources/ios/splash/Default-Landscape@2x~ipad.png differ diff --git a/resources/ios/splash/Default-Landscape@~ipadpro.png b/resources/ios/splash/Default-Landscape@~ipadpro.png index 28edd89da..7097bf323 100644 Binary files a/resources/ios/splash/Default-Landscape@~ipadpro.png and b/resources/ios/splash/Default-Landscape@~ipadpro.png differ diff --git a/resources/ios/splash/Default-Landscape~ipad.png b/resources/ios/splash/Default-Landscape~ipad.png index d479faee8..0ef2671a9 100644 Binary files a/resources/ios/splash/Default-Landscape~ipad.png and b/resources/ios/splash/Default-Landscape~ipad.png differ diff --git a/resources/ios/splash/Default-Portrait@2x~ipad.png b/resources/ios/splash/Default-Portrait@2x~ipad.png index 0d99e371e..a2ad24783 100644 Binary files a/resources/ios/splash/Default-Portrait@2x~ipad.png and b/resources/ios/splash/Default-Portrait@2x~ipad.png differ diff --git a/resources/ios/splash/Default-Portrait@~ipadpro.png b/resources/ios/splash/Default-Portrait@~ipadpro.png index d131a50cf..06082f2e5 100644 Binary files a/resources/ios/splash/Default-Portrait@~ipadpro.png and b/resources/ios/splash/Default-Portrait@~ipadpro.png differ diff --git a/resources/ios/splash/Default-Portrait~ipad.png b/resources/ios/splash/Default-Portrait~ipad.png index d761be588..a62f0c751 100644 Binary files a/resources/ios/splash/Default-Portrait~ipad.png and b/resources/ios/splash/Default-Portrait~ipad.png differ diff --git a/resources/ios/splash/Default@2x~iphone.png b/resources/ios/splash/Default@2x~iphone.png index 9641adcd8..fc1cbf65e 100644 Binary files a/resources/ios/splash/Default@2x~iphone.png and b/resources/ios/splash/Default@2x~iphone.png differ diff --git a/resources/ios/splash/Default~iphone.png b/resources/ios/splash/Default~iphone.png index f65e1fb76..341a70cc3 100644 Binary files a/resources/ios/splash/Default~iphone.png and b/resources/ios/splash/Default~iphone.png differ diff --git a/resources/splash.png b/resources/splash.png index 960cb82a4..a1e7cd675 100644 Binary files a/resources/splash.png and b/resources/splash.png differ diff --git a/resources/windows/icon/Square150x150Logo.scale-100.png b/resources/windows/icon/Square150x150Logo.scale-100.png index b37892ad8..d65610cad 100644 Binary files a/resources/windows/icon/Square150x150Logo.scale-100.png and b/resources/windows/icon/Square150x150Logo.scale-100.png differ diff --git a/resources/windows/icon/Square150x150Logo.scale-125.png b/resources/windows/icon/Square150x150Logo.scale-125.png index a2ae97d73..2e647281e 100644 Binary files a/resources/windows/icon/Square150x150Logo.scale-125.png and b/resources/windows/icon/Square150x150Logo.scale-125.png differ diff --git a/resources/windows/icon/Square150x150Logo.scale-150.png b/resources/windows/icon/Square150x150Logo.scale-150.png index 848524211..0ec04871c 100644 Binary files a/resources/windows/icon/Square150x150Logo.scale-150.png and b/resources/windows/icon/Square150x150Logo.scale-150.png differ diff --git a/resources/windows/icon/Square150x150Logo.scale-200.png b/resources/windows/icon/Square150x150Logo.scale-200.png index af4f7511a..1ef91fc9b 100644 Binary files a/resources/windows/icon/Square150x150Logo.scale-200.png and b/resources/windows/icon/Square150x150Logo.scale-200.png differ diff --git a/resources/windows/icon/Square150x150Logo.scale-400.png b/resources/windows/icon/Square150x150Logo.scale-400.png index 61162ccaf..adabb88ab 100644 Binary files a/resources/windows/icon/Square150x150Logo.scale-400.png and b/resources/windows/icon/Square150x150Logo.scale-400.png differ diff --git a/resources/windows/icon/Square44x44Logo.scale-100.png b/resources/windows/icon/Square44x44Logo.scale-100.png index d13105c45..7ac59d0a2 100644 Binary files a/resources/windows/icon/Square44x44Logo.scale-100.png and b/resources/windows/icon/Square44x44Logo.scale-100.png differ diff --git a/resources/windows/icon/Square44x44Logo.scale-125.png b/resources/windows/icon/Square44x44Logo.scale-125.png index fb2b99b6d..d29182bc1 100644 Binary files a/resources/windows/icon/Square44x44Logo.scale-125.png and b/resources/windows/icon/Square44x44Logo.scale-125.png differ diff --git a/resources/windows/icon/Square44x44Logo.scale-150.png b/resources/windows/icon/Square44x44Logo.scale-150.png index 45eac3c5f..9f2a9adf2 100644 Binary files a/resources/windows/icon/Square44x44Logo.scale-150.png and b/resources/windows/icon/Square44x44Logo.scale-150.png differ diff --git a/resources/windows/icon/Square44x44Logo.scale-200.png b/resources/windows/icon/Square44x44Logo.scale-200.png index 27de7c0e3..58477123c 100644 Binary files a/resources/windows/icon/Square44x44Logo.scale-200.png and b/resources/windows/icon/Square44x44Logo.scale-200.png differ diff --git a/resources/windows/icon/Square44x44Logo.scale-400.png b/resources/windows/icon/Square44x44Logo.scale-400.png index 8e710f4b6..f094b8b3f 100644 Binary files a/resources/windows/icon/Square44x44Logo.scale-400.png and b/resources/windows/icon/Square44x44Logo.scale-400.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-16.png b/resources/windows/icon/Square44x44Logo.targetsize-16.png index ca471932e..3d7f0d575 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-16.png and b/resources/windows/icon/Square44x44Logo.targetsize-16.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-20.png b/resources/windows/icon/Square44x44Logo.targetsize-20.png index ce7aac50d..a2063b2e9 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-20.png and b/resources/windows/icon/Square44x44Logo.targetsize-20.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-24.png b/resources/windows/icon/Square44x44Logo.targetsize-24.png index 20056b5f6..e56c65912 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-24.png and b/resources/windows/icon/Square44x44Logo.targetsize-24.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-256.png b/resources/windows/icon/Square44x44Logo.targetsize-256.png index 65acd4ecb..839323623 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-256.png and b/resources/windows/icon/Square44x44Logo.targetsize-256.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-30.png b/resources/windows/icon/Square44x44Logo.targetsize-30.png index 81ffbecf9..2295733ef 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-30.png and b/resources/windows/icon/Square44x44Logo.targetsize-30.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-32.png b/resources/windows/icon/Square44x44Logo.targetsize-32.png index 1f75824ea..e4b8e19a8 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-32.png and b/resources/windows/icon/Square44x44Logo.targetsize-32.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-36.png b/resources/windows/icon/Square44x44Logo.targetsize-36.png index dd87e2d73..45efa5ab5 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-36.png and b/resources/windows/icon/Square44x44Logo.targetsize-36.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-40.png b/resources/windows/icon/Square44x44Logo.targetsize-40.png index 6169994b6..9a2bb303a 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-40.png and b/resources/windows/icon/Square44x44Logo.targetsize-40.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-48.png b/resources/windows/icon/Square44x44Logo.targetsize-48.png index ed9328d64..19f73eee8 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-48.png and b/resources/windows/icon/Square44x44Logo.targetsize-48.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-60.png b/resources/windows/icon/Square44x44Logo.targetsize-60.png index 20111cd9b..49ac4dde5 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-60.png and b/resources/windows/icon/Square44x44Logo.targetsize-60.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-64.png b/resources/windows/icon/Square44x44Logo.targetsize-64.png index 947604030..324cdcb47 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-64.png and b/resources/windows/icon/Square44x44Logo.targetsize-64.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-72.png b/resources/windows/icon/Square44x44Logo.targetsize-72.png index 2a90f40f8..e5e0b8e04 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-72.png and b/resources/windows/icon/Square44x44Logo.targetsize-72.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-80.png b/resources/windows/icon/Square44x44Logo.targetsize-80.png index 192d6e5b0..f816ab30f 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-80.png and b/resources/windows/icon/Square44x44Logo.targetsize-80.png differ diff --git a/resources/windows/icon/Square44x44Logo.targetsize-96.png b/resources/windows/icon/Square44x44Logo.targetsize-96.png index c68bc0adc..de5f6e383 100644 Binary files a/resources/windows/icon/Square44x44Logo.targetsize-96.png and b/resources/windows/icon/Square44x44Logo.targetsize-96.png differ diff --git a/resources/windows/icon/Square71x71Logo.scale-100.png b/resources/windows/icon/Square71x71Logo.scale-100.png index 83a57792a..717533370 100644 Binary files a/resources/windows/icon/Square71x71Logo.scale-100.png and b/resources/windows/icon/Square71x71Logo.scale-100.png differ diff --git a/resources/windows/icon/Square71x71Logo.scale-125.png b/resources/windows/icon/Square71x71Logo.scale-125.png index 5c9c35930..140268288 100644 Binary files a/resources/windows/icon/Square71x71Logo.scale-125.png and b/resources/windows/icon/Square71x71Logo.scale-125.png differ diff --git a/resources/windows/icon/Square71x71Logo.scale-150.png b/resources/windows/icon/Square71x71Logo.scale-150.png index b6187d3ce..0752df0ca 100644 Binary files a/resources/windows/icon/Square71x71Logo.scale-150.png and b/resources/windows/icon/Square71x71Logo.scale-150.png differ diff --git a/resources/windows/icon/Square71x71Logo.scale-200.png b/resources/windows/icon/Square71x71Logo.scale-200.png index af1931c6c..01ea8ff0c 100644 Binary files a/resources/windows/icon/Square71x71Logo.scale-200.png and b/resources/windows/icon/Square71x71Logo.scale-200.png differ diff --git a/resources/windows/icon/Square71x71Logo.scale-400.png b/resources/windows/icon/Square71x71Logo.scale-400.png index dae484fc8..1a107f7e2 100644 Binary files a/resources/windows/icon/Square71x71Logo.scale-400.png and b/resources/windows/icon/Square71x71Logo.scale-400.png differ diff --git a/resources/windows/splash/SplashScreen.scale-100.png b/resources/windows/splash/SplashScreen.scale-100.png index 3b4c6eb16..fcb53cb99 100644 Binary files a/resources/windows/splash/SplashScreen.scale-100.png and b/resources/windows/splash/SplashScreen.scale-100.png differ diff --git a/resources/windows/splash/SplashScreen.scale-125.png b/resources/windows/splash/SplashScreen.scale-125.png index 128200175..d2d95ad26 100644 Binary files a/resources/windows/splash/SplashScreen.scale-125.png and b/resources/windows/splash/SplashScreen.scale-125.png differ diff --git a/resources/windows/splash/SplashScreen.scale-150.png b/resources/windows/splash/SplashScreen.scale-150.png index 7e28b2b5f..ba33bd3cf 100644 Binary files a/resources/windows/splash/SplashScreen.scale-150.png and b/resources/windows/splash/SplashScreen.scale-150.png differ diff --git a/resources/windows/splash/SplashScreen.scale-200.png b/resources/windows/splash/SplashScreen.scale-200.png index f23b0a5c0..4b667952f 100644 Binary files a/resources/windows/splash/SplashScreen.scale-200.png and b/resources/windows/splash/SplashScreen.scale-200.png differ diff --git a/resources/windows/splash/SplashScreen.scale-400.png b/resources/windows/splash/SplashScreen.scale-400.png index 02643d1af..a076ec653 100644 Binary files a/resources/windows/splash/SplashScreen.scale-400.png and b/resources/windows/splash/SplashScreen.scale-400.png differ diff --git a/resources/windows/splash/Wide310x150Logo.scale-100.png b/resources/windows/splash/Wide310x150Logo.scale-100.png index 5e1676ce1..8e9e6749d 100644 Binary files a/resources/windows/splash/Wide310x150Logo.scale-100.png and b/resources/windows/splash/Wide310x150Logo.scale-100.png differ diff --git a/resources/windows/splash/Wide310x150Logo.scale-125.png b/resources/windows/splash/Wide310x150Logo.scale-125.png index 96eddb75c..b69ed751f 100644 Binary files a/resources/windows/splash/Wide310x150Logo.scale-125.png and b/resources/windows/splash/Wide310x150Logo.scale-125.png differ diff --git a/resources/windows/splash/Wide310x150Logo.scale-150.png b/resources/windows/splash/Wide310x150Logo.scale-150.png index 7ea4ed7ad..637e2d85d 100644 Binary files a/resources/windows/splash/Wide310x150Logo.scale-150.png and b/resources/windows/splash/Wide310x150Logo.scale-150.png differ diff --git a/resources/windows/splash/Wide310x150Logo.scale-200.png b/resources/windows/splash/Wide310x150Logo.scale-200.png index 3b4c6eb16..fcb53cb99 100644 Binary files a/resources/windows/splash/Wide310x150Logo.scale-200.png and b/resources/windows/splash/Wide310x150Logo.scale-200.png differ diff --git a/resources/windows/splash/Wide310x150Logo.scale-400.png b/resources/windows/splash/Wide310x150Logo.scale-400.png index f23b0a5c0..4b667952f 100644 Binary files a/resources/windows/splash/Wide310x150Logo.scale-400.png and b/resources/windows/splash/Wide310x150Logo.scale-400.png differ diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 0cfd110dd..447d26c0d 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -8,6 +8,8 @@ import * as _rollupMoment from 'moment'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; const moment = _rollupMoment || _moment; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; +import { SqliteService } from 'src/app/services/sqlite.service'; +import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { @@ -35,7 +37,9 @@ export class AppComponent { constructor( private platform: Platform, /* private splashScreen: SplashScreen, */ - private statusBar: StatusBar + private statusBar: StatusBar, + private screenOrientation: ScreenOrientation, + private sqliteservice: SqliteService ) { this.initializeApp(); } @@ -44,6 +48,24 @@ export class AppComponent { this.platform.ready().then(() => { this.statusBar.styleDefault(); /* this.splashScreen.hide(); */ + + if (this.platform.is("tablet")) { + this.screenOrientation.unlock(); + } else if( this.platform.is("mobile")) { + this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT_PRIMARY); + console.log('Orientation locked') + } + + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + + } else { + try { + this.sqliteservice.databaseConn(); + } catch (error) { + console.log("Error creating local database: ", error) + } + } + }); } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b3a8964f6..4a8f6e002 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -59,6 +59,16 @@ import { PdfViewerModule } from 'ng2-pdf-viewer'; import { SQLite } from '@ionic-native/sqlite/ngx'; import { CookieService } from 'ngx-cookie-service'; +import { ImagePicker } from '@ionic-native/image-picker/ngx'; +import { MediaCapture } from '@ionic-native/media-capture/ngx'; +import { Media } from '@ionic-native/media/ngx'; +import { StreamingMedia } from '@ionic-native/streaming-media/ngx'; +import { PhotoViewer } from '@ionic-native/photo-viewer/ngx'; + +/* import { FCM } from '@ionic-native/fcm/ngx'; +import { FirebaseX } from '@ionic-native/firebase-x/ngx'; */ +//import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx'; + @NgModule({ declarations: [AppComponent], entryComponents: [], @@ -105,14 +115,20 @@ import { CookieService } from 'ngx-cookie-service'; //File, WebView, FilePath, - //FCM, + /* FCM, + FirebaseX, */ WebsocketService, ChatService, ScreenOrientation, Network, File, SQLite, - CookieService + CookieService, + ImagePicker, + MediaCapture, + Media, + StreamingMedia, + PhotoViewer ], bootstrap: [AppComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA] diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index 67674d637..1d0aaa047 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -1,11 +1,9 @@ /* eslint-disable */ /* tslint:disable */ -/// -/// import { Component, OnInit, NgZone } from '@angular/core'; import { Event } from '../models/event.model'; import { NotificationsService } from '../services/notifications.service'; -import { WebNotificationsService } from '../services/webnotifications.service'; +/*import { WebNotificationsService } from '../services/webnotifications.service'; */ import { AlertController, Platform } from '@ionic/angular'; import { Router, ActivatedRoute } from '@angular/router'; import { ToDayEventStorage } from '../store/to-day-event-storage.service'; @@ -16,7 +14,7 @@ import { InativityService } from '../services/inativity.service'; import { SessionStore } from '../store/session.service'; import { StorageService } from '../services/storage.service'; import { File } from '@ionic-native/file/ngx'; -import { WebNotificationPopupService } from '../services/notification/web-notification-popup.service'; +/* import { WebNotificationPopupService } from '../services/notification/web-notification-popup.service'; */ import { DocumentCounterService } from '../services/worker/document-counter.service'; import { PermissionService } from '../services/worker/permission.service'; import { Network } from '@ionic-native/network/ngx'; @@ -24,7 +22,9 @@ import { BackgroundService } from 'src/app/services/background.service'; import { OfflineManagerService } from 'src/app/services/offline-manager.service'; import { Storage } from '@ionic/storage'; import { EventsService } from 'src/app/services/events.service'; - +import { ProcessesService } from 'src/app/services/processes.service'; +import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; +import { SqliteService } from 'src/app/services/sqlite.service'; @Component({ selector: 'app-home', @@ -74,19 +74,22 @@ export class HomePage implements OnInit { private notificationsService: NotificationsService, private platform: Platform, private activeroute: ActivatedRoute, - private webnotification: WebNotificationsService, + /* private webnotification: WebNotificationsService, */ public p: PermissionService, public documentCounterService: DocumentCounterService, private despachoRule: DespachoService, private inativityService: InativityService, private storageService: StorageService, - private webNotificationPopupService: WebNotificationPopupService, + /* private webNotificationPopupService: WebNotificationPopupService, */ private backgroundservice: BackgroundService, private offlinemanager: OfflineManagerService, private storage: Storage, - private eventservice: EventsService) { + private eventservice: EventsService, + private processservice: ProcessesService, + private screenOrientation: ScreenOrientation, + private sqliteservice: SqliteService) { - this.webNotificationPopupService.askNotificationPermission() + /* this.webNotificationPopupService.askNotificationPermission() */ this.router.events.subscribe((val) => { document.querySelectorAll('ion-modal').forEach((e: any) => e.remove()) @@ -114,16 +117,15 @@ export class HomePage implements OnInit { ngOnInit() { + this.notificationsService.onReciveForeground(); + this.notificationsService.onReciveBackground(); + window.addEventListener('online', () => { console.log('Became online') this.backgroundservice.online() if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - this.webnotification.webconnection(); - this.webnotification.register(); } else { - this.mobilefirstConnect(); - this.notificationsService.onReceviNotification(); - this.offlinemanager.synchnize() + this.synchWhenOnline() } }); window.addEventListener('offline', () => { @@ -133,62 +135,23 @@ export class HomePage implements OnInit { this.updateList() - var myWorker = new Worker(new URL('./nice.worker.js', import.meta.url)); + /* var myWorker = new Worker(new URL('./nice.worker.js', import.meta.url)); myWorker.onmessage = function (oEvent) { console.log('Worker said : ' + oEvent.data); } - myWorker.postMessage('ali'); + myWorker.postMessage('ali'); */ } - mobilefirstConnect() { - - console.log("Mobileconecct"); - - if (window['WLAuthorizationManager']) { - if (window['WLAuthorizationManager'].obtainAccessToken) { - window['WLAuthorizationManager'].obtainAccessToken("").then((token) => { - - console.log('MobileFirst Server connect: Success ' + token); - - 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. - console.log("Connect with JavaAdapter Success: " + response.responseText); - //this.MFPushNotification(); - }, - (error) => { - console.log("Connect with JavaAdapter Failure: " + JSON.stringify(error)); - } - ); - }, (error) => { - console.log('MobileFirst Server connect: failure ' + error.responseText); - console.log(JSON.stringify(error)) - /* this.zone.run(() => { - console.log("Bummer..."); - console.log("Failed to connect to MobileFirst Server"); - }); */ - }); - } - } - } - - - updateList() { - this.notificationsService.registerCallback( - 'despachos', - () => { - this.despachoRule.getList({ updateStore: true }) - } - ) + /* this.notificationsService.registerCallback( + 'despachos', + () => { + this.despachoRule.getList({ updateStore: true }) + } + ) */ document.addEventListener('pause', function () { // console.log('App going to background'); @@ -200,4 +163,50 @@ export class HomePage implements OnInit { } + async synchWhenOnline() { + try { + await this.storage.get('eventEdit').then((req) => { + JSON.parse(req).forEach(element => { + this.eventservice.editEvent(element, 2, 3).subscribe((res) => { + this.storage.remove('eventEdit') + this.sqliteservice.deleteEventTable(); + console.log('eventEdit synchnize', res) + }) + }); + }) + } catch (error) { + console.log('error synch eventedit') + } + + try { + await this.storage.get('eventDelete').then((req) => { + JSON.parse(req).forEach(element => { + console.log('DELETE data SYNC', element) + this.eventservice.deleteEvent(element.eventid, element.eventDeleteType, element.calendarName).subscribe((res) => { + this.storage.remove('eventDelete') + this.sqliteservice.deleteEventTable(); + console.log('eventDelete synchnize', res) + }) + }); + }) + } catch (error) { + console.log('error delete event synch') + } + + try { + await this.storage.get('event-listRever').then((req) => { + JSON.parse(req).forEach(element => { + console.log('REVER data SYNC', element) + this.processservice.PostTaskAction(element).subscribe((res) => { + this.storage.remove('event-listRever') + this.sqliteservice.deleteEventTable(); + console.log('event-listRever synchnize', res) + }) + }); + }) + } catch (error) { + console.log('error event-list rever synch') + } + } + } diff --git a/src/app/home/nice.worker.js b/src/app/home/nice.worker.js index ce71defff..508e44345 100644 --- a/src/app/home/nice.worker.js +++ b/src/app/home/nice.worker.js @@ -1,5 +1,5 @@ -postMessage("I\'m working before postMessage(\'ali\')."); +/* postMessage("I\'m working before postMessage(\'ali\')."); onmessage = function(oEvent) { postMessage('Hi ' + oEvent.data); -}; \ No newline at end of file +}; */ \ No newline at end of file diff --git a/src/app/modals/add-note/add-note.page.html b/src/app/modals/add-note/add-note.page.html index ea75cb4e8..b936f5b07 100644 --- a/src/app/modals/add-note/add-note.page.html +++ b/src/app/modals/add-note/add-note.page.html @@ -9,12 +9,13 @@
- + diff --git a/src/app/modals/add-note/add-note.page.scss b/src/app/modals/add-note/add-note.page.scss index 678a31590..e16313d48 100644 --- a/src/app/modals/add-note/add-note.page.scss +++ b/src/app/modals/add-note/add-note.page.scss @@ -60,7 +60,6 @@ float: left; float: right; overflow: auto; font-size: 25px; - padding: 10px; } .list-people-title{ /* font-size: 13px; */ @@ -68,7 +67,7 @@ float: left; } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/modals/add-note/add-note.page.ts b/src/app/modals/add-note/add-note.page.ts index 23528b524..21f62129c 100644 --- a/src/app/modals/add-note/add-note.page.ts +++ b/src/app/modals/add-note/add-note.page.ts @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { AnimationController, ModalController, NavParams } from '@ionic/angular'; import { SearchList } from 'src/app/models/search-document'; import { SearchPage } from 'src/app/pages/search/search.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-add-note', @@ -18,6 +19,7 @@ export class AddNotePage implements OnInit { private modalController: ModalController, private animationController: AnimationController, private navParams: NavParams, + public ThemeService: ThemeService ) { this.note = ''; this.hideThisFeature = this.navParams.get('showAttachmentBtn'); diff --git a/src/app/modals/chat-options-features/chat-options-features.page.html b/src/app/modals/chat-options-features/chat-options-features.page.html index 75ac2594a..848e950fa 100644 --- a/src/app/modals/chat-options-features/chat-options-features.page.html +++ b/src/app/modals/chat-options-features/chat-options-features.page.html @@ -1,7 +1,8 @@
diff --git a/src/app/modals/chat-options-features/chat-options-features.page.scss b/src/app/modals/chat-options-features/chat-options-features.page.scss index 86ac0ae4b..50f7690d2 100644 --- a/src/app/modals/chat-options-features/chat-options-features.page.scss +++ b/src/app/modals/chat-options-features/chat-options-features.page.scss @@ -39,7 +39,7 @@ width: 100% !important; } .btn-cancel:hover{ - background-color: #42b9fe; + background-color: var(--button-hover); color: #fff !important; } .mobile-only{ diff --git a/src/app/modals/chat-options-features/chat-options-features.page.ts b/src/app/modals/chat-options-features/chat-options-features.page.ts index f10cc16cc..df1ece9a6 100644 --- a/src/app/modals/chat-options-features/chat-options-features.page.ts +++ b/src/app/modals/chat-options-features/chat-options-features.page.ts @@ -9,6 +9,7 @@ import { ChatService } from 'src/app/services/chat.service'; import { FileLoaderService } from 'src/app/services/file/file-loader.service'; import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service'; import { environment } from 'src/environments/environment'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-chat-options-features', @@ -32,6 +33,7 @@ export class ChatOptionsFeaturesPage implements OnInit { private fileLoaderService: FileLoaderService, private fileToBase64Service: FileToBase64Service, private chatService: ChatService, + public ThemeService: ThemeService ) { this.members = this.navParams.get('members'); diff --git a/src/app/modals/create-process/create-process.page.html b/src/app/modals/create-process/create-process.page.html index 385eb23e1..509950761 100644 --- a/src/app/modals/create-process/create-process.page.html +++ b/src/app/modals/create-process/create-process.page.html @@ -91,7 +91,7 @@
-
+
@@ -100,8 +100,9 @@
-
- +
+ +
@@ -112,7 +113,7 @@
-
+
@@ -121,17 +122,19 @@
-
- +
+ +
-
+
- + +
Anexar Documentos diff --git a/src/app/modals/create-process/create-process.page.scss b/src/app/modals/create-process/create-process.page.scss index 317b25399..c557abb39 100644 --- a/src/app/modals/create-process/create-process.page.scss +++ b/src/app/modals/create-process/create-process.page.scss @@ -68,7 +68,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -76,7 +77,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); } .attach-title-item{ diff --git a/src/app/modals/create-process/create-process.page.ts b/src/app/modals/create-process/create-process.page.ts index a566bfdcc..9e65782ad 100644 --- a/src/app/modals/create-process/create-process.page.ts +++ b/src/app/modals/create-process/create-process.page.ts @@ -20,6 +20,8 @@ import { PermissionService } from 'src/app/services/worker/permission.service'; import { DespachoService } from 'src/app/Rules/despacho.service'; import { PedidoService } from 'src/app/Rules/pedido.service' import { fullTask } from 'src/app/models/dailyworktask.model'; +import { ThemeService } from 'src/app/services/theme.service' + const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -97,7 +99,8 @@ export class CreateProcessPage implements OnInit { private toastService: ToastService, public p: PermissionService, private despachoService: DespachoService, - private pedidoService: PedidoService + private pedidoService: PedidoService, + public ThemeService: ThemeService ) { this.loggeduser = userAuth.ValidatedUser; this.task = this.navParams.get('task'); @@ -288,7 +291,7 @@ export class CreateProcessPage implements OnInit { this.modalController.dismiss(); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { loader.remove() @@ -316,10 +319,10 @@ export class CreateProcessPage implements OnInit { } this.modalController.dismiss(); - this.toastService.successMessage('Pedido de Parecer enviado'); + this.toastService._successMessage('Pedido de Parecer enviado'); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { loader.remove() } @@ -341,10 +344,10 @@ export class CreateProcessPage implements OnInit { await this.pedidoService.taskCompleteDeferimento({serialNumber:this.task.serialNumber}).toPromise(); this.modalController.dismiss(); - this.toastService.successMessage('Pedido de Deferimento criado'); + this.toastService._successMessage('Pedido de Deferimento criado'); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { loader.remove() @@ -373,16 +376,16 @@ export class CreateProcessPage implements OnInit { await this.despachoService.CompleteTask({serialNumber: this.task.serialNumber}).toPromise(); this.modalController.dismiss(); - this.toastService.successMessage('Despacho criado'); + this.toastService._successMessage('Despacho criado'); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { //loader.remove(); } } else{ this.validateField = true; - this.toastService.badRequest('Por favor adicione uma descrição'); + this.toastService._badRequest('Por favor adicione uma descrição'); } loader.remove(); break; @@ -408,10 +411,10 @@ export class CreateProcessPage implements OnInit { } this.modalController.dismiss(); - this.toastService.successMessage('Pedido de Parecer criado'); + this.toastService._successMessage('Pedido de Parecer criado'); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { loader.remove() } @@ -433,10 +436,10 @@ export class CreateProcessPage implements OnInit { await this.pedidoService.taskCompleteDeferimento({serialNumber:this.task.serialNumber}).toPromise(); this.modalController.dismiss(); - this.toastService.successMessage('Pedido de Deferimento criado'); + this.toastService._successMessage('Pedido de Deferimento criado'); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { loader.remove() } @@ -491,9 +494,9 @@ export class CreateProcessPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); - this.toastService.successMessage(message); + this.toastService._successMessage(message); } catch (error) { - this.toastService.badRequest('Processo não efectuado'); + this.toastService._badRequest('Processo não efectuado'); } finally { loader.remove() } diff --git a/src/app/modals/dar-parecer/dar-parecer.page.html b/src/app/modals/dar-parecer/dar-parecer.page.html index b458671e4..4f0a85a26 100644 --- a/src/app/modals/dar-parecer/dar-parecer.page.html +++ b/src/app/modals/dar-parecer/dar-parecer.page.html @@ -15,9 +15,10 @@
- +
- + +
Anexar Documentos diff --git a/src/app/modals/dar-parecer/dar-parecer.page.scss b/src/app/modals/dar-parecer/dar-parecer.page.scss index 9c486eb9a..c7b38786d 100644 --- a/src/app/modals/dar-parecer/dar-parecer.page.scss +++ b/src/app/modals/dar-parecer/dar-parecer.page.scss @@ -72,7 +72,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -80,7 +81,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/modals/dar-parecer/dar-parecer.page.ts b/src/app/modals/dar-parecer/dar-parecer.page.ts index 245da3ca9..e31ff5945 100644 --- a/src/app/modals/dar-parecer/dar-parecer.page.ts +++ b/src/app/modals/dar-parecer/dar-parecer.page.ts @@ -4,6 +4,7 @@ import { SearchList } from 'src/app/models/search-document'; import { SearchPage } from 'src/app/pages/search/search.page'; import { ProcessesService } from 'src/app/services/processes.service'; import { ToastService } from 'src/app/services/toast.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-dar-parecer', @@ -22,6 +23,7 @@ export class DarParecerPage implements OnInit { private navParams: NavParams, private animationController: AnimationController, private toastService: ToastService, + public ThemeService: ThemeService ) { this.serialNumber = this.navParams.get('serialNumber'); this.instanceId = this.navParams.get('ProcessInstanceID'); @@ -67,9 +69,9 @@ export class DarParecerPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); this.modalController.dismiss(); - this.toastService.successMessage('Parecer enviado'); + this.toastService._successMessage('Parecer enviado'); } catch (error) { - this.toastService.badRequest("Parecer não solicitado"); + this.toastService._badRequest("Parecer não solicitado"); } finally { loader.remove() } diff --git a/src/app/modals/delegar/delegar.page.html b/src/app/modals/delegar/delegar.page.html index fea6be656..8f28822ef 100644 --- a/src/app/modals/delegar/delegar.page.html +++ b/src/app/modals/delegar/delegar.page.html @@ -1,13 +1,12 @@
-
-
+
@@ -24,7 +23,8 @@
- + +
@@ -42,9 +42,10 @@
- +
- + +
Anexar Documentos @@ -52,7 +53,7 @@
-
+
diff --git a/src/app/modals/delegar/delegar.page.scss b/src/app/modals/delegar/delegar.page.scss index c6fc0f6da..50e91d6aa 100644 --- a/src/app/modals/delegar/delegar.page.scss +++ b/src/app/modals/delegar/delegar.page.scss @@ -69,7 +69,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -77,7 +78,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/modals/delegar/delegar.page.ts b/src/app/modals/delegar/delegar.page.ts index 1a1116285..b72e269e1 100644 --- a/src/app/modals/delegar/delegar.page.ts +++ b/src/app/modals/delegar/delegar.page.ts @@ -13,6 +13,8 @@ import { ToastService } from 'src/app/services/toast.service'; import { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page'; import { SearchList } from 'src/app/models/search-document'; import { SearchPage } from 'src/app/pages/search/search.page'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-delegar', @@ -52,6 +54,7 @@ export class DelegarPage implements OnInit { private alertService: AlertService, private animationController: AnimationController, private toastService: ToastService, + public ThemeService: ThemeService ) { this.task = this.navParams.get('task'); this.postData = new Event(); @@ -85,16 +88,16 @@ export class DelegarPage implements OnInit { async saveTask() { if(this.taskParticipants.length < 1){ - this.toastService.badRequest("Selecione um destinatário"); + this.toastService._badRequest("Selecione um destinatário"); } else if(this.taskParticipants.length > 1){ - this.toastService.badRequest("Selecione apenas um destinatário"); + this.toastService._badRequest("Selecione apenas um destinatário"); } else { let body = { "SerialNumber": this.task.SerialNumber, "DispatchDocId": this.task.DocId, - "FolderID": this.task.FolderId, + "FolderID": this.task.FolderId || this.task.FolderID, "Subject": this.task.Folio, "Comment": this.note, "DelegatedUserEmail": this.taskParticipants[0].EmailAddress, @@ -106,11 +109,11 @@ export class DelegarPage implements OnInit { this.processes.DelegateTask(body).subscribe(res=>{ console.log(res); - this.toastService.successMessage('Processo delegado') + this.toastService._successMessage('Processo delegado') this.close(); }, (error)=>{ - this.toastService.badRequest("Processo não delegado") + this.toastService._badRequest("Processo não delegado") }, ()=>{ loader.remove() diff --git a/src/app/modals/document-detail/document-detail.page.html b/src/app/modals/document-detail/document-detail.page.html index 94d1a3f0e..1e1c3d8a3 100644 --- a/src/app/modals/document-detail/document-detail.page.html +++ b/src/app/modals/document-detail/document-detail.page.html @@ -9,7 +9,9 @@ {{LoadedDocument.Assunto}}
- + + +
diff --git a/src/app/modals/document-detail/document-detail.page.scss b/src/app/modals/document-detail/document-detail.page.scss index 7cddfaadf..e69376b4c 100644 --- a/src/app/modals/document-detail/document-detail.page.scss +++ b/src/app/modals/document-detail/document-detail.page.scss @@ -130,7 +130,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/modals/document-detail/document-detail.page.ts b/src/app/modals/document-detail/document-detail.page.ts index 0efb39141..feea81af0 100644 --- a/src/app/modals/document-detail/document-detail.page.ts +++ b/src/app/modals/document-detail/document-detail.page.ts @@ -11,6 +11,8 @@ import { PermissionService } from 'src/app/services/worker/permission.service'; import { SearchedDocumentOptionsPage } from 'src/app/shared/popover/searched-document-options/searched-document-options.page'; import { Location } from '@angular/common'; import { ViewDocumentPage } from '../view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-document-detail', @@ -45,6 +47,7 @@ export class DocumentDetailPage implements OnInit { public p: PermissionService, private popoverController: PopoverController, private location: Location, + public ThemeService: ThemeService ) { this.docId = this.navParams.get('docId'); this.applicationId = this.navParams.get('applicationId'); diff --git a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.html b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.html index f34b17ec6..3b318dd67 100644 --- a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.html +++ b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.html @@ -276,7 +276,8 @@
- + +
@@ -297,7 +298,8 @@
- + +
@@ -316,8 +318,9 @@
-
- +
+ +
Anexar Documentos diff --git a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.scss b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.scss index 637cd24d1..d3709536d 100644 --- a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.scss +++ b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.scss @@ -66,7 +66,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -74,7 +75,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts index 947058b71..4e1798522 100644 --- a/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts +++ b/src/app/modals/document-set-up-meeting/document-set-up-meeting.page.ts @@ -17,6 +17,8 @@ import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-pick import { EventsService } from 'src/app/services/events.service'; import { EventService } from 'src/app/services/rules/event.service'; import { EventPipe } from 'src/app/pipes/event.pipe'; +import { ThemeService } from 'src/app/services/theme.service' + const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -96,7 +98,8 @@ export class DocumentSetUpMeetingPage implements OnInit { authService: AuthService, private toastService: ToastService, private calendarService: EventsService, - private eventService: EventService + private eventService: EventService, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; this.document = this.navParams.get('document') @@ -221,11 +224,11 @@ export class DocumentSetUpMeetingPage implements OnInit { this.eventService.create({ body: postEvent, calendar: this.postData.CalendarName }).subscribe(async (respose) => { laoder.remove() - this.toastService.successMessage('Reunião criada') + this.toastService._successMessage('Reunião criada') this.modalController.dismiss() }, (error) => { laoder.remove() - this.toastService.badRequest('Não foi possível marcar a reunião'); + this.toastService._badRequest('Não foi possível marcar a reunião'); }, ()=>{ laoder.remove() }); diff --git a/src/app/modals/document-viewer/document-viewer.page.html b/src/app/modals/document-viewer/document-viewer.page.html index 78dd8f681..50abdcb04 100644 --- a/src/app/modals/document-viewer/document-viewer.page.html +++ b/src/app/modals/document-viewer/document-viewer.page.html @@ -3,7 +3,8 @@
- + +
{{ fileName }}
diff --git a/src/app/modals/document-viewer/document-viewer.page.ts b/src/app/modals/document-viewer/document-viewer.page.ts index c8711fe32..8eaeb8abe 100644 --- a/src/app/modals/document-viewer/document-viewer.page.ts +++ b/src/app/modals/document-viewer/document-viewer.page.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { ModalController, NavParams } from '@ionic/angular'; import { ProcessesService } from 'src/app/services/processes.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ @@ -19,7 +20,8 @@ export class DocumentViewerPage implements OnInit { constructor( private modalController: ModalController, private navParams: NavParams, - private processes: ProcessesService) { + public processes: ProcessesService, + public ThemeService: ThemeService) { this.task = this.navParams.get('task') || null; this.DocId = this.navParams.get('DocId'); diff --git a/src/app/modals/forward/forward.page.html b/src/app/modals/forward/forward.page.html index b8c0e22b6..0f6ae2d18 100644 --- a/src/app/modals/forward/forward.page.html +++ b/src/app/modals/forward/forward.page.html @@ -14,7 +14,7 @@
-
+
@@ -23,8 +23,9 @@
-
- +
+ +
@@ -41,16 +42,7 @@
- +
diff --git a/src/app/modals/forward/forward.page.scss b/src/app/modals/forward/forward.page.scss index c6fc0f6da..50e91d6aa 100644 --- a/src/app/modals/forward/forward.page.scss +++ b/src/app/modals/forward/forward.page.scss @@ -69,7 +69,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -77,7 +78,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/modals/forward/forward.page.ts b/src/app/modals/forward/forward.page.ts index ede8b6f3b..a40c1747c 100644 --- a/src/app/modals/forward/forward.page.ts +++ b/src/app/modals/forward/forward.page.ts @@ -15,6 +15,8 @@ import { ToastService } from 'src/app/services/toast.service'; import { SearchList } from 'src/app/models/search-document'; import { SearchPage } from 'src/app/pages/search/search.page'; import { AttendeesPageModal } from 'src/app/pages/events/attendees/attendees.page'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-forward', @@ -53,6 +55,7 @@ export class ForwardPage implements OnInit { private alertService: AlertService, private animationController: AnimationController, private toastService: ToastService, + public ThemeService: ThemeService ) { this.task = this.navParams.get('task'); this.postData = new Event(); @@ -121,7 +124,7 @@ export class ForwardPage implements OnInit { } if(this.taskParticipants.length < 1){ - this.toastService.badRequest("Selecione um destinatário"); + this.toastService._badRequest("Selecione um destinatário"); } else { @@ -147,11 +150,11 @@ export class ForwardPage implements OnInit { console.log(body); this.processes.CompleteParecerPrTask(body).subscribe(res=>{ console.log(res); - this.toastService.successMessage('Processo delegado'); + this.toastService._successMessage('Processo delegado'); this.goBack(); }, (error)=>{ - this.toastService.badRequest("Processo não delegado") + this.toastService._badRequest("Processo não delegado") }); } } diff --git a/src/app/modals/profile/edit-profile/edit-profile.page.html b/src/app/modals/profile/edit-profile/edit-profile.page.html index 74fc9bf48..93d007657 100644 --- a/src/app/modals/profile/edit-profile/edit-profile.page.html +++ b/src/app/modals/profile/edit-profile/edit-profile.page.html @@ -7,7 +7,9 @@
- + + +
@@ -21,9 +23,11 @@
-->
-
+
- + + +
@@ -33,7 +37,7 @@
- +
@@ -44,22 +48,47 @@
- +
+ +
+
+
Tema
+
+
+ +
+
+
+ +
+ +
+ +
+ + + +
+
+
+
- + +
@@ -55,8 +56,8 @@

{{item.Location}}

-

{{item.alert}}

-

{{item.desc}}

+

{{item.title}}

+

{{item.body}}

-
+
@@ -30,7 +30,9 @@
@@ -39,8 +41,10 @@

{{ viewTitle }} -
- +
+ + +

@@ -99,7 +103,9 @@
-->
- + + +
@@ -113,12 +119,16 @@ - - @@ -180,10 +190,14 @@ @@ -195,7 +209,9 @@
{{timelineFilterState}}
@@ -323,7 +339,7 @@
-
+
{{event.event.StartDate | date: 'HH:mm'}}
diff --git a/src/app/pages/agenda/agenda.page.scss b/src/app/pages/agenda/agenda.page.scss index 2de80d83d..05c3185a0 100644 --- a/src/app/pages/agenda/agenda.page.scss +++ b/src/app/pages/agenda/agenda.page.scss @@ -15,7 +15,7 @@ .monthview-current{ /* background-color: red; */ - border-bottom: 1px solid lightskyblue !important; + border-bottom: 1px solid rgb(158, 250, 135) !important; } .monthview-selected { /* background-color: lightskyblue !important; */ @@ -255,7 +255,7 @@ td.monthview-primary-with-event { .div-top-header{ width: 400px; margin: 0 auto; - background-color: #0782c9; + background-color: #07c941; padding-top: 15px; border: 0!important; @@ -284,8 +284,6 @@ td.monthview-primary-with-event { height: 100%; font-family: Roboto; margin: 0 auto; - border-top-left-radius: 25px; - border-top-right-radius: 25px; background-color: #fff; overflow:auto; /* padding: 25px 20px 0 20px; */ @@ -395,6 +393,7 @@ td.monthview-primary-with-event { .currente-date-timelien{ + cursor: pointer; padding: 10px 20px; .timeline-date{ font-size: 15px; @@ -409,10 +408,10 @@ td.monthview-primary-with-event { font-weight: normal; ion-icon{ font-size: 35px; - color: #0d89d1; + color: var(--title-text-color); } .filter-name{ - color: #0d89d1; + color: var(--title-text-color); font-family: Roboto; font-size: 15px; margin-right: 25px; @@ -437,7 +436,12 @@ td.monthview-primary-with-event { font-weight: normal; } li.active{ - background-color: rgba(66, 185, 254, 0.1); + background-color: var(--mat-selected) !important; + color: white; + } + li:hover:not(.active){ + background-color: var(--mat-selected-hover); + } } } @@ -512,7 +516,7 @@ td.monthview-primary-with-event { font-family: Roboto; font-size: 15px; font-weight: bold; - color: #0d89d1; + color: var(--title-text-color); } .description p{ @@ -572,12 +576,6 @@ td.monthview-primary-with-event { } -.calendar-timeline{ - - height: 100%; - background-color: white; - border-top-left-radius: 25px; -} .calendar-border{ background: #ebebeb; @@ -602,7 +600,7 @@ td.monthview-primary-with-event { overflow: hidden; .calendar-timeline{ - border-top-right-radius: 24px; + border-top-right-radius: 0px; width: calc(100%); overflow: hidden; @@ -618,11 +616,6 @@ td.monthview-primary-with-event { } } -.event-details{ - width: 40%; - background: white; - border-top-right-radius: 25px; -} .event-details{ @@ -636,6 +629,7 @@ td.monthview-primary-with-event { .calendar-timeline{ border-top-right-radius: 0px; + border-top-left-radius: 25px; width: calc(100% - 40%); border-right: 1px solid #d8d8d8; @@ -751,13 +745,13 @@ app-approve-event{ } li.active { - background-color: #42b9fe !important; + background-color: var(--mat-selected) !important; color: white; } li:hover{ cursor: pointer; - background-color: #e6f6ff75 ; + background-color: var(--mat-selected-hover) ; } } @@ -769,4 +763,35 @@ app-approve-event{ height: 100%; width: 100%; z-index: 99; +} + +@media only screen and (min-width: 1225px) { + .calendar-timeline{ + + height: 100%; + background-color: white; + border-top-left-radius: 25px; + } + .event-details{ + width: 40%; + background: white; + border-top-right-radius: 0px; + } + +} + +@media only screen and (min-width: 321px) { + + .calendar-timeline{ + + height: 100%; + background-color: white; + border-top-left-radius: 0px; + } + .event-details{ + width: 40%; + background: white; + border-top-right-radius: 25px; + } + } \ No newline at end of file diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index edaca3579..07ae8a76f 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -31,6 +31,7 @@ import { ChangeProfileService } from 'src/app/services/change-profile.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ @@ -176,7 +177,8 @@ export class AgendaPage implements OnInit { private changeProfileService: ChangeProfileService, private sqliteservice: SqliteService, private platform: Platform, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { this.dateAdapter.setLocale('es'); @@ -733,6 +735,7 @@ export class AgendaPage implements OnInit { Profile: profile } this.sqliteservice.addEvent(event) + }); } } @@ -949,7 +952,7 @@ export class AgendaPage implements OnInit { // }); this.myCal.update(); this.myCal.loadEvents(); - // this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); + this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); } this.cloneAllmobileComponent(); @@ -1144,6 +1147,7 @@ export class AgendaPage implements OnInit { async closeComponentEditEventOrAdd() { if (this.IsEvent = 'edit') { + // this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); this.eventClicked(this.viewingEventObject); } else if (this.IsEvent = 'add') { this.cloneAllmobileComponent(); diff --git a/src/app/pages/agenda/edit-event/edit-event.page.html b/src/app/pages/agenda/edit-event/edit-event.page.html index 928c7d14f..b24cfd28f 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.html +++ b/src/app/pages/agenda/edit-event/edit-event.page.html @@ -205,7 +205,8 @@
- + +
@@ -226,7 +227,8 @@
- + +
@@ -248,7 +250,8 @@
- + +
Adicionar documentos @@ -272,7 +275,6 @@ Acções Presidenciais Arquivo Despacho Electrónico -

diff --git a/src/app/pages/agenda/edit-event/edit-event.page.scss b/src/app/pages/agenda/edit-event/edit-event.page.scss index 35002e5a5..49c63f67d 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.scss +++ b/src/app/pages/agenda/edit-event/edit-event.page.scss @@ -83,7 +83,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -91,7 +92,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color);; margin: 5px 5px 5px 10px; padding: 5px; float: left; @@ -104,7 +105,7 @@ .attach-title-item{ width: 100%; font-size: 15px; - color:#0d89d1; + color:var(--title-text-color); } /* SPAN */ diff --git a/src/app/pages/agenda/edit-event/edit-event.page.ts b/src/app/pages/agenda/edit-event/edit-event.page.ts index 37ee65584..8cd58e2f1 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.ts +++ b/src/app/pages/agenda/edit-event/edit-event.page.ts @@ -11,6 +11,8 @@ import { ToastService } from 'src/app/services/toast.service'; import { Event } from '../../../models/event.model'; import { AttendeesPageModal } from '../../events/attendees/attendees.page'; import { SearchPage } from '../../search/search.page'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-edit-event', @@ -56,6 +58,7 @@ export class EditEventPage implements OnInit { private attachmentsService: AttachmentsService, private toastService: ToastService, private router: Router, + public ThemeService: ThemeService ) { this.postEvent = new Event(); diff --git a/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.html b/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.html index f4054a0d3..2641e0c53 100644 --- a/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.html +++ b/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.html @@ -2,7 +2,9 @@
diff --git a/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.ts b/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.ts index 241c43cb1..6555495ab 100644 --- a/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.ts +++ b/src/app/pages/agenda/emend-message-modal/emend-message-modal.page.ts @@ -1,5 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { ModalController } from '@ionic/angular'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-emend-message-modal', @@ -11,6 +12,7 @@ export class EmendMessageModalPage implements OnInit { constructor( private modalController: ModalController, + public ThemeService: ThemeService ) { this.emendMessage = ''; } diff --git a/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.html b/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.html index ca44e45ca..ccdf3a347 100644 --- a/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.html +++ b/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.html @@ -1,7 +1,8 @@
diff --git a/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.ts b/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.ts index 6294005fd..0153fbd95 100644 --- a/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.ts +++ b/src/app/pages/agenda/event-actions-popover/event-actions-popover.page.ts @@ -8,6 +8,7 @@ import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.p import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page'; import { EmendMessageModalPage } from '../emend-message-modal/emend-message-modal.page'; import { Location } from '@angular/common'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-event-actions-popover', @@ -26,7 +27,8 @@ export class EventActionsPopoverPage implements OnInit { private popoverController: PopoverController, private animationController: AnimationController, private toastService: ToastService, - private location: Location) { + private location: Location, + public ThemeService: ThemeService) { this.serialNumber = this.navParams.get('serialNumber'); this.instanceId = this.navParams.get('InstanceId'); } diff --git a/src/app/pages/agenda/new-event/new-event.page.html b/src/app/pages/agenda/new-event/new-event.page.html index b7aa03b6c..1a6b55b81 100644 --- a/src/app/pages/agenda/new-event/new-event.page.html +++ b/src/app/pages/agenda/new-event/new-event.page.html @@ -193,7 +193,7 @@
-
+
@@ -208,8 +208,9 @@
-
- +
+ +
@@ -220,7 +221,7 @@
-
+
@@ -235,8 +236,9 @@
-
- +
+ +
@@ -258,7 +260,8 @@
- + +
Adicionar documentos diff --git a/src/app/pages/agenda/new-event/new-event.page.scss b/src/app/pages/agenda/new-event/new-event.page.scss index 3090c356e..bcebc9bd3 100644 --- a/src/app/pages/agenda/new-event/new-event.page.scss +++ b/src/app/pages/agenda/new-event/new-event.page.scss @@ -100,7 +100,8 @@ ion-content{ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -108,7 +109,7 @@ ion-content{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; @@ -121,7 +122,7 @@ ion-content{ .attach-title-item{ width: 100%; font-size: 15px; - color:#0d89d1; + color:var(--title-text-color); } /* SPAN */ .span-left{ diff --git a/src/app/pages/agenda/new-event/new-event.page.ts b/src/app/pages/agenda/new-event/new-event.page.ts index fb5d5d4e4..2c727befa 100644 --- a/src/app/pages/agenda/new-event/new-event.page.ts +++ b/src/app/pages/agenda/new-event/new-event.page.ts @@ -15,6 +15,7 @@ import { SearchPage } from '../../search/search.page'; import { ThemePalette } from '@angular/material/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { EventRecurrence } from 'src/app/models/agenda/eventrecurrence.model'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ @@ -67,6 +68,7 @@ export class NewEventPage implements OnInit { private animationController: AnimationController, private toastService: ToastService, userService: AuthService, + public ThemeService: ThemeService ) { this.loggeduser = userService.ValidatedUser; this.postEvent = new Event(); @@ -279,12 +281,12 @@ export class NewEventPage implements OnInit { }); - this.toastService.successMessage() + this.toastService._successMessage() this.modalController.dismiss(this.postEvent); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } diff --git a/src/app/pages/agenda/view-event/view-event.page.html b/src/app/pages/agenda/view-event/view-event.page.html index 88e6d3afa..697350915 100644 --- a/src/app/pages/agenda/view-event/view-event.page.html +++ b/src/app/pages/agenda/view-event/view-event.page.html @@ -15,7 +15,8 @@
@@ -23,7 +24,8 @@
- + +
diff --git a/src/app/pages/agenda/view-event/view-event.page.scss b/src/app/pages/agenda/view-event/view-event.page.scss index cda6ac60b..44837e303 100644 --- a/src/app/pages/agenda/view-event/view-event.page.scss +++ b/src/app/pages/agenda/view-event/view-event.page.scss @@ -185,7 +185,7 @@ ion-menu{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; @@ -198,7 +198,7 @@ ion-menu{ .attach-title-item{ width: 100%; font-size: 15px; - color:#0d89d1; + color:var(--title-text-color); } /* SPAN */ .span-left{ diff --git a/src/app/pages/agenda/view-event/view-event.page.ts b/src/app/pages/agenda/view-event/view-event.page.ts index 21eb924f8..ea60b28bd 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -19,6 +19,8 @@ import { ExpedientTaskModalPage } from '../../gabinete-digital/expediente/expedi import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; import { BackgroundService } from 'src/app/services/background.service'; import { StorageService } from 'src/app/services/storage.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-view-event', @@ -68,7 +70,8 @@ export class ViewEventPage implements OnInit { public platform: Platform, private sqliteservice: SqliteService, private backgroundservice: BackgroundService, - private storage: StorageService + private storage: StorageService, + public ThemeService: ThemeService ) { this.isEventEdited = false; this.loadedEvent = new Event(); @@ -168,9 +171,9 @@ export class ViewEventPage implements OnInit { loader.remove() }, (error) => { - console.log('errorstatus',error.status) + console.log('errorstatus ss',error.status) - if (error.status == 0) { + if (error.status === 0) { this.getFromDb(); } else { this.toastService.badRequest('Este evento já não existe na sua agenda') @@ -202,6 +205,8 @@ export class ViewEventPage implements OnInit { () => { loader.remove(); }); + + loader.remove(); } @@ -418,8 +423,9 @@ export class ViewEventPage implements OnInit { const loader = this.toastService.loading(); this.sqliteservice.getEventById(this.eventId).then((event) => { let arrayevent = []; + console.log('EVENT ATTENDEES',event[0].Attendees) let elemet = { - Attendees: JSON.parse(event[0].Attendees) || "", + Attendees: (typeof JSON.parse(event[0].Attendees) === 'undefined') ? "" : JSON.parse(event[0].Attendees), Body: JSON.parse(event[0].Body) || "", CalendarId: event[0].CalendarId, CalendarName: event[0].CalendarName, diff --git a/src/app/pages/chat/chat.page.html b/src/app/pages/chat/chat.page.html index 35ae9787e..9e432d89f 100644 --- a/src/app/pages/chat/chat.page.html +++ b/src/app/pages/chat/chat.page.html @@ -8,7 +8,7 @@ -
+
@@ -18,13 +18,15 @@
@@ -46,11 +48,13 @@ *ngFor="let dm of userDirectMessages" [class.item-active]="dm._id == idSelected">
- + + +
+ class="item-content flex-grow-1 cursor-pointer">
@@ -88,15 +92,22 @@ [class.item-active]="group._id ==idSelected" class="item item-hover d-flex">
- + + + + + + +
+ (click)="openGroupMessagesPage(group._id)" class="item-content flex-grow-1 cursor-pointer">
{{group.name.split('-').join(' ')}}
-
{{showDateDuration(group._updatedAt)}}
+
{{showDateDuration(group._updatedAt)}}
+
{{countDownDate(group.customFields.countDownDate, group._id)}}
{{group.lastMessage.u.name}}: {{group.lastMessage.msg}}
diff --git a/src/app/pages/chat/chat.page.scss b/src/app/pages/chat/chat.page.scss index 50c2afa74..2fc786346 100644 --- a/src/app/pages/chat/chat.page.scss +++ b/src/app/pages/chat/chat.page.scss @@ -38,8 +38,6 @@ ion-content{ font-family: Roboto; margin: 0 auto; background-color: #fff; - border-top-left-radius: 25px; - border-top-right-radius: 25px; overflow: auto; @@ -98,16 +96,16 @@ ion-content{ margin-top: 10px; } .item-title{ - width: calc(100% - 75px); + width: calc(100% - 90px); float: left; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); } .item-title-active{ color: #fff; } .item-date{ - width: 75px; + width: 90px; float: right; font-size: 13px; color: #797979; @@ -137,7 +135,7 @@ ion-content{ .item-active{ color: #fff !important; - background-color: #42b9fe !important; + background-color: var(--gabinete-active-hove-background) !important; } @media only screen and (min-width: 701px) { .main-content{ diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index 991abb5a2..9056c7ef8 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -26,8 +26,11 @@ import { NavigationStart, NavigationEnd, Router } from '@angular/router'; import { EventPerson } from 'src/app/models/eventperson.model'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' import { environment } from 'src/environments/environment'; -import { NotificationsService } from 'src/app/services/notifications.service'; +//import { NotificationsService } from 'src/app/services/notifications.service'; import { TimeService } from 'src/app/services/functions/time.service'; +import { ThemeService } from 'src/app/services/theme.service' +import { DataService } from 'src/app/services/data.service'; + @Component({ selector: 'app-chat', @@ -82,12 +85,6 @@ export class ChatPage implements OnInit { @Output() getRoomInfo; - /* - - Websockets variables - - */ - subject: any; public messages: Subject; @@ -119,6 +116,9 @@ export class ChatPage implements OnInit { private resolver: ComponentFactoryResolver, private route: Router, private timeService: TimeService, + public ThemeService: ThemeService, + private dataService:DataService, + private router: Router, ){ this.loggedUserChat = authService.ValidatedUserChat['data']; this.headers = new HttpHeaders(); @@ -153,6 +153,21 @@ export class ChatPage implements OnInit { console.log(t); this.setStatus('away'); + if(this.dataService.get("newGroup")){ + this.openNewGroupPage(); + } + + this.router.events.forEach((event) => { + if (event instanceof NavigationStart && event.url.startsWith('/home/chat')) { + if (window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/chat')) { + alert('OIII') + } else { + if(this.dataService.get("newGroup")){ + this.openNewGroupPage(); + } + } + } + }); } ngOnDestroy(){ @@ -382,7 +397,7 @@ hideRefreshButton(){ async getDirectMessages(event?){ this.chatService.getAllDirectMessages().subscribe(async (res:any)=>{ - console.log(res.ims); + //console.log(res.ims); if(res != 200){ //console.log(res.ims); @@ -400,7 +415,7 @@ hideRefreshButton(){ //console.log('TIMER'); //Check if modal is opened if(this.segment == "Contactos" && this.showMessages != true){ - await new Promise(resolve => setTimeout(resolve, 2000)); + await new Promise(resolve => setTimeout(resolve, 1000)); await this.getDirectMessages(); //console.log('Timer contactos list running') } @@ -420,6 +435,10 @@ hideRefreshButton(){ return this.timeService.showDateDuration(start); } + countDownDate(date:any, roomId:string){ + return this.timeService.countDownDate(date, roomId); + } + async getChatMembers(){ //return await this.chatService.getMembers(roomId).toPromise(); this.chatService.getAllUsers().subscribe(res=> { @@ -432,7 +451,7 @@ hideRefreshButton(){ async getGroups(event?){ this.result = this.chatService.getAllPrivateGroups().subscribe(async (res:any)=>{ - + //console.log(res); if(res.groups != 200){ this.privateGroups = res.groups; @@ -452,7 +471,7 @@ hideRefreshButton(){ else { //Check if modal is opened if(this.segment == "Grupos" && this.showGroupMessages != true){ - await new Promise(resolve => setTimeout(resolve, 2000)); + await new Promise(resolve => setTimeout(resolve, 1000)); await this.getGroups(); //console.log('Timer groups list running') } diff --git a/src/app/pages/chat/edit-group/edit-group.page.html b/src/app/pages/chat/edit-group/edit-group.page.html index 7205ad17a..70817d9f6 100644 --- a/src/app/pages/chat/edit-group/edit-group.page.html +++ b/src/app/pages/chat/edit-group/edit-group.page.html @@ -4,7 +4,8 @@
diff --git a/src/app/pages/chat/edit-group/edit-group.page.ts b/src/app/pages/chat/edit-group/edit-group.page.ts index 4a9fd2a85..5d5c1d1f2 100644 --- a/src/app/pages/chat/edit-group/edit-group.page.ts +++ b/src/app/pages/chat/edit-group/edit-group.page.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { ModalController, NavParams, PickerController } from '@ionic/angular'; import { ChatService } from 'src/app/services/chat.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-edit-group', @@ -21,6 +22,7 @@ export class EditGroupPage implements OnInit { private pickerController: PickerController, private chatService: ChatService, private navParams: NavParams, + public ThemeService: ThemeService ) { this.roomId = this.navParams.get('roomId'); } diff --git a/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.html b/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.html index 263363b7d..0b571f4f3 100644 --- a/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.html +++ b/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.html @@ -3,14 +3,15 @@
-
Contactos
- +
diff --git a/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.scss b/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.scss index 70b621dbb..5275b7718 100644 --- a/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.scss +++ b/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.scss @@ -68,7 +68,7 @@ --border-radius: 5px; --box-shadow: none; overflow: auto; - --icon-color:#0d89d1; + --icon-color: var(--font-awesome); } } @@ -120,14 +120,14 @@ } .members-checkbox ion-checkbox{ - --border-color: #0d89d1; - --background-checked:#0d89d1; + --border-color: var(--title-text-color); + --background-checked:var(--title-text-color); float: left; } .item-checkbox ion-checkbox{ - --border-color: #0d89d1; - --background-checked:#0d89d1; + --border-color: var(--title-text-color); + --background-checked:var(--title-text-color); float: left; } @@ -137,7 +137,7 @@ width: 330px; padding-left: 10px; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); float: left; } .item-checkbox ion-icon, .members-checkbox ion-icon{ diff --git a/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.ts b/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.ts index ea8205336..005d6775a 100644 --- a/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.ts +++ b/src/app/pages/chat/group-messages/group-contacts/group-contacts.page.ts @@ -6,6 +6,7 @@ import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; import { NewGroupPage } from '../../new-group/new-group.page'; import { GroupMessagesPage } from '../group-messages.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-group-contacts', @@ -37,6 +38,7 @@ export class GroupContactsPage implements OnInit { private chatService: ChatService, private authService: AuthService, private navParams: NavParams, + public ThemeService: ThemeService ) { this.loggedUser = authService.ValidatedUserChat['data']; @@ -57,42 +59,6 @@ export class GroupContactsPage implements OnInit { console.log(this.isGroupCreated); } - deleteMember(data:any){ - let body = { - "roomId": this.room._id, - "userId": data._id, - } - console.log(body); - if(this.room.t == "p"){ - this.chatService.removeGroupMember(body).subscribe(res=>{ - console.log(res); - this.getMembers(); - }); - } - else if(this.room.t == "c"){ - this.chatService.removeChannelMember(body).subscribe(res=>{ - console.log(res); - this.getMembers(); - }); - } - } - - getMembers(){ - if(this.room.t == "p"){ - this.chatService.getGroupMembers(this.room._id).subscribe(res=>{ - this.members = res['members']; - this.loadUsers(); - }); - } - else if(this.room.t == "c"){ - this.chatService.getChannelMembers(this.room._id).subscribe(res=>{ - this.members = res['members']; - this.loadUsers(); - }); - } - } - - loadUsers(){ this.options = { headers: this.headers, @@ -119,6 +85,21 @@ export class GroupContactsPage implements OnInit { }); } + getMembers(){ + if(this.room.t == "p"){ + this.chatService.getGroupMembers(this.room._id).subscribe(res=>{ + this.members = res['members']; + this.loadUsers(); + }); + } + else if(this.room.t == "c"){ + this.chatService.getChannelMembers(this.room._id).subscribe(res=>{ + this.members = res['members']; + this.loadUsers(); + }); + } + } + separateLetter(record, recordIndex, records){ if(recordIndex == 0){ return record.name[0]; @@ -133,6 +114,27 @@ export class GroupContactsPage implements OnInit { return null; } + deleteMember(data:any){ + let body = { + "roomId": this.room._id, + "userId": data._id, + } + console.log(body); + if(this.room.t == "p"){ + this.chatService.removeGroupMember(body).subscribe(res=>{ + console.log(res); + this.getMembers(); + }); + } + else if(this.room.t == "c"){ + this.chatService.removeChannelMember(body).subscribe(res=>{ + console.log(res); + this.getMembers(); + }); + } + } + + doRefresh(ev){ this.loadUsers(); this.getMembers(); @@ -141,26 +143,8 @@ export class GroupContactsPage implements OnInit { async close(){ this.modalController.dismiss(); - if(this.isGroupCreated){ - console.log('go to conversa'); - } - else{ - this.modalController.dismiss(); - console.log('go to new group page'); - const modal = await this.modalController.create({ - component: NewGroupPage, - componentProps: { - name:this.groupName, - duration:'', - }, - cssClass: 'new-group', - backdropDismiss: false, - }); - await modal.present(); - - } - } + onChange(event){ this.textSearch = event.detail.value; } @@ -192,50 +176,21 @@ export class GroupContactsPage implements OnInit { }); } - createGroup(){ - if(!this.isGroupCreated){ - /* this.close(); */ - let body = { "name":this.groupName, } - this.chatService.addGroup(body).subscribe(res=>{ - console.log('group created'); - console.log(res['group']); - this.addContacts(res['group']); - this.openGroupMessages(res['group']); - - }); - - } - else{ + updateGroup(){ + this.chatService.getRoomInfo(this.room._id).subscribe(room=>{ + this.room = room['room']; this.addContacts(this.room); - this.close(); - /* this.openGroupMessages(this.room); */ - /* this.chatService.getGroupInfo(this.room._id).subscribe(res=>{ - console.log(res); - - this.addContacts(res['group']); - this.openGroupMessages(res['group']); - }) */ - - } - } - - async newGroup(){ - this.close(); - const modal = await this.modalController.create({ - component: NewGroupPage, - cssClass: 'new-group', - backdropDismiss: false, + this.openGroupMessages(room['room']._id); }); - await modal.present(); - modal.onDidDismiss(); } - async openGroupMessages(room:any){ + async openGroupMessages(roomId:any){ this.close(); + console.log(roomId); const modal = await this.modalController.create({ component: GroupMessagesPage, componentProps: { - room: room, + roomId: roomId, }, cssClass: 'group-messages', backdropDismiss: false diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index cdf628d87..d0ee28435 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -6,7 +6,7 @@
@@ -20,13 +20,14 @@
- + +
@@ -34,6 +35,10 @@
+
+ + {{roomCountDownDate}} +
@@ -124,7 +129,8 @@
@@ -137,10 +143,12 @@
diff --git a/src/app/pages/chat/group-messages/group-messages.page.scss b/src/app/pages/chat/group-messages/group-messages.page.scss index 869649154..f0d364001 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.scss +++ b/src/app/pages/chat/group-messages/group-messages.page.scss @@ -133,7 +133,7 @@ display: flex; width: fit-content; height: auto; - background: #fef4c5; + background: var(--chat-alert-msg-color); text-align: center; font-size: 13px; color: #262420; @@ -202,11 +202,11 @@ } .incoming-false{ margin: 10px 20px 10px 75px; - background: #e4f4fe; + background: var(--chat-incoming-msg-color); float: right; } .title{ - color: #0782c9; + color: var(--title-text-color); font-weight: bold; margin-bottom: 5px; diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index 55922891b..b89e7e8b1 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -19,6 +19,7 @@ import { environment } from 'src/environments/environment'; import { NewEventPage } from '../../agenda/new-event/new-event.page'; import { EventPerson } from 'src/app/models/eventperson.model'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-group-messages', @@ -55,6 +56,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { longPressActive = false; showMessageOptions = false; selectedMsgId:string; + roomCountDownDate:any; @ViewChild('scrollMe') private myScrollContainer: ElementRef; @@ -73,6 +75,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { private fileToBase64Service: FileToBase64Service, private fileService: FileService, private toastService: ToastService, + public ThemeService: ThemeService ) { this.loggedUserChat = authService.ValidatedUserChat['data']; this.isGroupCreated = true; @@ -123,6 +126,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { ngAfterViewInit() { this.scrollChangeCallback = () => this.onContentScrolled(event); window.addEventListener('scroll', this.scrollChangeCallback, true); + this.roomCountDownDate = this.timeService.countDownDate(this.room.customFields.countDownDate, this.room._id); } handlePress(id?:string){ @@ -180,6 +184,9 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { this.chatService.getRoomInfo(this.roomId).subscribe(room=>{ this.room = room['room']; this.roomName = this.room.name.split('-').join(' '); + if(this.room.customFields.countDownDate){ + this.roomCountDownDate = this.timeService.countDownDateTimer(this.room.customFields.countDownDate, this.room._id); + } this.getGroupContacts(this.room); this.loadGroupMessages(this.room); this.showLoader = false; @@ -252,33 +259,10 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { showDateDuration(start:any){ return this.timeService.showDateDuration(start); - /* let end; - end = new Date(); - start = new Date(start); - let customizedDate; - - const totalSeconds = Math.floor((end - (start))/1000);; - const totalMinutes = Math.floor(totalSeconds/60); - const totalHours = Math.floor(totalMinutes/60); - const totalDays = Math.floor(totalHours/24); - - const hours = totalHours - ( totalDays * 24 ); - const minutes = totalMinutes - ( totalDays * 24 * 60 ) - ( hours * 60 ); - const seconds = totalSeconds - ( totalDays * 24 * 60 * 60 ) - ( hours * 60 * 60 ) - ( minutes * 60 ); - - if(totalDays == 0){ - if(start.getDate() == new Date().getDate()){ - let time = start.getHours() + ":" + this.addZero(start.getUTCMinutes()); - return time; - } - else{ - return 'Ontem'; - } - } - else{ - let date = start.getDate() + "/" + (start.getMonth()+1) + "/" + start.getFullYear(); - return date; - } */ + } + countDownDate(date:any, roomId:string){ + this.roomCountDownDate = this.timeService.countDownDate(date, roomId); + return this.timeService.countDownDateTimer(date, roomId); } addZero(i) { diff --git a/src/app/pages/chat/messages/contacts/contacts.page.html b/src/app/pages/chat/messages/contacts/contacts.page.html index 7ae952e46..5dc48c889 100644 --- a/src/app/pages/chat/messages/contacts/contacts.page.html +++ b/src/app/pages/chat/messages/contacts/contacts.page.html @@ -2,9 +2,10 @@
-
-
@@ -34,7 +35,7 @@ {{header}}
-
+

{{user.name}}

diff --git a/src/app/pages/chat/messages/contacts/contacts.page.scss b/src/app/pages/chat/messages/contacts/contacts.page.scss index a50120cba..157f8d7c9 100644 --- a/src/app/pages/chat/messages/contacts/contacts.page.scss +++ b/src/app/pages/chat/messages/contacts/contacts.page.scss @@ -71,7 +71,7 @@ --border-radius: 5px; --box-shadow: none; overflow: hidden; - --icon-color:#0d89d1; + --icon-color: var( --font-awesome); } } @@ -107,7 +107,7 @@ margin: 0 !important; width: 90%; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); float: left; } .item-user .icon{ diff --git a/src/app/pages/chat/messages/contacts/contacts.page.ts b/src/app/pages/chat/messages/contacts/contacts.page.ts index e0f7b0891..a8dc89df4 100644 --- a/src/app/pages/chat/messages/contacts/contacts.page.ts +++ b/src/app/pages/chat/messages/contacts/contacts.page.ts @@ -5,6 +5,7 @@ import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; import { GroupMessagesPage } from '../../group-messages/group-messages.page'; import { MessagesPage } from '../messages.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-contacts', @@ -28,6 +29,7 @@ export class ContactsPage implements OnInit { private http: HttpClient, private chatService: ChatService, private authService: AuthService, + public ThemeService: ThemeService ) { this.loggedUser = authService.ValidatedUserChat['data']; diff --git a/src/app/pages/chat/messages/messages.page.html b/src/app/pages/chat/messages/messages.page.html index c29f6e2a5..d97245b37 100644 --- a/src/app/pages/chat/messages/messages.page.html +++ b/src/app/pages/chat/messages/messages.page.html @@ -8,7 +8,7 @@
@@ -23,13 +23,15 @@
@@ -85,7 +101,26 @@
Correspondência por ler
@@ -108,4 +143,6 @@
+ + diff --git a/src/app/pages/events/events.page.scss b/src/app/pages/events/events.page.scss index 7e8af5266..3080ac852 100644 --- a/src/app/pages/events/events.page.scss +++ b/src/app/pages/events/events.page.scss @@ -85,7 +85,7 @@ ion-toolbar{ .p-small{ font-size: 13pt; margin-top: 13px; - color:#000; + color: var(--header-tab-text-white); margin-right: 25px !important; text-align: right; /* color: #ffffff; */ @@ -182,7 +182,7 @@ ion-toolbar{ .ion-icon-location{ text-align: center; display: block; - color: #000; + color: var(--subtitle-text-color); font-size: 16px; margin: 0 auto; } @@ -278,10 +278,9 @@ ion-toolbar{ } .event-number{ - color: white; + color: var(--header-tab-text-white); font-family: Roboto; font-size: 15px; - color: var(--white); bold{ font-family: Roboto; @@ -294,7 +293,7 @@ ion-toolbar{ font-family: Roboto; font-size: 30px; text-align: center; - color: var(--white); + color: var(--header-tab-text-white); line-height: unset; margin-top: 10px; } @@ -309,7 +308,7 @@ ion-toolbar{ font-size: em(25px); font-family: Roboto; font-weight: 300; - color: var(--white); + color: var(--header-tab-text-white); margin-right: 7px; } @@ -317,7 +316,7 @@ ion-toolbar{ margin-top: 2px; font-family: Roboto; font-size: 15px; - color: var(--white); + color: var(--header-tab-text-white); } } @@ -330,9 +329,12 @@ ion-toolbar{ .schedule { max-width: 400px; font-family: Roboto; - background-color: white; - box-shadow: 0 0 10px 0 rgb(0 0 0 / 7%); - border: solid 1px #e9e9e9; + //background-color: white; + background-color: var(--box-container-color); + //box-shadow: 0 0 10px 0 rgb(0 0 0 / 7%); + box-shadow: 0 0 10px 0 var(--box-border-color-shadow); + //border: solid 1px #e9e9e9; + border: solid 1px var(--box-border-color); margin-bottom: 20px; border-radius: 25px; display: flex; @@ -381,10 +383,12 @@ ion-toolbar{ //padding-bottom: 5px; padding: 5px 20px 5px 20px; background-color: transparent !important; + } ion-list{ padding: 0px; margin: 0px; + background-color: transparent !important; .d-flex{ width: 100%; display: flex; @@ -398,8 +402,8 @@ ion-toolbar{ display: flex; justify-content: space-between; align-items: center; + background-color: transparent !important; --background: transparent !important; - .schedule-time{ margin-right: 10px; .time-start{ @@ -436,7 +440,8 @@ ion-toolbar{ font-family: Roboto; font-size: 15px; font-weight: bold; - color: #0d89d1; + //color: #0d89d1; + color: var(--title-text-color) } .description p{ white-space: nowrap; diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 80f075a36..e9a4177b0 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -20,7 +20,7 @@ import { SqliteService } from 'src/app/services/sqlite.service'; import { NetworkConnectionService } from 'src/app/services/network-connection.service' import { BackgroundService } from 'src/app/services/background.service'; import { momentG } from 'src/plugin/momentG'; - +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-events', templateUrl: './events.page.html', @@ -78,7 +78,7 @@ export class EventsPage implements OnInit { loggeduser: LoginUserRespose; - existingScreenOrientation: string; + /* existingScreenOrientation: string; */ constructor( private eventService: EventsService, @@ -95,9 +95,10 @@ export class EventsPage implements OnInit { private sqliteservice: SqliteService, private networkconnection: NetworkConnectionService, private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { - this.existingScreenOrientation = this.screenOrientation.type; - console.log(this.existingScreenOrientation); + /* this.existingScreenOrientation = this.screenOrientation.type; + console.log(this.existingScreenOrientation); */ this.loggeduser = authService.ValidatedUser; @@ -108,11 +109,14 @@ export class EventsPage implements OnInit { // console.log('Resize event detected'); }); - try { - this.sqliteservice.databaseConn(); - } catch (error) { - console.log("Error creating local database: ", error) + + window['zipPhoneCallback'] = function (zipphone) { + var frame = document.getElementById('home-iframe'); + if(frame) { + frame['contentWindow']['postMessage']({call:'cookies', value: { cookies: {} }}); + } } + } ngOnInit() { @@ -162,22 +166,22 @@ export class EventsPage implements OnInit { } // Lock to portrait - lockToPortrait() { +/* lockToPortrait() { this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT); console.log('set'); - } + } */ // Lock to landscape - lockToLandscape() { + /* lockToLandscape() { this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE); - } + } */ // Unlock screen orientation - unlockScreenOrientation() { + /* unlockScreenOrientation() { this.screenOrientation.unlock(); - } + } */ - checkScreenOrientation() { + /* checkScreenOrientation() { if (window.innerWidth < 701) { this.lockToPortrait(); console.log('was here'); @@ -186,7 +190,7 @@ export class EventsPage implements OnInit { else { this.unlockScreenOrientation(); } - } + } */ async RefreshEvents() { this.currentEvent = ""; @@ -314,6 +318,48 @@ export class EventsPage implements OnInit { if (list.length > 0) { list.forEach(element => { this.sqliteservice.addEvent(element) + + this.sqliteservice.getAllEvents().then((event: any[]) => { + let todayEvents = new Array() + event.forEach((element) => { + let eventObject = { + AppointmentState: element.AppointmentState, + Attachments: element.Attachments, + Attendees: element.Attendees, + CalendarId: element.CalendarId, + CalendarName: element.CalendarName, + Category: element.Category, + EndDate: element.EndDate, + EventId: element.EventId, + EventRecurrence: element.EventRecurrence, + EventType: element.EventType, + HasAttachments: element.HasAttachments, + HumanDate: element.HumanDate, + IsAllDayEvent: element.IsAllDayEvent, + IsMeeting: element.IsMeeting, + IsRecurring: element.IsRecurring, + Location: element.Location, + Organizer: element.Organizer, + Profile: element.Profile, + StartDate: element.StartDate, + Subject: element.Subject + } + todayEvents.push(eventObject); + }) + console.log('JIFJSOSDJSDONS',todayEvents) + }) + }); + } + } + } + + addProcessToDb(list) { + + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + } else { + if (list.length > 0) { + list.forEach(element => { + this.sqliteservice.addProcess(element) }); } } @@ -453,14 +499,7 @@ export class EventsPage implements OnInit { LoadList() { this.processes.GetTaskListExpediente(false).subscribe(result => { console.log("Expediente", result); - - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - - } else { - result.forEach((element) => { - this.sqliteservice.addProcess(element) - }) - } + this.addProcessToDb(result); const ExpedienteTask = result.map(e => this.expedienteTaskPipe.transform(e)) @@ -484,12 +523,13 @@ export class EventsPage implements OnInit { } goToExpediente(SerialNumber: any) { - if (this.loggeduser.Profile == 'MDGPR') { + this.router.navigate(['/home/events/expediente', SerialNumber, 'events']); + /* if (this.loggeduser.Profile == 'MDGPR') { this.router.navigate(['/home/events/expediente', SerialNumber, 'events']); } else if (this.loggeduser.Profile == 'PR') { this.router.navigate(['/home/events/expedientes-pr', SerialNumber, 'events']); - } + } */ } viewExpedientListPage() { diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html index 265d76f02..3df1fa9ac 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.html @@ -7,13 +7,15 @@
- + +
{{ task.Folio}}
- + +
diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.scss b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.scss index 089feddae..19779f9bc 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.scss +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.scss @@ -132,7 +132,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts index 554908a6f..6b51387c7 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts @@ -22,6 +22,7 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag import { Platform } from '@ionic/angular'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-despacho-pr', @@ -59,6 +60,7 @@ export class DespachoPrPage implements OnInit { private sqliteservice: SqliteService, private backgroundservice: BackgroundService, private platform: Platform, + public ThemeService: ThemeService ) { this.activatedRoute.paramMap.subscribe(params => { if (params["params"].SerialNumber) { @@ -155,7 +157,7 @@ export class DespachoPrPage implements OnInit { } catch (e) { window.history.back(); } - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') } }); @@ -270,9 +272,9 @@ export class DespachoPrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() this.close(); - this.toastService.successMessage() + this.toastService._successMessage() } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -295,10 +297,10 @@ export class DespachoPrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage('Processo arquivado') + this.toastService._successMessage('Processo arquivado') this.close(); } catch (error) { - this.toastService.badRequest('Processo não arquivado') + this.toastService._badRequest('Processo não arquivado') } finally { loader.remove() @@ -318,10 +320,10 @@ export class DespachoPrPage implements OnInit { documents }).toPromise() - this.toastService.successMessage('Processo criado') + this.toastService._successMessage('Processo criado') this.close(); } catch (error) { - this.toastService.badRequest('Processo não criado') + this.toastService._badRequest('Processo não criado') } finally { loader.remove() @@ -344,10 +346,10 @@ export class DespachoPrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage('') + this.toastService._successMessage('') this.close(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -371,10 +373,10 @@ export class DespachoPrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage() + this.toastService._successMessage() this.close(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -389,11 +391,11 @@ export class DespachoPrPage implements OnInit { sendExpedienteToPending() { this.processes.SetTaskToPending(this.serialNumber).subscribe(res => { this.popoverController.dismiss('close') - this.toastService.successMessage('Processo enviado para pendentes') + this.toastService._successMessage('Processo enviado para pendentes') this.goBack() }, () => { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') }); } diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html index ba99a0b31..55252ed45 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html @@ -11,7 +11,7 @@
@@ -45,7 +45,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.scss b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.scss index dea8d7000..f10e7a082 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.scss +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.scss @@ -152,7 +152,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts index 2b621b25f..80fa3d4be 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -20,6 +20,7 @@ import { DespachosprStore } from 'src/app/store/despachospr-store.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-despachos-pr', @@ -63,6 +64,7 @@ export class DespachosPrPage implements OnInit { private sqliteservice: SqliteService, private backgroundservice: BackgroundService, private sortService: SortService, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html index a938e4ed4..e4b35646b 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html @@ -8,13 +8,15 @@
- + +
{{ task.Folio}}
- + +
diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.scss b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.scss index 686e62d8f..1526a1154 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.scss +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.scss @@ -91,7 +91,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts index 8a3f01708..92edda048 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts @@ -22,6 +22,8 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag import { SqliteService } from 'src/app/services/sqlite.service'; import { Platform } from '@ionic/angular'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-despacho', @@ -59,7 +61,8 @@ export class DespachoPage implements OnInit { public p: PermissionService, private sqliteservice: SqliteService, private platform: Platform, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { @@ -183,6 +186,7 @@ export class DespachoPage implements OnInit { this.sqliteservice.updateProcess(res); } } + updateProcessInterveners(users) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { } else { @@ -353,6 +357,32 @@ export class DespachoPage implements OnInit { } + async generateDiploma(note:string, documents:any) { + let body = { + "serialNumber": this.serialnumber, + "action": "Reencaminhar", + "ActionTypeId": 99999839, + "dataFields": { + "ReviewUserComment": note, + }, + "AttachmentList" :documents, + } + + const loader = this.toastService.loading() + + try { + await this.processes.CompleteTask(body).toPromise() + this.toastService.successMessage() + this.close(); + } catch (error) { + this.toastService.badRequest() + } finally { + loader.remove() + } + + } + + toDateString(e) { return new Date(e).toDateString() } @@ -414,6 +444,9 @@ export class DespachoPage implements OnInit { else if (actionName == 'Reexecução') { await this.reexecute(res.data.note, docs); this.goBack(); + } else if(actionName == 'Gerar Diploma') { + await this.generateDiploma(res.data.note, docs); + this.goBack(); } } }); @@ -485,7 +518,13 @@ export class DespachoPage implements OnInit { }); await modal.present(); modal.onDidDismiss().then(res => { - this.goBack(); + if(res){ + const data = res.data; + if(data == 'close') { + this.goBack(); + } + } + }); } @@ -530,4 +569,5 @@ export class DespachoPage implements OnInit { return await popover.present(); } + } diff --git a/src/app/pages/gabinete-digital/despachos/despachos.page.html b/src/app/pages/gabinete-digital/despachos/despachos.page.html index 59b84271b..24f45b51f 100644 --- a/src/app/pages/gabinete-digital/despachos/despachos.page.html +++ b/src/app/pages/gabinete-digital/despachos/despachos.page.html @@ -10,7 +10,7 @@
Despachos
@@ -24,7 +24,7 @@ pullingText="deslize para actualizar" refreshingSpinner="circles" refreshingText="A actualizar..."> - +
@@ -43,7 +43,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/pages/gabinete-digital/despachos/despachos.page.scss b/src/app/pages/gabinete-digital/despachos/despachos.page.scss index 2a49ee468..a4421e515 100644 --- a/src/app/pages/gabinete-digital/despachos/despachos.page.scss +++ b/src/app/pages/gabinete-digital/despachos/despachos.page.scss @@ -133,7 +133,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/despachos/despachos.page.ts b/src/app/pages/gabinete-digital/despachos/despachos.page.ts index d55459f72..966c2deb1 100644 --- a/src/app/pages/gabinete-digital/despachos/despachos.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despachos.page.ts @@ -7,6 +7,8 @@ import { SqliteService } from 'src/app/services/sqlite.service'; import { Platform } from '@ionic/angular'; import { isThisHour } from 'date-fns'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-despachos', @@ -24,7 +26,8 @@ export class DespachosPage implements OnInit { private despachoRule: DespachoService, private sqliteservice: SqliteService, private platform: Platform, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { } diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html index e391b83e4..fc8bee16e 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.html @@ -8,7 +8,8 @@
- + +
{{ task.Folio}} diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.scss b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.scss index 9e023d87a..7cb38f87d 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.scss +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.scss @@ -151,7 +151,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts index 36fc4cc0f..e4eb59fc6 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts @@ -1,19 +1,15 @@ import { Component, OnInit } from '@angular/core'; import { AnimationController, ModalController, PopoverController } from '@ionic/angular'; -import { AddNotePage } from 'src/app/modals/add-note/add-note.page'; import { ProcessesService } from 'src/app/services/processes.service'; -import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page'; import { momentG } from 'src/plugin/momentG'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; -import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; -import { BookMeetingModalPage } from '../../expediente/book-meeting-modal/book-meeting-modal.page'; -import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.page'; -import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page'; +import { ActivatedRoute, Router } from '@angular/router'; import { DeplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page'; import { ToastService } from 'src/app/services/toast.service'; import { Location } from '@angular/common' import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-diploma-assinar', @@ -44,6 +40,7 @@ export class DiplomaAssinarPage implements OnInit { private animationController: AnimationController, private toastService: ToastService, private location: Location, + public ThemeService: ThemeService ) { this.activatedRoute.paramMap.subscribe(params => { if(params["params"].SerialNumber) { @@ -120,15 +117,15 @@ export class DiplomaAssinarPage implements OnInit { }, (error)=>{ try { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') this.goBack() } catch (e) { window.history.back(); } finally { if(error.status == 0) { - this.toastService.badRequest('Não é possível visualizar este processo no modo offline') + this.toastService._badRequest('Não é possível visualizar este processo no modo offline') } else { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') } } }); @@ -182,11 +179,11 @@ export class DiplomaAssinarPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage(false, ()=>{ + this.toastService._successMessage(false, ()=>{ this.goBack(); }) } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html index 76b0bd36e..b2d4bfe92 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html @@ -9,7 +9,7 @@
Diplomas

Diplomas por Assinar

@@ -48,7 +48,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss index db1c3b9fe..76990574b 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss @@ -142,7 +142,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts index 690222b2a..e9cfdf5ca 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts @@ -3,11 +3,12 @@ import { NavigationEnd, NavigationExtras, Router } from '@angular/router'; import { customTask, DailyWorkTask } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; import { formatDate } from '@angular/common'; -import { ModalController, NavParams } from '@ionic/angular'; +import { ModalController, NavParams, Platform } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { DiplomaPage } from 'src/app/pages/gabinete-digital/diplomas/diploma/diploma.page'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-diplomas-assinar', @@ -33,7 +34,7 @@ export class DiplomasAssinarPage implements OnInit { private alertService: AlertService, private router: Router, private sortService: SortService, - ) { + public ThemeService: ThemeService) { } ngOnInit() { diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html index 4e016a8a6..f70e98814 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.html @@ -8,7 +8,8 @@
- + +
{{ task.Folio}} @@ -17,7 +18,8 @@ - + +
diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss index 7e0df6d1a..4ad9a6faa 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.scss @@ -133,7 +133,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts index 757cc5000..914df88d3 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts @@ -15,6 +15,8 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag import { Platform } from '@ionic/angular'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-diploma', @@ -49,6 +51,7 @@ export class DiplomaPage implements OnInit { private sqliteservice: SqliteService, private backgroundservice: BackgroundService, private platform: Platform, + public ThemeService: ThemeService ) { this.activatedRoute.paramMap.subscribe(params => { // console.log(params["params"]); @@ -160,7 +163,7 @@ export class DiplomaPage implements OnInit { } catch (e) { window.history.back(); } - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') } }); @@ -279,12 +282,12 @@ export class DiplomaPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage(false, () => { + this.toastService._successMessage(false, () => { this.close(); }) } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -305,9 +308,9 @@ export class DiplomaPage implements OnInit { const loader = this.toastService.loading() try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage() + this.toastService._successMessage() } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -331,9 +334,9 @@ export class DiplomaPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); - this.toastService.successMessage('Processo concluído') + this.toastService._successMessage('Processo concluído') } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html index 9c1698219..b5b84d976 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html @@ -9,7 +9,7 @@
Diplomas
@@ -48,7 +48,8 @@ {{ task.Folio }}
- + +
@@ -84,7 +85,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.scss b/src/app/pages/gabinete-digital/diplomas/diplomas.page.scss index 0870187c5..129ce6c1f 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.scss +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.scss @@ -132,7 +132,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts index ef5613387..49a5df6e8 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts @@ -6,6 +6,8 @@ import { ProcessesService } from 'src/app/services/processes.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-diplomas', @@ -31,6 +33,7 @@ export class DiplomasPage implements OnInit, OnDestroy { private sqliteservice: SqliteService, private backgroundservice: BackgroundService, private sortService: SortService, + public ThemeService: ThemeService ) { //Inicializar segment diff --git a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html index cf562b198..05ea1fc20 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html +++ b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html @@ -2,14 +2,16 @@
- + +
@@ -90,7 +92,7 @@ AccoesPresidenciais ArquivoDespachoElect

-

{{document.Stakeholders}} {{document.CreateDate | date: 'dd-MM-yyyy HH:mm'}}

+

{{document.Stakeholders}} {{document.CreateDate }}

diff --git a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.scss b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.scss index c1a015535..347959730 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.scss +++ b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.scss @@ -82,7 +82,7 @@ ion-menu{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; @@ -95,7 +95,7 @@ ion-menu{ .attach-title-item{ width: 100%; font-size: 15px; - color:#0d89d1; + color:var(--title-text-color); } /* SPAN */ .span-left{ @@ -180,7 +180,7 @@ display: none; .attach-title-item{ width: 100%; font-size: 15px; - color:#0d89d1; + color:var(--title-text-color); } /* SPAN */ .span-left{ diff --git a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts index de4345992..3318f254c 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts @@ -12,6 +12,7 @@ import { EmendMessageModalPage } from '../../../agenda/emend-message-modal/emend import { EventActionsPopoverPage } from '../../../agenda/event-actions-popover/event-actions-popover.page'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ToastService } from 'src/app/services/toast.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-approve-event-modal', @@ -43,6 +44,7 @@ export class ApproveEventModalPage implements OnInit { private iab: InAppBrowser, private animationController: AnimationController, private toastService: ToastService, + public ThemeService: ThemeService ) { @@ -108,13 +110,13 @@ export class ApproveEventModalPage implements OnInit { try { await this.processes.PostTaskAction(body).toPromise() - this.toastService.successMessage('Evento aprovado', ()=>{ + this.toastService._successMessage('Evento aprovado', ()=>{ this.router.navigate(['/home/gabinete-digital/event-list']); this.modalController.dismiss(null); }) } catch (error) { - this.toastService.badRequest('Evento não aprovado') + this.toastService._badRequest('Evento não aprovado') } finally { loader.remove() @@ -139,11 +141,11 @@ export class ApproveEventModalPage implements OnInit { try { await this.processes.PostTaskAction(body).toPromise() - this.toastService.successMessage('Evento rejeitado', () =>{ + this.toastService._successMessage('Evento rejeitado', () =>{ this.router.navigate(['/home/gabinete-digital/event-list']); }) } catch (error) { - this.toastService.badRequest('Evento não rejeitado') + this.toastService._badRequest('Evento não rejeitado') } finally { loader.remove() diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html index 894359f57..28bbc19a8 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html @@ -7,17 +7,20 @@
- + +
- + +
diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.scss b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.scss index 2199dbb8a..6937abe54 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.scss +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.scss @@ -97,7 +97,7 @@ ion-menu{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; @@ -110,7 +110,7 @@ ion-menu{ .attach-title-item{ width: 100%; font-size: 15px; - color:#0d89d1; + color:var(--title-text-color); } /* SPAN */ .span-left{ diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts index 3d0f93cf1..6ed90e273 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts @@ -16,6 +16,9 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag import { SqliteService } from '../../../../services/sqlite.service'; import { BackgroundService } from '../../../../services/background.service'; import { Platform } from '@ionic/angular'; +import { ThemeService } from 'src/app/services/theme.service' +import { OfflineManagerService } from 'src/app/services/offline-manager.service'; + @Component({ selector: 'app-approve-event', @@ -58,7 +61,9 @@ export class ApproveEventPage implements OnInit { private location: Location, private sqliteservice: SqliteService, private platform: Platform, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService, + private offlineManager: OfflineManagerService ) { this.activatedRoute.paramMap.subscribe(params => { // console.log(params["params"]); @@ -200,11 +205,11 @@ export class ApproveEventPage implements OnInit { try { await this.processes.PostTaskAction(body).toPromise() - this.toastService.successMessage(); + this.toastService._successMessage(); this.goBack(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -252,11 +257,15 @@ export class ApproveEventPage implements OnInit { const loader = this.toastService.loading() try { - await this.processes.PostTaskAction(body).toPromise(); - this.toastService.successMessage('Pedido enviado'); + await this.processes.PostTaskAction(body).toPromise() + .catch(() => { + console.log('Send event to approve for revition') + this.offlineManager.storeRequestData('event-listRever', body); + }); + this.toastService._successMessage('Pedido enviado'); this.goBack(); } catch (error) { - this.toastService.badRequest(); + this.toastService._badRequest(); } finally { loader.remove() } @@ -277,10 +286,10 @@ export class ApproveEventPage implements OnInit { const loader = this.toastService.loading() try { await this.processes.PostTaskAction(body).toPromise(); - await this.toastService.successMessage('Processo rejeitado'); + await this.toastService._successMessage('Processo rejeitado'); this.goBack(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() @@ -355,10 +364,10 @@ export class ApproveEventPage implements OnInit { try { await this.processes.PostTaskAction(body).toPromise(); - this.toastService.successMessage(); + this.toastService._successMessage(); this.goBack(); } catch (error) { - this.toastService.badRequest(); + this.toastService._badRequest(); } finally { loader.remove() } diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.html b/src/app/pages/gabinete-digital/event-list/event-list.page.html index 2f0e10e3d..cb2a24d8f 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.html +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.html @@ -6,7 +6,8 @@
diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.scss b/src/app/pages/gabinete-digital/event-list/event-list.page.scss index 79e97df02..80d8b217d 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.scss +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.scss @@ -115,7 +115,7 @@ ion-item-sliding{ font-style: normal; line-height: normal; letter-spacing: normal; - color: #0d89d1; + color: var(--title-text-color) !important; margin: 0; padding: 0; } diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.ts b/src/app/pages/gabinete-digital/event-list/event-list.page.ts index 765450313..444e0e291 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.ts +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.ts @@ -12,6 +12,7 @@ import { SqliteService } from '../../../services/sqlite.service'; import { BackgroundService } from '../../../services/background.service'; import { Platform } from '@ionic/angular'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-event-list', @@ -42,7 +43,8 @@ export class EventListPage implements OnInit { private sqliteservice: SqliteService, private platform: Platform, private sortService: SortService, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { } ngOnInit() { diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html index 25dbc352b..9c6228718 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html @@ -266,7 +266,7 @@
-
+
@@ -275,8 +275,9 @@
-
- +
+ +
@@ -297,7 +298,8 @@
- + +
@@ -317,7 +319,8 @@
- + +
Anexar Documentos diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss index 24d21b73b..b3bd9e3ef 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss @@ -66,7 +66,7 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -74,7 +74,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts index a563b56ee..060b0afb9 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts @@ -19,6 +19,8 @@ import * as _moment from 'moment'; import * as _rollupMoment from 'moment'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; +import { ThemeService } from 'src/app/services/theme.service' + const moment = _rollupMoment || _moment; @@ -125,6 +127,7 @@ export class BookMeetingModalPage implements OnInit { authService: AuthService, private toastService: ToastService, private activatedRoute: ActivatedRoute, + public ThemeService: ThemeService ) { this.taskParticipants = []; this.loggeduser = authService.ValidatedUser; @@ -272,10 +275,10 @@ export class BookMeetingModalPage implements OnInit { this.modalController.dismiss(); // this.distartExpedientModal(); - this.toastService.successMessage('Reunião criada'); + this.toastService._successMessage('Reunião criada'); } catch (error) { - this.toastService.badRequest('Reunião não criada') + this.toastService._badRequest('Reunião não criada') } finally { loader.remove() @@ -297,10 +300,10 @@ export class BookMeetingModalPage implements OnInit { break; } this.close(); - this.toastService.successMessage('Reunião criada'); + this.toastService._successMessage('Reunião criada'); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html index 3a830460c..baea578cf 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html @@ -133,7 +133,7 @@
-
+
@@ -142,8 +142,9 @@
-
- +
+ +
@@ -154,7 +155,7 @@
-
+
@@ -163,17 +164,19 @@
-
- +
+ +
-
+
- + +
Anexar Documentos diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.scss b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.scss index c082ed853..29fe12990 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.scss +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.scss @@ -70,7 +70,7 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -78,7 +78,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); } .attach-title-item{ diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts index 6e36b5227..6b2a10354 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts @@ -22,6 +22,8 @@ import { NgxMatDateFormats } from '@angular-material-components/datetime-picker' import { task } from 'src/app/models/ExpedientTaskModalPage'; import { DespachoService } from 'src/app/Rules/despacho.service'; import { SearchDocumentPipe } from 'src/app/pipes/search-document.pipe'; +import { ThemeService } from 'src/app/services/theme.service' + const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -106,7 +108,8 @@ export class ExpedientTaskModalPage implements OnInit { private alertController: AlertService, private userAuth: AuthService, private toastService: ToastService, - private despachoService: DespachoService + private despachoService: DespachoService, + public ThemeService: ThemeService ) { this.loggeduser = userAuth.ValidatedUser; @@ -325,11 +328,11 @@ export class ExpedientTaskModalPage implements OnInit { try { this.taskResult = await this.processes.postDespatcho(this.postData).toPromise(); - await this.toastService.successMessage('Processo efetuado'); + await this.toastService._successMessage('Processo efetuado'); this.modalController.dismiss(action_despacho); } catch (error) { - await this.toastService.badRequest('Processo não efetuado') + await this.toastService._badRequest('Processo não efetuado') } finally { loader.remove() } @@ -359,11 +362,11 @@ export class ExpedientTaskModalPage implements OnInit { try { this.taskResult = await this.processes.postParecer(this.postData).toPromise(); - await this.toastService.successMessage('Pedido enviado'); + await this.toastService._successMessage('Pedido enviado'); this.modalController.dismiss(action_parecer); } catch (error) { - await this.toastService.badRequest('Processo não efetuado') + await this.toastService._badRequest('Processo não efetuado') } finally { loader.remove() } @@ -391,10 +394,10 @@ export class ExpedientTaskModalPage implements OnInit { try { this.taskResult = await this.processes.postDeferimento(this.postData).toPromise(); - this.toastService.successMessage('Processo efetuado'); + this.toastService._successMessage('Processo efetuado'); this.modalController.dismiss(action_deferimento); } catch (error) { - await this.toastService.badRequest('Processo não efetuado') + await this.toastService._badRequest('Processo não efetuado') } finally { loader.remove() } @@ -433,18 +436,18 @@ export class ExpedientTaskModalPage implements OnInit { if(this.postData.DispatchFolder.Message){ try { this.taskResult = await this.despachoService.createDespacho(this.postData).toPromise(); - await this.toastService.successMessage('Processo efetuado'); + await this.toastService._successMessage('Processo efetuado'); this.modalController.dismiss(action_despacho_pr); } catch (error) { - await this.toastService.badRequest('Processo não efetuado') + await this.toastService._badRequest('Processo não efetuado') } finally { //loader.remove() } } else{ this.validateField = true; - this.toastService.badRequest('Por favor adicione uma descrição'); + this.toastService._badRequest('Por favor adicione uma descrição'); } loader.remove(); break; @@ -471,11 +474,11 @@ export class ExpedientTaskModalPage implements OnInit { try { this.taskResult = await this.processes.postParecerPr(this.postData).toPromise(); - await this.toastService.successMessage('Pedido enviado'); + await this.toastService._successMessage('Pedido enviado'); this.modalController.dismiss(action_parecer_pr); } catch (error) { - await this.toastService.badRequest('Processo não efetuado') + await this.toastService._badRequest('Processo não efetuado') } finally { loader.remove() } diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html index 0b6798f7f..148cb3d61 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html @@ -12,14 +12,18 @@
- + + +
{{ task.Folio}}
@@ -100,22 +104,24 @@ +
-
+
diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.scss b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.scss index c60efcf8a..4e0adc31b 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.scss +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.scss @@ -37,7 +37,7 @@ margin: 2.5px 0 0 5px; display: flex; align-items: center; - + } .right{ padding: 0!important; @@ -70,7 +70,7 @@ margin: 1px; } } - + .title{ font-size: 25px; overflow: auto; @@ -100,7 +100,8 @@ ion-button{ .label{ border-radius: 20px; - background: #ffb703; + //background: #ffb703; + background: var(--label-bg-color); float: right; padding: 5px 13.5px 5px 13.5px; color: #fff; @@ -124,14 +125,14 @@ ion-button{ .bottom-content{ //width: 360px; margin: 0 auto; - + .bottom-content h3{ font-size: 16px; margin: 0 0 0 10px; } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; @@ -166,7 +167,7 @@ ion-button{ display: flex; justify-content: flex-end; margin-bottom: 20px; - + .arrow-right-icon{ width: 37px; float: right; @@ -249,7 +250,7 @@ ion-button{ font-size: 13px; color: black; width: 100%; - + } .description{ font-family: Roboto; @@ -271,7 +272,7 @@ ion-button{ padding-bottom: unset !important; } } - + } @@ -319,7 +320,7 @@ ion-button{ .option-desc { display: flex; - color: #828282; + color: var(--profile-text-color) !important; width: 100%; justify-content: space-between; align-items: center; @@ -330,4 +331,4 @@ ion-button{ background-color: #e0e0e0; padding-left: 4px; } -} \ No newline at end of file +} diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index bd547bae4..4be371ca6 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -24,11 +24,14 @@ import { TaskService } from 'src/app/Rules/task.service'; import { DocumentViewerPage } from 'src/app/modals/document-viewer/document-viewer.page'; import { PermissionService } from 'src/app/services/worker/permission.service'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' import { SqliteService } from 'src/app/services/sqlite.service'; import { Platform } from '@ionic/angular'; import { BackgroundService } from 'src/app/services/background.service'; +import { NewGroupPage } from 'src/app/pages/chat/new-group/new-group.page'; +import { DataService } from 'src/app/services/data.service'; @Component({ selector: 'app-expediente-detail', @@ -75,7 +78,9 @@ export class ExpedienteDetailPage implements OnInit { private expedienteService: ExpedienteService, public platform: Platform, private sqliteservice: SqliteService, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService, + private dataService: DataService, ) { this.activatedRoute.paramMap.subscribe(params => { if (params["params"].SerialNumber) { @@ -104,6 +109,12 @@ export class ExpedienteDetailPage implements OnInit { this.toastService.presentToast('Não foi possível fazer login'); } + updateProcessDB(res) { + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + } else { + this.sqliteservice.updateProcess(res) + } + } getFromDB() { this.platform.ready().then(() => { @@ -160,9 +171,9 @@ export class ExpedienteDetailPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); this.close(); - this.toastService.successMessage('Processo aprovado') + this.toastService._successMessage('Processo aprovado') } catch (error) { - this.toastService.badRequest('Processo não aprovado') + this.toastService._badRequest('Processo não aprovado') } finally { loader.remove() } @@ -185,9 +196,9 @@ export class ExpedienteDetailPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() this.close(); - this.toastService.successMessage() + this.toastService._successMessage() } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } @@ -282,11 +293,11 @@ export class ExpedienteDetailPage implements OnInit { sendExpedienteToPending() { this.processes.SetTaskToPending(this.serialNumber).subscribe(res => { console.log(res); - this.toastService.successMessage('Processo enviado para pendentes') + this.toastService._successMessage('Processo enviado para pendentes') this.goBack(); }, (error) => { - this.toastService.badRequest('Processo não enviado para pendentes') + this.toastService._badRequest('Processo não enviado para pendentes') }); } @@ -314,7 +325,7 @@ export class ExpedienteDetailPage implements OnInit { } this.fulltask = res; - this.sqliteservice.updateProcess(res) + this.updateProcessDB(res) let thedate = new Date(this.task.CreateDate); this.customDate = this.days[thedate.getDay()] + ", " + thedate.getDate() + " de " + (this.months[thedate.getMonth()]); @@ -338,12 +349,12 @@ export class ExpedienteDetailPage implements OnInit { this.getFromDB(); } else { try { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') this.goBack() } catch (e) { window.history.back(); } - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') } }); @@ -430,9 +441,9 @@ export class ExpedienteDetailPage implements OnInit { const loader = this.toastService.loading() this.attachmentsService.AddAttachment(body).subscribe((res) => { - this.toastService.successMessage() + this.toastService._successMessage() }, () => { - this.toastService.badRequest() + this.toastService._badRequest() }, () => { loader.remove() }); @@ -468,7 +479,7 @@ export class ExpedienteDetailPage implements OnInit { await this.processes.CompleteTask(body).toPromise(); this.goBack(); } catch (error) { - this.toastService.badRequest('Processo não descartado') + this.toastService._badRequest('Processo não descartado') } finally { loader.remove() } @@ -499,10 +510,10 @@ export class ExpedienteDetailPage implements OnInit { try { await this.expedienteService.discard({ SerialNumber: this.task.SerialNumber }).toPromise() - this.toastService.successMessage('Processo descartado'); + this.toastService._successMessage('Processo descartado'); this.goBack(); } catch (error) { - this.toastService.badRequest('Processo não descartado') + this.toastService._badRequest('Processo não descartado') } finally { loader.remove() } @@ -518,10 +529,10 @@ export class ExpedienteDetailPage implements OnInit { const loader = this.toastService.loading() try { await this.expedienteService.CompleteTask(body).toPromise(); - //this.toastService.successMessage('Processo descartado'); + //this.toastService._successMessage('Processo descartado'); this.goBack(); } catch (error) { - this.toastService.badRequest('Processo não descartado') + this.toastService._badRequest('Processo não descartado') } finally { loader.remove() } @@ -532,10 +543,10 @@ export class ExpedienteDetailPage implements OnInit { const loader = this.toastService.loading() try { await this.processes.UpdateTaskStatus(this.task.FolderId).toPromise(); - this.toastService.successMessage(); + this.toastService._successMessage(); this.goBack(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } @@ -604,4 +615,30 @@ export class ExpedienteDetailPage implements OnInit { return await popover.present(); } + openNewGroupPage(){ + this.router.navigate(['/home/chat']); + this.dataService.set("newGroup", true); + + if( window.innerWidth < 801){ + this.newGroup(); + } + else{ + this.dataService.set("newGroup", true); + /* this.closeAllDesktopComponents(); + this.showNewGroup=true; */ + } + } + + async newGroup(){ + const modal = await this.modalController.create({ + component: NewGroupPage, + cssClass: 'modal modal-desktop', + componentProps: { + name: this.task.Folio, + }, + }); + await modal.present(); + modal.onDidDismiss(); + } + } diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.html b/src/app/pages/gabinete-digital/expediente/expediente.page.html index 41a32a4cb..c383d3af7 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.html +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.html @@ -7,7 +7,8 @@
@@ -15,7 +16,7 @@
@@ -33,8 +34,8 @@
@@ -43,7 +44,8 @@ {{ task.Subject }}
- + +
@@ -65,13 +67,13 @@
Lista vazia
-
+
diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.scss b/src/app/pages/gabinete-digital/expediente/expediente.page.scss index 9fcfa6835..f5085216c 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.scss +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.scss @@ -129,7 +129,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.ts b/src/app/pages/gabinete-digital/expediente/expediente.page.ts index a2fdf031d..3f165a4a1 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.ts @@ -7,6 +7,8 @@ import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe'; import { SqliteService } from 'src/app/services/sqlite.service'; import { Platform } from '@ionic/angular'; import { BackgroundService } from '../../../services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-expediente', @@ -23,7 +25,8 @@ export class ExpedientePage implements OnInit { taskslist = []; serialNumber: string; - expedienteGdStore = ExpedienteGdStore + //expedienteGdStore = ExpedienteGdStore; + expedientegbstore = ExpedienteGdStore expedienteTaskPipe = new ExpedienteTaskPipe() onlinecheck: boolean; @@ -34,7 +37,8 @@ export class ExpedientePage implements OnInit { private toastService: ToastService, public platform: Platform, private sqliteservice: SqliteService, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { } ngOnInit() { @@ -57,41 +61,30 @@ export class ExpedientePage implements OnInit { this.backgroundservice.registerBackService('Online', () => { this.LoadList(); }); - } - async LoadList() { + LoadList() { this.processes.GetTaskListExpediente(false).subscribe(async res => { this.skeletonLoader = true + const result = res - try { - const expediente: object[] = await this.processes.GetTaskListExpediente(false).toPromise() - const result = expediente + this.taskslist = new Array(); + let ress = result.reverse().filter((data: any) => data.workflowInstanceDataFields.Status == "Active"); - this.taskslist = new Array(); - let res = result.reverse().filter((data: any) => data.workflowInstanceDataFields.Status == "Active"); + ress.forEach((element: any) => { - res.forEach((element: any) => { + let task = this.expedienteTaskPipe.transform(element) + this.taskslist.push(task); + this.addProcessTODb(task); + }); + this.listToPresent = this.taskslist + console.log('expediente list', this.listToPresent) - let task = this.expedienteTaskPipe.transform(element) - this.taskslist.push(task); - this.sqliteservice.addProcess(task); - }); - - this.listToPresent = this.taskslist - console.log('expediente list', this.listToPresent) - - } catch (error) { - this.toastService.badRequest('Processo não encontrado') - this.goBack() - } finally { - this.skeletonLoader = false; - } + this.skeletonLoader = false; }, (error) => { this.getEventsFromLocalDb(); }) - } async refreshing() { @@ -116,6 +109,13 @@ export class ExpedientePage implements OnInit { this.router.navigate(['/home/gabinete-digital/expediente', serialNumber, 'gabinete-digital']); } + addProcessTODb(task) { + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + } else { + this.sqliteservice.addProcess(task); + } + } + SqliteAddExpediente(list) { list.forEach((expediente) => { let data = { diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html index dee55234c..7e7fcfe71 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.html @@ -12,14 +12,16 @@
- + +
{{ task.Folio}}
diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.scss b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.scss index 2402864da..f0ff4a797 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.scss +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.scss @@ -131,7 +131,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts index 00159506b..a23d40c14 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts @@ -20,6 +20,7 @@ import { SearchList } from 'src/app/models/search-document'; import { Location } from '@angular/common'; import { AttachmentList } from 'src/app/models/Excludetask'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-expediente-pr', @@ -57,7 +58,8 @@ export class ExpedientePrPage implements OnInit { private animationController: AnimationController, private toastService: ToastService, private attachmentsService: AttachmentsService, - private location: Location + private location: Location, + public ThemeService: ThemeService ) { this.loggeduser = userAuth.ValidatedUser; @@ -133,11 +135,11 @@ export class ExpedientePrPage implements OnInit { sendExpedienteToPending() { this.processes.SetTaskToPending(this.serialnumber).subscribe(res=>{ console.log(res); - this.toastService.successMessage('Processo enviado para pendentes') + this.toastService._successMessage('Processo enviado para pendentes') this.goBack(); }, (error)=>{ - this.toastService.badRequest('Processo não enviado para pendentes') + this.toastService._badRequest('Processo não enviado para pendentes') }); } @@ -182,15 +184,15 @@ export class ExpedientePrPage implements OnInit { }, (error)=>{ try { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') this.goBack() } catch (e) { window.history.back(); } finally { if(error.status == 0) { - this.toastService.badRequest('Não é possível visualizar este processo no modo offline') + this.toastService._badRequest('Não é possível visualizar este processo no modo offline') } else { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') } } }); @@ -301,9 +303,9 @@ export class ExpedientePrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); this.close(); - this.toastService.successMessage('Processo aprovado') + this.toastService._successMessage('Processo aprovado') } catch(error) { - this.toastService.badRequest('Processo não aprovado') + this.toastService._badRequest('Processo não aprovado') } finally { loader.remove() } @@ -326,9 +328,9 @@ export class ExpedientePrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() this.close(); - this.toastService.successMessage() + this.toastService._successMessage() } catch(error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } @@ -446,10 +448,10 @@ export class ExpedientePrPage implements OnInit { try { await this.processes.CompleteTask(otherbody).toPromise() - this.toastService.successMessage('Processo descartado'); + this.toastService._successMessage('Processo descartado'); this.goBack(); } catch (error) { - this.toastService.badRequest('Processo não descartado') + this.toastService._badRequest('Processo não descartado') } finally { loader.remove() } @@ -466,10 +468,10 @@ export class ExpedientePrPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); - // this.toastService.successMessage('Processo descartado'); + // this.toastService._successMessage('Processo descartado'); this.goBack(); } catch (error) { - // this.toastService.badRequest('Processo não descartado') + // this.toastService._badRequest('Processo não descartado') } finally { loader.remove() } @@ -483,10 +485,10 @@ export class ExpedientePrPage implements OnInit { try { await this.processes.UpdateTaskStatus(this.task.FolderId).toPromise(); - this.toastService.successMessage(); + this.toastService._successMessage(); this.goBack(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html index 8098c5464..07c372c1a 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html +++ b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html @@ -10,7 +10,7 @@
Expediente
@@ -39,7 +39,8 @@ {{ task.Subject }}
- + +
diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.scss b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.scss index 47ef1f084..e8032a26c 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.scss +++ b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.scss @@ -131,7 +131,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts index 2ee19036a..590200750 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts +++ b/src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts @@ -11,6 +11,8 @@ import { AuthService } from 'src/app/services/auth.service'; import { Location } from '@angular/common' import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service'; import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-expedientes-pr', @@ -38,7 +40,8 @@ export class ExpedientesPrPage implements OnInit { private alertService: AlertService, private authService: AuthService, private router: Router, - private location: Location + private location: Location, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; } @@ -65,7 +68,7 @@ export class ExpedientesPrPage implements OnInit { LoadList() { this.skeletonLoader = true - + this.processes.GetTaskListExpediente(false).subscribe(result => { console.log(result); this.skeletonLoader = false @@ -96,7 +99,8 @@ export class ExpedientesPrPage implements OnInit { } goToExpediente(serialNumber:any){ - this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); + //this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); + this.router.navigate(['/home/gabinete-digital/expediente', serialNumber, 'gabinete-digital']); } async viewExpedientDetail(serialNumber:any) { diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html index 611a1f017..e71f518e0 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.html +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html @@ -8,7 +8,7 @@ -
+
@@ -18,7 +18,7 @@ Gabinete Digital
@@ -48,7 +48,9 @@ {{ task.Folio }}
- + + +
@@ -109,7 +111,10 @@
- + + + +

Expediente

{{expedientegbstore.count}} Documentos

@@ -118,7 +123,10 @@
- + + + +

Pendentes

Meus Pendentes

@@ -127,7 +135,10 @@
- + + + +

Despacho do Presidente da República

Despachos criados por mim

@@ -136,7 +147,10 @@
- + + + +

Despachos

{{despachoStore.count}} Documentos

@@ -144,7 +158,10 @@
- + + + +

Pedidos de Parecer

Pedidos de Parecer solicitados por mim

@@ -153,7 +170,10 @@
- + + + +

Pedidos de Deferimento

{{pedidosstore.countdeferimento}} Documentos

@@ -176,7 +196,10 @@
- + + + +

Despacho do Presidente da República

@@ -187,16 +210,22 @@
- + + + +

Diplomas por Validar

Diplomas por Assinar

-

{{ deplomasStore.deplomasReviewCount }} Documentos

+

{{ deplomasStore.deplomasReviewCount }} bug Documentos

- + + + +

Diplomas assinados PR

Diplomas

@@ -205,7 +234,10 @@
- + + + +

Diplomas para Assinar

{{ deplomasStore.diplomasListCount }} Documentos

diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.scss b/src/app/pages/gabinete-digital/gabinete-digital.page.scss index 20f96d556..718ba383c 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.scss +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.scss @@ -26,7 +26,7 @@ ion-segment-button{ text-align: center; } .title-container{ - background:#ecf8ff; + background:var(--gabinete-title-container); padding: 30px 20px 15px 20px !important; //margin-bottom: 15px; border-top-left-radius: 25px; @@ -117,11 +117,9 @@ ion-segment-button{ height: 100%; font-family: Roboto; margin: 0 auto; - background:#ecf8ff; + background:var(--gabinete-main-container); overflow:hidden; padding: 0 !important; - border-top-left-radius: 25px; - border-top-right-radius: 25px; .aside-wrapper{ overflow: hidden; @@ -201,12 +199,11 @@ ion-segment-button{ } .exp-card-title{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color);; font-family: Roboto; font-weight: bold; font-stretch: normal; font-style: normal; - color: #0d89d1; margin: 15px 0 0 10px; text-align: center; } @@ -272,7 +269,7 @@ ion-list{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .item-subject{ @@ -354,7 +351,7 @@ ion-list{ .label{ border-radius: 15px; - background: #ffb703; + background: var(--label-bg-color); /* font-size: 12px; */ float: right; padding: 2.5px 13.5px 2.5px 13.5px; @@ -560,8 +557,8 @@ ion-list{ .active { color: white !important; fill: white !important; - border: 1px solid #42b9fe !important; - background: #42b9fe !important; + border: var(--gabinete-active-hove-box-border) !important; + background: var(--gabinete-active-hove-background) !important; box-sizing: border-box; .exp-card-content, .icon-selected{ diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 31df012f0..db593f0b1 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -19,10 +19,11 @@ import { WaitForDomService } from 'src/app/services/dom/wait-for-dom.service'; import { TotalDocumentStore } from 'src/app/store/total-document.service'; import { DeplomasStore } from 'src/app/store/deplomas.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; -import { NotificationsService } from 'src/app/services/notifications.service'; +//import { NotificationsService } from 'src/app/services/notifications.service'; import { DespachoService } from 'src/app/Rules/despacho.service'; import { ChangeProfileService } from 'src/app/services/change-profile.service'; import { PermissionService } from 'src/app/services/worker/permission.service'; +import { ThemeService } from 'src/app/services/theme.service' import { SqliteService } from '../../services/sqlite.service'; @@ -123,12 +124,13 @@ export class GabineteDigitalPage implements OnInit, DoCheck { authService: AuthService, public p: PermissionService, public waitForDomService: WaitForDomService, - private notificationsService: NotificationsService, + //private notificationsService: NotificationsService, private despachoRule: DespachoService, private sqliteservice: SqliteService, private platform: Platform, private changeProfileService: ChangeProfileService, - private backgroundservice: BackgroundService + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; @@ -616,6 +618,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck { let diplomasAssinar = despachospr.filter(data => data.activityInstanceName == "Assinar Diploma"); this.count_dip_as = Object.keys(diplomasAssinar).length; + this.deplomasStore.resetDiplomasList(diplomasAssinar) diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html index dfc0d5016..b83ec04b7 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html @@ -8,7 +8,8 @@
- + +
@@ -16,7 +17,8 @@
- + +
diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.scss b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.scss index 2a232317f..4f3aea66d 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.scss +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.scss @@ -97,7 +97,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts index a41a13c1a..9a80658a7 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts @@ -25,6 +25,8 @@ import { BackgroundService } from 'src/app/services/background.service'; import { PermissionService } from 'src/app/services/worker/permission.service'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-pedido', @@ -63,7 +65,8 @@ export class PedidoPage implements OnInit { private pedidoService: PedidoService, private sqliteservice: SqliteService, private backgroundservices: BackgroundService, - private platform: Platform + private platform: Platform, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; @@ -179,7 +182,7 @@ export class PedidoPage implements OnInit { } catch (e) { window.history.back(); } - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') } }); @@ -367,10 +370,10 @@ export class PedidoPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage() + this.toastService._successMessage() this.close(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } @@ -387,10 +390,10 @@ export class PedidoPage implements OnInit { note }).toPromise() - this.toastService.successMessage('Processo arquivado') + this.toastService._successMessage('Processo arquivado') this.close(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } @@ -412,10 +415,10 @@ export class PedidoPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise() - this.toastService.successMessage('Processo arquivado') + this.toastService._successMessage('Processo arquivado') this.close(); } catch (error) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() } @@ -427,7 +430,7 @@ export class PedidoPage implements OnInit { this.goBack(); }, () => { - this.toastService.badRequest('Processo não encontrado') + this.toastService._badRequest('Processo não encontrado') }); } diff --git a/src/app/pages/gabinete-digital/pedidos/pedidos.page.html b/src/app/pages/gabinete-digital/pedidos/pedidos.page.html index 0b6ff7050..002b4a1ac 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedidos.page.html +++ b/src/app/pages/gabinete-digital/pedidos/pedidos.page.html @@ -8,7 +8,7 @@
Pedidos
@@ -55,7 +55,8 @@ {{ task.Folio }}
- + +
@@ -92,7 +93,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/pages/gabinete-digital/pedidos/pedidos.page.scss b/src/app/pages/gabinete-digital/pedidos/pedidos.page.scss index 1aab31ea9..ed46e7f05 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedidos.page.scss +++ b/src/app/pages/gabinete-digital/pedidos/pedidos.page.scss @@ -130,7 +130,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts b/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts index 1195faae0..aa7f23bfb 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts @@ -11,6 +11,8 @@ import { ModalService } from 'src/app/services/modal.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-pedidos', @@ -49,7 +51,8 @@ export class PedidosPage implements OnInit { private sqliteservice: SqliteService, private sortService: SortService, private backgroundservice: BackgroundService, - private platform: Platform + private platform: Platform, + public ThemeService: ThemeService ) { //Inicializar segment this.segment = 'parecer'; diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.html b/src/app/pages/gabinete-digital/pendentes/pendentes.page.html index 43af02c1b..63bd7008b 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.html +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.html @@ -9,7 +9,7 @@
Pendentes
diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss b/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss index 921a17f3d..d1de562e8 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.scss @@ -132,7 +132,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/pages/inactivity/inactivity.page.html b/src/app/pages/inactivity/inactivity.page.html index b34e1a58a..976982a56 100644 --- a/src/app/pages/inactivity/inactivity.page.html +++ b/src/app/pages/inactivity/inactivity.page.html @@ -7,7 +7,9 @@
@@ -42,11 +44,11 @@
-
+
Entrar com senha
-
+
Limpar
diff --git a/src/app/pages/inactivity/inactivity.page.scss b/src/app/pages/inactivity/inactivity.page.scss index 8756fb1f0..3cd90e111 100644 --- a/src/app/pages/inactivity/inactivity.page.scss +++ b/src/app/pages/inactivity/inactivity.page.scss @@ -9,12 +9,11 @@ ion-content{ } .main-wrapper{ - background: linear-gradient(180deg, #42B9FE 0%, #0782C9 100%) !important; + background: var(--PinBackground); display: flex; width: 100vw; height: 100vh; overflow: auto; - background: white !important; display: flex; align-items: center; justify-content: center; @@ -142,7 +141,7 @@ ion-item{ align-items: center; justify-content: center; font-size: 19pt; - background: #44b5ea; + background: var(--PinDots);; border-radius: 56px; margin-bottom: 15px; user-select: none; @@ -163,7 +162,7 @@ ion-item{ justify-content: center; display: flex; flex-direction: column; - background-image: url(/assets/background/auth.svg); + background-image: var(--PinCircleBackground); background-position: center; background-repeat: no-repeat; width: 100%; @@ -172,19 +171,20 @@ ion-item{ } .clear{ - color: #44b5ea; + color: var(--PinTextColor); font-size: 12pt; z-index: 1000; } + .dot-active{ - background: #44b5ea; + background: var(--PinDots); } .dot{ width: 25px; height: 25px; margin: 0 10px 0 0; - border: 3px solid #44b5ea; + border: 3px solid var(--PinDots); box-sizing: border-box; border-radius: 50px; -webkit-border-radius: 50px; diff --git a/src/app/pages/inactivity/inactivity.page.ts b/src/app/pages/inactivity/inactivity.page.ts index 7ae1e66c6..324212a46 100644 --- a/src/app/pages/inactivity/inactivity.page.ts +++ b/src/app/pages/inactivity/inactivity.page.ts @@ -7,7 +7,7 @@ import { environment } from 'src/environments/environment'; import { AlertController } from '@ionic/angular'; import { NotificationsService } from 'src/app/services/notifications.service'; import { SessionStore } from 'src/app/store/session.service'; - +import { ThemeService } from 'src/app/services/theme.service'; @Component({ selector: 'app-inactivity', @@ -29,7 +29,8 @@ export class InactivityPage implements OnInit { private router: Router, private authService: AuthService, private toastService: ToastService, - public alertController: AlertController + public alertController: AlertController, + public ThemeService: ThemeService, ) {} loop = false @@ -132,15 +133,17 @@ export class InactivityPage implements OnInit { } } else { - this.toastService.badRequest('Por favor, insira a sua palavra-passe'); + this.toastService._badRequest('Por favor, insira a sua palavra-passe'); } } else { - this.toastService.badRequest('Por favor, insira o seu nome de utilizador'); + this.toastService._badRequest('Por favor, insira o seu nome de utilizador'); } } getToken() { + this.notificatinsservice.requestPermissions(); + this.notificatinsservice.registrationError(); this.notificatinsservice.getAndpostToken(this.username); } @@ -180,7 +183,7 @@ export class InactivityPage implements OnInit { }, 1000) } else { - this.toastService.badRequest('Pin incorreto') + this.toastService._badRequest('Pin incorreto') this.code = [] } diff --git a/src/app/pages/login/login.page.html b/src/app/pages/login/login.page.html index f802c4aed..e808beff2 100644 --- a/src/app/pages/login/login.page.html +++ b/src/app/pages/login/login.page.html @@ -8,24 +8,29 @@
-

Inicie a sessão

+

Gabinete Digital

+

Tribunal Constitucional

-

Email

+

Email

-

Palavra-passe

+

Palavra-passe

- +
diff --git a/src/app/pages/login/login.page.scss b/src/app/pages/login/login.page.scss index 103042085..2375491db 100644 --- a/src/app/pages/login/login.page.scss +++ b/src/app/pages/login/login.page.scss @@ -1,7 +1,7 @@ @import '~src/function.scss'; :host, app-login { ion-content { - background: linear-gradient(180deg, #42B9FE 0%, #0782C9 100%) !important; + background: linear-gradient(180deg, #c0ccd3 0%, #737b80 100%) !important; } } ion-content{ @@ -9,7 +9,7 @@ ion-content{ } .main-wrapper{ - background: linear-gradient(180deg, #42B9FE 0%, #0782C9 100%) !important; + background: var(--login-background); display: flex; width: 100vw; height: 100vh; @@ -35,33 +35,31 @@ ion-content{ height: 250px; overflow: auto; border-radius: 50%; - background: #4cb9f825; margin: auto; .bg-2{ width: 225px; height: 225px; overflow: auto; border-radius: 50%; - background: #61bdf2b4; margin: auto; .bg-3{ width: 200px; height: 200px; overflow: auto; border-radius: 50%; - background: #96d3f8be; margin: auto; .bg-4{ width: 175px; height: 175px; - overflow: auto; + overflow: hidden; border-radius: 50%; - background: rgba(255, 255, 255, 0.918); padding: 15px; margin: auto; + background-color: #fff !important; .bg-4 img{ width: 100%; + overflow: hidden; } } } @@ -70,8 +68,8 @@ ion-content{ .div-logo{ width: 200px !important; margin: 0 auto; - padding-bottom: 15px; - + padding: 15px !important; + } .div-logo img{ width: 100%; @@ -94,21 +92,23 @@ ion-item{ .form-label{ margin: 15px 0 5px 0; font-size: 15px; + color: var(--login-label-text); } -.form-input{ +.form-input{ --background: #fff; --color:#000; border-radius: 22.5px; margin: 10px 0 10px 0; } + .btn-login{ font-size: 16px; - } - - - - - + background-color: #F2F2F2 !important; + color: #000; +} +.btn-login:hover{ + background-color: var(--button-hover); +} .div-top-header{ margin: 0 em(20px); @@ -128,7 +128,6 @@ ion-item{ } - .circle{ color: white; width: 70px; @@ -216,4 +215,4 @@ ion-item{ padding-top: 20px; position: unset !important; } -} \ No newline at end of file +} diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index e83bae32f..c99117ce5 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -9,6 +9,8 @@ import { NotificationsService } from 'src/app/services/notifications.service'; import { SessionStore } from 'src/app/store/session.service'; import { ClearStoreService } from 'src/app/services/clear-store.service'; import { ChangeProfileService } from 'src/app/services/change-profile.service'; +import { ThemeService } from 'src/app/services/theme.service'; +import { StorageService } from 'src/app/services/storage.service'; @Component({ selector: 'app-login', @@ -35,12 +37,16 @@ export class LoginPage implements OnInit { private toastService: ToastService, public alertController: AlertController, private clearStoreService: ClearStoreService, - private changeProfileService: ChangeProfileService - ) { - } + private changeProfileService: ChangeProfileService, + public ThemeService: ThemeService, + private storageservice: StorageService, + ) {} ngOnInit() { - + this.storageservice.get('theme').then((theme) =>{ + console.log('LOGIN THEME',theme) + this.ThemeService.setTheme(theme) + }) } //Function to validade the login inputs @@ -68,6 +74,8 @@ export class LoginPage implements OnInit { } getToken() { + this.notificatinsservice.requestPermissions(); + this.notificatinsservice.registrationError(); this.notificatinsservice.getAndpostToken(this.username); } @@ -115,15 +123,14 @@ export class LoginPage implements OnInit { } } else { - this.toastService.badRequest('Por favor, insira a sua palavra-passe'); + this.toastService._badRequest('Por favor, insira a sua palavra-passe'); } } else { - this.toastService.badRequest('Por favor, insira o seu nome de utilizador'); + this.toastService._badRequest('Por favor, insira o seu nome de utilizador'); } } - goback() { const pathName = SessionStore.user.UrlBeforeInactivity if(pathName) { diff --git a/src/app/pages/publications/edit-action/edit-action.page.ts b/src/app/pages/publications/edit-action/edit-action.page.ts index 97b765ca0..90eed9ce5 100644 --- a/src/app/pages/publications/edit-action/edit-action.page.ts +++ b/src/app/pages/publications/edit-action/edit-action.page.ts @@ -104,9 +104,9 @@ export class EditActionPage implements OnInit { await this.publicationsService.UpdatePresidentialAction(body).toPromise() this.close(); this.updateDesktopComponent.emit(); - this.toastService.successMessage('Acção presidencial atualizada') + this.toastService._successMessage('Acção presidencial atualizada') } catch (error) { - this.toastService.badRequest('Não foi possivel atualizar a acção presidencial') + this.toastService._badRequest('Não foi possivel atualizar a acção presidencial') } finally { loader.remove() } diff --git a/src/app/pages/publications/new-publication/new-publication.page.scss b/src/app/pages/publications/new-publication/new-publication.page.scss index e75e9c30b..282f5cd02 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.scss +++ b/src/app/pages/publications/new-publication/new-publication.page.scss @@ -113,7 +113,7 @@ font-size: 25px; .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 20px 10px; padding: 5px; float: left; diff --git a/src/app/pages/publications/new-publication/new-publication.page.ts b/src/app/pages/publications/new-publication/new-publication.page.ts index e8229ee2f..d81b2dcf7 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.ts +++ b/src/app/pages/publications/new-publication/new-publication.page.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { LoadingController, ModalController, NavParams, Platform, ToastController } from '@ionic/angular'; +import { ModalController, NavParams, Platform, LoadingController } from '@ionic/angular'; /* import {Plugins, CameraResultType, CameraSource} from '@capacitor/core'; */ import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; @@ -16,20 +16,18 @@ import { formatDate } from 'src/plugin/momentG.js' import { FileLoaderService } from 'src/app/services/file/file-loader.service'; import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service'; import { ThemeService } from 'src/app/services/theme.service'; -import { Camera, CameraResultType, CameraSource, Photo} from '@capacitor/camera'; -import { Photos } from './Photos'; -import { Directory, Filesystem } from '@capacitor/filesystem'; -import { Capacitor } from '@capacitor/core'; -import { Storage } from '@capacitor/storage' +import { Camera, CameraResultType, CameraSource, Photo } from '@capacitor/camera'; + +import { Filesystem, Directory } from '@capacitor/filesystem'; +import { Photos } from './photos'; const IMAGE_DIR = 'stored-images'; - + interface LocalFile { name: string; path: string; data: string; } - @Component({ selector: 'app-new-publication', templateUrl: './new-publication.page.html', @@ -45,7 +43,7 @@ export class NewPublicationPage implements OnInit { public showSeconds = false; public touchUi = false; public enableMeridian = false; - public minDate = new Date().toISOString().slice(0,10) + public minDate = new Date().toISOString().slice(0, 10) public endMinDate = new Date(new Date().getTime() + 15 * 60000); public stepHour = 1; public stepMinute = 5; @@ -61,18 +59,19 @@ export class NewPublicationPage implements OnInit { folderId: string; image: Image = new Image(); - publicationType:string; - publicationTitle:string; - imgUrl:any; + publicationType: string; + publicationTitle: string; + imgUrl: any; - Defaultimage:any = ''; + Defaultimage: any = ''; photo: SafeResourceUrl; - guestPicture:any; + guestPicture: any; - capturedImage:any = ''; - capturedImageTitle:any; + capturedImage: any = ''; + capturedImageTitle: any; + // public photos: any[] = []; public photos: Photos[] = []; private PHOTO_STORAGE: string = "photos"; @@ -87,81 +86,48 @@ export class NewPublicationPage implements OnInit { private fileLoaderService: FileLoaderService, private fileToBase64Service: FileToBase64Service, public ThemeService: ThemeService, - platform: Platform, + // private platform: Platform, private loadingCtrl: LoadingController, - private toastCtrl: ToastController - ) { + ) { - this.publicationType = this.navParams.get('publicationType'); - this.folderId = this.navParams.get('folderId'); - this.publicationTitle = 'Nova Publicação'; - this.platform = platform; - } + this.publicationType = this.navParams.get('publicationType'); + this.folderId = this.navParams.get('folderId'); + this.publicationTitle = 'Nova Publicação'; + } ngOnInit() { this.setTitle(); - this.loadFiles() - + console.log(this.folderId); + Filesystem.mkdir({ + path: IMAGE_DIR, + directory: Directory.Data, + recursive: true + }); + // this.takePicture(); } - async loadFiles() { - this.images = []; - - const loading = await this.loadingCtrl.create({ - message: 'Loading data...', + async takePicture() { + const image = await Camera.getPhoto({ + quality: 90, + allowEditing: false, + resultType: CameraResultType.Uri, + source: CameraSource.Camera // Camera, Photos or Prompt! }); - await loading.present(); - - Filesystem.readdir({ - path: IMAGE_DIR, - directory: Directory.Data, - }).then(result => { - this.loadFileData(result.files); - }, - async (err) => { - // Folder does not yet exists! - await Filesystem.mkdir({ - path: IMAGE_DIR, - directory: Directory.Data, - }); - } - ).then(_ => { - loading.dismiss(); - }); - } - - // Get the actual base64 data of an image - // base on the name of the file - async loadFileData(fileNames: string[]) { - for (let f of fileNames) { - const filePath = `${IMAGE_DIR}/${f}`; - - const readFile = await Filesystem.readFile({ - path: filePath, - directory: Directory.Data, - }); - - this.images.push({ - name: f, - path: filePath, - data: `data:image/jpeg;base64,${readFile.data}`, - }); - this.images.forEach(function(value){ - this.capturedImage = value.data - }) + if (image) { + this.saveImage(image) } } // Little helper - async presentToast(text) { - const toast = await this.toastCtrl.create({ - message: text, - duration: 3000, - }); - toast.present(); - } + // async presentToast(text) { + // const toast = await this.toastCtrl.create({ + // message: text, + // duration: 3000, + // }); + // toast.present(); + // } async selectImage() { const image = await Camera.getPhoto({ @@ -231,17 +197,38 @@ convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => { -async takePicture() { - const capturedImage = await Camera.getPhoto({ - quality: 90, - // allowEditing: true, - resultType: CameraResultType.Uri, - source: CameraSource.Camera +// async takePicture() { +// const capturedImage = await Camera.getPhoto({ +// quality: 90, +// // allowEditing: true, +// resultType: CameraResultType.Uri, +// source: CameraSource.Camera - }); +// }); - const response = await fetch(capturedImage.webPath!); - const blob = await response.blob(); +// } + +// convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => { +// const reader = new FileReader; +// reader.onerror = reject; +// reader.onload = () => { +// resolve(reader.result); +// }; +// reader.readAsDataURL(blob); +// }); + + + async laodPicture() { + const capturedImage = await Camera.getPhoto({ + resultType: CameraResultType.Uri, + source: CameraSource.Photos, + quality: 90, + width: 1080, + height: 720, + }); + + const response = await fetch(capturedImage.webPath!); + const blob = await response.blob(); this.photos.unshift({ filepath: "soon...", @@ -249,21 +236,16 @@ async takePicture() { }); this.capturedImage = await this.convertBlobToBase64(blob); - - console.log(this.capturedImage) + this.capturedImageTitle = new Date().getTime() + '.jpeg'; } + /* laodPicture() { + const input = this.fileLoaderService.createInput({ + accept: ['image/apng', 'image/jpeg', 'image/png'] + }) - // helper function - // convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => { - // const reader = new FileReader; - // reader.onerror = reject; - // reader.onload = () => { - // resolve(reader.result); - // }; - // reader.readAsDataURL(blob); - // }); - + input.onchange = async () => { + const file = this.fileLoaderService.getFirstFile(input) // // native devices ionic capacitor @@ -306,78 +288,11 @@ private async savePicture(photo: Photo) { filepath: savedFile.uri, webviewPath: Capacitor.convertFileSrc(savedFile.uri), }; - } - else { - // Use webPath to display the new image instead of base64 since it's - // already loaded into memory - return { - filepath: fileName, - webviewPath: photo.webPath - }; - } -} - -public async loadSaved() { - // Retrieve cached photo array data - const photoList = await Storage.get({ key: this.PHOTO_STORAGE }); - this.photos = JSON.parse(photoList.value) || []; - - // Easiest way to detect when running on the web: - // “when the platform is NOT hybrid, do this” - if (!this.platform.is('hybrid')) { - // Display the photo by reading into base64 format - for (let photo of this.photos) { - // Read each saved photo's data from the Filesystem - const readFile = await Filesystem.readFile({ - path: photo.filepath, - directory: Directory.Data - }); - - // Web platform only: Load the photo as base64 data - photo.webviewPath = `data:image/jpeg;base64,${readFile.data}`; - - this.capturedImage = photo.webviewPath - } - } -} - - - - - - - - - - - - - - - - - - - // laodPicture() { - // const input = this.fileLoaderService.createInput({ - // accept: ['image/apng', 'image/jpeg', 'image/png'] - // }) - - // input.onchange = async () => { - // const file = this.fileLoaderService.getFirstFile(input) - - // const imageData = await this.fileToBase64Service.convert(file) - // this.capturedImage = imageData; - // this.capturedImageTitle = file.name - - // console.log(this.capturedImage) - // }; - - // } + } */ runValidation() { - this.validateFrom = true + this.validateFrom = true } injectValidation() { @@ -403,16 +318,18 @@ public async loadSaved() { this.injectValidation() this.runValidation() - if(this.Form.invalid) return false + if (this.Form.invalid) return false - if(this.publicationType == '3') { + + + if (this.publicationType == '3') { console.log(this.navParams.get('publication')); - if(this.capturedImage != '') { + if (this.capturedImage != '') { this.publication = { DateIndex: this.publication.DateIndex, - DocumentId:this.publication.DocumentId, - ProcessId:this.publication.ProcessId, + DocumentId: this.publication.DocumentId, + ProcessId: this.publication.ProcessId, Title: this.pub.Title, Message: this.pub.Message, DatePublication: this.publication.DatePublication, @@ -427,11 +344,11 @@ public async loadSaved() { console.log(this.publication); await this.publications.UpdatePublication(this.publication.ProcessId, this.publication).toPromise() - this.toastService.successMessage("Publicação criado") + this.toastService.successMessage("Publicação editada") this.close(); } catch (error) { - this.toastService.badRequest("Publicação não criado") + this.toastService.badRequest("Publicação não editada") } finally { loader.remove() } @@ -441,8 +358,8 @@ public async loadSaved() { this.publication = { DateIndex: this.publication.DateIndex, - DocumentId:this.publication.DocumentId, - ProcessId:this.publication.ProcessId, + DocumentId: this.publication.DocumentId, + ProcessId: this.publication.ProcessId, Title: this.pub.Title, Message: this.pub.Message, DatePublication: this.publication.DatePublication, @@ -463,15 +380,15 @@ public async loadSaved() { this.close(); } catch (error) { this.toastService.badRequest("Publicação não criado") - } finally { + } finally { loader.remove() } - } else { + } else { this.publication = { DateIndex: this.publication.DateIndex, - DocumentId:this.publication.DocumentId, - ProcessId:this.publication.ProcessId, + DocumentId: this.publication.DocumentId, + ProcessId: this.publication.ProcessId, Title: this.pub.Title, Message: this.pub.Message, DatePublication: this.publication.DatePublication, @@ -491,7 +408,7 @@ public async loadSaved() { this.close(); } catch (error) { this.toastService.badRequest("Publicação não criado") - } finally { + } finally { loader.remove() } @@ -499,13 +416,15 @@ public async loadSaved() { } else { - const date = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss') - console.log(date) + const date = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss') + console.log(date); + console.log(this.folderId); + this.publication = { DateIndex: date, - DocumentId:null, - ProcessId:this.folderId, + DocumentId: null, + ProcessId: this.folderId, Title: this.pub.Title, Message: this.pub.Message, DatePublication: date, @@ -526,7 +445,7 @@ public async loadSaved() { this.close(); } catch (error) { this.toastService.badRequest("Publicação não criado") - } finally { + } finally { loader.remove() } @@ -536,8 +455,8 @@ public async loadSaved() { close() { - this.modalController.dismiss().then(()=>{ - this.showLoader=true; + this.modalController.dismiss().then(() => { + this.showLoader = true; }); } @@ -546,13 +465,13 @@ public async loadSaved() { } setTitle() { - if(this.publicationType == '1') { + if (this.publicationType == '1') { this.publicationTitle = 'Nova Publicação Rápida'; } - else if(this.publicationType == '2') { + else if (this.publicationType == '2') { this.publicationTitle = 'Nova Publicação'; } - else if(this.publicationType == '3') { + else if (this.publicationType == '3') { this.publicationTitle = 'Editar Publicação'; this.pub = this.navParams.get('publication'); @@ -572,16 +491,114 @@ public async loadSaved() { modal.onDidDismiss(); } */ - /* async takePicture(){ - const image = await Plugins.Camera.getPhoto({ - quality: 100, - allowEditing: false, - resultType: CameraResultType.DataUrl, - source: CameraSource.Camera + /* async takePicture(){ + const image = await Plugins.Camera.getPhoto({ + quality: 100, + allowEditing: false, + resultType: CameraResultType.DataUrl, + source: CameraSource.Camera + }); + console.log(image); + + this.photo = this.sanitizer.bypassSecurityTrustResourceUrl(image && (image.dataUrl)); + } */ + + + + + // async selectImage() { + // const image = await Camera.getPhoto({ + // quality: 90, + // allowEditing: false, + // resultType: CameraResultType.Uri, + // source: CameraSource.Photos // Camera, Photos or Prompt! + // }); + + // if (image) { + // this.saveImage(image) + // } + // } + + // // Create a new file from a capture image + // async saveImage(photo: Photo) { + // const base64Data = await this.readAsBase64(photo); + + // const fileName = new Date().getTime() + '.jpeg'; + // const savedFile = await Filesystem.writeFile({ + // path: `${IMAGE_DIR}/${fileName}`, + // data: base64Data, + // directory: Directory.Data + // }); + + // this.loadFiles(); + // } + + // private async readAsBase64(photo: Photo) { + // if (this.platform.is('hybrid')) { + // const file = await Filesystem.readFile({ + // path: photo.path + // }); + + // return file.data; + // } + // else { + // // Fetch the photo, read as a blob, then convert to base64 format + // const response = await fetch(photo.webPath); + // const blob = await response.blob(); + + // return await this.convertBlobToBase64(blob) as string; + // } + // } + + async loadFiles() { + this.images = []; + + const loading = await this.loadingCtrl.create({ + message: 'Loading data...', }); - console.log(image); + await loading.present(); - this.photo = this.sanitizer.bypassSecurityTrustResourceUrl(image && (image.dataUrl)); - } */ + Filesystem.readdir({ + path: IMAGE_DIR, + directory: Directory.Data, + }).then(result => { + console.log('ALL RESULTS', result.files[0]) + let lastphoto = result.files[result.files.length - 1] + this.loadFileData(lastphoto); + }, + async (err) => { + console.log('ERROR FILE DOSENT EXIST', err) + // Folder does not yet exists! + await Filesystem.mkdir({ + path: IMAGE_DIR, + directory: Directory.Data, + recursive: true + }); + } + ).then(_ => { + loading.dismiss(); + }); + } + async loadFileData(fileName: string) { + console.log('ALL PHOTOT FILE', fileName) + // for (let f of fileNames) { + const filePath = `${IMAGE_DIR}/${fileName}`; + + const readFile = await Filesystem.readFile({ + path: filePath, + directory: Directory.Data, + }); + + this.images.push({ + name: fileName, + path: filePath, + data: `data:image/jpeg;base64,${readFile.data}`, + }); + + console.log('ALL IMAGE', this.images) + + this.capturedImage = this.images[0].data + //} + } } diff --git a/src/app/pages/publications/new-publication/photos.ts b/src/app/pages/publications/new-publication/photos.ts new file mode 100644 index 000000000..0690d6cc0 --- /dev/null +++ b/src/app/pages/publications/new-publication/photos.ts @@ -0,0 +1,4 @@ +export interface Photos { + filepath: string; + webviewPath: string; +} \ No newline at end of file diff --git a/src/app/pages/publications/publication-detail/publication-detail.page.html b/src/app/pages/publications/publication-detail/publication-detail.page.html index f716a524b..ea16990a6 100644 --- a/src/app/pages/publications/publication-detail/publication-detail.page.html +++ b/src/app/pages/publications/publication-detail/publication-detail.page.html @@ -4,8 +4,9 @@
-
- +
+ +
{{publication.Title}} @@ -31,8 +32,9 @@
-
- +
+ +
diff --git a/src/app/pages/publications/publication-detail/publication-detail.page.ts b/src/app/pages/publications/publication-detail/publication-detail.page.ts index 8160c658b..57f5da6c1 100644 --- a/src/app/pages/publications/publication-detail/publication-detail.page.ts +++ b/src/app/pages/publications/publication-detail/publication-detail.page.ts @@ -8,6 +8,7 @@ import { NewPublicationPage } from '../new-publication/new-publication.page'; import { Location } from '@angular/common'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ @@ -29,7 +30,8 @@ export class PublicationDetailPage implements OnInit { private toastService: ToastService, private location: Location, private sqliteservice: SqliteService, - private backgroundservice: BackgroundService ) { + private backgroundservice: BackgroundService, + public ThemeService: ThemeService ) { this.publicationId = this.navParams.get('publicationId'); /* this.folderId = this.navParams.get('folderIdId'); */ diff --git a/src/app/pages/publications/publications.page.html b/src/app/pages/publications/publications.page.html index d1ae5d28b..f1c15bcad 100644 --- a/src/app/pages/publications/publications.page.html +++ b/src/app/pages/publications/publications.page.html @@ -26,10 +26,11 @@
@@ -46,22 +47,27 @@ [class.item-active]="viagem.ProcessId == idSelected" >
- -
-
- -

{{viagem.Description}}

-

{{viagem.Detail}}

-
-
- - -
+ + + + +
+
+ +

{{viagem.Description}}

+

{{viagem.Detail}}

+
+
+ + +
@@ -79,7 +85,9 @@ [class.item-active]="evento.ProcessId == idSelected" (click)="goToPublicationsList(evento.ProcessId)">
- + + +
@@ -95,7 +103,9 @@ diff --git a/src/app/pages/publications/publications.page.scss b/src/app/pages/publications/publications.page.scss index 9c7c8c04b..c98ad9b40 100644 --- a/src/app/pages/publications/publications.page.scss +++ b/src/app/pages/publications/publications.page.scss @@ -149,7 +149,7 @@ ion-toolbar{ padding: 0 !important; } .item-content-title{ - color: #0d89d1; + color: var(--title-text-color); font-size: 15px; margin: 0 !important; padding: 0 !important; @@ -161,7 +161,7 @@ ion-toolbar{ padding: 0 !important; } .item-options{ - color: #42b9fe; + color: var(--box-hover-background-color); width: 25px; font-size: 20px; } @@ -172,12 +172,13 @@ ion-toolbar{ } .item-active{ - background-color: #42b9fe !important; + background-color: var(--gabinete-active-hove-background) !important; color: #fff !important; + pointer-events: none; } .item:hover{ - background-color: #e6f6ff75; + background-color: var(--box-hover-background-color) !important; } ion-item-options{ diff --git a/src/app/pages/publications/publications.page.ts b/src/app/pages/publications/publications.page.ts index 81a1d09b0..c0e2309f1 100644 --- a/src/app/pages/publications/publications.page.ts +++ b/src/app/pages/publications/publications.page.ts @@ -15,6 +15,7 @@ import { PublicationEventFolderStorage } from 'src/app/store/publication-event-f import { PublicationTravelFolderStore } from 'src/app/store/publication-travel-folder.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-publications', @@ -66,7 +67,8 @@ export class PublicationsPage implements OnInit { private toastService: ToastService, private sqliteservice: SqliteService, private backgroundservice: BackgroundService, - private platform: Platform + private platform: Platform, + public ThemeService: ThemeService ) { this.months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; this.days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"]; @@ -236,9 +238,9 @@ export class PublicationsPage implements OnInit { try { await this.publications.DeletePresidentialAction(id).toPromise(); - this.toastService.successMessage() + this.toastService._successMessage() } catch (e) { - this.toastService.badRequest() + this.toastService._badRequest() } finally { loader.remove() diff --git a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html index 6b3c0436e..70c3a110a 100644 --- a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html +++ b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.html @@ -13,7 +13,8 @@
- + +
{{publication.Title}} @@ -37,7 +38,8 @@
- + +
diff --git a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts index e4d305800..d79e7f34a 100644 --- a/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts +++ b/src/app/pages/publications/view-publications/publication-detail/publication-detail.page.ts @@ -7,6 +7,8 @@ import { ToastService } from 'src/app/services/toast.service'; import { ImageModalPage } from '../../gallery/image-modal/image-modal.page'; import { NewPublicationPage } from '../../new-publication/new-publication.page'; import { Location } from '@angular/common'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-publication-detail', @@ -28,6 +30,7 @@ export class PublicationDetailPage implements OnInit { private activatedRoute: ActivatedRoute, private router: Router, private location: Location, + public ThemeService: ThemeService ) { this.activatedRoute.paramMap.subscribe(params => { diff --git a/src/app/pages/publications/view-publications/view-publications.page.html b/src/app/pages/publications/view-publications/view-publications.page.html index 508f6e140..fd3a2a111 100644 --- a/src/app/pages/publications/view-publications/view-publications.page.html +++ b/src/app/pages/publications/view-publications/view-publications.page.html @@ -6,17 +6,19 @@
-
- +
+ +
{{item.Description}}

{{item.Detail}}

-
+
- + +
diff --git a/src/app/pages/publications/view-publications/view-publications.page.ts b/src/app/pages/publications/view-publications/view-publications.page.ts index a41378420..ad0095192 100644 --- a/src/app/pages/publications/view-publications/view-publications.page.ts +++ b/src/app/pages/publications/view-publications/view-publications.page.ts @@ -12,6 +12,7 @@ import { NewPublicationPage } from '../new-publication/new-publication.page'; import { PublicationDetailPage } from './publication-detail/publication-detail.page'; import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-view-publications', @@ -43,7 +44,8 @@ export class ViewPublicationsPage implements OnInit { private activatedRoute: ActivatedRoute, private router: Router, private sqliteservice: SqliteService, - private backgroundservice: BackgroundService) { + private backgroundservice: BackgroundService, + public ThemeService: ThemeService) { this.item = new PublicationFolder(); this.activatedRoute.paramMap.subscribe(params => { @@ -194,7 +196,7 @@ export class ViewPublicationsPage implements OnInit { component: NewPublicationPage, componentProps: { publicationType: publicationType, - folderId: folderId, + folderId: this.folderId, }, cssClass: 'new-publication modal modal-desktop', backdropDismiss: false diff --git a/src/app/pages/search/organic-entity/organic-entity.page.html b/src/app/pages/search/organic-entity/organic-entity.page.html index efde8e18c..370fe9c6a 100644 --- a/src/app/pages/search/organic-entity/organic-entity.page.html +++ b/src/app/pages/search/organic-entity/organic-entity.page.html @@ -7,7 +7,8 @@
- + +
diff --git a/src/app/pages/search/organic-entity/organic-entity.page.ts b/src/app/pages/search/organic-entity/organic-entity.page.ts index a5e429bbe..f326df95d 100644 --- a/src/app/pages/search/organic-entity/organic-entity.page.ts +++ b/src/app/pages/search/organic-entity/organic-entity.page.ts @@ -3,6 +3,8 @@ import { ModalController } from '@ionic/angular'; import { from } from 'rxjs'; import { OrganicEntityService } from 'src/app/services/organic-entity.service'; import { OrganicEntity } from 'src/app/models/organic-entity.model'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-organic-entity', @@ -16,8 +18,11 @@ export class OrganicEntityPage implements OnInit { findEntity: string; - constructor(private modalController:ModalController, - private OrganicEntityService: OrganicEntityService) { + constructor( + private modalController:ModalController, + private OrganicEntityService: OrganicEntityService, + public ThemeService: ThemeService + ) { } diff --git a/src/app/pages/search/search.page.html b/src/app/pages/search/search.page.html index 1d92a8d98..cd8f0035e 100644 --- a/src/app/pages/search/search.page.html +++ b/src/app/pages/search/search.page.html @@ -1,181 +1,214 @@ - - -
- -
-
- -
-
- -
-
+ - +
+ + +
-
+
+ + + + +
+ + + +
+ + +
+
+ + +
+ +
+ +
+ +
+
- - - -
- -
-
-
-
- -
+ + - - - - -
-
-
- -
- - {{ category.Name }} - {{ category.Qtd }} - -
- -
- - -
-
-
-
+
+
-
- - -
-

Assuntos mais recebidos

-
-
+
+ + +
+

Assuntos mais recebidos

+
- -
-
- - -
-
-
-
-

- Order por: - Mais Recentes - Mais Antigos -

-
-
-
- -
+
+ +
+
-
- -
+ +
+
+
+
+

+ Order por: + Mais Recentes + Mais Antigos +

+
+
+
+ + +
+ +
+ +
-
    -
  • -
    - - - -
    -
    - -
    - {{ searchDocument.Assunto}} - {{ searchDocument.appName}} -
    -
    - {{ searchDocument.EntidadeOrganicaNome }} - {{ formateIsoDate(searchDocument.Data) }} -
    -
    -
  • - -
- +
    +
  • +
    + + + + + + +
    +
    + +
    + {{ searchDocument.Assunto}} + {{ searchDocument.appName}} +
    +
    + {{ searchDocument.EntidadeOrganicaNome }} + {{ formateIsoDate(searchDocument.Data) }} +
    +
    +
  • + +
- +
+
+
\ No newline at end of file diff --git a/src/app/pages/search/search.page.scss b/src/app/pages/search/search.page.scss index 31d1969c4..bac058200 100644 --- a/src/app/pages/search/search.page.scss +++ b/src/app/pages/search/search.page.scss @@ -88,7 +88,7 @@ ion-slide{ padding: 0px; margin: 0px; font-family: Roboto; - color: #0d89d1; + color: var(--title-text-color);; font-size: 15px; text-align: center; } @@ -154,7 +154,7 @@ ion-slide{ .order-labal{ font-family: Roboto; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin-left: 20px; } } @@ -184,7 +184,7 @@ ion-slide{ width: 100%; font-family: Roboto; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); line-height: 1.67; } span{ @@ -194,7 +194,7 @@ ion-slide{ color: #797979; } .app-name{ - background: #42b9f2; + background: var(--font-awesome); border-radius: 18px; text-align: center; display: flex; diff --git a/src/app/pages/search/search.page.ts b/src/app/pages/search/search.page.ts index 3dc1930a4..3963f7fad 100644 --- a/src/app/pages/search/search.page.ts +++ b/src/app/pages/search/search.page.ts @@ -9,6 +9,7 @@ import { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page'; import { PublicationDetailPage } from '../publications/view-publications/publication-detail/publication-detail.page'; import { DocumentDetailPage } from 'src/app/modals/document-detail/document-detail.page'; import { SearchCategory, SearchList } from 'src/app/models/search-document'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-search', @@ -58,7 +59,9 @@ export class SearchPage implements OnInit { constructor(private modalController: ModalController, private search: SearchService, private modalCtrl: ModalController, - private navParams: NavParams) { + private navParams: NavParams, + public ThemeService: ThemeService) + { this.ordinance = "recent"; this.currentPath= window.location.pathname; diff --git a/src/app/pages/search/sender/sender.page.html b/src/app/pages/search/sender/sender.page.html index 50117aa85..f1b4e6a0e 100644 --- a/src/app/pages/search/sender/sender.page.html +++ b/src/app/pages/search/sender/sender.page.html @@ -2,7 +2,8 @@
- + +
diff --git a/src/app/pages/search/sender/sender.page.ts b/src/app/pages/search/sender/sender.page.ts index 3a316bdc3..5052a3b70 100644 --- a/src/app/pages/search/sender/sender.page.ts +++ b/src/app/pages/search/sender/sender.page.ts @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { ModalController } from '@ionic/angular'; import { ContactsService } from 'src/app/services/contacts.service'; import { EventPerson } from 'src/app/models/eventperson.model'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-sender', @@ -17,7 +18,8 @@ export class SenderPage implements OnInit { selectedUser: string; constructor(private modalController:ModalController, - private ContactsService: ContactsService) { + private ContactsService: ContactsService, + public ThemeService: ThemeService) { } diff --git a/src/app/pipes/participants.pipe.ts b/src/app/pipes/participants.pipe.ts index 9856911c6..92019441b 100644 --- a/src/app/pipes/participants.pipe.ts +++ b/src/app/pipes/participants.pipe.ts @@ -6,7 +6,7 @@ import { EventPerson } from 'src/app/models/eventperson.model' }) export class ParticipantsPipe implements PipeTransform { - transform(EventPerson: EventPerson[]): any { + transform(EventPerson: EventPerson[] = []): any { let taskParticipants = []; let taskParticipantsCc = []; diff --git a/src/app/services/agenda/list-box.service.ts b/src/app/services/agenda/list-box.service.ts index 04066f1da..c1e6c663c 100644 --- a/src/app/services/agenda/list-box.service.ts +++ b/src/app/services/agenda/list-box.service.ts @@ -8,8 +8,8 @@ import { DateService } from '../date.service'; export class ListBoxService { constructor( - private dateService: DateService - ){} + private dateService: DateService + ){} filterProfile(eventSource: EventListStore[], profile: 'md' | 'pr' | 'all') { @@ -26,32 +26,34 @@ export class ListBoxService { }) } - filterSegment(eventSource: EventListStore[], segment): EventListStore[] { - return eventSource.filter( data => data.calendarName == segment) - } - + filterSegment(eventSource: EventListStore[], segment): EventListStore[] { + return eventSource.filter( data => data.calendarName == segment) + } daysBetween(){ } list(eventSource: EventListStore[], profile: 'md' | 'pr' | 'all', rangeStartDate, randEndDate, {segment = 'Combinado', selectedDate= null}) { - // filter range - if(selectedDate) { - eventSource = eventSource.filter(data => - data.startTime.toLocaleDateString('pt')>= selectedDate.toLocaleDateString('pt') && - data.endTime.toLocaleDateString('pt')>= selectedDate.toLocaleDateString('pt') - ) - } + // console.log('eventSource', eventSource ,'rangeStartDate', new Date(rangeStartDate).toLocaleDateString('pt') , 'randEndDate', new Date(randEndDate).toLocaleDateString('pt')) - if(segment!='Combinado') { - eventSource = this.filterSegment(eventSource, segment) - } + // // filter range + // if(selectedDate) { + // eventSource = eventSource.filter(data => + // data.startTime.toLocaleDateString('pt') >= new Date(rangeStartDate).toLocaleDateString('pt') && + // data.startTime.toLocaleDateString('pt') <= new Date(rangeStartDate).toLocaleDateString('pt') + // ) + // } + + + if(segment!='Combinado') { + eventSource = this.filterSegment(eventSource, segment) + } if(profile != 'all') { eventSource = this.filterProfile(eventSource, profile) } - let newStracture:CustomCalendarEvent[]; + let newStracture:CustomCalendarEvent[]; if(profile == 'md') { newStracture = this.encapsulation(eventSource, 'mdgpr'); @@ -92,12 +94,12 @@ export class ListBoxService { if (diffDays >= 1) { const StartEvent = this.transForm(event, {startMany: true,endMany: false, middle: false, profile}) - - if(this.push(event, selectedDate)) days[day].push(StartEvent) + + if(this.push(event, selectedDate)) days[day].push(StartEvent) let i = 1; - // create event between date + // create event between date while (startDate.getFullYear() != endDate.getFullYear() || startDate.getMonth() != endDate.getMonth() || startDate.getDate() != endDate.getDate()) { @@ -130,12 +132,15 @@ export class ListBoxService { } } else { + + if(this.push(event, selectedDate)) days[day].push(event) } } else { + if(this.push(event, selectedDate)) days[day].push(event) } - } + } if(this.push(event, selectedDate)) days[day].push(event) @@ -156,8 +161,12 @@ export class ListBoxService { push(event: any, selectedDate: Date) { + + console.log(new Date(event.start).getDate(), selectedDate.getDate(), new Date(event.start).getDate() >= selectedDate.getDate()) + return new Date(event.start).getMonth() == selectedDate.getMonth() && - new Date(event.start).getFullYear() == selectedDate.getFullYear() + new Date(event.start).getFullYear() == selectedDate.getFullYear() && + new Date(event.start).getDate() >= selectedDate.getDate() } encapsulation(eventsList:EventListStore[], profile): CustomCalendarEvent[] { diff --git a/src/app/services/background.service.ts b/src/app/services/background.service.ts index 84ed29d7c..e1670c200 100644 --- a/src/app/services/background.service.ts +++ b/src/app/services/background.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; +import { ThemeService } from 'src/app/services/theme.service'; @Injectable({ providedIn: 'root' @@ -11,14 +12,27 @@ export class BackgroundService { funx: Function }[] = [] - constructor() { } + constructor( + private themeservice: ThemeService + ) { } online() { - document.body.style.setProperty(`--color`, "#0782C9"); - document.body.style.setProperty(`--color2`, "#45BAFF"); - document.body.style.setProperty(`--color3`, "#0782C9"); - document.body.style.setProperty(`--color4`, "#0782c9f0"); - document.body.style.setProperty(`--color5`, "#45BAFF"); + if (this.themeservice.currentTheme == 'gov') { + + document.body.style.setProperty(`--color`, "#d9d9d9"); + document.body.style.setProperty(`--color2`, "#f0f0f0"); + document.body.style.setProperty(`--color3`, "#d9d9d9"); + document.body.style.setProperty(`--color4`, "#d9d9d9ee"); + document.body.style.setProperty(`--color5`, "#ececec"); + + } else { + document.body.style.setProperty(`--color`, "#0782C9"); + document.body.style.setProperty(`--color2`, "#45BAFF"); + document.body.style.setProperty(`--color3`, "#0782C9"); + document.body.style.setProperty(`--color4`, "#0782c9f0"); + document.body.style.setProperty(`--color5`, "#45BAFF"); + } + this.callBacks.forEach((e) => { if (e.type == 'Online') { e.funx() @@ -46,4 +60,56 @@ export class BackgroundService { object }) } + + + greyTheme() { + document.body.style.setProperty(`--color`, "#D9D9D9"); + document.body.style.setProperty(`--color2`, "#f0f0f0"); + document.body.style.setProperty(`--color3`, "#D9D9D9"); + document.body.style.setProperty(`--color4`, "#d9d9d9ee"); + document.body.style.setProperty(`--color5`, "#ececec"); + + document.body.style.setProperty(`--header-container-background`, "#fff"); + document.body.style.setProperty(`--headercolor`, "#000"); + + document.body.style.setProperty(`--login-background`, "linear-gradient(180deg, #c63527 60%, #000 100%) !important"); + document.body.style.setProperty(`--button-hover`, "#ffb81c"); + document.body.style.setProperty(`--inicio-open-page-from-box`, "#c63527"); + document.body.style.setProperty(`--header-tab-top-border`, "#000"); + document.body.style.setProperty(`--header-tab-text-white`, "rgb(0, 0, 0)"); + document.body.style.setProperty(`--header-tab-text-white`, "rgb(0, 0, 0)"); + + document.body.style.setProperty(`--header-bottom-line-background`, "rgb(255, 0, 0)"); + document.body.style.setProperty(`--header-bottom-line-background-image`, "linear-gradient(to right, #C63527, #FFB81C, #FFC72C)"); + } + + blueTheme() { + + document.body.style.setProperty(`--color`, "#0782C9"); + document.body.style.setProperty(`--color2`, "#45BAFF"); + document.body.style.setProperty(`--color3`, "#0782C9"); + document.body.style.setProperty(`--color4`, "#0782c9f0"); + document.body.style.setProperty(`--color5`, "#f7f5f2"); + + document.body.style.setProperty(`--header-container-background`, "linear-gradient(270deg, var(--color2) 0%, var(--color3) 23.44%, var(--color4) 78.13%, var(--color5) 100%) !important"); + document.body.style.setProperty(`--headercolor`, "#000"); + + document.body.style.setProperty(`--header-bottom-line-background`, "linear-gradient(270deg, var(--color2) 0%, var(--color3) 23.44%, var(--color4) 78.13%, var(--color5) 100%) !important"); + document.body.style.setProperty(`--header-bottom-line-background-image`, "linear-gradient(270deg, var(--color2) 0%, var(--color3) 23.44%, var(--color4) 78.13%, var(--color5) 100%) !important"); + + document.body.style.setProperty(`--login-background`, "linear-gradient(180deg, #42b9fe 0%, #0782c9 100%) !importantt"); + document.body.style.setProperty(`--button-hover`, "#42b9fe"); + document.body.style.setProperty(`--inicio-open-page-from-box`, "#42b9fe"); + document.body.style.setProperty(`--header-tab-top-border`, "white"); + document.body.style.setProperty(`--header-tab-text-white`, "white"); + + } + + default() { + document.body.style.setProperty(`--color`, "#0782C9"); + document.body.style.setProperty(`--color2`, "#45BAFF"); + document.body.style.setProperty(`--color3`, "#0782C9"); + document.body.style.setProperty(`--color4`, "#0782c9f0"); + document.body.style.setProperty(`--color5`, "#45BAFF"); + } } diff --git a/src/app/services/chat.service.ts b/src/app/services/chat.service.ts index 0b05b66eb..16c07557c 100644 --- a/src/app/services/chat.service.ts +++ b/src/app/services/chat.service.ts @@ -209,8 +209,12 @@ export class ChatService { /* GROUPS */ addGroup(body:any){ + console.log(body); return this.http.post(environment.apiChatUrl+'groups.create', body, this.options); } + setGroupCustomFields(body:any){ + return this.http.post(environment.apiChatUrl+'groups.setCustomFields', body, this.options); + } getGroupMembers(roomId:string){ let params = new HttpParams(); @@ -223,6 +227,7 @@ export class ChatService { } return this.http.get(url, opts); } + getChannelMembers(roomId:string){ let params = new HttpParams(); let url=environment.apiChatUrl+'channels.members'; @@ -274,9 +279,11 @@ export class ChatService { } return this.http.post(environment.apiChatUrl+'channels.kick', body, opts); } + deleteGroup(body:any){ return this.http.post(environment.apiChatUrl+'groups.delete', body, this.options); } + deleteChannel(body:any){ return this.http.post(environment.apiChatUrl+'channels.delete', body, this.options); } diff --git a/src/app/services/jsonStore.service.spec.ts b/src/app/services/data.service.spec.ts similarity index 57% rename from src/app/services/jsonStore.service.spec.ts rename to src/app/services/data.service.spec.ts index ed030373c..38e8d9ec6 100644 --- a/src/app/services/jsonStore.service.spec.ts +++ b/src/app/services/data.service.spec.ts @@ -1,13 +1,13 @@ import { TestBed } from '@angular/core/testing'; -import { JsonStore } from './jsonStore.service'; +import { DataService } from './data.service'; -describe('JsonStore', () => { - let service: JsonStore; +describe('DataService', () => { + let service: DataService; beforeEach(() => { TestBed.configureTestingModule({}); - service = TestBed.inject(JsonStore); + service = TestBed.inject(DataService); }); it('should be created', () => { diff --git a/src/app/services/data.service.ts b/src/app/services/data.service.ts new file mode 100644 index 000000000..cfc40e5dd --- /dev/null +++ b/src/app/services/data.service.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class DataService { + + + private data = {} + constructor() { } + + set(name: string, value: any) { + this.data[name] = value + } + + get (name: string): any { + return this.data[name] + } + +} diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index ed264d7ba..c2fd4b9b6 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -346,6 +346,7 @@ export class EventsService { return this.http.put(`${puturl}`, event, options).pipe( catchError(err => { + console.log('Event edit saved offline') this.offlinemanager.storeRequestData('eventEdit', arrayReq); throw new Error(err); }) @@ -481,6 +482,7 @@ export class EventsService { return this.http.delete(`${puturl}`, options).pipe( catchError(err => { + console.log('Event edit saved offline') this.offlinemanager.storeRequestData('eventDelete', arrayReq); throw new Error(err); }) diff --git a/src/app/services/events/attendees/attendees.page.html b/src/app/services/events/attendees/attendees.page.html index 9f63cff4d..dd839dd99 100644 --- a/src/app/services/events/attendees/attendees.page.html +++ b/src/app/services/events/attendees/attendees.page.html @@ -14,7 +14,8 @@
- + +

{{ attendee.Name }}

@@ -35,7 +36,8 @@
- + +

{{ attendee.Name }}

@@ -53,7 +55,8 @@
- + +

{{ attendee.Name }}

diff --git a/src/app/services/events/attendees/attendees.page.ts b/src/app/services/events/attendees/attendees.page.ts index 5dfaeae0c..4936f9d95 100644 --- a/src/app/services/events/attendees/attendees.page.ts +++ b/src/app/services/events/attendees/attendees.page.ts @@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { EventPerson } from 'src/app/models/eventperson.model'; import { ModalController, NavParams } from '@ionic/angular'; import { ContactsService } from 'src/app/services/contacts.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-attendees', @@ -25,7 +26,8 @@ export class AttendeesPageModal implements OnInit { private modalCtrl: ModalController, private contactsService: ContactsService, private navParams: NavParams, - private modalController: ModalController) { + private modalController: ModalController, + public ThemeService: ThemeService) { this.adding = this.navParams.get('adding'); this.taskParticipants = this.navParams.get('taskParticipants'); diff --git a/src/app/services/events/edit-event/edit-event.page.scss b/src/app/services/events/edit-event/edit-event.page.scss index 0224ee793..c19854413 100644 --- a/src/app/services/events/edit-event/edit-event.page.scss +++ b/src/app/services/events/edit-event/edit-event.page.scss @@ -83,7 +83,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -91,7 +92,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/services/events/events.page.ts b/src/app/services/events/events.page.ts index 0ceb9b85d..079667c84 100644 --- a/src/app/services/events/events.page.ts +++ b/src/app/services/events/events.page.ts @@ -64,7 +64,7 @@ export class EventsPage implements OnInit { // shared data toDayEventStorage = ToDayEventStorage expedienteGdStore = ExpedienteGdStore - + expedienteTaskPipe = new ExpedienteTaskPipe() @Output() openExpedientListPage:EventEmitter = new EventEmitter(); @@ -352,12 +352,13 @@ export class EventsPage implements OnInit { } goToExpediente(SerialNumber:any) { - if(this.loggeduser.Profile == 'MDGPR'){ + this.router.navigate(['/home/events/expediente', SerialNumber, 'events']); + /* if(this.loggeduser.Profile == 'MDGPR'){ this.router.navigate(['/home/events/expediente', SerialNumber, 'events']); } else if(this.loggeduser.Profile == 'PR'){ this.router.navigate(['/home/events/expedientes-pr', SerialNumber, 'events']); - } + } */ } viewExpedientListPage(){ diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index 55483dc5c..040f13324 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -2,14 +2,14 @@ import { Injectable } from '@angular/core'; import { FileLoaderService } from '../file/file-loader.service'; import { FileToBase64Service } from '../file/file-to-base64.service'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; -//Cordova -import { Camera, CameraOptions } from '@ionic-native/camera/ngx'; + import { ChatService } from '../chat.service'; import { ModalController } from '@ionic/angular'; import { SearchPage } from 'src/app/pages/search/search.page'; import { SearchList } from 'src/app/models/search-document'; import { ProcessesService } from '../processes.service'; import { ToastService } from '../toast.service'; +import { Camera, CameraResultType, CameraSource, Photo} from '@capacitor/camera'; @Injectable({ providedIn: 'root' @@ -22,9 +22,9 @@ export class FileService { showLoader: boolean; files: Set; + photos: any[] = []; constructor( - private camera: Camera, private fileLoaderService: FileLoaderService, private fileToBase64Service: FileToBase64Service, private iab: InAppBrowser, @@ -34,26 +34,25 @@ export class FileService { private toastService: ToastService, ) { } - takePicture() { - const options: CameraOptions = { - quality: 50, - destinationType: this.camera.DestinationType.DATA_URL, - encodingType: this.camera.EncodingType.JPEG, - mediaType: this.camera.MediaType.PICTURE, - targetWidth: 720, - targetHeight: 720, - } + async takePicture() { + const capturedImage = await Camera.getPhoto({ + quality: 90, + // allowEditing: true, + resultType: CameraResultType.Uri, + source: CameraSource.Camera - this.camera.getPicture(options).then((imageData) => { - // imageData is either a base64 encoded string or a file URI - // If it's base64 (DATA_URL): m - //let base64Image = 'data:image/jpeg;base64,' + imageData; - - this.capturedImage = 'data:image/png;base64,'+imageData; - this.capturedImageTitle = new Date().getTime() + '.jpeg'; - }, (err) => { - /* console.log(err); */ }); + const response = await fetch(capturedImage.webPath!); + const blob = await response.blob(); + + this.photos.unshift({ + filepath: "soon...", + webviewPath: capturedImage.webPath + }); + + this.capturedImage = await this.convertBlobToBase64(blob); + this.capturedImageTitle = new Date().getTime() + '.jpeg'; + let data = { image:this.capturedImage, name: this.capturedImageTitle @@ -62,6 +61,15 @@ export class FileService { return data; } + convertBlobToBase64 = (blob: Blob) => new Promise((resolve, reject) => { + const reader = new FileReader; + reader.onerror = reject; + reader.onload = () => { + resolve(reader.result); + }; + reader.readAsDataURL(blob); + }); + loadPicture() { const input = this.fileLoaderService.createInput({ accept: ['image/apng', 'image/jpeg', 'image/png'] @@ -85,19 +93,24 @@ export class FileService { }; } - addCameraPictureToChat(roomId){ + async addCameraPictureToChat(roomId){ - const options: CameraOptions = { - quality: 50, - destinationType: this.camera.DestinationType.DATA_URL, - encodingType: this.camera.EncodingType.JPEG, - mediaType: this.camera.MediaType.PICTURE, - targetWidth: 720, - targetHeight: 720, - } + const capturedImage = await Camera.getPhoto({ + quality: 90, + // allowEditing: true, + resultType: CameraResultType.Uri, + source: CameraSource.Camera - this.camera.getPicture(options).then((imageData) => { - this.capturedImage = 'data:image/png;base64,'+imageData; + }); + const response = await fetch(capturedImage.webPath!); + const blob = await response.blob(); + + this.photos.unshift({ + filepath: "soon...", + webviewPath: capturedImage.webPath + }); + + this.capturedImage = await this.convertBlobToBase64(blob); this.capturedImageTitle = new Date().getTime() + '.jpeg'; let body = { @@ -121,29 +134,26 @@ export class FileService { this.toastService.badRequest("Não foi possível adicionar a fotografia!"); }); - }, (err) => { - this.toastService.badRequest("Não foi possível adicionar a fotografia!"); - }); - } - addPictureToChatMobile(roomId) { - alert('Here') + async addPictureToChatMobile(roomId) { - const options: CameraOptions = { + const capturedImage = await Camera.getPhoto({ quality: 90, - sourceType: this.camera.PictureSourceType.PHOTOLIBRARY, - destinationType: this.camera.DestinationType.DATA_URL, - encodingType: this.camera.EncodingType.JPEG, - mediaType: this.camera.MediaType.PICTURE, - targetWidth: 720, - targetHeight: 720, - correctOrientation: true - } + // allowEditing: true, + resultType: CameraResultType.Uri, + source: CameraSource.Photos - this.camera.getPicture(options).then((imageData) => { - let base64Image = 'data:image/jpeg;base64,' + imageData; - this.capturedImage = imageData; + }); + const response = await fetch(capturedImage.webPath!); + const blob = await response.blob(); + + this.photos.unshift({ + filepath: "soon...", + webviewPath: capturedImage.webPath + }); + + this.capturedImage = await this.convertBlobToBase64(blob); this.capturedImageTitle = new Date().getTime() + '.jpeg'; //const loader = this.toastService.loading(); @@ -161,21 +171,12 @@ export class FileService { }] } } - - console.log(this.capturedImage) - this.chatService.sendMessage(body).subscribe(res=> { //loader.remove(); //console.log(res); },(error) => { //loader.remove(); }); - - - }, (err) => { - //console.log(err); - }); - } addPictureToChat(roomId) { diff --git a/src/app/services/functions/time.service.ts b/src/app/services/functions/time.service.ts index 33e8719cc..8ed278bcb 100644 --- a/src/app/services/functions/time.service.ts +++ b/src/app/services/functions/time.service.ts @@ -1,11 +1,14 @@ import { Injectable } from '@angular/core'; +import { ChatService } from '../chat.service'; @Injectable({ providedIn: 'root' }) export class TimeService { + countDownTime: any; + room: any; - constructor() { } + constructor(private chatService: ChatService) { } showDateDuration(start:any){ let end; @@ -13,6 +16,7 @@ export class TimeService { start = new Date(start); let customizedDate; + const totalSeconds = Math.floor((end - (start))/1000);; const totalMinutes = Math.floor(totalSeconds/60); const totalHours = Math.floor(totalMinutes/60); @@ -37,6 +41,72 @@ export class TimeService { } } + countDownDate(date:any, roomId:string){ + /* let timer = setInterval(() =>{ */ + let difference = new Date(date).getTime() - new Date().getTime(); + let c_day = Math.floor(difference/(1000*60*60*24)); + let c_hours = Math.floor((difference % (1000*60*60*24)) / (1000*60*60)); + let c_minutes = Math.floor((difference % (1000*60*60)) / (1000*60)); + let c_seconds = Math.floor((difference % (1000*60)) / 1000); + + this.countDownTime = this.addZero(c_day) + " : " + this.addZero(c_hours) + " : " + this.addZero(c_minutes) + " : " + this.addZero(c_seconds) ; + + if(difference < 0){ + //clearInterval(timer); + this.countDownTime = "Expired"; + let body = { "roomId":roomId, } + this.chatService.getRoomInfo(roomId).subscribe(room=>{ + this.room = room['room']; + + if(this.room.t === 'p'){ + this.chatService.deleteGroup(body).subscribe(res=>{ + console.log(res); + }); + } + else{ + this.chatService.deleteChannel(body).subscribe(res=>{ + console.log(res); + }); + } + }); + } + //}) + return this.countDownTime; + } + + countDownDateTimer(date:any, roomId:string){ + let timer = setInterval(() =>{ + let difference = new Date(date).getTime() - new Date().getTime(); + let c_day = Math.floor(difference/(1000*60*60*24)); + let c_hours = Math.floor((difference % (1000*60*60*24)) / (1000*60*60)); + let c_minutes = Math.floor((difference % (1000*60*60)) / (1000*60)); + let c_seconds = Math.floor((difference % (1000*60)) / 1000); + + this.countDownTime = this.addZero(c_day) + " : " + this.addZero(c_hours) + " : " + this.addZero(c_minutes) + " : " + this.addZero(c_seconds) ; + + if(difference < 0){ + clearInterval(timer); + this.countDownTime = "Expired"; + let body = { "roomId":roomId, } + this.chatService.getRoomInfo(roomId).subscribe(room=>{ + this.room = room['room']; + + if(this.room.t === 'p'){ + this.chatService.deleteGroup(body).subscribe(res=>{ + console.log(res); + }); + } + else{ + this.chatService.deleteChannel(body).subscribe(res=>{ + console.log(res); + }); + } + }); + } + }) + return this.countDownTime; + } + addZero(i) { if (i < 10) { i = "0" + i; diff --git a/src/app/services/jsonStore.service.ts b/src/app/services/jsonStore.service.ts index 59a25bd7b..3dec50203 100644 --- a/src/app/services/jsonStore.service.ts +++ b/src/app/services/jsonStore.service.ts @@ -1,5 +1,3 @@ -/// -/// import { Injectable } from "@angular/core"; @Injectable({ @@ -8,7 +6,7 @@ import { Injectable } from "@angular/core"; export class JsonStore { - createCollection(name, data) { + /* createCollection(name, data) { var collectionName = name; var addOptions = { @@ -32,7 +30,7 @@ export class JsonStore { console.log(err) }); - } + } */ getCollection(collectionName) { @@ -50,11 +48,11 @@ export class JsonStore { JSONStoreCollections[collectionName] = {}; JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' }; - WL.JSONStore.init(JSONStoreCollections) + /* WL.JSONStore.init(JSONStoreCollections) .then(function () { WL.Logger.debug('Find all colletion data'); console.log('Find all colletion data'); - + }).fail(function (err) { WL.Logger.error(err); @@ -66,8 +64,8 @@ export class JsonStore { return JSON.parse(value); }); - - return data + + return data */ //return notificationData } @@ -90,7 +88,7 @@ export class JsonStore { JSONStoreCollections[collectionName] = {}; JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' }; - WL.JSONStore.init(JSONStoreCollections) + /* WL.JSONStore.init(JSONStoreCollections) .then(function () { WL.Logger.debug('Find colletion data by id'); console.log('Find colletion data by id'); @@ -101,30 +99,30 @@ export class JsonStore { }).fail(function (err) { WL.Logger.error(err); console.log(err) - }); + }); */ } replaceDocument(collectionName: string, document: any) { - /* var document = { Example of how identify the document to replace + /* var document = { Example of how identify the document to replace _id: 1, json: {name: 'chevy', age: 23} - }; */ + }; var options = {}; - WL.JSONStore.get(collectionName).replace(document, options).then(function (numberOfDocsReplaced) { + /* WL.JSONStore.get(collectionName).replace(document, options).then(function (numberOfDocsReplaced) { console.log("JsonStore replace document sucess: ", numberOfDocsReplaced) }).fail(function (error) { console.log("JsonStore replace document error: ", error) - }); + }); */ } removeDocument(collectionName: any,query: any,) { - /* var query = { _id: 1 }; Exemple of query*/ + /* var query = { _id: 1 }; Exemple of query var options = { exact: true }; - WL.JSONStore.get(collectionName).remove(query, options).then(function (numberOfDocsRemoved) { + /* WL.JSONStore.get(collectionName).remove(query, options).then(function (numberOfDocsRemoved) { console.log("JsonStore remove document sucess: ", numberOfDocsRemoved) }).fail(function (error) { console.log("JsonStore remove document erro: ", error) - }); + }); */ } -} \ No newline at end of file +} diff --git a/src/app/services/network-connection.service.ts b/src/app/services/network-connection.service.ts index b9bfb446b..8586451d6 100644 --- a/src/app/services/network-connection.service.ts +++ b/src/app/services/network-connection.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs' import { Platform } from '@ionic/angular' +import { Network } from '@capacitor/network'; @Injectable({ providedIn: 'root' @@ -9,20 +10,19 @@ import { Platform } from '@ionic/angular' export class NetworkConnectionService { online: boolean = true; - constructor(){} - - checkOnline() { - window.addEventListener('online', (on) => { - this.online === true; - console.log('Became online'); + constructor(){ + Network.addListener('networkStatusChange', status => { + console.log('Network status changed', status); }); } + - checkOffline() { - window.addEventListener('offline', (off) => { - this.online === false; - console.log('Became offline') - }); - } + + logCurrentNetworkStatus = async () => { + const status = await Network.getStatus(); + + return status; + + }; } \ No newline at end of file diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts index 6f7fec31e..d05b89b07 100644 --- a/src/app/services/notifications.service.ts +++ b/src/app/services/notifications.service.ts @@ -1,21 +1,20 @@ /* eslint-disable */ /* tslint:disable */ -/// import { Injectable, NgZone } from '@angular/core'; import { ActivatedRoute } from '@angular/router' import { HttpClient } from '@angular/common/http'; import { environment } from 'src/environments/environment'; import { StorageService } from 'src/app/services/storage.service'; import { AuthConnstants } from 'src/app/config/auth-constants'; -import { Token } from '../models/token.model'; +import { Tokenn } from '../models/token.model'; import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular'; -import { NavigationExtras,Router } from '@angular/router'; +import { NavigationExtras, Router } from '@angular/router'; import { ToastService } from '../services/toast.service'; -import { JsonStore } from './jsonStore.service'; import { BackgroundService } from './background.service'; import { v4 as uuidv4 } from 'uuid'; import { EventTrigger } from '../services/eventTrigger.service'; import { SessionStore } from '../store/session.service'; +import { ActionPerformed, PushNotificationSchema, PushNotifications, Token, } from '@capacitor/push-notifications'; @Injectable({ providedIn: 'root' @@ -24,7 +23,7 @@ export class NotificationsService { adding: "intervenient" | "CC" = "intervenient"; folderId: string; - DataArray: Array = []; + DataArray = new Array(); callbacks: { type: string, @@ -39,37 +38,39 @@ export class NotificationsService { public modalCtrl: AlertController, private animationController: AnimationController, private platform: Platform, - private router: Router, + private router: Router, private toastService: ToastService, private zone: NgZone, private activeroute: ActivatedRoute, - private jsonstore: JsonStore, private eventtrigger: EventTrigger, - private backgroundservice: BackgroundService) { + private backgroundservice: BackgroundService, + /* private fcm: FCM */) { this.storageService.get("Notifications").then((value) => { - + }).catch(()=>{ - this.storageService.store("Notifications",[]) - }) + }).catch(() => { - } + this.storageService.store("Notifications", []) + }) - registerCallback(type: string, funx: Function, object: any = {} ) { + } + + registerCallback(type: string, funx: Function, object: any = {}) { const id = uuidv4() - this.callbacks.push({type, funx, id}) - if(!object.hasOwnProperty('desktop') && object['desktop'] != false) { - this.backgroundservice.registerBackService('Notification',funx, type) + this.callbacks.push({ type, funx, id }) + if (!object.hasOwnProperty('desktop') && object['desktop'] != false) { + this.backgroundservice.registerBackService('Notification', funx, type) } return id; } deleteCallback(id) { - this.callbacks.forEach((e, index)=>{ - if(e.id == id) { + this.callbacks.forEach((e, index) => { + if (e.id == id) { if (index > -1) { this.callbacks.splice(index, 1); } @@ -81,188 +82,145 @@ export class NotificationsService { getTokenByUserIdAndId(user, userID) { const geturl = environment.apiURL + 'notifications/user/' + userID; - return this.http.get(`${geturl}`); + return this.http.get(`${geturl}`); + } + + requestPermissions() { + PushNotifications.requestPermissions().then(result => { + if (result.receive === 'granted') { + // Register with Apple / Google to receive push via APNS/FCM + PushNotifications.register(); + } else { + // Show some error + } + }); } getAndpostToken(username) { - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - //console.log('Notifications not supported') + console.log('Notifications not supported') } else { - const geturl = environment.apiURL + 'notifications/token'; - if(window['WLAuthorizationManager']) { - if(window['WLAuthorizationManager'].obtainAccessToken) { - window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then( - (token) => { - console.log('Push Notification: Success ' + token); - - window['MFPPush'].initialize( - function (successResponse) { - console.log("Push notification Successfully Service intialized: " + successResponse); - }, - function (failureResponse) { - console.log("Push notification failure Service intialized: " + failureResponse); - } - ); - - window['MFPPush'].registerDevice(null, async (successResponse) => { - console.log("Successfully registered: " + JSON.stringify(successResponse)); - console.log('token: ', successResponse.deviceId) - await this.storageService.store(username, successResponse.deviceId).then((tokennoti) => { - console.log('token store',tokennoti) - }); - await this.storageService.get(username).then(value => { - console.log('STORAGE TOKEN', value) - this.storageService.get(AuthConnstants.USER).then(res => { - console.log('USERID', res); - const headers = { 'Authorization': SessionStore.user.BasicAuthKey }; - const body = { - UserId: res.UserId, - TokenId: successResponse.deviceId, - Status: 1, - Service: 1 - }; - this.http.post(`${geturl}`, body, { headers }).subscribe(data => { - console.log('TOKEN USER MIDLE', data); - }) - }); - - }); - }, - function (failureResponse) { - console.log("Successfully failue: " + JSON.stringify(failureResponse)); - } - ); - }, (error) => { - console.log('Push notification recived: failure ' + error.responseText); - console.log(JSON.stringify(error)); - } - ); - } - } + PushNotifications.addListener('registration', + (token: Token) => { + console.log('token: ', token.value) + this.storageService.store(username, token.value); + this.storageService.get(username).then(value => { + console.log('STORAGE TOKEN', value) + this.storageService.get(AuthConnstants.USER).then(res => { + console.log('USERID', res); + const headers = { 'Authorization': SessionStore.user.BasicAuthKey }; + const body = { + UserId: res.UserId, + TokenId: token.value, + Status: 1, + Service: 1 + }; - } - - } - - tempClearArray(){ - this.DataArray = []; - } - - async onReceviNotification() { - - if(window['WLAuthorizationManager']) { - if(window['WLAuthorizationManager'].obtainAccessToken) { - window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then( - (token) => { - console.log('Push Notification: Success ' + token); - - window['MFPPush'].initialize( - function (successResponse) { - console.log("Push notification Successfully intialized: " + successResponse); - window['MFPPush'].registerNotificationsCallback(notificationReceived); - }, - function (failureResponse) { - console.log("Push notification failure intialized: " + failureResponse); - } - ); - var notificationReceived = (message) => { - //this.jsonstore.createCollection('Notifications',message); - this.DataArray.push(message) - console.log("On ReceiveNotification", this.DataArray) - this.storageService.store("Notifications",this.DataArray) - - console.log(message); - this.eventtrigger.publishSomeData({ - notification: "recive" + this.http.post(`${geturl}`, body, { headers }).subscribe(data => { + console.log('TOKEN USER MIDLE', data); + }, (error) => { + console.log('Post token to backend', error) }) - var data = JSON.parse(message.payload); + }); - //synchro.$send(data) - - console.log('data.Service', data.Service); // module - console.log('data.IdObject', data.IdObject); // Object id - console.log('data.Object', data.Object); // details - - if(message.actionName){ - this.notificatinsRoutes(data); - } else { - /* this.toastService.notificationMessage(message.alert,this.notificatinsRoutes, data); */ - //this.notificatinsRoutes(data); - console.log(data) - } - - this.callbacks.forEach( e=> { - if(e.type == data.Object || e.type == "any") { - e.funx() - } - }) - - } - }, (error) => { - console.log('Push notification recived: failure ' + error.responseText); - console.log(JSON.stringify(error)); - } - ); - } - } - - - } - - notificatinsRoutes = (data) => { - if (data.Service === "agenda") { - this.zone.run(() => this.router.navigate(['/home/agenda', data.IdObject, 'agenda'])); - } - else if (data.Service === "gabinete-digital" && data.Object === "expediente") { - this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente',data.IdObject,'gabinete-digital'])); - } - else if (data.Service === "agenda" && data.Object === "event-list") { - this.zone.run(() => this.router.navigate(['/home/agenda/event-list/approve-event',data.IdObject, 'agenda'])); - }else if (data.Service === "gabinete-digital" && data.Object === "despachos") { - - this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos',data.IdObject,'gabinete-digital'],{replaceUrl: true})); - } - else if (data.Service === "gabinete-digital" && data.Object === "parecer") { - - this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos',data.IdObject,'gabinete-digital'])); - } - else if (data.Service === "gabinete-digital" && data.Object === "deferimento") { - - this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos',data.IdObject,'gabinete-digital'])); - } - else if (data.Service === "gabinete-digital" && data.Object === "despachos-pr") { - - this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/despachos-pr',data.IdObject,'gabinete-digital'])); - } - else if (data.Service === "accoes" && data.Object === "accao") { - this.zone.run(() => this.router.navigate(['/home/publications',data.IdObject])); - } - else if (data.Service === "accoes" && data.Object === "publicacao") { - this.zone.run(() => this.router.navigate(['/home/publications/view-publications',data.FolderId,data.IdObject])); - } - else if (data.Service === "gabinete-digital" && data.Object === "diplomas") { - this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/diplomas', data.IdObject, 'gabinete-digital'])); - } - else if (data.Service === "gabinete-digital" && data.Object === "diplomas-assinar") { - let navigationExtras: NavigationExtras = { - queryParams: { - "serialNumber": data.IdObject, + }); } - }; - this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/diplomas-assinar/diploma-assinar'], navigationExtras)); - } - else if (data.Service === "gabinete-digital" && data.Object === "expedientes-pr") { - this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/expedientes-pr',data.IdObject,'gabinete-digital'])); + ); } + } - platformVerify() { + registrationError() { + PushNotifications.addListener('registrationError', + (error: any) => { + console.log('Error on registration: ' + JSON.stringify(error)); + } + ); + } - if (this.platform.is('cordova')) { - } else { + onReciveForeground() { + PushNotifications.addListener('pushNotificationReceived', + (notification: PushNotificationSchema) => { + console.log('Push received: ' + JSON.stringify(notification)); + this.DataArray.push(notification) + console.log("On ReceiveNotification", this.DataArray) + this.storageService.store("Notifications", this.DataArray) + this.eventtrigger.publishSomeData({ + notification: "recive" + }) + } + ); + } + + onReciveBackground() { + PushNotifications.addListener('pushNotificationActionPerformed', + (notification: ActionPerformed) => { + console.log('Push action performed: ' + JSON.stringify(notification)); + /* this.DataArray.push(notification.notification) + console.log("On ReceiveNotification", this.DataArray) + this.storageService.store("Notifications", this.DataArray) + this.eventtrigger.publishSomeData({ + notification: "recive" + }) */ + this.notificatinsRoutes(notification) + } + ); + } + + tempClearArray() { + this.DataArray = new Array; + } + + + notificatinsRoutes = (notification) => { + + console.log('Push action performed 2222: ' + JSON.stringify(notification.data)); + + if (notification.notification.data.Service === "agenda" && notification.notification.data.IdObject.length > 10) { + console.log("Id Lenght", notification.notification.data.IdObject.length) + this.zone.run(() => this.router.navigate(['/home/agenda', notification.notification.data.IdObject, 'agenda'])); } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "expediente") { + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', notification.notification.data.IdObject, 'gabinete-digital'])); + } + else if (notification.notification.data.Service === "agenda" && notification.notification.data.Object === "event-list") { + //this.zone.run(() => this.router.navigate(['/home/gabinete-digital/event-list/approve-event',IdObject, 'agenda'])); + this.zone.run(() => this.router.navigate(['/home/agenda/event-list/approve-event', notification.notification.data.IdObject, 'agenda'])); + + } else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "despachos") { + + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos', notification.notification.data.IdObject, 'gabinete-digital'], { replaceUrl: true })); + } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "parecer") { + + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', notification.notification.data.IdObject, 'gabinete-digital'])); + } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "deferimento") { + + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', notification.notification.data.IdObject, 'gabinete-digital'])); + } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "despachos-pr") { + + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos-pr', notification.notification.data.IdObject, 'gabinete-digital'])); + } + else if (notification.notification.data.Service === "accoes" && notification.notification.data.Object === "accao") { + this.zone.run(() => this.router.navigate(['/home/publications', notification.notification.data.IdObject])); + } + else if (notification.notification.data.Service === "accoes" && notification.notification.data.Object === "publicacao") { + this.zone.run(() => this.router.navigate(['/home/publications/view-publications', notification.notification.data.FolderId, notification.data.IdObject])); + } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "diplomas") { + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas', notification.notification.data.IdObject, 'gabinete-digital'])); + } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "diplomas-assinar") { + + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas-assinar', notification.notification.data.IdObject, 'gabinete-digital'])); + } + else if (notification.notification.data.Service === "gabinete-digital" && notification.notification.data.Object === "expedientes-pr") { + this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expedientes-pr', notification.notification.data.IdObject, 'gabinete-digital'])); + } + } } diff --git a/src/app/services/sqlite.service.ts b/src/app/services/sqlite.service.ts index c1f13cde1..af3ce2dfa 100644 --- a/src/app/services/sqlite.service.ts +++ b/src/app/services/sqlite.service.ts @@ -25,15 +25,19 @@ export class SqliteService { this.databaseConn(); } - databaseConn() { + databaseConn() { + console.log('SQLDBConnect') if (this.platform.is('desktop') || this.platform.is('mobileweb')) { } else { + console.log('SQLDBConnect22') this.platform.ready().then(async () => { - await this.sqlite.create({ + console.log('SQLDBConnect33') + this.sqlite.create({ name: this.db_name, location: 'default' }).then(async (sqLite: SQLiteObject) => { this.dbInstance = sqLite; + console.log('SQLITE INSTACE ',this.dbInstance); await sqLite.executeSql(` CREATE TABLE IF NOT EXISTS ${this.events} ( EventId varchar(255) PRIMARY KEY, @@ -125,6 +129,8 @@ export class SqliteService { .catch((error) => console.log(JSON.stringify(error))); }) .catch((error) => console.log(JSON.stringify(error))); + }).catch((error) => { + console.log('Platform ready error', error) }); } } @@ -506,4 +512,10 @@ export class SqliteService { console.log(" Get events by id error", JSON.stringify(e)); }); } + + deleteEventTable() { + this.dbInstance.executeSql("delete from "+ this.events).then((res) => { + console.log('DELETE EVENT TABLE RESULT ', res) + }); + } } diff --git a/src/app/services/theme.service.spec.ts b/src/app/services/theme.service.spec.ts new file mode 100644 index 000000000..1c2957ba8 --- /dev/null +++ b/src/app/services/theme.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ThemeService } from './theme.service'; + +describe('ThemeService', () => { + let service: ThemeService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ThemeService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/theme.service.ts b/src/app/services/theme.service.ts new file mode 100644 index 000000000..5f41e5515 --- /dev/null +++ b/src/app/services/theme.service.ts @@ -0,0 +1,31 @@ +import { Injectable } from '@angular/core'; +import { StorageService } from 'src/app/services/storage.service'; + +@Injectable({ + providedIn: 'root' +}) +export class ThemeService { + + themes = [ + 'gov', + 'default', + 'tribunal' + ] + + currentTheme = 'gov' + + constructor(private storageservice: StorageService) { } + + setTheme(theme: 'gov' | 'default' | 'tribunal') { + + document.body.classList.remove("gov"); + document.body.classList.remove("default"); + document.body.classList.remove("tribunal"); + document.body.classList.add(theme); + this.currentTheme = theme + console.log('Current theme', theme); + this.storageservice.store('theme',theme); + + } + +} diff --git a/src/app/services/toast.service.ts b/src/app/services/toast.service.ts index c36b45ae2..60fbde25a 100644 --- a/src/app/services/toast.service.ts +++ b/src/app/services/toast.service.ts @@ -14,9 +14,7 @@ export class ToastService { private modalController: ModalController, ) { } - ngOnInit() { - - } + ngOnInit() {} async presentToast(infoMessage: string) { const toast = await this.toastController.create({ @@ -26,6 +24,73 @@ export class ToastService { toast.present(); } + + async _successMessage(message?: any, callback?) { + + let notification = document.createElement('div') + notification.className = 'notification' + notification.innerHTML = ` + +
+

+ +

{{ message }}

+

+ +
+ ` + + document.body.append(notification) + notification.querySelector('.text').innerHTML = message || 'Processo efetuado' + setTimeout(()=>{ + if (callback) { + callback() + } + + notification.style.right = "-100%" + + setTimeout(()=>{ + notification.remove() + },1000) + + },6000) + + } + + async _badRequest(message?: string, callback?) { + + let notification = document.createElement('div') + notification.className = 'notification' + notification.innerHTML = ` + +
+

+ +

{{ message }}

+

+ +
+ ` + + notification.style.animationName = 'notification-top' + + document.body.append(notification) + notification.querySelector('.text').innerHTML = message || 'Processo não efetuado' + setTimeout(()=>{ + if (callback) { + callback() + } + + notification.style.right = "-100%" + + setTimeout(()=>{ + notification.remove() + },1000) + + },6000) + + } + async successMessage(message?: any, callback?) { let notification = document.createElement('div') @@ -41,7 +106,7 @@ export class ToastService {
` - document.body.append(notification) + // document.body.append(notification) notification.querySelector('.text').innerHTML = message || 'Processo efetuado' setTimeout(()=>{ if (callback) { @@ -75,7 +140,7 @@ export class ToastService { notification.style.animationName = 'notification-top' - document.body.append(notification) + // document.body.append(notification) notification.querySelector('.text').innerHTML = message || 'Processo não efetuado' setTimeout(()=>{ if (callback) { @@ -113,7 +178,7 @@ export class ToastService { notification.remove(); } - document.body.append(notification) + // document.body.append(notification) document.body.addEventListener('click', funcx); notification.querySelector('.text').innerHTML = message || 'Processo efetuado' @@ -131,16 +196,30 @@ export class ToastService { loading() : HTMLDivElement { + let loader: HTMLDivElement = document.createElement('div') + + let theme; + + if(document.querySelector('body').className.includes('gov')) { + theme = 'gov' + } else if(document.querySelector('body').className.includes('default')) { + theme = 'blue' + } else if(document.querySelector('body').className.includes('tribunal')) { + theme = 'tribunal' + } else { + theme = 'gov' + } + loader.innerHTML = ` - -
-
- +
+
+ +
-
- ` - + `; + + console.log(document.querySelector('body').classList) document.body.append(loader) loader.addEventListener('click', ()=>{ diff --git a/src/app/services/webnotifications.service.ts b/src/app/services/webnotifications.service.ts index f5d8321b8..db0818093 100644 --- a/src/app/services/webnotifications.service.ts +++ b/src/app/services/webnotifications.service.ts @@ -3,11 +3,10 @@ import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; import { environment } from 'src/environments/environment'; import { StorageService } from 'src/app/services/storage.service'; import { AuthConnstants } from 'src/app/config/auth-constants'; -import { Token } from '../models/token.model'; +import { Tokenn } from '../models/token.model'; import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular'; import { NavigationExtras, Router } from '@angular/router'; import { ToastService } from './toast.service'; -import MFPPush from 'ibm-mfp-web-push'; @Injectable({ providedIn: 'root' @@ -39,18 +38,12 @@ export class WebNotificationsService { } - MFPPush.initialize({ - appId: "com.gpr.gabinetedigital", - mfpContextRoot: "/mfp", - }); - - /* MFPPush.initialize({ appId: "com.gpr.gabinetedigital", mfpContextRoot: "/mfp", }); */ - + /* MFPPush.registerDevice() .then((res) => { console.log("WEB Successfully Registered Device..."); @@ -72,60 +65,6 @@ export class WebNotificationsService { }); */ } - register(){ - MFPPush.registerDevice() - .then((res) => { - console.log("WEB Successfully Registered Device...", res); - }) - .catch((err) => { - console.log("WEB Registration Failed" + err); - }); - } - - async onReceviNotificationWeb() { - - if (window['WLAuthorizationManager']) { - if (window['WLAuthorizationManager'].obtainAccessToken) { - window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then( - (token) => { - console.log('Push Notification: Success ' + token); - - MFPPush.initialize( - function (successResponse) { - console.log("Push notification Successfully intialized: " + successResponse); - MFPPush.registerNotificationsCallback(notificationReceived); - }, - function (failureResponse) { - console.log("Push notification failure intialized: " + failureResponse); - } - ); - var notificationReceived = (message) => { - console.log(message); - var data = JSON.parse(message.payload); - console.log(data.Service); - console.log(data.IdObject); - console.log(data.Object); - - if (message.actionName) { - //this.notificatinsRoutes(data); - console.log("Web notification") - } else { - console.log("Web notification") - //this.toastService.notificationMessage(message.alert,this.notificatinsRoutes, data); - } - - } - }, (error) => { - console.log('Push notification recived: failure ' + error.responseText); - console.log(JSON.stringify(error)); - } - ); - } - } - - - } - /* getTokenByUserIdAndId(user, userID) { const geturl = environment.apiURL + 'notifications/user/' + userID; @@ -138,11 +77,11 @@ export class WebNotificationsService { } else { const geturl = environment.apiURL + 'notifications/token'; */ - /* + /* window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then( (token) => { console.log('Push Notification: Success ' + token); - + MFPPush.initialize( function (successResponse) { console.log("Push notification Successfully Service intialized: " + successResponse); @@ -151,7 +90,7 @@ export class WebNotificationsService { console.log("Push notification failure Service intialized: " + failureResponse); } ); - + MFPPush.registerDevice(null, (successResponse) => { console.log("Successfully registered: " + JSON.stringify(successResponse)); console.log('token: ', successResponse.deviceId) @@ -171,7 +110,7 @@ export class WebNotificationsService { console.log('TOKEN USER MIDLE', data); }) }); - + }); }, function (failureResponse) { @@ -184,14 +123,14 @@ export class WebNotificationsService { } ); } - + } */ - /* + /* async onReceviNotification() { window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then( (token) => { console.log('Push Notification: Success ' + token); - + MFPPush.initialize( function (successResponse) { console.log("Push notification Successfully intialized: " + successResponse); @@ -207,13 +146,13 @@ export class WebNotificationsService { console.log(data.Service); console.log(data.IdObject); console.log(data.Object); - + if(message.actionName){ this.notificatinsRoutes(data); } else { this.toastService.notificationMessage(message.alert,this.notificatinsRoutes, data); } - + } }, (error) => { console.log('Push notification recived: failure ' + error.responseText); diff --git a/src/app/shared/agenda/approve-event/approve-event.page.html b/src/app/shared/agenda/approve-event/approve-event.page.html index 8fccc23f2..35da291f1 100644 --- a/src/app/shared/agenda/approve-event/approve-event.page.html +++ b/src/app/shared/agenda/approve-event/approve-event.page.html @@ -18,15 +18,18 @@
- + +
- +
diff --git a/src/app/shared/agenda/approve-event/approve-event.page.scss b/src/app/shared/agenda/approve-event/approve-event.page.scss index 16e0df76b..a3c0500fd 100644 --- a/src/app/shared/agenda/approve-event/approve-event.page.scss +++ b/src/app/shared/agenda/approve-event/approve-event.page.scss @@ -93,7 +93,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/agenda/approve-event/approve-event.page.ts b/src/app/shared/agenda/approve-event/approve-event.page.ts index 473476872..c94d7daef 100644 --- a/src/app/shared/agenda/approve-event/approve-event.page.ts +++ b/src/app/shared/agenda/approve-event/approve-event.page.ts @@ -10,6 +10,7 @@ import { EventActionsPopoverPage } from 'src/app/pages/agenda/event-actions-popo import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ToastService } from 'src/app/services/toast.service'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-approve-event', @@ -48,7 +49,8 @@ export class ApproveEventPage implements OnInit { private popoverController: PopoverController, private alertService: AlertService, private iab: InAppBrowser, - private toastService: ToastService + private toastService: ToastService, + public ThemeService: ThemeService ) { // Event to approve list diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html index 1c484cf20..7ccf43a4b 100644 --- a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.html @@ -280,7 +280,7 @@
-
+
@@ -290,7 +290,8 @@
- + +
@@ -301,7 +302,7 @@
-
+
@@ -311,7 +312,8 @@
- + +
@@ -331,7 +333,8 @@
- + +
Adicionar documentos @@ -352,7 +355,7 @@

-

{{document.Stakeholders}} {{document.CreateDate | date: 'dd-MM-yyyy HH:mm'}}

+

{{document.Stakeholders}} {{document.CreateDate }}

diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss index 182551484..2073e52d8 100644 --- a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.scss @@ -83,7 +83,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -91,7 +92,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts index 347c6d60c..bf0cc6f6a 100644 --- a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts @@ -13,6 +13,8 @@ import { ToastService } from 'src/app/services/toast.service'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' import { EventToApproveEdit } from 'src/app/models/event.model'; +import { ThemeService } from 'src/app/services/theme.service' + const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -86,7 +88,8 @@ export class EditEventToApprovePage implements OnInit { MDEmail: '', MDName: '', IsAllDayEvent: false, - Message: '' + Message: '', + Status: '' } } @@ -125,6 +128,7 @@ export class EditEventToApprovePage implements OnInit { private attachmentsService: AttachmentsService, private processes:ProcessesService, private toastService: ToastService, + public ThemeService: ThemeService ) { this.isEventEdited = false; } @@ -292,12 +296,12 @@ export class EditEventToApprovePage implements OnInit { MDName: this.eventProcess.workflowInstanceDataFields.MDName, MDEmail: this.eventProcess.workflowInstanceDataFields.MDEmail, IsAllDayEvent: this.eventProcess.workflowInstanceDataFields.IsAllDayEvent, - Status: null, + Status: this.eventProcess.workflowInstanceDataFields.Status, EventType: this.eventProcess.workflowInstanceDataFields.EventType, IsRecurring: this.eventProcess.workflowInstanceDataFields.IsRecurring, Message: this.eventProcess.workflowInstanceDataFields.Message, EventRecurrence: { - Type: this.eventProcess.workflowInstanceDataFields.OccurrenceType, + Type: this.eventProcess.workflowInstanceDataFields.OccurrenceType || '-1', LastOccurrence: this.eventProcess.workflowInstanceDataFields.LastOccurrence, }, ParticipantsList: this.eventProcess.workflowInstanceDataFields.ParticipantsList, diff --git a/src/app/shared/agenda/edit-event/edit-event.page.html b/src/app/shared/agenda/edit-event/edit-event.page.html index 7005206c6..f0a6432c6 100644 --- a/src/app/shared/agenda/edit-event/edit-event.page.html +++ b/src/app/shared/agenda/edit-event/edit-event.page.html @@ -3,7 +3,7 @@
- Editar Evento aganda + Editar Evento
@@ -223,14 +223,15 @@
- Adicionar intervenientes - {{participant.Name}} +
Adicionar intervenientes
+
{{participant.Name}}
@@ -253,7 +254,8 @@
@@ -274,7 +276,8 @@
- + +
Adicionar documentos diff --git a/src/app/shared/agenda/edit-event/edit-event.page.scss b/src/app/shared/agenda/edit-event/edit-event.page.scss index e91c29131..9eb41d3a8 100644 --- a/src/app/shared/agenda/edit-event/edit-event.page.scss +++ b/src/app/shared/agenda/edit-event/edit-event.page.scss @@ -95,7 +95,8 @@ ion-content{ width: 45px; float: right; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -103,7 +104,7 @@ ion-content{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/agenda/edit-event/edit-event.page.ts b/src/app/shared/agenda/edit-event/edit-event.page.ts index ef090f493..36759d852 100644 --- a/src/app/shared/agenda/edit-event/edit-event.page.ts +++ b/src/app/shared/agenda/edit-event/edit-event.page.ts @@ -12,6 +12,8 @@ import { Attachment } from 'src/app/models/attachment.model'; import { ToastService } from 'src/app/services/toast.service'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { ParticipantsPipe } from 'src/app/pipes/participants.pipe'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-edit-event', @@ -89,6 +91,7 @@ export class EditEventPage implements OnInit { public alertController: AlertController, private attachmentsService: AttachmentsService, private toastService: ToastService, + public ThemeService: ThemeService ) {} ngOnInit() { @@ -139,6 +142,10 @@ export class EditEventPage implements OnInit { } + ngOnChanges(changes: any): void { + // this.loadedEventAttachments = this.loadedEventAttachments.concat(this.postEvent.Attachments) + } + close() { this.closeComponent.emit(); this.setIntervenient.emit([]); @@ -279,7 +286,6 @@ export class EditEventPage implements OnInit { async saveDocument() { - console.log(this.loadedEventAttachments) await this.loadedEventAttachments.forEach( async (e)=>{ @@ -299,12 +305,11 @@ export class EditEventPage implements OnInit { SerialNumber: '', }; - this.attachmentsService.setEventAttachmentById(DocumentToSave).subscribe(()=>{ - this.getAttachments(this.postEvent.EventId); - }); + await this.attachmentsService.setEventAttachmentById(DocumentToSave).toPromise(); + await this.getAttachments(this.postEvent.EventId); } else if(remove) { - this.attachmentsService.deleteEventAttachmentById(e.Id).subscribe( res=> {}) + await this.attachmentsService.deleteEventAttachmentById(e.Id).toPromise() } }) @@ -363,11 +368,9 @@ export class EditEventPage implements OnInit { window['temp.path:/home/agenda/edit-event.component.ts'] = {} } - getAttachments(eventId: string){ - this.attachmentsService.getAttachmentsById(eventId).subscribe(res=>{ - this.loadedEventAttachments = res; - console.log('res', res); - }); + async getAttachments(eventId: string){ + const rest: any = this.attachmentsService.getAttachmentsById(eventId).toPromise() + this.loadedEventAttachments = rest; } deleteAttachment(attachmentID: string, index) { @@ -402,9 +405,9 @@ export class EditEventPage implements OnInit { SourceName: data.selected.Assunto, ParentId: this.postEvent.EventId, SourceId: data.selected.Id, - Stakeholders: false, + Stakeholders: data.selected.Stakeholders | data.selected.EntidadeOrganicaNome, ApplicationId: data.selected.ApplicationType.toString(), - CreateDate: false, + CreateDate: data.selected.Data, // needed to attach this document Id: 'add', SourceTitle: data.selected.Assunto, diff --git a/src/app/shared/agenda/event-list/event-list.page.html b/src/app/shared/agenda/event-list/event-list.page.html index d62e48cca..62932ed7d 100644 --- a/src/app/shared/agenda/event-list/event-list.page.html +++ b/src/app/shared/agenda/event-list/event-list.page.html @@ -4,7 +4,7 @@
Eventos para Aprovação
diff --git a/src/app/shared/agenda/event-list/event-list.page.scss b/src/app/shared/agenda/event-list/event-list.page.scss index 0d1e3c664..effffe6ac 100644 --- a/src/app/shared/agenda/event-list/event-list.page.scss +++ b/src/app/shared/agenda/event-list/event-list.page.scss @@ -98,7 +98,7 @@ font-style: normal; line-height: normal; letter-spacing: normal; - color: #0d89d1; + color: var(--title-text-color); margin: 0; padding: 0; } diff --git a/src/app/shared/agenda/event-list/event-list.page.ts b/src/app/shared/agenda/event-list/event-list.page.ts index f166dd248..924755b02 100644 --- a/src/app/shared/agenda/event-list/event-list.page.ts +++ b/src/app/shared/agenda/event-list/event-list.page.ts @@ -56,7 +56,7 @@ export class EventListPage implements OnInit { } ngOnChanges() { - //this.LoadToApproveEvents(); + this.LoadToApproveEvents(); } segmentChanged(ev: any) { diff --git a/src/app/shared/agenda/new-event/new-event.page.html b/src/app/shared/agenda/new-event/new-event.page.html index 0dce0afc6..9c068535c 100644 --- a/src/app/shared/agenda/new-event/new-event.page.html +++ b/src/app/shared/agenda/new-event/new-event.page.html @@ -236,7 +236,7 @@
-
+
@@ -247,8 +247,9 @@
-
- +
+ +
@@ -259,7 +260,7 @@
-
+
@@ -270,8 +271,9 @@
-
- +
+ +
@@ -293,7 +295,8 @@
- + +
Adicionar documentos diff --git a/src/app/shared/agenda/new-event/new-event.page.scss b/src/app/shared/agenda/new-event/new-event.page.scss index 0e05a84b1..b0b302e16 100644 --- a/src/app/shared/agenda/new-event/new-event.page.scss +++ b/src/app/shared/agenda/new-event/new-event.page.scss @@ -98,7 +98,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -106,7 +107,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/agenda/new-event/new-event.page.ts b/src/app/shared/agenda/new-event/new-event.page.ts index c3976d055..058c0910f 100644 --- a/src/app/shared/agenda/new-event/new-event.page.ts +++ b/src/app/shared/agenda/new-event/new-event.page.ts @@ -24,6 +24,8 @@ import { ThemePalette } from '@angular/material/core'; import { ViewChild } from '@angular/core'; import { FormGroup, Validators } from '@angular/forms'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; +import { ThemeService } from 'src/app/services/theme.service' + const moment = _rollupMoment || _moment; @@ -118,6 +120,7 @@ export class NewEventPage implements OnInit { private toastService: ToastService, private userService: AuthService, private dateAdapter: DateAdapter, + public ThemeService: ThemeService // private translate: TranslateService ) { this.dateAdapter.setLocale('pt'); @@ -406,14 +409,14 @@ export class NewEventPage implements OnInit { this.afterSave(); } - this.toastService.successMessage('Evento criado') + this.toastService._successMessage('Evento criado') }, error => { loader.remove() this.showLoader = false - this.toastService.badRequest('Evento não criado') + this.toastService._badRequest('Evento não criado') }); diff --git a/src/app/shared/agenda/view-event/view-event.page.html b/src/app/shared/agenda/view-event/view-event.page.html index a99458714..2a6e6eb74 100644 --- a/src/app/shared/agenda/view-event/view-event.page.html +++ b/src/app/shared/agenda/view-event/view-event.page.html @@ -4,7 +4,8 @@
@@ -13,7 +14,8 @@
- + +
diff --git a/src/app/shared/agenda/view-event/view-event.page.scss b/src/app/shared/agenda/view-event/view-event.page.scss index 81059a609..4f044aa5f 100644 --- a/src/app/shared/agenda/view-event/view-event.page.scss +++ b/src/app/shared/agenda/view-event/view-event.page.scss @@ -163,7 +163,7 @@ ion-content{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts index 8277b7ecf..2de4d89da 100644 --- a/src/app/shared/agenda/view-event/view-event.page.ts +++ b/src/app/shared/agenda/view-event/view-event.page.ts @@ -12,6 +12,8 @@ import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTas import { DocumentSetUpMeetingPage } from 'src/app/modals/document-set-up-meeting/document-set-up-meeting.page'; import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-view-event', @@ -51,7 +53,8 @@ export class ViewEventPage implements OnInit { private processes: ProcessesService, private modalController: ModalController, public popoverController: PopoverController, - private toastService: ToastService + private toastService: ToastService, + public ThemeService: ThemeService ) { this.isEventEdited = false; this.loadedEvent = new Event(); @@ -92,6 +95,7 @@ export class ViewEventPage implements OnInit { } loadEvent() { + this.eventsService.getEvent(this.eventId).subscribe(res => { console.log(res); this.loadedEvent = res; diff --git a/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.html b/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.html index 9b8db00e1..c984dc2d8 100644 --- a/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.html +++ b/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.html @@ -1,5 +1,6 @@
diff --git a/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.ts b/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.ts index f8d5f8507..c51aed317 100644 --- a/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.ts +++ b/src/app/shared/btn-modal-dismiss/btn-modal-dismiss.page.ts @@ -1,5 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { ModalController } from '@ionic/angular'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-btn-modal-dismiss', @@ -10,6 +11,7 @@ export class BtnModalDismissPage implements OnInit { constructor( private modalController: ModalController, + public ThemeService: ThemeService ) { } diff --git a/src/app/shared/btn-seguinte/btn-seguinte.page.scss b/src/app/shared/btn-seguinte/btn-seguinte.page.scss index bc35e6d03..617cd84ef 100644 --- a/src/app/shared/btn-seguinte/btn-seguinte.page.scss +++ b/src/app/shared/btn-seguinte/btn-seguinte.page.scss @@ -2,6 +2,6 @@ padding: 0!important; float: right; font-size: 15px; - color: #0782c9; + color: var(--title-text-color); margin: 8px 0 0 5px; } \ No newline at end of file diff --git a/src/app/shared/chat/edit-group/edit-group.page.html b/src/app/shared/chat/edit-group/edit-group.page.html index 9d046bfe9..5de4ba1db 100644 --- a/src/app/shared/chat/edit-group/edit-group.page.html +++ b/src/app/shared/chat/edit-group/edit-group.page.html @@ -4,7 +4,8 @@
diff --git a/src/app/shared/chat/edit-group/edit-group.page.ts b/src/app/shared/chat/edit-group/edit-group.page.ts index 02ca60700..0ee77552b 100644 --- a/src/app/shared/chat/edit-group/edit-group.page.ts +++ b/src/app/shared/chat/edit-group/edit-group.page.ts @@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { ModalController, PickerController } from '@ionic/angular'; import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-edit-group', @@ -26,6 +27,7 @@ export class EditGroupPage implements OnInit { private pickerController: PickerController, private chatService: ChatService, private authService: AuthService, + public ThemeService: ThemeService ) { this.loggedUser = authService.ValidatedUserChat['data']; } diff --git a/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.html b/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.html index 12efc9f18..e2ed656ff 100644 --- a/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.html +++ b/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.html @@ -2,9 +2,10 @@
-
+
diff --git a/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.scss b/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.scss index b28c08b5b..5c79cb69a 100644 --- a/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.scss +++ b/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.scss @@ -45,7 +45,7 @@ padding: 0!important; float: right; font-size: 15px; - color: #0782c9; + color: var(--font-awesome); margin: 8px 5px 0 5px; } .title{ @@ -71,7 +71,7 @@ --border-radius: 5px; --box-shadow: none; overflow: hidden; - --icon-color:#0d89d1; + --icon-color:var(--font-awesome); } } @@ -142,15 +142,15 @@ } .item-checkbox ion-checkbox, .members-checkbox ion-checkbox{ - --border-color: #0d89d1; - --background-checked:#0d89d1; + --border-color: var(--title-text-color); + --background-checked:var(--title-text-color); float: left; } .item-checkbox ion-label, .members-checkbox p{ padding-left: 10px; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); float: left; flex-grow: 1; } diff --git a/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.ts b/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.ts index 916f3ad3e..63173ed2f 100644 --- a/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.ts +++ b/src/app/shared/chat/group-messages/group-contacts/group-contacts.page.ts @@ -6,6 +6,7 @@ import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; import { NewGroupPage } from '../../new-group/new-group.page'; import { GroupMessagesPage } from '../group-messages.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-group-contacts', @@ -39,6 +40,7 @@ export class GroupContactsPage implements OnInit { private http: HttpClient, private chatService: ChatService, private authService: AuthService, + public ThemeService: ThemeService //private navParams: NavParams, ) { diff --git a/src/app/shared/chat/group-messages/group-messages.page.html b/src/app/shared/chat/group-messages/group-messages.page.html index f186c0e6a..e8ba47bdc 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.html +++ b/src/app/shared/chat/group-messages/group-messages.page.html @@ -7,13 +7,15 @@
- + +
@@ -21,6 +23,10 @@
+
+ + {{countDownDate()}} +
@@ -128,7 +134,7 @@
@@ -163,10 +169,12 @@
diff --git a/src/app/shared/chat/group-messages/group-messages.page.scss b/src/app/shared/chat/group-messages/group-messages.page.scss index 30facfa18..6da1f2026 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.scss +++ b/src/app/shared/chat/group-messages/group-messages.page.scss @@ -100,7 +100,7 @@ .info-text{ /* width: 322px; */ width: em(422px); - background: #fef4c5; + background: var(--chat-alert-msg-color); text-align: center; font-size: 13px; color: #262420; @@ -160,12 +160,12 @@ } .incoming-false{ margin: 10px 20px 10px 75px; - background: #e4f4fe; + background: var(--chat-incoming-msg-color); float: right; } .title{ display: inline; - color: #0782c9; + color: var(--title-text-color); font-weight: bold; margin-bottom: 5px; diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index 8b10e1990..9e57e30e8 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -18,7 +18,7 @@ import { SearchList } from 'src/app/models/search-document'; import { ProcessesService } from 'src/app/services/processes.service'; import { FileService } from 'src/app/services/functions/file.service'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; - +import { ThemeService } from 'src/app/services/theme.service' /* import * as pdfjsLib from 'pdfjs-dist'; @@ -56,6 +56,8 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe currentPosition: any; startPosition: number; scrollToBottomBtn = false; + roomCountDownDate:string; + roomCountDownTime:string; @Input() roomId:string; @Output() closeAllDesktopComponents:EventEmitter = new EventEmitter(); @@ -84,9 +86,12 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe private fileToBase64Service: FileToBase64Service, private processesService: ProcessesService, private fileService: FileService, + public ThemeService: ThemeService ) { this.loggedUserChat = authService.ValidatedUserChat['data']; this.isGroupCreated = true; + this.roomCountDownDate = ""; + this.roomCountDownTime = ""; } ngOnChanges(changes: SimpleChanges): void { @@ -98,49 +103,18 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe this.loggedUser=this.loggedUserChat; this.getRoomInfo(); this.serverLongPull(); - console.log(this.roomId); this.setStatus('online'); this.getChatMembers(); - - /* pdfjs.Lib.getDocument('sample.pdf').promise.then((doc)=>{ - console.log(doc); - - }) */ - //this.loadPDF(); } - /* loadPDF() { - const loadingTask = pdfjsLib.getDocument( this.pdfurl ); - loadingTask.promise.then((pdf) => { - console.log( "pdf: ", pdf ); - console.log('PDF loaded'); + showDateDuration(start:any){ + return this.timeService.showDateDuration(start); + } - // Fetch the first page - var pageNumber = 1; - pdf.getPage(pageNumber).then(function(page) { - console.log('Page loaded'); - - var scale = 1.5; - var viewport = page.getViewport({scale: scale}); - - // Prepare canvas using PDF page dimensions - var canvas: any = document.getElementById('pdf_canvas'); - var context = canvas.getContext('2d'); - canvas.height = viewport.height; - canvas.width = viewport.width; - - // Render PDF page into canvas context - var renderContext = { - canvasContext: context, - viewport: viewport - }; - var renderTask = page.render(renderContext); - renderTask.promise.then(function () { - console.log('Page rendered'); - }); - }); - }); - } */ + countDownDate(){ + //this.roomCountDownTime = this.timeService.countDownDateTimer(this.roomCountDownDate, this.room._id); + return this.timeService.countDownDateTimer(this.roomCountDownDate, this.roomId); + } setStatus(status:string){ let body = { @@ -233,21 +207,19 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe console.log('here watching'); return this.roomId; } - showDateDuration(start:any){ - return this.timeService.showDateDuration(start); - } - getRoomInfo(){ - this.showLoader = true; - this.chatService.getRoomInfo(this.roomId).subscribe(room=>{ - this.room = room['room']; - if(this.room.name){ - this.roomName = this.room.name.split('-').join(' '); - } - this.getGroupContacts(this.room); - //this.loadGroupMessages(this.room); - this.showLoader = false; - }); + async getRoomInfo(){ + let room = await this.chatService.getRoomInfo(this.roomId).toPromise(); + this.room=room['room']; + if(this.room.name){ + this.roomName = this.room.name.split('-').join(' '); + } + + if(this.room.customFields.countDownDate){ + this.roomCountDownDate = this.room.customFields.countDownDate; + } + + this.getGroupContacts(this.room); } getGroupContacts(room:any){ diff --git a/src/app/shared/chat/messages/contacts/contacts.page.html b/src/app/shared/chat/messages/contacts/contacts.page.html index e263f96f7..be0ccfea1 100644 --- a/src/app/shared/chat/messages/contacts/contacts.page.html +++ b/src/app/shared/chat/messages/contacts/contacts.page.html @@ -2,8 +2,9 @@
-
- +
+ +
Nova Conversa @@ -34,7 +35,7 @@ {{header}}
-
+

{{user.name}}

diff --git a/src/app/shared/chat/messages/contacts/contacts.page.scss b/src/app/shared/chat/messages/contacts/contacts.page.scss index 24392c458..55c867f4c 100644 --- a/src/app/shared/chat/messages/contacts/contacts.page.scss +++ b/src/app/shared/chat/messages/contacts/contacts.page.scss @@ -71,7 +71,7 @@ --border-radius: 5px; --box-shadow: none; overflow: hidden; - --icon-color:#0d89d1; + --icon-color:var( --font-awesome); } } @@ -107,7 +107,7 @@ margin: 0 !important; width: 90%; font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); float: left; } .item-user .icon{ diff --git a/src/app/shared/chat/messages/contacts/contacts.page.ts b/src/app/shared/chat/messages/contacts/contacts.page.ts index b3192cc50..308e81dc6 100644 --- a/src/app/shared/chat/messages/contacts/contacts.page.ts +++ b/src/app/shared/chat/messages/contacts/contacts.page.ts @@ -5,6 +5,7 @@ import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; import { GroupMessagesPage } from '../../group-messages/group-messages.page'; import { MessagesPage } from '../messages.page'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-contacts', @@ -30,6 +31,7 @@ export class ContactsPage implements OnInit { private http: HttpClient, private chatService: ChatService, private authService: AuthService, + public ThemeService: ThemeService ) { this.loggedUser = authService.ValidatedUserChat['data']; diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 648d9ed68..53f592363 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -8,7 +8,8 @@
@@ -18,7 +19,8 @@
--> +
diff --git a/src/app/shared/chat/new-group/new-group.page.scss b/src/app/shared/chat/new-group/new-group.page.scss index f7486d5fc..fa33e3e9f 100644 --- a/src/app/shared/chat/new-group/new-group.page.scss +++ b/src/app/shared/chat/new-group/new-group.page.scss @@ -69,7 +69,7 @@ ion-content{ padding: 0!important; float: right; font-size: 15px; - color: #0782c9; + color: var(--font-awesome); margin: 8px 5px 0 5px; } .right{ diff --git a/src/app/shared/chat/new-group/new-group.page.ts b/src/app/shared/chat/new-group/new-group.page.ts index 160e0e21e..1c183a0cd 100644 --- a/src/app/shared/chat/new-group/new-group.page.ts +++ b/src/app/shared/chat/new-group/new-group.page.ts @@ -15,7 +15,10 @@ export class NewGroupPage implements OnInit { showLoader: boolean; displayDuration: any; showDuration: boolean; + thedate:any; + _day:any; selectedDuration = ['','','']; + countDownTime:any; //groupName:string; @Input() groupName:string; @@ -27,8 +30,8 @@ export class NewGroupPage implements OnInit { private modalController: ModalController, private chatService: ChatService, //private navParams: NavParams, - ) - { + ) + { this.isGroupCreated = false; //this.groupName = this.navParams.get('name'); } @@ -37,21 +40,42 @@ export class NewGroupPage implements OnInit { } _ionChange(event){ - this.showDuration = event.detail.checked; + console.log(event); + console.log(event.detail.checked); + this.showDuration = event.detail.checked; + + if(event.detail.checked){ + this.thedate = new Date(); + } + else{ + this.thedate = ''; + } } + close(){ //this.modalController.dismiss(); console.log('close'); this.addGroupMessage.emit(); } - + createGroup(){ let name = this.groupName.split(' ').join('-'); let body = { "name":name, } this.chatService.addGroup(body).subscribe(res=>{ console.log('group created'); console.log(res['group']); + this.addGroupMessage.emit(res['group']._id); + + if(this.thedate){ + let countDownBody = { + "roomId": res['group']._id, + "customFields":{"countDownDate":this.thedate} + } + this.chatService.setGroupCustomFields(countDownBody).subscribe(res=>{ + console.log(res); + }); + } }); } @@ -60,14 +84,14 @@ export class NewGroupPage implements OnInit { let name = this.groupName.split(' ').join('-'); console.log(name); - + const modal = await this.modalController.create({ component: GroupContactsPage, componentProps: { isCreated:this.isGroupCreated, name: name, duration:'', - }, + }, cssClass: 'contacts', backdropDismiss: false }); @@ -75,7 +99,7 @@ export class NewGroupPage implements OnInit { await modal.present(); modal.onDidDismiss(); } - + async setDuration(ev: any) { const popover = await this.popoverController.create({ component: GroupDurationPage, @@ -90,14 +114,37 @@ export class NewGroupPage implements OnInit { const picker = await this.pickerController.create({ cssClass: '', buttons: [ - { + { text: 'Cancelar', role: 'cancel', cssClass: 'btn-cancel' }, - { - text: 'Ok', + { + text: 'Ok', cssClass: 'btn-cancel', handler:(value:any)=>{ console.log('button done pressed'); + console.log(value); + + let now = new Date(); + this.thedate = new Date(now.getFullYear(), now.getMonth(), now.getDate() + value.days.value, now.getHours() + value.hours.value, now.getMinutes() + value.minutes.value, now.getSeconds(), now.getMilliseconds()); + /* let timer = setInterval(() =>{ + console.log('Show TIMER'); + let difference = this.thedate.getTime() - new Date().getTime(); + this._day = Math.floor(difference/(1000*60*60*24)); + let c_day = Math.floor(difference/(1000*60*60*24)); + let c_hours = Math.floor((difference % (1000*60*60*24)) / (1000*60*60)); + let c_minutes = Math.floor((difference % (1000*60*60)) / (1000*60)); + let c_seconds = Math.floor((difference % (1000*60)) / 1000); + + this.countDownTime = c_day + ":" + c_hours + ":" + c_minutes + ":" + c_seconds ; + + if(difference < 0){ + clearInterval(timer); + this.countDownTime = "Expired"; + } + + }) */ + + this.selectedDuration = [ value.days.value, value.hours.value, @@ -108,24 +155,24 @@ export class NewGroupPage implements OnInit { if(value.days.value > 0){ if(value.days.value == 1){ if(value.hours.value == 1){ - this.displayDuration = value.days.value + " day " + + this.displayDuration = value.days.value + " day " + value.hours.value + " hora " + value.minutes.value + " minutos"; } else{ - this.displayDuration = value.days.value + " days " + + this.displayDuration = value.days.value + " days " + value.hours.value + " horas " + value.minutes.value + " minutos"; } } else{ if(value.hours.value == 1){ - this.displayDuration = value.days.value + " days " + + this.displayDuration = value.days.value + " days " + value.hours.value + " hora " + value.minutes.value + " minutos"; } else{ - this.displayDuration = value.days.value + " days " + + this.displayDuration = value.days.value + " days " + value.hours.value + " horas " + value.minutes.value + " minutos"; } @@ -141,7 +188,7 @@ export class NewGroupPage implements OnInit { value.minutes.value + " minutos"; } } - } + } }, }, ], @@ -155,6 +202,8 @@ export class NewGroupPage implements OnInit { { text: '2', value: 2 }, { text: '3', value: 3 }, { text: '4', value: 4 }, + { text: '5', value: 5 }, + { text: '6', value: 6 }, ] }, { @@ -195,7 +244,7 @@ export class NewGroupPage implements OnInit { await picker.present(); picker.onDidDismiss().then(async data =>{ let day = await picker.getColumn('days'); - let hour = await picker.getColumn('hours'); + let hour = await picker.getColumn('hours'); let minutes = await picker.getColumn('minutes'); }); diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.html b/src/app/shared/event/attendee-modal/attendee-modal.page.html index 1c3a0d70f..52fa56a75 100644 --- a/src/app/shared/event/attendee-modal/attendee-modal.page.html +++ b/src/app/shared/event/attendee-modal/attendee-modal.page.html @@ -14,14 +14,16 @@
- + +

{{ attendee.Name }}

{{ attendee.EmailAddress }}

-
- +
+ +
@@ -35,7 +37,8 @@
- + +

{{ attendee.Name }}

@@ -53,7 +56,8 @@
- + +

{{ attendee.Name }}

diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.ts b/src/app/shared/event/attendee-modal/attendee-modal.page.ts index d6beba13d..863095e9f 100644 --- a/src/app/shared/event/attendee-modal/attendee-modal.page.ts +++ b/src/app/shared/event/attendee-modal/attendee-modal.page.ts @@ -3,6 +3,7 @@ import { ModalController } from '@ionic/angular'; import { ContactsService } from 'src/app/services/contacts.service'; import { EventPerson } from 'src/app/models/eventperson.model'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-attendee-modal', @@ -34,7 +35,8 @@ export class AttendeePage implements OnInit { constructor( private modalCtrl: ModalController, - private contactsService: ContactsService ) { + private contactsService: ContactsService, + public ThemeService: ThemeService ) { this.LtaskParticipants = removeDuplicate(this.taskParticipants); this.LtaskParticipantsCc = removeDuplicate(this.taskParticipantsCc); diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.html b/src/app/shared/gabinete-digital/all-processes/all-processes.page.html index c1c5b30a6..59b18648e 100644 --- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.html +++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.html @@ -3,7 +3,7 @@
Todas as tarefas
@@ -37,7 +37,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.scss b/src/app/shared/gabinete-digital/all-processes/all-processes.page.scss index b33103830..d0b314011 100644 --- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.scss +++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.scss @@ -51,7 +51,7 @@ ion-list{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .item-subject{ @@ -133,7 +133,7 @@ ion-list{ .label{ border-radius: 15px; - background: #ffb703; + background: var(--label-bg-color); /* font-size: 12px; */ float: right; padding: 2.5px 13.5px 2.5px 13.5px; diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts index 8e5c542e4..5ccb1343c 100644 --- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts +++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts @@ -7,6 +7,8 @@ import { removeDuplicate } from 'src/plugin/removeDuplicate.js'; import { SqliteService } from '../../../services/sqlite.service'; import { Platform } from '@ionic/angular'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-all-processes', @@ -26,6 +28,7 @@ export class AllProcessesPage implements OnInit { private sqliteservice: SqliteService, private platform: Platform, private sortService: SortService, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; } diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html index 9d64f4db1..000a6c40e 100644 --- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html +++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.html @@ -6,13 +6,11 @@
-
-

Presidente da República

-
+ diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.scss b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.scss index d5c9b1208..84fb46129 100644 --- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.scss +++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.scss @@ -33,7 +33,7 @@ .bottom-text{ font-size: 15px !important; font-family: Roboto !important; - color: #0d89d1 !important; + color: var(--title-text-color) !important; } } .item-list-small{ @@ -136,7 +136,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.html b/src/app/shared/gabinete-digital/despachos/despachos.page.html index c161a0c78..a0ea8b3b6 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.html +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.html @@ -3,7 +3,7 @@
Despachos
diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.scss b/src/app/shared/gabinete-digital/despachos/despachos.page.scss index 0bf21f51a..713fb7149 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.scss +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.scss @@ -120,7 +120,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html index 36f91d6e7..b95886a47 100644 --- a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html +++ b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html @@ -3,10 +3,9 @@
Diplomas
-

Diplomas para Assinar

@@ -41,7 +40,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss index 517d76d7c..bb4b9df27 100644 --- a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss +++ b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss @@ -129,7 +129,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts index 711f6b6d9..247e6e8f2 100644 --- a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts +++ b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts @@ -7,6 +7,8 @@ import { AlertService } from 'src/app/services/alert.service'; import { DeplomasStore } from 'src/app/store/deplomas.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-diplomas-assinar', @@ -28,7 +30,8 @@ export class DiplomasAssinarPage implements OnInit { private alertService: AlertService, private router: Router, private sortService: SortService, - ) { } + public ThemeService: ThemeService + ) {} ngOnInit() { @@ -53,30 +56,27 @@ export class DiplomasAssinarPage implements OnInit { doRefresh() { setTimeout(() => { this.LoadList(); - //event.target.complete(); }, 1000); } async LoadList() { + + this.skeletonLoader = true let diplomas = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise(); this.diplomasList = new Array(); this.skeletonLoader = false - console.log(diplomas); let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma"); - console.log(diplomasAssinar); diplomasAssinar.forEach(element => { - let task: customTask = this.customTaskPipe.transform(element) this.diplomasList.push(task); - this.deplomasStore.resetDiplomasList(this.sortService.sortArrayByDate(this.diplomasList)); - }); + this.deplomasStore.resetDiplomasList(this.diplomasList); } } diff --git a/src/app/shared/gabinete-digital/diplomas/diplomas.page.html b/src/app/shared/gabinete-digital/diplomas/diplomas.page.html index 056dec629..a48a48400 100644 --- a/src/app/shared/gabinete-digital/diplomas/diplomas.page.html +++ b/src/app/shared/gabinete-digital/diplomas/diplomas.page.html @@ -3,7 +3,7 @@
Diplomas
@@ -36,7 +36,8 @@ {{ task.Folio }}
- + +
@@ -69,10 +70,11 @@
- 1123{{ task.Folio }} + {{ task.Folio }}
- + +
diff --git a/src/app/shared/gabinete-digital/diplomas/diplomas.page.scss b/src/app/shared/gabinete-digital/diplomas/diplomas.page.scss index 6a305a0f1..e27734267 100644 --- a/src/app/shared/gabinete-digital/diplomas/diplomas.page.scss +++ b/src/app/shared/gabinete-digital/diplomas/diplomas.page.scss @@ -120,7 +120,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts b/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts index 0f7cfaf72..53a5fdeb1 100644 --- a/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts +++ b/src/app/shared/gabinete-digital/diplomas/diplomas.page.ts @@ -7,6 +7,7 @@ import { AlertService } from 'src/app/services/alert.service'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { DeplomasStore } from 'src/app/store/deplomas.service'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-diplomas', @@ -33,6 +34,7 @@ constructor( private alertService: AlertService, private router: Router, private activatedRoute: ActivatedRoute, + public ThemeService: ThemeService ) { } diff --git a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.html b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.html index 22d37ee80..5e55f3555 100644 --- a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.html +++ b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.html @@ -284,7 +284,8 @@
- + +
@@ -305,7 +306,8 @@
- + +
@@ -325,7 +327,8 @@
- + +
Adicionar documentos @@ -346,7 +349,7 @@

-

{{document.Stakeholders}} {{document.CreateDate | date: 'dd-MM-yyyy HH:mm'}}

+

{{document.Stakeholders}} {{document.CreateDate }}

diff --git a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.scss b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.scss index f52dd4e07..143d807e0 100644 --- a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.scss +++ b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.scss @@ -83,7 +83,8 @@ float: right; overflow: auto; font-size: 25px; - padding: 10px; + height: 45px; + display: flex; } .list-people-title{ /* font-size: 13px; */ @@ -91,7 +92,7 @@ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts index 78837cf93..2c00a6a17 100644 --- a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts +++ b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts @@ -12,7 +12,7 @@ import { ToastService } from 'src/app/services/toast.service'; import { Event, EventToApproveEdit } from '../../../models/event.model'; import { NgxMatDateFormats, NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; import { NavigationExtras, Router } from '@angular/router'; - +import { ThemeService } from 'src/app/services/theme.service' const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -117,6 +117,7 @@ export class EditEventToApproveComponent implements OnInit { private animationController: AnimationController, private toastService: ToastService, private router:Router, + public ThemeService: ThemeService ) { // Edit event to approve this.serialNumber = this.navParams.get('serialNumber'); diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html index c3d4f6f0c..5d96dfe12 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html @@ -3,7 +3,7 @@
diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.scss b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.scss index d0a8dbd65..27d2cbb71 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.scss +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.scss @@ -92,7 +92,7 @@ font-style: normal; line-height: normal; letter-spacing: normal; - color: #0d89d1; + color: var(--title-text-color);; margin: 0; padding: 0; } @@ -121,7 +121,7 @@ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html index 164aec4fb..3abb6d9de 100644 --- a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html +++ b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.html @@ -3,7 +3,7 @@
Expediente
@@ -25,7 +25,8 @@ {{ task.Subject }}
- + +
diff --git a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.scss b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.scss index 1a0dc6200..6f388901b 100644 --- a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.scss +++ b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.scss @@ -58,7 +58,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts index 53263290d..d89169481 100644 --- a/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts +++ b/src/app/shared/gabinete-digital/expedientes-pr/expedientes-pr.page.ts @@ -9,6 +9,8 @@ import { AuthService } from 'src/app/services/auth.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service'; import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-expedientes-pr', @@ -33,6 +35,7 @@ export class ExpedientesPrPage implements OnInit { private alertService: AlertService, private authService: AuthService, private router: Router, + public ThemeService: ThemeService ) { this.loggeduser = authService.ValidatedUser; } @@ -94,7 +97,8 @@ export class ExpedientesPrPage implements OnInit { } goToExpediente(serialNumber:any){ - this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); + /* this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']); */ + this.router.navigate(['/home/gabinete-digital/expediente', serialNumber, 'gabinete-digital']); } } diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.html b/src/app/shared/gabinete-digital/expedients/expedients.page.html index cff3e4143..815e34d9d 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.html +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.html @@ -3,7 +3,7 @@
Expediente
@@ -33,7 +33,8 @@ {{ task.Subject }}
- + +
diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.scss b/src/app/shared/gabinete-digital/expedients/expedients.page.scss index 1a0dc6200..6f388901b 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.scss +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.scss @@ -58,7 +58,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.ts b/src/app/shared/gabinete-digital/expedients/expedients.page.ts index 348545c09..2f0237c92 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.ts +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.ts @@ -4,6 +4,7 @@ import { ProcessesService } from 'src/app/services/processes.service'; import { AlertService } from 'src/app/services/alert.service'; import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service'; import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-expedients', @@ -26,6 +27,7 @@ export class ExpedientsPage implements OnInit { private processes:ProcessesService, private alertService: AlertService, private router: Router, + public ThemeService: ThemeService ) { this.profile = 'mdgpr'; @@ -35,7 +37,7 @@ export class ExpedientsPage implements OnInit { //Inicializar segment this.segment = "expedientes"; this.LoadList() - + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?expedientes=true')) { diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html index 1211313ae..2d2699ca0 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html @@ -2,13 +2,15 @@
- + +
{{ task.Folio}}
- + +
diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss index 592d2c19e..818bde4da 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.scss @@ -91,7 +91,7 @@ ion-button{ } .attach-document{ font-size: 15px; - color: #0d89d1; + color: var(--title-text-color); margin: 5px 5px 5px 10px; padding: 5px; float: left; diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts index c959779e3..594f57c78 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts @@ -1,5 +1,6 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { customTask, fullTask } from 'src/app/models/dailyworktask.model'; +import { ThemeService } from 'src/app/services/theme.service' @Component({ selector: 'app-task-details', @@ -18,7 +19,9 @@ export class TaskDetailsPage implements OnInit { @Output() goBack = new EventEmitter(); @Output() viewDocument = new EventEmitter(); - constructor() { } + constructor( + public ThemeService: ThemeService + ) { } ngOnInit() { } diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html index 1358175c1..bbce2a065 100644 --- a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.html @@ -17,7 +17,8 @@ {{ task.Folio }}
- + +
diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss index 7957606f3..0fcd7aa44 100644 --- a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.scss @@ -21,7 +21,7 @@ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts index 8395a7ff8..32d53b3c0 100644 --- a/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts +++ b/src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts @@ -1,5 +1,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { customTask } from 'src/app/models/dailyworktask.model'; +import { ThemeService } from 'src/app/services/theme.service' + @Component({ selector: 'app-task-list', @@ -12,7 +14,9 @@ export class TaskListPage implements OnInit { @Input() skeletonLoader: boolean = false @Output() viewTaskDetail = new EventEmitter(); - constructor() { + constructor( + public ThemeService: ThemeService + ) { console.log('taskList', this.taskList) } diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.html b/src/app/shared/gabinete-digital/pedidos/pedidos.page.html index 97a5a57bb..898c7c71c 100644 --- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.html +++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.html @@ -3,7 +3,7 @@
Pedidos
@@ -47,7 +47,8 @@ {{ task.Folio }}
- + +
@@ -84,7 +85,8 @@ {{ task.Folio }} {{ task.Status }}
- + +
diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.scss b/src/app/shared/gabinete-digital/pedidos/pedidos.page.scss index a8b52045f..a615fe98b 100644 --- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.scss +++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.scss @@ -118,7 +118,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts index 7babda08a..785392167 100644 --- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts +++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts @@ -9,6 +9,9 @@ import { PedidoPage } from 'src/app/pages/gabinete-digital/pedidos/pedido/pedido import { PedidosStore } from 'src/app/store/pedidos-store.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { SortService } from 'src/app/services/functions/sort.service'; +import { ThemeService } from 'src/app/services/theme.service' + + @Component({ selector: 'app-pedidos', templateUrl: './pedidos.page.html', @@ -44,6 +47,7 @@ export class PedidosPage implements OnInit { private modalController: ModalController, private alertService: AlertService, private sortService: SortService, + public ThemeService: ThemeService ) { this.profile = 'mdgpr'; } diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html index 88b43af3c..fd63e6214 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html @@ -3,7 +3,7 @@
Pendentes
diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss b/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss index f3ab83322..f58af1fdd 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.scss @@ -119,7 +119,7 @@ ion-item{ font-family: Roboto; font-size: 12pt; font-weight: 700; - color: #0d89d1; + color: var(--title-text-color); padding-left: 3px; .subject{ diff --git a/src/app/shared/header/header.page.html b/src/app/shared/header/header.page.html index 6c0d2b66c..abe6a5226 100644 --- a/src/app/shared/header/header.page.html +++ b/src/app/shared/header/header.page.html @@ -1,94 +1,136 @@ -
+
+
-
-