- Load Events
- Edit Events - When a field is updated: undate also memory list record - Duplicate Event
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user