Merge branch 'feature/aganda-show-list-box' into develop

This commit is contained in:
gilson.manuel
2022-07-04 19:18:06 +01:00
8 changed files with 184 additions and 157 deletions
+3 -3
View File
@@ -293,7 +293,7 @@
</div> </div>
</div> </div>
<div class="fs-timeline flex-grow-1 d-none d-md-block d-md-block text-black pr-20 width-100 height-100 overflow-y-auto" *ngIf="eventService.calendarIds.length >= 2"> <div class="fs-timeline flex-grow-1 d-none d-md-block d-md-block text-black pr-20 width-100 height-100 overflow-y-auto" *ngIf="loggeduser.OwnerCalendars.length">
<div *ngFor="let events of TimelineMDList | keyvalue;" > <div *ngFor="let events of TimelineMDList | keyvalue;" >
<div class="EventListBox-container" > <div class="EventListBox-container" >
@@ -333,8 +333,8 @@
</div> </div>
</div> </div>
<div class="sd-timeline flex-grow-1 d-none d-md-block timeline-md text-black pl-20 pr-20 width-100 height-100 overflow-y-auto" > <div class="sd-timeline flex-grow-1 d-none d-md-block timeline-md text-black pl-20 pr-20 width-100 height-100 overflow-y-auto" *ngIf="loggeduser.SharedCalendars.length != 0" >
<div *ngFor="let events of TimelinePRList | keyvalue;"> <div *ngFor="let events of TimelinePRList | keyvalue;">
<div class="EventListBox-container" > <div class="EventListBox-container" >
+6 -2
View File
@@ -212,7 +212,7 @@ export class AgendaPage implements OnInit {
} else if (this.loggeduser.Profile == 'PR') { } else if (this.loggeduser.Profile == 'PR') {
this.profile = "pr"; this.profile = "pr";
} else { } else {
if(this.eventService.calendarIds.length >= 2) { if(this.eventService.usersCalendarIds.length >= 2) {
this.profile = "mdgpr"; this.profile = "mdgpr";
} else if (this.eventService.hasOwnCalendar) { } else if (this.eventService.hasOwnCalendar) {
this.profile = "mdgpr"; this.profile = "mdgpr";
@@ -804,6 +804,8 @@ export class AgendaPage implements OnInit {
this.addEventToDB(response, "md"); this.addEventToDB(response, "md");
let eventsList = response; let eventsList = response;
console.log('response', response);
this.CalendarStore.removeRange(startTime, endTime, 'md') this.CalendarStore.removeRange(startTime, endTime, 'md')
@@ -813,7 +815,9 @@ export class AgendaPage implements OnInit {
this.listToPresent = this.CalendarStore.eventSource this.listToPresent = this.CalendarStore.eventSource
this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate })
console.log('this.TimelineMDList', this.TimelineMDList);
this.myCal.update(); this.myCal.update();
this.myCal.loadEvents(); this.myCal.loadEvents();
@@ -1,8 +1,5 @@
<ion-header class="ion-no-border"> <ion-header class="ion-no-border">
<ion-toolbar class="header-toolbar"> <ion-toolbar class="header-toolbar">
<!-- <div #rectangle class="rectangle" (press)="handlePress()">
Double click me to change the color
</div> -->
<div class="main-header"> <div class="main-header">
<div class="header-top"> <div class="header-top">
<div class="left"> <div class="left">
@@ -98,41 +98,45 @@
<ion-item-sliding *ngIf="!loadCount" class="width-100"> <ion-item-sliding *ngIf="!loadCount" class="width-100">
<ion-item lines="none" <ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<div class="item-content flex-grow-1 cursor-pointer"> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</div> </div>
</ion-item>
<ion-item lines="none" </ion-item>
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> <ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
</div> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> </div>
<ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> </ion-item>
<ion-item lines="none"
<div class="item-content flex-grow-1 cursor-pointer"> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p>
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
</div> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
<ion-item lines="none" </div>
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
</ion-item>
<div class="item-content flex-grow-1 cursor-pointer"> <ion-item lines="none"
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
</div> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
<div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</div>
</ion-item>
</ion-item-sliding> </ion-item-sliding>
</div> </div>
@@ -282,79 +286,87 @@
<ion-item-sliding class="width-100"> <ion-item-sliding class="width-100">
<ion-item lines="none" <ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<div class="item-content flex-grow-1 cursor-pointer"> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</div> </div>
</ion-item>
<ion-item lines="none" </ion-item>
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> <ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
</div> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> </div>
<ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> </ion-item>
<ion-item lines="none"
<div class="item-content flex-grow-1 cursor-pointer"> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p>
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
</div> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
<ion-item lines="none" </div>
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
</ion-item>
<div class="item-content flex-grow-1 cursor-pointer"> <ion-item lines="none"
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
</div> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
<div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</div>
</ion-item>
</ion-item-sliding> </ion-item-sliding>
<ion-item-sliding class="width-100"> <ion-item-sliding class="width-100">
<ion-item lines="none" <ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<div class="item-content flex-grow-1 cursor-pointer"> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</div> </div>
</ion-item>
<ion-item lines="none" </ion-item>
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> <ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
</div> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> </div>
<ion-item lines="none"
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding"> </ion-item>
<ion-item lines="none"
<div class="item-content flex-grow-1 cursor-pointer"> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p>
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
</div> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> <div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
<ion-item lines="none" </div>
class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
</ion-item>
<div class="item-content flex-grow-1 cursor-pointer"> <ion-item lines="none"
<p class="item-content-date my-5"><ion-skeleton-text animated style="width: 90%"></ion-skeleton-text></p> class="item-skeleton width-100 d-flex ion-no-border ion-no-margin ion-no-padding">
<p class="item-content-title my-10"><ion-skeleton-text animated style="width: 50%"></ion-skeleton-text></p>
<p class="item-content-detail my-5"><ion-skeleton-text animated style="width: 100%"></ion-skeleton-text></p> <div class="item-content flex-grow-1 cursor-pointer">
</div> <div class="my-2"><div style="width: 90%; background-color: #eeeeee; height: 10px;"></div></div>
</ion-item> <div class="my-2"><div style="width: 50%; background-color: #eeeeee; height: 10px;"></div></div>
<div class="my-2"><div style="width: 100%; background-color: #eeeeee; height: 10px;"></div></div>
</div>
</ion-item>
</ion-item-sliding> </ion-item-sliding>
</div> </div>
+44 -33
View File
@@ -42,6 +42,8 @@ export class EventsService {
calendarIds = [] calendarIds = []
usersCalendarIds = []
hasSharedOficial: boolean = false; hasSharedOficial: boolean = false;
hasSharedPessoal: boolean = false; hasSharedPessoal: boolean = false;
hasOwnOficial: boolean = false; hasOwnOficial: boolean = false;
@@ -122,7 +124,7 @@ export class EventsService {
this.userCalendarNameOwnOficial = ''; this.userCalendarNameOwnOficial = '';
this.userCalendarNameOwnPessoal = ''; this.userCalendarNameOwnPessoal = '';
this.calendarIds = []; this.usersCalendarIds = [];
this.calendarNames = {} this.calendarNames = {}
this.calendarNamesAry = [] this.calendarNamesAry = []
@@ -200,9 +202,14 @@ export class EventsService {
this.loggeduser.OwnerCalendars.forEach(calendar => { this.loggeduser.OwnerCalendars.forEach(calendar => {
if(!this.calendarIds.includes(calendar.OwnerUserId)) { if(!this.usersCalendarIds.includes(calendar.OwnerUserId)) {
this.calendarIds.push(calendar.OwnerUserId) this.usersCalendarIds.push(calendar.OwnerUserId)
} }
if(!this.calendarIds.includes(calendar.CalendarId)) {
this.calendarIds.push(calendar.CalendarId)
}
this.hasOwnCalendar = true this.hasOwnCalendar = true
if (calendar.CalendarName == 'Oficial') { if (calendar.CalendarName == 'Oficial') {
@@ -225,12 +232,15 @@ export class EventsService {
} }
}); });
for (let sharedCalendar of this.loggeduser.SharedCalendars) { for (let sharedCalendar of this.loggeduser.SharedCalendars) {
if(!this.calendarIds.includes(sharedCalendar.OwnerUserId)) { if(!this.usersCalendarIds.includes(sharedCalendar.OwnerUserId)) {
this.calendarIds.push(sharedCalendar.OwnerUserId) this.usersCalendarIds.push(sharedCalendar.OwnerUserId)
}
if(!this.calendarIds.includes(sharedCalendar.CalendarId)) {
this.calendarIds.push(sharedCalendar.CalendarId)
} }
this.hasSharedCalendar = true this.hasSharedCalendar = true
@@ -252,38 +262,39 @@ export class EventsService {
this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarRoleId', sharedCalendar.CalendarRoleId); this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarRoleId', sharedCalendar.CalendarRoleId);
this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarName', sharedCalendar.CalendarName); this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarName', sharedCalendar.CalendarName);
} }
}
for (let sharedCalendar of this.loggeduser.SharedCalendars) {
if(sharedCalendar?.OwnerUserId) {
this.GetCalendarName(sharedCalendar.OwnerUserId).subscribe((e)=> {
this.calendarNames[sharedCalendar.CalendarId] = e.FullName
this.myCalendarNames[sharedCalendar.CalendarId] = e.FullName
if(!this.calendarNamesAry.includes(e.FullName)) { for (let sharedCalendar of this.loggeduser.SharedCalendars) {
this.calendarNamesAry.push(e.FullName) if(sharedCalendar?.OwnerUserId) {
this.calendarNamesType[e.FullName] = {} this.GetCalendarName(sharedCalendar.OwnerUserId).subscribe((e)=> {
} this.calendarNames[sharedCalendar.CalendarId] = e.FullName
this.myCalendarNames[sharedCalendar.CalendarId] = e.FullName
this.calendarNamesType[e.FullName][sharedCalendar.CalendarName] = true if(!this.calendarNamesAry.includes(e.FullName)) {
this.calendarNamesType[e.FullName][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId this.calendarNamesAry.push(e.FullName)
this.calendarNamesType[e.FullName] = {}
}) }
}
this.calendarNamesType[e.FullName][sharedCalendar.CalendarName] = true
this.calendarNamesType[e.FullName][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId
})
}
}
for (let sharedCalendar of this.loggeduser.OwnerCalendars) {
this.calendarNames[sharedCalendar.CalendarId] = 'Meu calendario'
if(!this.calendarNamesAry.includes('Meu calendario')) {
this.calendarNamesAry.push('Meu calendario')
this.calendarNamesType['Meu calendario'] = {}
} }
for (let sharedCalendar of this.loggeduser.OwnerCalendars) { this.calendarNamesType['Meu calendario'][sharedCalendar.CalendarName] = true
this.calendarNamesType['Meu calendario'][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId
this.calendarNames[sharedCalendar.CalendarId] = 'Meu calendario'
if(!this.calendarNamesAry.includes('Meu calendario')) {
this.calendarNamesAry.push('Meu calendario')
this.calendarNamesType['Meu calendario'] = {}
}
this.calendarNamesType['Meu calendario'][sharedCalendar.CalendarName] = true
this.calendarNamesType['Meu calendario'][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId
}
} }
} }
} }
@@ -165,7 +165,7 @@ export class NewEventPage implements OnInit {
this.eventBody = { BodyType : "1", Text : ""}; this.eventBody = { BodyType : "1", Text : ""};
this.postEvent.Body = this.eventBody; this.postEvent.Body = this.eventBody;
if(this.selectedSegment != "Combinada"){ if(this.selectedSegment != "Combinada") {
this.postEvent ={ this.postEvent ={
EventId: '', EventId: '',
Subject: '', Subject: '',
@@ -188,7 +188,7 @@ export class NewEventPage implements OnInit {
}; };
} }
else{ else{
this.postEvent ={ this.postEvent = {
EventId: '', EventId: '',
Subject: '', Subject: '',
Body: this.eventBody, Body: this.eventBody,
@@ -207,11 +207,11 @@ export class NewEventPage implements OnInit {
Category: 'Reunião', Category: 'Reunião',
HasAttachments: false, HasAttachments: false,
EventRecurrence: {Type:'-1',LastOccurrence:this.autoEndTime}, EventRecurrence: {Type:'-1',LastOccurrence:this.autoEndTime},
}; }
} }
if(this.postEvent.Attendees != null) { if(this.postEvent.Attendees != null) {
this.postEvent.Attendees.forEach(e =>{ this.postEvent.Attendees.forEach(e => {
if(e.IsRequired) { if(e.IsRequired) {
this.taskParticipants.push(e); this.taskParticipants.push(e);
} else { } else {
@@ -65,9 +65,12 @@ export class ViewEventPage implements OnInit {
this.loadedEvent = new Event(); this.loadedEvent = new Event();
this.eventBody = { BodyType : "1", Text : ""}; this.eventBody = { BodyType : "1", Text : ""};
this.loadedEvent.Body = this.eventBody; this.loadedEvent.Body = this.eventBody;
} }
ngOnInit() { ngOnInit() {
this.loadEvent(); this.loadEvent();
} }
@@ -35,7 +35,7 @@ export class PendentesPage implements OnInit {
private storage: Storage private storage: Storage
) { ) {
this.loggeduser = authService.ValidatedUser; this.loggeduser = authService.ValidatedUser;
} }
ngOnInit() { ngOnInit() {
@@ -80,13 +80,13 @@ export class PendentesPage implements OnInit {
} }
}) })
} }
getFromDb() { getFromDb() {
this.storage.get('pendente-list').then((pendentes) => { this.storage.get('pendente-list').then((pendentes) => {
this.listToPresent =pendentes this.listToPresent =pendentes
}) })
} }
doRefresh() { doRefresh() {
setTimeout(()=>{ setTimeout(()=>{