mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
228 lines
7.7 KiB
TypeScript
228 lines
7.7 KiB
TypeScript
///<reference path="../../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />
|
|
///<reference path="../../../../plugins/cordova-plugin-mfp-jsonstore/typings/jsonstore.d.ts" />
|
|
import { Component, OnInit, NgZone } from '@angular/core';
|
|
import { Router, NavigationExtras } from '@angular/router';
|
|
import { AnimationController, ModalController } from '@ionic/angular';
|
|
import { User } from 'src/app/models/user.model';
|
|
import { AuthService } from 'src/app/services/auth.service';
|
|
import { LocalstoreService } from 'src/app/store/localstore.service';
|
|
import { EditProfilePage } from './edit-profile/edit-profile.page';
|
|
import { JsonStore } from '../../services/jsonStore.service';
|
|
import { StorageService } from '../../services/storage.service';
|
|
import { NotificationsService } from '../../services/notifications.service';
|
|
|
|
@Component({
|
|
selector: 'app-profile',
|
|
templateUrl: './profile.page.html',
|
|
styleUrls: ['./profile.page.scss'],
|
|
})
|
|
export class ProfilePage implements OnInit {
|
|
|
|
loggeduser: User;
|
|
userLoginPreference = ''
|
|
notificationdata: any[] = [];
|
|
DataArray: Array<Object> = [];
|
|
|
|
constructor(private modalController: ModalController,
|
|
private authService: AuthService,
|
|
private animationController: AnimationController,
|
|
private router: Router,
|
|
private localstoreService: LocalstoreService,
|
|
private jsonstore: JsonStore,
|
|
private storageservice: StorageService,
|
|
private zone: NgZone,
|
|
private notificationservice: NotificationsService
|
|
) {
|
|
|
|
this.loggeduser = authService.ValidatedUser;
|
|
|
|
console.log(this.loggeduser.RoleDescription)
|
|
|
|
this.checkState()
|
|
}
|
|
|
|
ngOnInit() {
|
|
|
|
this.storageservice.get("Notifications").then((value) => {
|
|
console.log("Init get store", value)
|
|
|
|
var data = JSON.parse(value);
|
|
console.log("Init store parse", data)
|
|
data.forEach((element,i) => {
|
|
console.log("ARaaAA", element)
|
|
let notificationObject;
|
|
if(element.payload){
|
|
var payload = JSON.parse(element.payload)
|
|
notificationObject = {
|
|
index: i,
|
|
alert: element.alert,
|
|
Service: payload.Service,
|
|
Object: payload.Object,
|
|
IdObject: payload.IdObject,
|
|
FolderId: payload.FolderId,
|
|
desc: payload.desc,
|
|
dateInit: payload.dateInit,
|
|
dateEnd: payload.dateEnd,
|
|
Location: payload.Location,
|
|
TypeAgenda: payload.TypeAgenda,
|
|
Status: payload.Status
|
|
}
|
|
} else {
|
|
notificationObject = {
|
|
index: i,
|
|
alert: element.alert,
|
|
Service: element.Service,
|
|
Object: element.Object,
|
|
IdObject: element.IdObject,
|
|
FolderId: element.FolderId,
|
|
desc: element.desc,
|
|
dateInit: element.dateInit,
|
|
dateEnd: element.dateEnd,
|
|
Location: element.Location,
|
|
TypeAgenda: element.TypeAgenda,
|
|
Status: element.Status
|
|
}
|
|
}
|
|
|
|
|
|
this.DataArray.push(notificationObject)
|
|
});
|
|
this.notificationdata = this.DataArray
|
|
console.log("Notificaaa", this.notificationdata)
|
|
})
|
|
console.log("Notificaaa", this.notificationdata)
|
|
|
|
|
|
|
|
}
|
|
|
|
close() {
|
|
this.modalController.dismiss();
|
|
}
|
|
|
|
notImplemented() { }
|
|
|
|
notificatinsRoutes = (index, Service, Object, IdObject, FolderId) => {
|
|
if (Service === "agenda") {
|
|
this.zone.run(() => this.router.navigate(['/home/agenda', IdObject, 'agenda']));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "expediente") {
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', IdObject, 'gabinete-digital']));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "event-list") {
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/event-list/approve-event', IdObject, 'gabinete-digital']));
|
|
} else if (Service === "gabinete-digital" && Object === "despachos") {
|
|
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos', IdObject, 'gabinete-digital'], { replaceUrl: true }));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "parecer") {
|
|
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', IdObject, 'gabinete-digital']));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "deferimento") {
|
|
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', IdObject, 'gabinete-digital']));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "despachos-pr") {
|
|
|
|
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/despachos-pr',IdObject,'gabinete-digital']));
|
|
}
|
|
else if (Service === "accoes" && Object === "accao") {
|
|
this.zone.run(() => this.router.navigate(['/home/publications', IdObject]));
|
|
}
|
|
else if (Service === "accoes" && Object === "publicacao") {
|
|
this.zone.run(() => this.router.navigate(['/home/publications/view-publications', FolderId, IdObject]));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "diplomas") {
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas', IdObject, 'gabinete-digital']));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "diplomas-assinar") {
|
|
let navigationExtras: NavigationExtras = {
|
|
queryParams: {
|
|
"serialNumber": IdObject,
|
|
}
|
|
};
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas-assinar/diploma-assinar'], navigationExtras));
|
|
}
|
|
else if (Service === "gabinete-digital" && Object === "expedientes-pr") {
|
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expedientes-pr', IdObject, 'gabinete-digital']));
|
|
}
|
|
|
|
this.deleteNotification(index);
|
|
|
|
|
|
}
|
|
|
|
deleteNotification(index){
|
|
console.log("Delete notification first stata", this.notificationdata)
|
|
this.notificationdata = this.notificationdata.filter(item=>item.index !=index );
|
|
|
|
this.storageservice.store("Notifications",JSON.stringify(this.notificationdata)).then(() =>{
|
|
this.storageservice.get("Notifications").then((value) =>{
|
|
console.log("notfication state", value, )
|
|
});
|
|
});
|
|
console.log("Delete notification last stata", this.notificationdata)
|
|
|
|
}
|
|
|
|
logout() {
|
|
window.localStorage.clear();
|
|
|
|
setTimeout(() => {
|
|
this.router.navigateByUrl('/', { replaceUrl: true });
|
|
}, 100)
|
|
|
|
}
|
|
|
|
checkState() {
|
|
|
|
let userData = this.localstoreService.get('UserData', {})
|
|
|
|
if (userData.hasOwnProperty('loginPreference')) {
|
|
this.userLoginPreference = userData.loginPreference
|
|
} else {
|
|
this.userLoginPreference = ''
|
|
}
|
|
|
|
}
|
|
|
|
async editProfile() {
|
|
|
|
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: '1', right: '-100%' },
|
|
{ offset: 1, opacity: '1', right: '0px' }
|
|
]);
|
|
|
|
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({
|
|
enterAnimation,
|
|
leaveAnimation,
|
|
component: EditProfilePage,
|
|
cssClass: 'model profile-modal',
|
|
componentProps: {
|
|
}
|
|
});
|
|
return await modal.present();
|
|
}
|
|
|
|
}
|