mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
Merge branch 'master' of https://bitbucket.org/equilibriumito/gabinete-digital into master
This commit is contained in:
@@ -27,6 +27,8 @@ export class AgendaPage implements OnInit {
|
||||
};
|
||||
|
||||
selectedDate: Date;
|
||||
rangeStartDate: Date;
|
||||
rangeEndDate: Date;
|
||||
|
||||
@ViewChild(CalendarComponent) myCal: CalendarComponent;
|
||||
|
||||
@@ -52,11 +54,16 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
//Inicializar segment
|
||||
this.segment = "Combinada";
|
||||
|
||||
this.router.events.forEach((event) => {
|
||||
if(event instanceof NavigationEnd && event.url == this.router.url) {
|
||||
/* this.loading(); */
|
||||
if(event instanceof NavigationEnd && event.url == "/home/agenda") {
|
||||
if (this.segment == null)
|
||||
{
|
||||
this.segment = "Combinada";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -75,11 +82,14 @@ export class AgendaPage implements OnInit {
|
||||
}
|
||||
//Show information of the event
|
||||
async onEventSelected(ev: { event: Event}){
|
||||
this.router.navigate(["/home/events", ev.event.EventId]);
|
||||
this.router.navigate(["/home/agenda", ev.event.EventId, 'agenda']);
|
||||
}
|
||||
|
||||
onRangeChanged (ev: { startTime: Date, endTime: Date }) {
|
||||
this.loadRangeEvents(ev.startTime, ev.endTime);
|
||||
this.rangeStartDate = ev.startTime;
|
||||
this.rangeEndDate = ev.endTime;
|
||||
|
||||
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
|
||||
};
|
||||
|
||||
async openCalModal() {
|
||||
@@ -88,14 +98,31 @@ export class AgendaPage implements OnInit {
|
||||
cssClass: 'cal-modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
modal.onDidDismiss();
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
let postEvent: Event = data['data'];
|
||||
if (postEvent.Subject != null)
|
||||
{
|
||||
this.eventSource.push({
|
||||
title: postEvent.Subject,
|
||||
startTime: new Date(postEvent.StartDate),
|
||||
endTime: new Date(postEvent.EndDate),
|
||||
allDay: false,
|
||||
event: postEvent
|
||||
});
|
||||
this.myCal.update();
|
||||
this.myCal.loadEvents();
|
||||
}
|
||||
});
|
||||
/* this.loading(); */
|
||||
}
|
||||
|
||||
|
||||
async loadRangeEvents(startTime: Date, endTime: Date){
|
||||
this.showLoader = true;
|
||||
|
||||
switch (this.segment)
|
||||
{
|
||||
case "Combinada":
|
||||
@@ -112,8 +139,9 @@ export class AgendaPage implements OnInit {
|
||||
allDay: false,
|
||||
event: element
|
||||
});
|
||||
this.loading();
|
||||
});
|
||||
this.myCal.update();
|
||||
this.myCal.loadEvents();
|
||||
this.showLoader = false;
|
||||
}
|
||||
);
|
||||
@@ -133,8 +161,9 @@ export class AgendaPage implements OnInit {
|
||||
allDay: false,
|
||||
event: element
|
||||
});
|
||||
this.loading();
|
||||
});
|
||||
this.myCal.update();
|
||||
this.myCal.loadEvents();
|
||||
this.showLoader = false;
|
||||
}
|
||||
);
|
||||
@@ -154,8 +183,9 @@ export class AgendaPage implements OnInit {
|
||||
allDay: false,
|
||||
event: element
|
||||
});
|
||||
this.loading();
|
||||
});
|
||||
this.myCal.update();
|
||||
this.myCal.loadEvents();
|
||||
this.showLoader = false;
|
||||
}
|
||||
);
|
||||
@@ -163,25 +193,14 @@ export class AgendaPage implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
RefreshEvents(ev: { startTime: Date, endTime: Date }){
|
||||
this.loadRangeEvents(ev.startTime, ev.endTime);
|
||||
}
|
||||
|
||||
loading(){
|
||||
this.myCal.loadEvents();
|
||||
}
|
||||
|
||||
doRefresh(ev){
|
||||
this.loading();
|
||||
doRefresh(ev: any){
|
||||
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
|
||||
|
||||
setTimeout(() => {
|
||||
ev.target.complete();
|
||||
}, 2000);
|
||||
}, 250);
|
||||
}
|
||||
showAlert(){
|
||||
this.alertCrontroller.presentAlert("Funcionalidade em desenvolvimento.");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,47 +12,26 @@
|
||||
<ion-content>
|
||||
<div class="div-ion-content">
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Assunto</ion-label>
|
||||
<ion-label position="floating">Assunto</ion-label>
|
||||
<ion-input type="text" [(ngModel)]="postEvent.Subject"></ion-input>
|
||||
</ion-item>
|
||||
<!-- <ion-item>
|
||||
<ion-label>Descrição</ion-label>
|
||||
<ion-input type="text" [(ngModel)]="postEvent.Body.Text"></ion-input>
|
||||
</ion-item> -->
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Descrição</ion-label>
|
||||
<ion-textarea [(ngModel)]="postEvent.Body.Text" placeholder=""></ion-textarea>
|
||||
<ion-label position="floating">Descrição</ion-label>
|
||||
<ion-textarea [(ngModel)]="postEvent.Body.Text"></ion-textarea>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Localização</ion-label>
|
||||
<ion-label position="floating">Localização</ion-label>
|
||||
<ion-input type="text" [(ngModel)]="postEvent.Location"></ion-input>
|
||||
</ion-item>
|
||||
<!-- <ion-item>
|
||||
<ion-label position="stacked">Intervenientes</ion-label>
|
||||
<ion-input type="text" [(ngModel)]="postEvent.RequiredAttendees.Name"></ion-input>
|
||||
</ion-item> -->
|
||||
<!-- <ion-list>
|
||||
<ion-radio-group value="biff">
|
||||
<ion-item class="radio-button" lines="none">
|
||||
<ion-label>Oficial</ion-label>
|
||||
<ion-radio [(ngModel)]="postEvent.CalendarName" slot="start" value="biff"></ion-radio>
|
||||
</ion-item>
|
||||
|
||||
<ion-item class="radio-button" lines="none">
|
||||
<ion-label>Pessoal</ion-label>
|
||||
<ion-radio [(ngModel)]="postEvent.CalendarName" slot="start" value="griff"></ion-radio>
|
||||
</ion-item>
|
||||
</ion-radio-group>
|
||||
</ion-list> -->
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Selecione a Agenda</ion-label>
|
||||
<ion-label position="floating">Selecione a Agenda</ion-label>
|
||||
<ion-select [(ngModel)]="postEvent.CalendarName" interface="action-sheet" class="custom-options" Cancel-text="Cancelar">
|
||||
<ion-select-option Pessoal="Reunião">Pessoal</ion-select-option>
|
||||
<ion-select-option Oficial="Viagem">Oficial</ion-select-option>
|
||||
</ion-select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Tipo de evento</ion-label>
|
||||
<ion-label position="floating">Tipo de evento</ion-label>
|
||||
<ion-select [(ngModel)]="postEvent.EventType" interface="action-sheet" class="custom-options" Cancel-text="Cancelar">
|
||||
<ion-select-option value="Reunião">Reunião</ion-select-option>
|
||||
<ion-select-option value="Viagem">Viagem</ion-select-option>
|
||||
@@ -61,13 +40,13 @@
|
||||
</ion-select>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Data Início</ion-label>
|
||||
<ion-label position="floating">Data Início</ion-label>
|
||||
<ion-datetime [(ngModel)]="postEvent.StartDate" min="2020" max="2100"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"></ion-datetime>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Data Fim</ion-label>
|
||||
<ion-label position="floating">Data Fim</ion-label>
|
||||
<ion-datetime [(ngModel)]="postEvent.EndDate" min="2020" max="2100"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"></ion-datetime>
|
||||
@@ -88,8 +67,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar color="primary">
|
||||
<ion-buttons slot="start">
|
||||
|
||||
@@ -45,7 +45,7 @@ export class CalModalPage implements AfterViewInit {
|
||||
|
||||
save(){
|
||||
this.eventService.postEvent(this.postEvent, this.postEvent.CalendarName).subscribe();
|
||||
this.modalCtrl.dismiss();
|
||||
this.modalCtrl.dismiss(this.postEvent);
|
||||
}
|
||||
|
||||
onViewTitleChanged(title){
|
||||
@@ -58,7 +58,7 @@ export class CalModalPage implements AfterViewInit {
|
||||
}
|
||||
|
||||
close(){
|
||||
this.modalCtrl.dismiss();
|
||||
this.modalCtrl.dismiss(this.postEvent);
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,6 @@ export class CalModalPage implements AfterViewInit {
|
||||
});
|
||||
}
|
||||
this.postEvent.Attendees = this.eventAttendees;
|
||||
console.log(this.eventAttendees);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start">
|
||||
<ion-back-button defaultHref="/home/events"></ion-back-button>
|
||||
<ion-back-button defaultHref="{{ backURL }}"></ion-back-button>
|
||||
</ion-buttons>
|
||||
<ion-title>Visualizar Evento</ion-title>
|
||||
<ion-buttons slot="end">
|
||||
@@ -57,7 +57,7 @@
|
||||
<ion-item>
|
||||
<ion-label position="stacked">Data Fim</ion-label>
|
||||
<ion-datetime value="{{loadedEvent.EndDate}}" [(ngModel)]="loadedEvent.EndDate" min="2020" max="2100"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
displayFormat="D MMM YYYY HH:mm"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"></ion-datetime>
|
||||
</ion-item>
|
||||
<!-- <div class="div-card-button">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Component, OnInit, Injectable } from '@angular/core';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { EventsService } from 'src/app/services/events.service';
|
||||
import { Router } from '@angular/router';
|
||||
@@ -22,6 +22,9 @@ export class EventDetailPage implements OnInit {
|
||||
loadedEventAttachments: Attachment[];
|
||||
pageId: string;
|
||||
showLoader: boolean;
|
||||
backURL: string;
|
||||
|
||||
minDate: Date;
|
||||
|
||||
|
||||
constructor(public alertController: AlertController,
|
||||
@@ -40,20 +43,31 @@ export class EventDetailPage implements OnInit {
|
||||
|
||||
loadEvent()
|
||||
{
|
||||
let eventid: string;
|
||||
|
||||
this.activatedRoute.paramMap.subscribe(paramMap =>
|
||||
{
|
||||
if (!paramMap.has("eventId"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
this.pageId = paramMap.get('eventId');
|
||||
this.eventsService.getEvent(paramMap.get('eventId')).subscribe(response =>
|
||||
{
|
||||
this.loadedEvent = response;
|
||||
//this.eventsService.lastloadedevent = this.loadedEvent;
|
||||
});
|
||||
else
|
||||
{
|
||||
this.pageId = paramMap.get('eventId');
|
||||
eventid = paramMap.get('eventId');
|
||||
}
|
||||
|
||||
if (paramMap.has("caller"))
|
||||
{
|
||||
this.backURL = "/home/" + paramMap.get('caller');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
this.eventsService.getEvent(eventid).subscribe(response =>
|
||||
{
|
||||
this.loadedEvent = response;
|
||||
});
|
||||
}
|
||||
|
||||
async openAttendees()
|
||||
@@ -139,8 +153,6 @@ export class EventDetailPage implements OnInit {
|
||||
});
|
||||
|
||||
await alert.present();
|
||||
|
||||
this.router.navigate(['/home/events']);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -160,4 +172,8 @@ export class EventDetailPage implements OnInit {
|
||||
|
||||
|
||||
|
||||
back()
|
||||
{
|
||||
//this.back();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
<ion-item-sliding>
|
||||
<ion-item lines="none"
|
||||
*ngFor="let event of eventsList"
|
||||
[routerLink]="['/home/events', event.EventId]">
|
||||
[routerLink]="['/home/events', event.EventId, 'events']">
|
||||
<div class="div-item-{{event.CalendarName}}">
|
||||
<div class="div-up">
|
||||
<div class="div-icon">
|
||||
|
||||
@@ -77,7 +77,6 @@ export class EventsPage implements OnInit {
|
||||
.subscribe(response => {
|
||||
this.eventsList = response;
|
||||
this.showLoader = false;
|
||||
console.log(response[0].HasAttachments);
|
||||
}
|
||||
);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user