Added alert messages in login page, Edited event list border color, And few updates at the agenda module.

This commit is contained in:
Tiago Kayaya
2020-08-25 10:37:41 +01:00
parent 91147ef6b9
commit e6c55d26cb
8 changed files with 275 additions and 116 deletions
+88 -27
View File
@@ -4,10 +4,8 @@ import { AlertController, ModalController } from '@ionic/angular';
import { formatDate } from '@angular/common';
import { CalModalPage } from '../cal-modal/cal-modal.page';
import { EventsService } from 'src/app/services/events.service';
import { Observable, ObjectUnsubscribedError } from 'rxjs';
import { Event } from '../../models/event.model';
import { parse } from 'date-fns';
import { Router } from '@angular/router';
import { Router, NavigationEnd } from '@angular/router';
@Component({
selector: 'app-agenda',
@@ -33,10 +31,14 @@ export class AgendaPage implements OnInit {
segment:string;
eventsList: Event[];
responseEventId:string = '';
eventsListPessoal: Event[];
eventsListOficial: Event[];
showLoader: boolean = true;
startTime: Date;
endTime: Date;
loadedEvent: Event;
eventItem: Observable<Event>;
constructor(
private alertCtrl: AlertController,
@@ -48,7 +50,13 @@ export class AgendaPage implements OnInit {
ngOnInit() {
//Inicializar segment
this.segment = "combinada";
this.segment = "Combinada";
this.router.events.forEach((event) => {
if(event instanceof NavigationEnd && event.url == this.router.url) {
this.loading();
}
});
}
//Go to the next view of the calendar month/week/day
@@ -65,7 +73,6 @@ export class AgendaPage implements OnInit {
}
//Show information of the event
async onEventSelected(ev: { event: Event}){
console.log(ev.event.EventId);
this.router.navigate(["/home/events", ev.event.EventId]);
}
@@ -81,36 +88,90 @@ export class AgendaPage implements OnInit {
});
await modal.present();
modal.onDidDismiss();
this.loading();
/* this.loading(); */
}
async loadRangeEvents(startTime: Date, endTime: Date){
this.eventService.getAllEvents(formatDate(startTime, 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(endTime, 'yyyy-MM-dd HH:mm:ss', 'pt')).subscribe(
response => {
this.eventsList = response;
this.eventsList.forEach(element => {
this.eventSource.push({
title: element.Subject,
startTime: new Date(element.StartDate),
endTime: new Date(element.EndDate),
allDay: false,
event: element
this.showLoader = true;
switch (this.segment)
{
case "Combinada":
//Inicializa o array eventSource
this.eventSource=[];
this.eventService.getAllEvents(formatDate(startTime, 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(endTime, 'yyyy-MM-dd HH:mm:ss', 'pt')).subscribe(
response => {
this.eventsList = response;
this.eventsList.forEach(element => {
this.eventSource.push({
title: element.Subject,
startTime: new Date(element.StartDate),
endTime: new Date(element.EndDate),
allDay: false,
event: element
});
this.loading();
});
this.loading();
});
}
);
}
);
break;
case "Pessoal":
//Inicializa o array eventSource
this.eventSource=[];
this.eventService.getEvents(this.segment, formatDate(startTime, 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(endTime, 'yyyy-MM-dd HH:mm:ss', 'pt')).subscribe(
response => {
this.eventsListPessoal = response;
this.eventsListPessoal.forEach(element => {
this.eventSource.push({
title: element.Subject,
startTime: new Date(element.StartDate),
endTime: new Date(element.EndDate),
allDay: false,
event: element
});
this.loading();
});
}
);
break;
case "Oficial":
//Inicializa o array eventSource
this.eventSource=[];
this.eventService.getEvents(this.segment, formatDate(startTime, 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(endTime, 'yyyy-MM-dd HH:mm:ss', 'pt')).subscribe(
response => {
this.eventsListOficial = response;
this.eventsListOficial.forEach(element => {
this.eventSource.push({
title: element.Subject,
startTime: new Date(element.StartDate),
endTime: new Date(element.EndDate),
allDay: false,
event: element
});
this.loading();
});
}
);
break;
}
this.showLoader = false;
}
RefreshEvents(ev: { startTime: Date, endTime: Date }){
this.loadRangeEvents(ev.startTime, ev.endTime);
}
loading(){
this.myCal.loadEvents();
}
}
refreshAgenda(event){
doRefresh(ev){
this.loading();
setTimeout(() => {
event.target.complete();
ev.target.complete();
}, 2000);
}