diff --git a/src/components/CEventsCalendar/CEventsCalendar.ts b/src/components/CEventsCalendar/CEventsCalendar.ts index 43f0195..38ae934 100644 --- a/src/components/CEventsCalendar/CEventsCalendar.ts +++ b/src/components/CEventsCalendar/CEventsCalendar.ts @@ -349,7 +349,7 @@ export default class CEventsCalendar extends Vue { } public getEndTime(eventparam) { - let endTime = new Date(eventparam.date + ' ' + eventparam.time + ':00') + let endTime = new Date(eventparam.date) endTime = date.addToDate(endTime, { minutes: eventparam.dur }) endTime = date.formatDate(endTime, 'HH:mm') return endTime @@ -421,8 +421,8 @@ export default class CEventsCalendar extends Vue { this.resetForm() this.contextDay = { ...eventparam } let timestamp - if (eventparam.time) { - timestamp = eventparam.date + ' ' + eventparam.time + if (eventparam.withtime) { + timestamp = eventparam.date const startTime = new Date(timestamp) const endTime = date.addToDate(startTime, { minutes: eventparam.dur }) this.eventForm.dateTimeStart = this.formatDate(startTime) + ' ' + this.formatTime(startTime) // endTime.toString() @@ -431,7 +431,7 @@ export default class CEventsCalendar extends Vue { timestamp = eventparam.date this.eventForm.dateTimeStart = timestamp } - this.eventForm.allDay = !eventparam.time + this.eventForm.allDay = !eventparam.withtime this.eventForm.bgcolor = eventparam.bgcolor this.eventForm.icon = eventparam.icon this.eventForm.title = eventparam.title @@ -515,7 +515,7 @@ export default class CEventsCalendar extends Vue { // an add } const data: IEvents = { - time: '', + withtime: false, dur: 0, dur2: 0, title: form.title, @@ -526,7 +526,7 @@ export default class CEventsCalendar extends Vue { } if (form.allDay === false) { // get time into separate var - data.time = String(form.dateTimeStart).slice(11, 16) + // data.time = String(form.dateTimeStart).slice(11, 16) data.dur = self.getDuration(form.dateTimeStart, form.dateTimeEnd, 'minutes') } if (update === true) { @@ -685,7 +685,8 @@ export default class CEventsCalendar extends Vue { return this.draggedEvent.date !== day.date } else if (type === 'interval') { stopAndPrevent(ev) - return this.draggedEvent.date !== day.date && this.draggedEvent.time !== day.time + // return this.draggedEvent.date !== day.date && this.draggedEvent.time !== day.time + return this.draggedEvent.date !== day.date } } @@ -697,7 +698,7 @@ export default class CEventsCalendar extends Vue { this.draggedEvent.side = void 0 } else if (type === 'interval') { this.draggedEvent.date = day.date - this.draggedEvent.time = day.time + // this.draggedEvent.time = day.time this.draggedEvent.side = void 0 } } @@ -724,6 +725,16 @@ export default class CEventsCalendar extends Vue { return this.dateFormatter.format(mydate) } + public getTeacherName(teacherusername) { + const op = CalendarStore.state.operators.find((myop) => myop.username === teacherusername) + return (op) ? `${op.name} ${op.surname}` : '' + } + + public getTeacherImg(teacherusername) { + const op = CalendarStore.state.operators.find((myop) => myop.username === teacherusername) + return (op) ? op.img : 'avatar/noimage.png' + } + public badgeClasses(eventparam, type) { const cssColor = tools.isCssColor(eventparam.bgcolor) const isHeader = type === 'header' @@ -743,7 +754,7 @@ export default class CEventsCalendar extends Vue { s.color = colors.luminosity(eventparam.bgcolor) > 0.5 ? 'black' : 'white' } if (timeStartPos) { - s.top = timeStartPos(eventparam.time) + 'px' + s.top = timeStartPos(tools.getstrTime(eventparam.date)) + 'px' } if (timeDurationHeight) { s.height = timeDurationHeight(eventparam.dur) + 'px' @@ -786,7 +797,8 @@ export default class CEventsCalendar extends Vue { for (let i = 0; i < CalendarStore.state.eventlist.length; ++i) { // console.log(' ciclo i = ', i, CalendarStore.state.eventlist[i]) - const dateEvent = new Date(CalendarStore.state.eventlist[i].date + ' 00:00:00') + // const dateEvent = new Date(CalendarStore.state.eventlist[i].date + ' 00:00:00') + const dateEvent = new Date(CalendarStore.state.eventlist[i].date) if (dateEvent >= datenow) { eventsloc.push(CalendarStore.state.eventlist[i]) @@ -802,14 +814,15 @@ export default class CEventsCalendar extends Vue { for (let i = 0; i < CalendarStore.state.eventlist.length; ++i) { let added = false // console.log(' ciclo i = ', i, CalendarStore.state.eventlist[i]) - if (CalendarStore.state.eventlist[i].date === dt) { - if (CalendarStore.state.eventlist[i].time) { + if (tools.getstrYYMMDDDate(CalendarStore.state.eventlist[i].date) === dt) { + // if (CalendarStore.state.eventlist[i].time) { if (eventsloc.length > 0) { // check for overlapping times - const startTime = new Date(CalendarStore.state.eventlist[i].date + ' ' + CalendarStore.state.eventlist[i].time) + // const startTime = new Date(CalendarStore.state.eventlist[i].date + ' ' + CalendarStore.state.eventlist[i].time) + const startTime = new Date(CalendarStore.state.eventlist[i].date) const endTime = date.addToDate(startTime, { minutes: CalendarStore.state.eventlist[i].dur }) for (let j = 0; j < eventsloc.length; ++j) { - const startTime2 = new Date(eventsloc[j].date + ' ' + eventsloc[j].time) + const startTime2 = new Date(eventsloc[j].date) const endTime2 = date.addToDate(startTime2, { minutes: eventsloc[j].dur2 }) if (date.isBetweenDates(startTime, startTime2, endTime2) || date.isBetweenDates(endTime, startTime2, endTime2)) { eventsloc[j].side = 'left' @@ -820,14 +833,15 @@ export default class CEventsCalendar extends Vue { } } } - } + // } if (!added) { // CalendarStore.state.eventlist[i].side = void 0 eventsloc.push(CalendarStore.state.eventlist[i]) } } else if (CalendarStore.state.eventlist[i].days) { // check for overlapping dates - const startDate = new Date(CalendarStore.state.eventlist[i].date + ' 00:00:00') + // const startDate = new Date(CalendarStore.state.eventlist[i].date + ' 00:00:00') + const startDate = new Date(CalendarStore.state.eventlist[i].date) const endDate = date.addToDate(startDate, { days: CalendarStore.state.eventlist[i].days }) if (date.isBetweenDates(dt, startDate, endDate)) { eventsloc.push(CalendarStore.state.eventlist[i]) @@ -866,7 +880,8 @@ export default class CEventsCalendar extends Vue { // check if event is in the past const datenow = tools.addDays(tools.getDateNow(), -1) - let dateEvent = new Date(myevent.date + ' 00:00:00') + // let dateEvent = new Date(myevent.date + ' 00:00:00') + let dateEvent = new Date(myevent.date) if (myevent.days) { dateEvent = tools.addDays(dateEvent, myevent.days) diff --git a/src/components/CEventsCalendar/CEventsCalendar.vue b/src/components/CEventsCalendar/CEventsCalendar.vue index 544ce1e..045b603 100644 --- a/src/components/CEventsCalendar/CEventsCalendar.vue +++ b/src/components/CEventsCalendar/CEventsCalendar.vue @@ -32,16 +32,16 @@ - + - {{myevent.teacher}} + {{getTeacherName(myevent.teacher)}} - - + + - + - {{myevent.teacher2}} + {{getTeacherName(myevent.teacher2)}} @@ -68,10 +68,10 @@ {{ myevent.infoextra }} - + - {{$t('cal.hours')}}: - {{$t('cal.starttime')}} {{ myevent.time }} {{$t('cal.endtime')}}: {{ + {{$t('cal.starttime')}} {{ tools.getstrTime(myevent.date) }} {{$t('cal.endtime')}}: {{ getEndTime(myevent) }} @@ -242,10 +242,10 @@ {{ myevent.infoextra }} - + - {{$t('cal.hours')}}: - {{$t('cal.starttime')}} {{ myevent.time }} {{$t('cal.endtime')}} - {{ + {{$t('cal.starttime')}} {{ tools.getstrTime(myevent.date) }} {{$t('cal.endtime')}} - {{ getEndTime(myevent) }} @@ -386,7 +386,7 @@