Improve agenda add-event-component by saving data on leave

This commit is contained in:
Peter Maquiran
2021-03-31 14:42:00 +01:00
parent dec8338009
commit a266908b55
6 changed files with 156 additions and 74 deletions
@@ -30,7 +30,7 @@
</span> -->
</div>
<div class="container-div">
<div class="ion-item-class-2 d-flex">
<div class="ion-icon-class">
@@ -171,8 +171,10 @@
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<ion-input placeholder="Detalhes" [(ngModel)]="postEvent.Body.Text"></ion-input>
<div class="ion-input-class-no-height flex-grow-1">
<ion-textarea [(ngModel)]="postEvent.Body.Text" placeholder="Detalhes" ></ion-textarea>
</div>
</div>
</div>
@@ -58,7 +58,6 @@ ion-content{
}
.container-div{
margin-bottom: 15px;
overflow: auto;
}
.ion-item-class-2{
margin: 0px auto;
@@ -11,7 +11,9 @@ import { ModalController } from '@ionic/angular';
templateUrl: './new-event.component.html',
styleUrls: ['./new-event.component.scss'],
})
export class NewEventPage implements OnInit {
postEvent: Event;
eventBody: EventBody;
segment:string = "true";
@@ -32,69 +34,85 @@ export class NewEventPage implements OnInit {
constructor(
private modalController: ModalController,
private eventService: EventsService,
) {
this.postEvent = new Event();
this.eventBody = { BodyType : "1", Text : ""};
this.postEvent.Body = this.eventBody;
) {
}
ngOnInit() {
console.log(this.profile);
if(!this.restoreTemporaryData()){
this.postEvent = new Event();
this.eventBody = { BodyType : "1", Text : ""};
this.postEvent.Body = this.eventBody;
console.log(this.profile);
let selectedStartdDate = this.selectedDate;
let selectedEndDate = new Date(this.selectedDate);
/* Set + 30minutes to seleted datetime */
selectedEndDate.setMinutes(this.selectedDate.getMinutes() + 30) ;
this.minDate = this.selectedDate.toString();
if(this.selectedSegment != "Combinada"){
this.postEvent ={
EventId: '',
Subject: '',
Body: this.eventBody,
Location: '',
CalendarId: '',
CalendarName: this.selectedSegment,
StartDate: selectedStartdDate,
EndDate: new Date(selectedEndDate),
EventType: 'Reunião',
Attendees: null,
IsMeeting: false,
IsRecurring: false,
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: ['Reunião'],
HasAttachments: false,
};
}
else{
this.postEvent ={
EventId: '',
Subject: '',
Body: this.eventBody,
Location: '',
CalendarId: '',
CalendarName: 'Oficial',
StartDate: selectedStartdDate,
EndDate: new Date(selectedEndDate),
EventType: 'Reunião',
Attendees: null,
IsMeeting: false,
IsRecurring: false,
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: ['Reunião'],
HasAttachments: false,
};
let selectedStartdDate = this.selectedDate;
let selectedEndDate = new Date(this.selectedDate);
/* Set + 30minutes to seleted datetime */
selectedEndDate.setMinutes(this.selectedDate.getMinutes() + 30) ;
this.minDate = this.selectedDate.toString();
if(this.selectedSegment != "Combinada"){
this.postEvent ={
EventId: '',
Subject: '',
Body: this.eventBody,
Location: '',
CalendarId: '',
CalendarName: this.selectedSegment,
StartDate: selectedStartdDate,
EndDate: new Date(selectedEndDate),
EventType: 'Reunião',
Attendees: null,
IsMeeting: false,
IsRecurring: false,
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: ['Reunião'],
HasAttachments: false,
};
}
else{
this.postEvent ={
EventId: '',
Subject: '',
Body: this.eventBody,
Location: '',
CalendarId: '',
CalendarName: 'Oficial',
StartDate: selectedStartdDate,
EndDate: new Date(selectedEndDate),
EventType: 'Reunião',
Attendees: null,
IsMeeting: false,
IsRecurring: false,
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: ['Reunião'],
HasAttachments: false,
};
}
}
}
close(){
this.deleteTemporaryData();
this.cloneAllmobileComponent.emit();
this.clearContact.emit();
}
save(){
if(this.profile=='mdgpr'){
@@ -104,15 +122,48 @@ export class NewEventPage implements OnInit {
this.eventService.postEventPr(this.postEvent, this.postEvent.CalendarName).subscribe();
}
this.onAddEvent.emit(this.postEvent);
this.deleteTemporaryData();
this.onAddEvent.emit(this.postEvent);
this.GoBackEditOrAdd.emit();
}
async openAttendees(data: any)
{
this.saveTemporaryData();
this.openAttendeesComponent.emit();
}
saveTemporaryData(){
window['temp.path:/home/agenda/new-event.component.ts'] = {
postEvent: this.postEvent,
eventBody: this.eventBody,
segment: this.segment
}
}
restoreTemporaryData(): boolean{
const restoredData = window['temp.path:/home/agenda/new-event.component.ts']
if(JSON.stringify(restoredData) != "{}" && undefined != restoredData){
console.log('restore1111', restoredData)
this.postEvent = restoredData.postEvent
this.eventBody = restoredData.eventBody
this.segment = restoredData.segment
return true;
} else {
return false;
}
}
deleteTemporaryData(){
window['temp.path:/home/agenda/new-event.component.ts'] = {}
}
}