Files
doneit-web/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts
T
Peter Maquiran 6ff883c982 message
2023-02-03 19:37:47 +01:00

148 lines
4.5 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { EventBody } from 'src/app/models/eventbody.model';
import { EventPerson } from 'src/app/models/eventperson.model';
import { ProcessesService } from 'src/app/services/processes.service';
import { ModalController } from '@ionic/angular';
import { NavigationStart, Router } from '@angular/router';
import { LoginUserRespose } from 'src/app/models/user.model';
import { AuthService } from 'src/app/services/auth.service';
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
import { SessionStore } from 'src/app/store/session.service';
@Component({
selector: 'app-events-to-approve',
templateUrl: './events-to-approve.page.html',
styleUrls: ['./events-to-approve.page.scss'],
})
export class EventsToApprovePage implements OnInit {
showLoader: boolean;
eventsPRList: any = [];
eventsMDGPRList: any = [];
eventPerson: EventPerson;
eventBody: EventBody;
categories: string[];
serialnumber:string;
loggeduser: LoginUserRespose;
segment:string;
eventaprovacaostore = EventoAprovacaoStore;
constructor(
private processes:ProcessesService,
private modalController: ModalController,
private router: Router,
private userAuth: AuthService,
private sortService: SortService,
private storage: Storage
)
{
this.loggeduser = SessionStore.user;
}
ngOnInit() {
this.segment = this.loggeduser.Profile;
this.LoadToApproveEvents();
this.router.events.forEach((event) => {
if (event instanceof NavigationStart &&
'/home/gabinete-digital?eventos=true'.startsWith(event.url)) {
if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) {
this.LoadToApproveEvents()
} else {
this.LoadToApproveEvents()
}
}
});
}
segmentChanged(ev: any) {
this.LoadToApproveEvents();
}
async LoadToApproveEvents() {
this.showLoader = true;
this.getFromDB();
if(this.segment != 'PR') {
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise();
let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise();
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList)
this.eventsMDGPRList = ( this.eventsMDGPRList || []).filter(function(item) {
return item.activityInstanceName != 'Editar Evento'
}) || []
this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => {
})
this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate'));
}
else if(this.segment == 'PR') {
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise();
let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise();
// console.log(prEventsOficial)
// console.log(prEventsPessoal)
this.eventsPRList = prEventsOficial.concat(prEventsPessoal);
this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList)
this.eventsPRList = (this.eventsPRList || []).filter(function(item) {
return item.activityInstanceName != 'Editar Evento'
})
this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => {
})
this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate'));
}
this.showLoader = false;
}
getFromDB() {
this.storage.get('event-to-aproveMD').then((events = []) => {
this.eventsMDGPRList = events
// console.log('DB',this.eventsMDGPRList)
})
this.storage.get('event-to-aprovePR').then((events) => {
this.eventsPRList = events
// console.log('DB',this.eventsPRList)
})
}
toDateString(e) {
return new Date(e).toDateString()
}
goToEventDetail(event) {
this.router.navigate(['/home/gabinete-digital/event-list/approve-event',event.serialNumber, 'gabinete-digital'])
}
doRefresh(event) {
if (event) {
setTimeout(() => {
event?.target?.complete();
}, 2000);
}
setTimeout(()=>{
this.LoadToApproveEvents();
}, 1000)
}
close() {
this.modalController.dismiss(null);
// this.RouteService.goBack('/home/gabinetedigital')
}
}