Fixe calendar bug

This commit is contained in:
Peter Maquiran
2021-03-26 15:35:23 +01:00
parent cff95f6d8f
commit 0329cdf2ec
2 changed files with 64 additions and 33 deletions
+1 -1
View File
@@ -278,7 +278,7 @@
<div>
<div class="timeline-container d-flex" >
<div [ngSwitch]="view" class="fs-timeline timeline-mobile flex-grow-1 d-md-none" *ngIf="showTimeline">
<div [ngSwitch]="view" class="ss-timeline timeline-mobile flex-grow-1 d-md-none" *ngIf="showTimeline">
<mwl-calendar-day-view
*ngSwitchCase="'day'"
[viewDate]="viewDate"
+63 -32
View File
@@ -201,7 +201,6 @@ export class AgendaPage implements OnInit {
console.log('Event clicked', event);
// this.selectedEvent = event;
this.eventSelectedDate = event.start;
this.selectedEventId = event.id;
@@ -358,19 +357,19 @@ export class AgendaPage implements OnInit {
let top = '0';
console.log('startMinutos', startMinutos);
if(startHours < endHours){
if (startMinutos != 0 ){
top = `${ Math.abs((startMinutos - 60)) }`
}
}
console.log(profile);
const profile_ = profile == 'md'? 'mdgpr': 'pr';
return `
<div class="timeline-box timeline-box-event-${eventIndex} timeline-${profile_}-box-${calendarName} calendar-top${top}">
<div class=" overflow-hidden timeline-box timeline-box-event-${eventIndex} timeline-${profile_}-box-${calendarName} calendar-top${top}">
<div>
<span class="timeline-start-time">${startTimeWisthS}</span><span class="timeline-location">${eventlocation}</span>
</div>
@@ -385,34 +384,54 @@ export class AgendaPage implements OnInit {
timelineBoxCorrectHeight(timeout){
setTimeout(()=>{
this.eventSource.forEach((el:any, eventIndex)=>{
const startEvent = new Date(el.startTime);
const endEvent = new Date(el.endTime);
var minutes = ((endEvent.getTime() - startEvent.getTime()) / 1000) / 60;
const top = (startEvent.getTime() - (new Date(2020, 1, 3)).getTime()) /60;
if(window.innerWidth <= 1024){
this.events.forEach((el:any, eventIndex)=>{
document.querySelectorAll('.fs-timeline .timeline-box').forEach(ele => {
const startEvent = new Date(el.startTime| el.start);
const endEvent = new Date(el.endTime | el.end);
var minutes = ((endEvent.getTime() - startEvent.getTime()) / 1000) / 60;
// const top = (startEvent.getTime() - (new Date(2020, 1, 3)).getTime()) /60;
if(ele.className.indexOf(`timeline-box-event-${eventIndex}`)>=0){
if(ele['offsetHeight'] <= minutes){
ele.setAttribute('style',`height:${minutes}px`);
}
document.querySelectorAll('.ss-timeline .timeline-box').forEach(ele => {
}
// this event has an contraction time
// if(`timeline-box-event-${eventIndex}` == `timeline-box-event-3`){
// alert(startEvent.toString()+' '+ endEvent.toString());
// }
if(ele.className.indexOf(`timeline-box-event-${eventIndex}`)>=0){
ele.setAttribute('style',`height:${minutes}px`);
}
});
});
} else {
this.TimelineMD.forEach((el:any, eventIndex)=>{
const startEvent = new Date(el.startTime| el.start);
const endEvent = new Date(el.endTime | el.end);
var minutes = ((endEvent.getTime() - startEvent.getTime()) / 1000) / 60;
// const top = (startEvent.getTime() - (new Date(2020, 1, 3)).getTime()) /60;
document.querySelectorAll('.fs-timeline .timeline-box').forEach(ele => {
if(ele.className.indexOf(`timeline-box-event-${eventIndex}`)>=0){
ele.setAttribute('style',`height:${minutes}px`);
}
});
});
}
});
},timeout)
setTimeout(()=>{
this.eventSource.forEach((el, eventIndex)=>{
this.TimelinePR.forEach((el, eventIndex)=>{
const startEvent = new Date(el['startTime']);
const endEvent = new Date(el['endTime']);
@@ -432,7 +451,6 @@ export class AgendaPage implements OnInit {
}
// for timeline
timelineFilter(calendarName, eventsList, profile){
this.timelineFilterState = calendarName;
@@ -440,10 +458,12 @@ export class AgendaPage implements OnInit {
// remove all event
let events = [];
console.log(eventsList);
this.showTimelineFilterState = false;
if( profile =='md'){
console.log('eventsList: ', eventsList);
}
eventsList.forEach((element, eventIndex) => {
// timeline start
@@ -453,6 +473,10 @@ export class AgendaPage implements OnInit {
const startHoursOtherFormate = new Date(element.StartDate).getHours().toLocaleString()+':'+new Date(element.StartDate).getMinutes().toLocaleString();
const EndHoursOtherFormate = formatDate(new Date(element.EndDate), 'HH:mm', 'pt');
if( profile =='md' && eventIndex==3){
console.log('mdEvent:', element,eventIndex);
}
events.push({
title: this.timeLineTemplate(startHours, element.Location, element.Body, element.CalendarName, element.Subject,startHoursOtherFormate,EndHoursOtherFormate, eventIndex, profile),
start: setHours(setMinutes(new Date(element.StartDate), 0), parseInt(startHours)),
@@ -462,11 +486,13 @@ export class AgendaPage implements OnInit {
secondary: 'white'
},
id: element.EventId,
index: eventIndex,
profile: profile
});
});
this.onCurrentChanged(this.eventSelectedDate);
// this.onCurrentChanged(this.eventSelectedDate);
return events;
}
@@ -524,9 +550,12 @@ export class AgendaPage implements OnInit {
this.eventService.getAllPrEvents(momentG(new Date(startTime),'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime),'yyyy-MM-dd 23:59:59')).subscribe(
response => {
// calendar
this.eventSource=[];
this.eventsList = response;
// calendar
this.eventsList.forEach((element, eventIndex) => {
this.eventSource.push({
title: element.Subject,
@@ -648,6 +677,8 @@ export class AgendaPage implements OnInit {
this.showTimelinePR = false;
this.showTimelineMD = false;
// calendar
this.eventSource=[];
this.eventService.getAllMdEvents( momentG(new Date(startTime),'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime),'yyyy-MM-dd 23:59:59') ).subscribe(
@@ -659,6 +690,7 @@ export class AgendaPage implements OnInit {
// loop
this.eventsList.forEach((element, eventIndex) => {
// calendar
this.eventSource.push({
index: eventIndex,
title: element.Subject,
@@ -671,10 +703,10 @@ export class AgendaPage implements OnInit {
});
});
this.events = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md');
this.TimelineMD = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md');
const MDEventList = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md');
this.events = MDEventList;
this.TimelineMD = MDEventList;
this.myCal.update();
this.myCal.loadEvents();
@@ -694,6 +726,7 @@ export class AgendaPage implements OnInit {
this.eventsList = response;
this.eventsList.forEach((element, eventIndex) => {
// calendar
this.eventSource.push({
index: eventIndex,
title: element.Subject,
@@ -708,8 +741,6 @@ export class AgendaPage implements OnInit {
});
this.TimelinePR = this.timelineFilter(this.timelineFilterState, this.eventsList, 'pr');
console.log(this.TimelinePR);
this.myCal.update();
this.myCal.loadEvents();