fix agenda

This commit is contained in:
Peter Maquiran
2023-11-06 09:36:30 +01:00
parent 95281151d1
commit e85d9abdf9
3 changed files with 133 additions and 57 deletions
+13 -5
View File
@@ -217,16 +217,24 @@
<div class="height-100"> <div class="height-100">
<div class="timeline-container height-100 d-flex pt-10 pl-20 filter-{{segment}}" > <div class="timeline-container height-100 d-flex pt-10 pl-20 filter-{{segment}}" >
<div class="ss-timeline timeline-mobile flex-grow-1 pr-10 text-black height-100 width-100 overflow-y-auto" > <!-- <div class="ss-timeline timeline-mobile flex-grow-1 pr-10 text-black height-100 width-100 overflow-y-auto" >
<div class="timeline-date align-center" *ngIf="isSelectedDayHasEvent && hasEventToday"> -->
<span >Hoje,&nbsp;</span> {{ timelineDate }}
</div> <!-- <div class="timeline-date align-center" *ngIf="isSelectedDayHasEvent && hasEventToday">
<span >Hoje,&nbsp;</span> {{ timelineDate }}
</div> -->
<div class="ss-timeline timeline-mobile flex-grow-1 pr-10 text-black height-100 width-100 overflow-y-auto" style="
display: flex;
flex-direction: column-reverse;
" >
<div *ngFor="let events of TimelineMDList | keyvalue; " > <div *ngFor="let events of TimelineMDList | keyvalue; " >
<div class="EventListBox-container" > <div class="EventListBox-container" >
<div class="day " [class.dayShow]="isSelectedDayHasEvent && hasEventToday" > <div class="day " [class.dayShow]="isSelectedDayHasEvent && hasEventToday" >
{{ TimelineDay(events.key)}} <div style="text-transform: capitalize; display: inline;">{{ viewTitle }}</div> {{ TimelineDay(events.key)}} <div style="text-transform: capitalize; display: inline;">{{ events.value[0].start | date: 'MMMM'}}</div>
</div> </div>
<div *ngFor="let event of events.value" class="EventListBox mb-10" > <div *ngFor="let event of events.value" class="EventListBox mb-10" >
+32 -16
View File
@@ -271,16 +271,19 @@ export class AgendaPage implements OnInit {
} }
if (realoadCounter != 0) { if (realoadCounter != 0) {
if(this.currentMoth.rangeStartDate != null) {
this.loadRangeEvents(this.currentMoth.rangeStartDate, this.currentMoth.rangeEndDate)
} else {
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
}
this.updateEventListBox()
} }
this.calendar.currentDate = new Date();
try {
this.myCal.update();
this.myCal.loadEvents();
this.onDropDownScrollWeal()
} catch (e) { }
this.updateEventListBox()
realoadCounter++; realoadCounter++;
this.weekToShow() this.weekToShow()
} }
@@ -735,7 +738,10 @@ export class AgendaPage implements OnInit {
const selectedDay = momentG(this.eventSelectedDate, 'dd', 'pt'); const selectedDay = momentG(this.eventSelectedDate, 'dd', 'pt');
if(this.TimelineMDList[selectedDay]) { if(this.TimelineMDList[selectedDay]) {
this.hasEventToday = true if(momentG(new Date(this.TimelineMDList[selectedDay][0].start), 'MMMM', 'pt') == momentG(this.eventSelectedDate, 'MMMM', 'pt')) {
this.hasEventToday = true
}
} else { } else {
this.hasEventToday = false this.hasEventToday = false
} }
@@ -763,10 +769,7 @@ export class AgendaPage implements OnInit {
} catch (e) { } } catch (e) { }
this.updateEventListBox() this.updateEventListBox()
} else { } else {}
}
} }
@@ -1150,10 +1153,8 @@ export class AgendaPage implements OnInit {
// THIS LINE // THIS LINE
this.updateEventListBox(); this.updateEventListBox();
} }
shoeEventDay(events: any[]) { shoeEventDay(events: any[]) {
if (this.segment == 'Combinado') { if (this.segment == 'Combinado') {
@@ -1171,3 +1172,18 @@ export class AgendaPage implements OnInit {
} }
} }
function endOfMonth(myDate){
let date = new Date(myDate);
date.setDate(1); // Avoids edge cases on the 31st day of some months
date.setMonth(date.getMonth() +1);
date.setDate(0);
date.setHours(23);
date.setMinutes(59);
date.setSeconds(59);
return date;
}
const addDays = 5;
const endDateRange = endOfMonth(new Date(5))
endDateRange.setDate(endDateRange.getDate() + addDays)
+55 -3
View File
@@ -59,8 +59,22 @@ export class ListBoxService {
newStracture = this.encapsulation(eventSource); newStracture = this.encapsulation(eventSource);
return this.display(newStracture, selectedDate) return this.display(newStracture, selectedDate)
// console.log({daysObject})
// const daysStringNum = Object.keys(daysObject)
// for(const day of daysStringNum) {
// daysObject[day] = daysObject[day].reverse()
// }
// daysObject = this.transformObjectKeyOrder(daysObject, daysStringNum)
// return daysObject
} }
display(list: CustomCalendarEvent[], selectedDate) { display(list: CustomCalendarEvent[], selectedDate) {
let days = {}; let days = {};
@@ -129,6 +143,8 @@ export class ListBoxService {
if(this.CanPush(event, selectedDate)) days[otherDays].push(EndEvent) if(this.CanPush(event, selectedDate)) days[otherDays].push(EndEvent)
} }
days[otherDays] = days[otherDays].reverse()
} }
} else { } else {
@@ -162,9 +178,13 @@ export class ListBoxService {
CanPush(event: any, selectedDate: Date) { CanPush(event: any, selectedDate: Date) {
return new Date(event.start).getMonth() == selectedDate.getMonth() && const limite = this.endOfMonth(selectedDate)
new Date(event.start).getFullYear() == selectedDate.getFullYear() && limite.setDate(limite.getDate() + 10)
new Date(event.start).getDate() >= selectedDate.getDate()
return new Date(event.start).getFullYear() >= selectedDate.getFullYear() &&
new Date(event.start).getMonth() >= selectedDate.getMonth() &&
new Date(event.start).getTime() >= selectedDate.getTime() &&
new Date(event.start).getTime() <= limite.getTime()
} }
encapsulation(eventsList:EventListStore[]): CustomCalendarEvent[] { encapsulation(eventsList:EventListStore[]): CustomCalendarEvent[] {
@@ -209,4 +229,36 @@ export class ListBoxService {
}) })
} }
transformObjectKeyOrder(originalObject, keyOrder) {
const transformedObject = {};
for (const key of keyOrder) {
if (originalObject.hasOwnProperty(key)) {
transformedObject[key] = originalObject[key];
}
}
// Include any remaining keys not in the specified order
for (const key in originalObject) {
if (!keyOrder.includes(key) && originalObject.hasOwnProperty(key)) {
transformedObject[key] = originalObject[key];
}
}
return transformedObject;
}
endOfMonth(myDate){
let date = new Date(myDate);
date.setDate(1); // Avoids edge cases on the 31st day of some months
date.setMonth(date.getMonth() +1);
date.setDate(0);
date.setHours(23);
date.setMinutes(59);
date.setSeconds(59);
return date;
}
} }