diff --git a/config.xml b/config.xml
index fc70cef4e..12eabcd1d 100644
--- a/config.xml
+++ b/config.xml
@@ -134,7 +134,7 @@
0
- 8.0.0.00-20210308-063916
+ 8.0.0.00-20210214-154410
diff --git a/package-lock.json b/package-lock.json
index 2f5db9be5..88a50acfd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2039,21 +2039,6 @@
}
}
},
- "@ionic-native/fcm": {
- "version": "5.32.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/fcm/-/fcm-5.32.0.tgz",
- "integrity": "sha512-6BU5cbxILHe3LmL82qwTl80BCaDzZvkd2svQm3CQgwBrBuzzccYd4iSqpdkHXyLkb49fIRa22r3apc7EJ72cFg==",
- "requires": {
- "@types/cordova": "^0.0.34"
- },
- "dependencies": {
- "@types/cordova": {
- "version": "0.0.34",
- "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
- "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
- }
- }
- },
"@ionic-native/file": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.31.1.tgz",
@@ -5761,12 +5746,20 @@
"dev": true
},
"cordova-plugin-fcm-with-dependecy-updated": {
- "version": "7.8.0",
- "resolved": "https://registry.npmjs.org/cordova-plugin-fcm-with-dependecy-updated/-/cordova-plugin-fcm-with-dependecy-updated-7.8.0.tgz",
- "integrity": "sha512-p2pbY1oqQ2UDbaWOWA2z84uMXmdDGYmK2O+mrufj1bZyoFodt7WqrtiB9oDnUuSSinMrdNFrupiWEDMSBSNVeQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/cordova-plugin-fcm-with-dependecy-updated/-/cordova-plugin-fcm-with-dependecy-updated-7.2.0.tgz",
+ "integrity": "sha512-Iv1gOeoQ4l/1ztBLemgLOCS4iaVemHezfpa5/X+iqS4apfvUVLJ47Vw6KO7deBO2d2ElvrGZ2ayZX7j3uhtsRw==",
"dev": true,
"requires": {
- "typescript": "^4.1.3"
+ "typescript": "^3.9.6"
+ },
+ "dependencies": {
+ "typescript": {
+ "version": "3.9.9",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
+ "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
+ "dev": true
+ }
}
},
"cordova-plugin-filepath": {
@@ -11863,14 +11856,14 @@
}
},
"plist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
- "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz",
+ "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==",
"dev": true,
"requires": {
- "base64-js": "^1.2.3",
+ "base64-js": "^1.5.1",
"xmlbuilder": "^9.0.7",
- "xmldom": "0.1.x"
+ "xmldom": "^0.5.0"
}
},
"pnp-webpack-plugin": {
@@ -17969,9 +17962,9 @@
"dev": true
},
"xmldom": {
- "version": "0.1.31",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
- "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz",
+ "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==",
"dev": true
},
"xmlhttprequest-ssl": {
diff --git a/package.json b/package.json
index cbe0e9b78..4811311de 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,6 @@
"@fullcalendar/interaction": "^5.3.0",
"@ionic-native/camera": "^5.31.1",
"@ionic-native/core": "^5.0.7",
- "@ionic-native/fcm": "^5.32.0",
"@ionic-native/file": "^5.30.0",
"@ionic-native/file-path": "^5.30.0",
"@ionic-native/http": "^5.31.1",
@@ -84,7 +83,7 @@
"cordova-plugin-androidx-adapter": "^1.1.3",
"cordova-plugin-compat": "^1.2.0",
"cordova-plugin-device": "^2.0.2",
- "cordova-plugin-fcm-with-dependecy-updated": "^7.8.0",
+ "cordova-plugin-fcm-with-dependecy-updated": "^7.2.0",
"cordova-plugin-inappbrowser": "^4.0.0",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
@@ -121,12 +120,10 @@
"cordova-plugin-androidx": {},
"cordova-plugin-androidx-adapter": {},
"cordova-plugin-fcm-with-dependecy-updated": {
- "ANDROID_DEFAULT_NOTIFICATION_ICON": "@mipmap/ic_launcher",
- "ANDROID_FCM_VERSION": "21.0.0",
- "ANDROID_FIREBASE_BOM_VERSION": "26.0.0",
- "ANDROID_GOOGLE_SERVICES_VERSION": "4.3.4",
- "ANDROID_GRADLE_TOOLS_VERSION": "4.1.0",
- "IOS_FIREBASE_MESSAGING_VERSION": "~> 7.4.0"
+ "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"
}
},
"platforms": [
@@ -141,4 +138,4 @@
"url": "git+https://Kayaya@bitbucket.org/equilibriumito/gabinete-digital.git"
},
"license": "ISC"
-}
+}
\ No newline at end of file
diff --git a/resources/android/icon/drawable-hdpi-icon.png b/resources/android/icon/drawable-hdpi-icon.png
index 05d953939..c1b57bca3 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 74a5391bc..e0f874f6c 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 c34391965..d4289493f 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-xhdpi-icon.png b/resources/android/icon/drawable-xhdpi-icon.png
index 1d76d5249..bf3725ba7 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 7fb3bb824..cdc1340ae 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 97f8b550b..b9183ea93 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/splash/drawable-land-hdpi-screen.png b/resources/android/splash/drawable-land-hdpi-screen.png
index 74abe28ea..444dc39ab 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 b224ba8c8..80409d7bd 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 f18770eb1..f9342e83a 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 76eab0d72..d7936aa71 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 b15925df5..63a3b921a 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 4b22b8b59..22ec1444a 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 c0c981b97..a6b455ddf 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 dfba93219..e1f6c084c 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 e5129fd04..f65e1fb76 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 14ec839e8..bee833117 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 4df256fbf..2f9421671 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 53f97f9d9..0295c0138 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/src/app/app.module.ts b/src/app/app.module.ts
index 3cc61ca02..80c561595 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -29,7 +29,7 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MessagesPage } from './pages/chat/messages/messages.page';
-import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx'
+import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
@NgModule({
diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts
index 68aea7f8d..42181215b 100644
--- a/src/app/home/home.page.ts
+++ b/src/app/home/home.page.ts
@@ -3,16 +3,17 @@ import { Component, OnInit, NgZone } from '@angular/core';
import { EventsService } from '../services/events.service';
import { Event } from '../models/event.model';
import { ProcessesService } from '../services/processes.service';
-import { ModalController, AlertController, AnimationController } from '@ionic/angular';
+import { NotificationsService } from '../services/notifications.service';
+import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular';
//import { AlertController } from 'ionic-angular';
/* import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed, Modals } from '@capacitor/core'; */
import { Router } from '@angular/router';
-//import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
+import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
import { ViewEventPage } from '../pages/agenda/view-event/view-event.page';
-import { ApproveEventModalPage } from '../pages/agenda/approve-event-modal/approve-event-modal.page';
import { ExpedienteDetailPage } from '../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';
import { ViewPublicationsPage } from '../pages/publications/view-publications/view-publications.page';
+import { ApproveEventModalPage } from '../pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page';
import { PublicationDetailPage } from '../pages/publications/view-publications/publication-detail/publication-detail.page';
/* const { PushNotifications, LocalNotifications, LocalNotificationAction } = Plugins; */
@@ -58,8 +59,10 @@ export class HomePage implements OnInit {
private router: Router,
private modalController: ModalController,
public modalCtrl: AlertController,
- //private fcm: FCM,
- private animationController: AnimationController,) {
+ private fcm: FCM,
+ private animationController: AnimationController,
+ private notificatinsservice: NotificationsService,
+ private platform: Platform) {
router.events.subscribe((val) => {
document.querySelectorAll('ion-modal').forEach((e) => e.remove())
@@ -96,82 +99,56 @@ export class HomePage implements OnInit {
});
}
- this.processesbackend.GetTasksList("Expediente", true).subscribe(result => {
- this.totalExpediente = result;
- });
-
-
+
}
+
pushCordova() {
-/*
- this.fcm.onNotification().subscribe(data => {
- this.viewEventDetail(data.idObject)
- if (data.click_action) {
- console.log("Received in background: ", data);
- if (data.service === "agenda") {
- //this.router.navigate(['/home/', service, idObject, 'home']);
- this.viewEventDetail(data.idObject)
- }
- else if (data.service === "gabinete-digital" && data.object === "expediente") {
- this.viewExpedientDetail(data.idObject)
- }
- else if (data.service === "gabinete-digital" && data.object === "event-list") {
- // this.ngZone.run(() => {this.router.navigate(['/home/gabinete-digital/event-list', idObject])})
- this.openApproveModal(data.idObject);
- }
- else if (data.service === "accoes" && data.object === "accao") {
- //this.viewPublications(data.idObject)
- alert(data.idObject)
- }
- else if (data.service === "accoes" && data.object === "publicacao") {
- this.viewPublicationDetail(data.idObject)
- }
+ if(this.platform.is('desktop')) {
+ console.log('Notifications not supported')
+ } else {
- } else {
- console.log("Received in foreground: ", data);
- if (data.service === "agenda") {
- //this.router.navigate(['/home/', service, idObject, 'home']);
- this.viewEventDetail(data.idObject)
- }
- else if (data.service === "gabinete-digital" && data.object === "expediente") {
- this.viewExpedientDetail(data.idObject)
- }
- else if (data.service === "gabinete-digital" && data.object === "event-list") {
- // this.ngZone.run(() => {this.router.navigate(['/home/gabinete-digital/event-list', idObject])})
- this.openApproveModal(data.idObject);
- }
- else if (data.service === "accoes" && data.object === "accao") {
- this.viewPublications(data.idObject)
- }
- else if (data.service === "accoes" && data.object === "publicacao") {
- this.viewPublicationDetail(data.idObject)
- }
- };
- });
+ this.fcm.onNotification().subscribe(data => {
+ this.viewEventDetail(data.IdObject)
+ if (data.wasTapped === true) {
+ console.log("Received in background: ", data);
+
+ if (data.Service === "agenda") {
+ //this.router.navigate(['/home/', service, IdObject, 'home']);
+ this.viewEventDetail(data.IdObject)
+ }
+ else if (data.Service === "gabinete-digital" && data.Object === "expediente") {
+ console.log('expediante 1')
+ this.viewExpedientDetail(data.IdObject)
+ }
+ else if (data.Service === "gabinete-digital" && data.Object === "event-list") {
+ // this.ngZone.run(() => {this.router.navigate(['/home/gabinete-digital/event-list', IdObject])})
+ this.openApproveModal(data.IdObject);
+ }
+ else if (data.Service === "accoes" && data.Object === "accao") {
+ this.viewPublications(data.IdObject)
+ alert(data.IdObject)
+ }
+ else if (data.Service === "accoes" && data.Object === "publicacao") {
+ this.viewPublicationDetail(data.IdObject)
+ }
+
+ } else {
+ console.log("Received in foreground: ", data);
+
+ console.log(data.Service)
+ console.log(data.Object)
+ console.log(data.IdObject)
+
+ };
+ });
+ }
- this.fcm.onTokenRefresh().subscribe(token => {
- // Register your new token in your back-end if you want
- // backend.registerToken(token);
- });
-
- this.ubscribeToTopic()
- this.getToken() */
+
}
- /* ubscribeToTopic() {
- this.fcm.subscribeToTopic('enappd');
- }
- getToken() {
- this.fcm.getToken().then(token => {
- console.log('token: ', token)
- // Register your new token in your back-end if you want
- // backend.registerToken(token);
- });
- } */
-
async viewEventDetail(eventId: any) {
console.log(this.profile);
@@ -192,17 +169,25 @@ export class HomePage implements OnInit {
});
}
- async openApproveModal(eventSerialNumber) {
+ async openApproveModal(eventSerialNumber){
+ let classs;
+ if( window.innerWidth <= 1024){
+ classs = 'cal-modal modal modal-desktop'
+ } else {
+ classs = 'gabinete-digital-mobile-modal-to-Desktop'
+ }
+
const modal = await this.modalController.create({
component: ApproveEventModalPage,
- componentProps: {
+ componentProps:{
serialNumber: eventSerialNumber,
},
- cssClass: 'cal-modal',
+ cssClass: 'event-list',
backdropDismiss: false
});
await modal.present();
+
modal.onDidDismiss();
}
@@ -213,14 +198,14 @@ export class HomePage implements OnInit {
} else {
classs = 'modal modal-desktop showAsideOptions'
}
- /* console.log(this.profile);
- console.log(serialNumber); */
-
+ console.log(this.profile);
+ console.log(serialNumber);
+ console.log('expediante 2')
const modal = await this.modalController.create({
component: ExpedienteDetailPage,
componentProps: {
serialNumber: serialNumber,
- profile: this.profile,
+ profile: "MDGPR",
},
cssClass: classs,
});
@@ -244,7 +229,7 @@ export class HomePage implements OnInit {
});
await modal.present();
modal.onDidDismiss().then(() => {
- //this.getPublications();
+
});
}
diff --git a/src/app/pages/chat/chat.page.html b/src/app/pages/chat/chat.page.html
index a53954fc4..ce0b7defd 100644
--- a/src/app/pages/chat/chat.page.html
+++ b/src/app/pages/chat/chat.page.html
@@ -99,7 +99,11 @@
-
+
diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts
index f93e4b569..b998aa2b3 100644
--- a/src/app/pages/chat/chat.page.ts
+++ b/src/app/pages/chat/chat.page.ts
@@ -110,6 +110,9 @@ export class ChatPage implements OnInit {
this.showGroupContacts=false;
console.log('All components closed!');
}
+ showEmptyContainer(){
+ this.showEmptyComponent=true;
+ }
openGroupContactsPage(data){
console.log(data);
this.groupRoomId = data;
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 b15fd0816..d5e3e9cda 100644
--- a/src/app/pages/chat/group-messages/group-messages.page.ts
+++ b/src/app/pages/chat/group-messages/group-messages.page.ts
@@ -134,26 +134,27 @@ export class GroupMessagesPage implements OnInit {
this.message = "";
}
- async openOptions(ev: any) {
- const popover = await this.popoverController.create({
+ async openOptions() {
+ console.log('OK');
+ const modal = await this.modalController.create({
component: ChatPopoverPage,
cssClass: 'chat-popover',
- event: ev,
componentProps: {
- room: this.room,
+ roomId: this.roomId,
},
- translucent: true
});
- await popover.present();
- popover.onDidDismiss().then(res=>{
+ await modal.present();
+ modal.onDidDismiss().then(res=>{
+ console.log('OK2');
+
console.log(res);
- if(res.data){
+ /* if(res.data ==){
this.roomName = res.data.name.split('-').join(' ');
console.log(this.roomName);
this.getRoomInfo();
- /* this.modalController.dismiss(); */
- };
+ //this.modalController.dismiss();
+ }; */
});
}
diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts
index 697c9f9e7..3e288ecf2 100644
--- a/src/app/pages/login/login.page.ts
+++ b/src/app/pages/login/login.page.ts
@@ -11,6 +11,7 @@ import { PhotoService } from 'src/app/services/photo.service';
import { NotificationsService } from 'src/app/services/notifications.service';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Token } from '../../models/token.model';
+import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
/* import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';
@@ -38,7 +39,8 @@ export class LoginPage implements OnInit {
private storageService: StorageService,
private toastService: ToastService,
private photoService: PhotoService,
- public alertController: AlertController) { }
+ public alertController: AlertController,
+ private fcm: FCM) { }
ngOnInit() {
@@ -78,40 +80,9 @@ export class LoginPage implements OnInit {
});
}
- /* storeUserIdANdToken() {
-
- (PushNotifications as any).requestPermission().then(result => {
- PushNotifications.register();
- });
-
- PushNotifications.addListener(
- 'registration',
- (token: PushNotificationToken) => {
- console.log('FIREBASE TOKEN', token.value)
- this.storageService.store(this.username, token.value);
- this.storageService.get(this.username).then(value => {
- console.log('STORAGE TOKEN', value)
- this.storageService.get(AuthConnstants.USER).then(res => {
- console.log('USERID', res);
- const headers = { 'Authorization': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' };
- const body = {
- UserId: res,
- TokenId: token.value,
- Status: 1,
- Service: 1
- };
-
- this.http.post('https://equilibrium.dyndns.info/GabineteDigital.Services/V4/api/notifications/token', body, { headers }).subscribe(data => {
- console.log('TOKEN USER MIDLE', data);
- })
- });
-
- });
-
- },
- );
-
- }; */
+ getToken() {
+ this.notificatinsservice.getAndpostToken(this.username);
+ }
async Login() {
@@ -127,7 +98,7 @@ export class LoginPage implements OnInit {
}
if (await this.authService.login(this.userattempt)) {
this.loginRocketChat();
- //this.storeUserIdANdToken();
+ this.getToken();
this.router.navigate(['/home/events']);
}
diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts
index c4374bea8..a569b9b56 100644
--- a/src/app/services/notifications.service.ts
+++ b/src/app/services/notifications.service.ts
@@ -1,14 +1,43 @@
import { Injectable } from '@angular/core';
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 { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
+/* import { AgendaPage } from '../pages/agenda/agenda.page'
+import { ExpedientePage } from '../pages/gabinete-digital/expediente/expediente.page'
+import { EventListPage } from '../pages/gabinete-digital/event-list/event-list.page';
+import { PublicationsPage } from '../pages/publications/publications.page'
+import { ViewPublicationsPage } from '../pages/publications/view-publications/view-publications.page' */
+import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular';
+import { ViewEventPage } from '../pages/agenda/view-event/view-event.page';
+import { ExpedienteDetailPage } from '../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';
+import { PublicationDetailPage } from '../pages/publications/publication-detail/publication-detail.page';
+import { ViewPublicationsPage } from '../pages/publications/view-publications/view-publications.page';
+import { ApproveEventModalPage } from '../pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page';
@Injectable({
providedIn: 'root'
})
export class NotificationsService {
- constructor(private http: HttpClient,) { }
+ adding: "intervenient" | "CC" = "intervenient";
+ folderId: string;
+
+ constructor(
+ private http: HttpClient,
+ private fcm: FCM,
+ private storageService: StorageService,
+ private modalController: ModalController,
+ public modalCtrl: AlertController,
+ private animationController: AnimationController,
+ private platform: Platform/* ,
+ public agenda: AgendaPage,
+ public expediante: ExpedientePage,
+ public eventList: EventListPage,
+ public publication: PublicationsPage,
+ public viewPublication: ViewPublicationsPage */) { }
getTokenByUserIdAndId(user, userID) {
const geturl = environment.apiURL + 'notifications/user/' + userID;
@@ -16,15 +45,199 @@ export class NotificationsService {
return this.http.get(`${geturl}`);
}
- postToken(userId, token) {
- const geturl = environment.apiURL + 'notifications/token';
+ getAndpostToken(username) {
+ if(this.platform.is('desktop')) {
+ console.log('Notifications not supported')
+ } else {
+
+ const geturl = environment.apiURL + 'notifications/token';
- let data = {
- UserId: userId,
- TokenId: token,
- Status: 1,
- Service: 2
+ return this.fcm.getToken().then(token => {
+ console.log('token: ', token)
+ this.storageService.store(username, token);
+ 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': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' };
+ const body = {
+ UserId: res.UserId,
+ TokenId: token,
+ Status: 1,
+ Service: 1
+ };
+
+ this.http.post(`${geturl}`, body, { headers }).subscribe(data => {
+ console.log('TOKEN USER MIDLE', data);
+ })
+ });
+
+ });
+ });
}
- return this.http.post(`${geturl}`,data);
+
+ }
+
+ async onReceviNotification(viewEventDetail, viewExpedientDetail, openApproveModal, viewPublications, viewPublicationDetail) {
+ this.fcm.onNotification().subscribe(data => {
+ if (data.click_action) {
+ console.log("Received in background: ", data);
+
+ if (data.Service === "agenda") {
+ viewEventDetail(data.IdObject)
+ }
+ else if (data.Service === "gabinete-digital" && data.Object === "expediente") {
+ console.log('expediante 1')
+ viewExpedientDetail(data.IdObject)
+ }
+ else if (data.Service === "gabinete-digital" && data.Object === "event-list") {
+ openApproveModal(data.IdObject);
+ }
+ else if (data.Service === "accoes" && data.Object === "accao") {
+ viewPublications(data.IdObject)
+ }
+ else if (data.Service === "accoes" && data.Object === "publicacao") {
+ viewPublicationDetail(data.IdObject)
+ }
+
+ } /* else {
+ console.log("Received in foreground: ", data);
+
+ console.log(data.Service)
+ console.log(data.Object)
+ console.log(data.IdObject)
+ this.openApproveModal(data.IdObject);
+
+ }; */
+ });
+ }
+
+ platformVerify() {
+
+ if (this.platform.is('cordova')) {
+ } else {
+ }
+ }
+
+ async viewEventDetail(eventId: any) {
+
+ const modal = await this.modalController.create({
+ component: ViewEventPage,
+ componentProps: {
+ eventId: eventId,
+ adding: this.adding
+ },
+ cssClass: 'modal modal-desktop',
+ backdropDismiss: false
+ });
+ await modal.present();
+ modal.onDidDismiss().then((res) => {
+ if (res) {
+ //this.viewEventDetailDismiss(res);
+ }
+ });
+ }
+
+ async openApproveModal(eventSerialNumber) {
+ let classs;
+ if (window.innerWidth <= 1024) {
+ classs = 'cal-modal modal modal-desktop'
+ } else {
+ classs = 'gabinete-digital-mobile-modal-to-Desktop'
+ }
+
+ const modal = await this.modalController.create({
+ component: ApproveEventModalPage,
+ componentProps: {
+ serialNumber: eventSerialNumber,
+ },
+ cssClass: 'event-list',
+ backdropDismiss: false
+ });
+
+ await modal.present();
+
+ modal.onDidDismiss();
+ }
+
+ async viewExpedientDetail(serialNumber: any) {
+ let classs;
+ if (window.innerWidth <= 800) {
+ classs = 'modal'
+ } else {
+ classs = 'modal modal-desktop showAsideOptions'
+ }
+ console.log(serialNumber);
+ console.log('expediante 2')
+ const modal = await this.modalController.create({
+ component: ExpedienteDetailPage,
+ componentProps: {
+ serialNumber: serialNumber,
+ profile: "MDGPR",
+ },
+ cssClass: classs,
+ });
+ await modal.present();
+ modal.onDidDismiss().then((res) => {
+ if (res) {
+ console.log(res);
+ }
+ });
+ }
+
+ async viewPublicationDetail(publicationId: string) {
+ const modal = await this.modalController.create({
+ component: PublicationDetailPage,
+ componentProps: {
+ publicationId: publicationId,
+ folderId: this.folderId,
+ },
+ cssClass: 'publication-detail',
+ backdropDismiss: false
+ });
+ await modal.present();
+ modal.onDidDismiss().then(() => {
+
+ });
+ }
+
+
+ async viewPublications(folderId) {
+
+ const enterAnimation = (baseEl: any) => {
+ const backdropAnimation = this.animationController.create()
+ .addElement(baseEl.querySelector('ion-backdrop')!)
+ .fromTo('opacity', '0.01', 'var(--backdrop-opacity)');
+
+ const wrapperAnimation = this.animationController.create()
+ .addElement(baseEl.querySelector('.modal-wrapper')!)
+ .keyframes([
+ { offset: 0, opacity: '0', transform: 'scale(0)' },
+ { offset: 1, opacity: '0.99', transform: 'scale(1)' }
+ ]);
+
+ return this.animationController.create()
+ .addElement(baseEl)
+ .easing('ease-out')
+ .duration(500)
+ .addAnimation([backdropAnimation, wrapperAnimation]);
+ }
+
+ const leaveAnimation = (baseEl: any) => {
+ return enterAnimation(baseEl).direction('reverse');
+ }
+
+ const modal = await this.modalController.create({
+ component: ViewPublicationsPage,
+ enterAnimation,
+ leaveAnimation,
+ componentProps: {
+ folderId: folderId,
+ },
+ cssClass: 'new-action',
+ backdropDismiss: false
+ });
+ await modal.present();
+ modal.onDidDismiss();
}
}
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 15e3c3c37..5e06ea714 100644
--- a/src/app/shared/chat/group-messages/group-messages.page.html
+++ b/src/app/shared/chat/group-messages/group-messages.page.html
@@ -3,7 +3,7 @@