diff --git a/src/components/CEventsCalendar/CEventsCalendar.scss b/src/components/CEventsCalendar/CEventsCalendar.scss index 800ef92..d3f47d1 100644 --- a/src/components/CEventsCalendar/CEventsCalendar.scss +++ b/src/components/CEventsCalendar/CEventsCalendar.scss @@ -34,7 +34,7 @@ $graytext: #555; letter-spacing: 0.03333em; &__title { - color: red; + color: white; font-weight: 700; font-size: 1rem; padding-bottom: 10px; @@ -55,7 +55,7 @@ $graytext: #555; } &__where { - margin-top: 10px; + margin-top: 5px; color: blue; &-title { @@ -67,7 +67,7 @@ $graytext: #555; } &__when { - margin-top: 10px; + margin-top: 5px; color: blue; &-title { @@ -79,7 +79,7 @@ $graytext: #555; } &__teacher { - margin-top: 10px; + margin-top: 5px; &-title { color: $graytext; } @@ -88,6 +88,16 @@ $graytext: #555; } } + &__quota { + margin-top: 5px; + &-title { + color: $graytext; + } + &-content { + + } + } + &__img { width: 100px; height: 100px; @@ -141,6 +151,18 @@ $graytext: #555; @media (max-width: 718px) { text-align: center; display: flex; + flex-direction: column; + align-items: center; + } + } + + &__align_chips { + text-align: left; + @media (max-width: 718px) { + text-align: center; + display: flex; + flex-direction: column-reverse; + align-items: center; } } @@ -201,10 +223,21 @@ $graytext: #555; position: absolute; left: 40px; @media (max-width: 400px) { + left: initial; position: initial; } } +.chipnews { + + position: absolute; + right: 0; + @media (max-width: 400px) { + position: initial; + right: initial; + } +} + .windowcol { background-color: #ffffff; // background: radial-gradient(circle, #ffffff 0%, #94dbfb 100%) @@ -213,3 +246,18 @@ $graytext: #555; .mysel{ color: white; } + +.calendar_comp{ + max-width: 170px; + @media (max-width: 400px) { + max-width: 400px; + } +} + +.myflex{ + display: flex; + flex: 1; + @media (max-width: 400px) { + flex-flow: column; + } +} diff --git a/src/components/CEventsCalendar/CEventsCalendar.ts b/src/components/CEventsCalendar/CEventsCalendar.ts index 38ae934..fee862c 100644 --- a/src/components/CEventsCalendar/CEventsCalendar.ts +++ b/src/components/CEventsCalendar/CEventsCalendar.ts @@ -13,6 +13,8 @@ import { colors, Screen, Platform, date } from 'quasar' import { CTitle } from '../../components/CTitle/index' import { CImgText } from '../../components/CImgText/index' +import { CMySelect } from '../../components/CMySelect/index' +import { CMyEditor } from '../../components/CMyEditor/index' import { stop, prevent, stopAndPrevent } from 'quasar/src/utils/event' import QDateScroller from '@quasar/quasar-app-extension-qscroller/src/component/QDateScroller' @@ -30,21 +32,20 @@ import { GlobalStore } from '../../store/Modules' @Component({ name: 'CEventsCalendar', - components: { Logo, Footer, CTitle, CImgText, QDateTimeScroller, QDateScroller } + components: { Logo, Footer, CTitle, CImgText, QDateTimeScroller, QDateScroller, CMySelect, CMyEditor } }) export default class CEventsCalendar extends Vue { - public $t: any public $q + public $t: any public calendarView = 'month' public selectedDate = '2019-04-01' - public formDefault = { + public formDefault: IEvents = { title: '', details: '', - allDay: false, - dateTimeStart: '', - dateTimeEnd: '', + dateTimeStart: tools.getstrYYMMDDDateTime(tools.getDateNow()), + dateTimeEnd: tools.getstrYYMMDDDateTime(tools.getDateNow()), icon: '', - bgcolor: '#0000FF' + bgcolor: '#839ff2' } public formbookEventDefault: IBookedEvent = { @@ -79,7 +80,7 @@ export default class CEventsCalendar extends Vue { } public contextDay = null - public eventForm = { ...this.formDefault } + public eventForm: IEvents = { ...this.formDefault } public bookEventForm = { ...this.formbookEventDefault } public displayEvent = false public myevent = null @@ -92,11 +93,6 @@ export default class CEventsCalendar extends Vue { public showDateTimeScrollerStart = false public showDateTimeScrollerEnd = false - @Watch('locale') - public checkloc() { - this.updateFormatters() - } - public resources = [ { label: 'John' @@ -121,10 +117,6 @@ export default class CEventsCalendar extends Vue { } ] - public $refs: { - calendar: any - } - // public eventdata = // [ // { @@ -268,26 +260,6 @@ export default class CEventsCalendar extends Vue { return CalendarStore.state.editable } - public mounted() { - this.selectedDate = this.formatDate(tools.getDateNow()) - this.$root.$on('calendar:next', this.calendarNext) - this.$root.$on('calendar:prev', this.calendarPrev) - this.$root.$on('calendar:today', this.calendarToday) - // CalendarStore.state.eventlist = events - this.updateFormatters() - } - - public beforeMount() { - CalendarStore.state.locale = toolsext.getLocale() - this.updateFormatters() - } - - public beforeDestroy() { - this.$root.$off('calendar:next', this.calendarNext) - this.$root.$off('calendar:prev', this.calendarPrev) - this.$root.$off('calendar:today', this.calendarToday) - } - get containerStyle() { const styles = { height: '' } if (this.calendarView !== 'month' || (this.calendarView === 'month' && CalendarStore.state.dayHeight === 0)) { @@ -300,15 +272,15 @@ export default class CEventsCalendar extends Vue { get eventsMap() { // console.log('eventsMap') const map = {} - CalendarStore.state.eventlist.forEach((myevent) => (map[myevent.date] = map[myevent.date] || []).push(myevent)) + CalendarStore.state.eventlist.forEach((myevent) => (map[tools.getstrDateTime(myevent.dateTimeStart)] = map[tools.getstrDateTime(myevent.dateTimeStart)] || []).push(myevent)) return map } get addOrUpdateEvent() { if (this.contextDay && this.contextDay.bgcolor) { - return 'Update' + return this.$t('dialog.update') } - return 'Add' + return this.$t('dialog.add') } get scrollerPopupStyle160() { @@ -341,6 +313,79 @@ export default class CEventsCalendar extends Vue { } } + get tools() { + return tools + } + + get toolsext() { + return toolsext + } + + get func_tools() { + return func_tools + } + + get hasModifiedBooking() { + return (this.bookEventpage.bookedevent.numpeople !== this.bookEventForm.numpeople) || + (this.bookEventpage.bookedevent.msgbooking !== this.bookEventForm.msgbooking) || + (this.bookEventpage.bookedevent.booked !== this.bookEventForm.booked) + } + + get static_data() { + return static_data + } + + get EState() { + return EState + } + + get checkseinviaMsg() { + return (this.bookEventpage.state === EState.Creating) && (!this.bookEventForm.booked) + } + + get getTitleBtnBooking() { + if (this.bookEventpage.state === EState.Creating) { + return this.$t('dialog.book') + } else { + return this.$t('dialog.update') + } + } + + get mythis() { + return this + } + + + public $refs: { + calendar: any + } + + @Watch('locale') + public checkloc() { + this.updateFormatters() + } + + public mounted() { + this.selectedDate = this.formatDate(tools.getDateNow()) + this.$root.$on('calendar:next', this.calendarNext) + this.$root.$on('calendar:prev', this.calendarPrev) + this.$root.$on('calendar:today', this.calendarToday) + // CalendarStore.state.eventlist = events + this.updateFormatters() + + } + + public beforeMount() { + CalendarStore.state.locale = toolsext.getLocale() + this.updateFormatters() + } + + public beforeDestroy() { + this.$root.$off('calendar:next', this.calendarNext) + this.$root.$off('calendar:prev', this.calendarPrev) + this.$root.$off('calendar:today', this.calendarToday) + } + public showEvent(eventparam: IEvents) { // console.log('showEvent - INIZIO') this.myevent = eventparam @@ -348,13 +393,6 @@ export default class CEventsCalendar extends Vue { // console.log('showEvent - FINE ' + myevent) } - public getEndTime(eventparam) { - let endTime = new Date(eventparam.date) - endTime = date.addToDate(endTime, { minutes: eventparam.dur }) - endTime = date.formatDate(endTime, 'HH:mm') - return endTime - } - public onDateChanged(mydate) { this.calendarView = 'day' } @@ -378,18 +416,10 @@ export default class CEventsCalendar extends Vue { } this.resetForm() this.contextDay = { ...day } - let timestamp - if (this.contextDay.hasTime === true) { - timestamp = this.getTimestamp(this.adjustTimestamp(this.contextDay)) - const startTime = new Date(timestamp) - const endTime = date.addToDate(startTime, { hours: 1 }) - this.eventForm.dateTimeEnd = this.formatDate(endTime) + ' ' + this.formatTime(endTime) // endTime.toString() - } else { - timestamp = this.contextDay.date + ' 00:00' - } - this.eventForm.dateTimeStart = timestamp - this.eventForm.allDay = this.contextDay.hasTime === false - this.eventForm.bgcolor = '#0000FF' // starting color + + this.eventForm.dateTimeStart = tools.getstrYYMMDDDateTime(day.date + ' 21:00:00') + this.eventForm.dateTimeEnd = tools.getstrYYMMDDDateTime(day.date + ' 22:00:00') + this.addEvent = true // show dialog } @@ -402,7 +432,6 @@ export default class CEventsCalendar extends Vue { console.log('addBookEventMenu') this.resetForm() this.myevent = eventparam - // this.bookEventForm.msgbooking = translate('cal.bookingtextdefault') + ' ' + tools.gettextevent(this.myevent) this.bookEventForm.msgbooking = '' this.bookEventForm.numpeople = 1 this.bookEventpage.state = EState.Creating @@ -419,23 +448,14 @@ export default class CEventsCalendar extends Vue { public editEvent(eventparam) { console.log('editEvent - INIZIO') this.resetForm() + this.contextDay = { ...eventparam } - let timestamp - 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() - this.eventForm.dateTimeEnd = this.formatDate(endTime) + ' ' + this.formatTime(endTime) // endTime.toString() - } else { - timestamp = eventparam.date - this.eventForm.dateTimeStart = timestamp - } - this.eventForm.allDay = !eventparam.withtime - this.eventForm.bgcolor = eventparam.bgcolor - this.eventForm.icon = eventparam.icon - this.eventForm.title = eventparam.title - this.eventForm.details = eventparam.details + + this.eventForm = { ...eventparam } + + this.eventForm.dateTimeStart = tools.getstrYYMMDDDateTime(eventparam.dateTimeStart) + this.eventForm.dateTimeEnd = tools.getstrYYMMDDDateTime(eventparam.dateTimeEnd) + this.addEvent = true // show dialog } @@ -448,10 +468,13 @@ export default class CEventsCalendar extends Vue { public findEventIndex(eventparam) { for (let i = 0; i < CalendarStore.state.eventlist.length; ++i) { - if (eventparam.title === CalendarStore.state.eventlist[i].title && - eventparam.details === CalendarStore.state.eventlist[i].details && - eventparam.date === CalendarStore.state.eventlist[i].date) { - return i + if (eventparam) { + if (eventparam.title === CalendarStore.state.eventlist[i].title && + eventparam.details === CalendarStore.state.eventlist[i].details && + eventparam.dateTimeStart === CalendarStore.state.eventlist[i].dateTimeStart && + eventparam.dateTimeEnd === CalendarStore.state.eventlist[i].dateTimeEnd) { + return i + } } } } @@ -471,18 +494,6 @@ export default class CEventsCalendar extends Vue { return [year, tools.padTime(month), tools.padTime(day)].join('-') } - get tools() { - return tools - } - - get toolsext() { - return toolsext - } - - get func_tools() { - return func_tools - } - public formatTime(mydate) { const d = mydate !== void 0 ? new Date(mydate) : new Date(), hours = '' + d.getHours(), @@ -498,6 +509,33 @@ export default class CEventsCalendar extends Vue { return diff } + public UpdateDbByFields(myrec, undo?) { + const self = this + + const mydatatosave = { + id: myrec._id, + table: 'myevents', + fieldsvalue: myrec + } + + GlobalStore.actions.saveFieldValue(mydatatosave).then((esito) => { + if (esito) { + tools.showPositiveNotif(this.$q, this.$t('db.recupdated')) + } else { + tools.showNegativeNotif(this.$q, this.$t('db.recfailed')) + // Undo... + if (undo) { + const index = self.findEventIndex(self.contextDay) + if (index >= 0) { + // @ts-ignore + CalendarStore.state.eventlist.splice(index, 1, { ...self.contextDay }) + } + } + } + }) + + } + public saveEvent() { const self = this @@ -508,37 +546,56 @@ export default class CEventsCalendar extends Vue { self.addEvent = false const form = { ...self.eventForm } let update = false - if (self.contextDay.bgcolor) { + if (self.contextDay._id) { // an update update = true } else { // an add } - const data: IEvents = { - withtime: false, - dur: 0, - dur2: 0, - title: form.title, - details: form.details, - icon: form.icon, - bgcolor: form.bgcolor, - date: String(form.dateTimeStart).slice(0, 10).replace(/\//g, '-') - } - if (form.allDay === false) { - // get time into separate var - // data.time = String(form.dateTimeStart).slice(11, 16) - data.dur = self.getDuration(form.dateTimeStart, form.dateTimeEnd, 'minutes') + const data = { ...form } + + // ++Save into the Database + const mydatatosave = { + id: data._id, + table: 'myevents', + fieldsvalue: data } + if (update === true) { - const index = self.findEventIndex(self.contextDay) - if (index >= 0) { - // @ts-ignore - CalendarStore.state.eventlist.splice(index, 1, { ...data }) - } + this.UpdateDbByFields(data, true) } else { - // add to events array - // @ts-ignore - CalendarStore.state.eventlist.push(data) + const mydataadd = { + table: 'myevents', + data + } + + GlobalStore.actions.saveTable(mydataadd).then((record) => { + if (record) { + tools.showPositiveNotif(this.$q, this.$t('db.recupdated')) + + if (update === true) { + const index = self.findEventIndex(self.contextDay) + if (index >= 0) { + // @ts-ignore + CalendarStore.state.eventlist.splice(index, 1, { ...data }) + } + } else { + data._id = record._id + // add to events array + // @ts-ignore + CalendarStore.state.eventlist.push(data) + } + + } else { + tools.showNegativeNotif(this.$q, this.$t('db.recfailed')) + // Undo... + const index = self.findEventIndex(self.contextDay) + if (index >= 0) { + // @ts-ignore + CalendarStore.state.eventlist.splice(index, 1, { ...self.contextDay }) + } + } + }) } self.contextDay = null @@ -565,12 +622,6 @@ export default class CEventsCalendar extends Vue { this.bookEventpage.show = true } - get hasModifiedBooking() { - return (this.bookEventpage.bookedevent.numpeople !== this.bookEventForm.numpeople) || - (this.bookEventpage.bookedevent.msgbooking !== this.bookEventForm.msgbooking) || - (this.bookEventpage.bookedevent.booked !== this.bookEventForm.booked) - } - public sendMsg(myevent: IEvents) { // .. } @@ -590,7 +641,7 @@ export default class CEventsCalendar extends Vue { userId: UserStore.state.userId, id_bookedevent: myevent._id, numpeople: self.bookEventForm.numpeople, - infoevent: tools.gettextevent(myevent), + infoevent: tools.gettextevent(self, myevent), msgbooking: self.bookEventForm.msgbooking, booked: self.bookEventForm.booked, datebooked: tools.getDateNow(), @@ -608,23 +659,14 @@ export default class CEventsCalendar extends Vue { } } - public showOffset(days) { - if (days.length === 0) return - - let val = '' - val = tools.padTime(new Date(this.getTimestamp(days[0])).getTimezoneOffset() / 60) - if (Number.isNaN(Number(val))) return '' - return 'GMT-' + val - } - public adjustTimestamp(day) { day.minute = day.minute < 15 || day.minute >= 45 ? 0 : 30 return day } - public getTimestamp(day) { - return day.date + ' ' + tools.padTime(day.hour) + ':' + tools.padTime(day.minute) + ':00.000' - } + // public getTimestamp(day) { + // return day.date + ' ' + tools.padTime(day.hour) + ':' + tools.padTime(day.minute) + ':00.000' + // } public updateFormatters() { try { @@ -682,25 +724,40 @@ export default class CEventsCalendar extends Vue { public onDragOver(ev, day, type) { if (type === 'day') { stopAndPrevent(ev) - return this.draggedEvent.date !== day.date + return this.draggedEvent.dateTimeStart !== day.dateTimeStart } else if (type === 'interval') { stopAndPrevent(ev) // return this.draggedEvent.date !== day.date && this.draggedEvent.time !== day.time - return this.draggedEvent.date !== day.date + return this.draggedEvent.dateTimeStart !== day.dateTimeStart } } public onDrop(ev, day, type) { ev.preventDefault() ev.stopPropagation() + console.log('day.dateTimeStart', day.dateTimeStart, day.date, 'day.time', day.time) if (type === 'day') { - this.draggedEvent.date = day.date + this.draggedEvent.dateTimeStart = day.date + ' ' + tools.getstrTime(this.draggedEvent.dateTimeStart) + this.draggedEvent.dateTimeEnd = day.date + ' ' + tools.getstrTime(this.draggedEvent.dateTimeEnd) this.draggedEvent.side = void 0 } else if (type === 'interval') { - this.draggedEvent.date = day.date + const mins = date.getDateDiff(this.draggedEvent.dateTimeEnd, this.draggedEvent.dateTimeStart, 'minutes') + this.draggedEvent.dateTimeStart = day.date + ' ' + day.time + const mystart = new Date(this.draggedEvent.dateTimeStart) + this.draggedEvent.dateTimeEnd = tools.addMinutes(mystart, mins) + // this.draggedEvent.dateTimeEnd = day.dateTimeEnd // this.draggedEvent.time = day.time this.draggedEvent.side = void 0 } + // console.log('Start', this.draggedEvent.dateTimeStart, 'End', this.draggedEvent.dateTimeEnd) + + // Save Date + this.UpdateDbByFields({ + _id: this.draggedEvent._id, + dateTimeStart: this.draggedEvent.dateTimeStart, + dateTimeEnd: this.draggedEvent.dateTimeEnd + }, true) + } public resetDrag() { @@ -719,20 +776,75 @@ export default class CEventsCalendar extends Vue { return CalendarStore.getters.findEventBooked(eventparam, true) } + public getImgEvent(event: IEvents) { + if (!!event.img) + return '../../statics/' + event.img + else + return '../../statics/images/noimg.png' + } + + get getContribTypeArr() { + return CalendarStore.state.contribtype + } + + get getTeachersArr() { + return CalendarStore.state.operators + } + + get getWhereArr() { + return CalendarStore.state.wheres + } + + public isShowPrice(event: IEvents) { + const rec = CalendarStore.getters.getContribtypeRec(event.contribtype) + return (rec) ? rec.showprice : true + } + + public getContribtypeById(id) { + return CalendarStore.getters.getContribtypeById(id) + } + + public createContribType(value) { + console.log('createContribType', value) + tools.createNewRecord(this, 'contribtype', { label: value }).then((myrec) => { + console.log('myrec') + CalendarStore.state.contribtype.push(myrec) + }) + } + public getEventDate(eventparam) { - const parts = eventparam.date.split('-') + const parts = eventparam.dateTimeStart.split('-') const mydate = new Date(parts[0], parts[1] - 1, parts[2]) return this.dateFormatter.format(mydate) } + public getPrice(event: IEvents) { + let myprice = (event.price > 0) ? event.price + ' €' : '' + myprice = (event.price === -1) ? this.$t('event.askinfo') : myprice + + if (event.infoafterprice) + myprice += ' ' + event.infoafterprice + + return myprice + } + public getTeacherName(teacherusername) { - const op = CalendarStore.state.operators.find((myop) => myop.username === teacherusername) - return (op) ? `${op.name} ${op.surname}` : '' + return CalendarStore.getters.getTeacherName(teacherusername) + } + + public getWhereIcon(where) { + const whererec = CalendarStore.getters.getWhereRec(where) + return (whererec) ? whererec.whereicon : '' + } + + public getWhereName(where) { + const whererec = CalendarStore.getters.getWhereRec(where) + return (whererec) ? whererec.placename : '' } public getTeacherImg(teacherusername) { - const op = CalendarStore.state.operators.find((myop) => myop.username === teacherusername) - return (op) ? op.img : 'avatar/noimage.png' + const teacher = CalendarStore.getters.getTeacher(teacherusername) + return (teacher) ? teacher.img : '' } public badgeClasses(eventparam, type) { @@ -754,10 +866,10 @@ export default class CEventsCalendar extends Vue { s.color = colors.luminosity(eventparam.bgcolor) > 0.5 ? 'black' : 'white' } if (timeStartPos) { - s.top = timeStartPos(tools.getstrTime(eventparam.date)) + 'px' + s.top = timeStartPos(tools.getstrTime(eventparam.dateTimeStart)) + 'px' } if (timeDurationHeight) { - s.height = timeDurationHeight(eventparam.dur) + 'px' + s.height = timeDurationHeight(this.func_tools.getMinutesDuration(eventparam.dateTimeStart, eventparam.dateTimeEnd)) + 'px' } s['align-items'] = 'flex-start' return s @@ -798,7 +910,7 @@ 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) + const dateEvent = new Date(CalendarStore.state.eventlist[i].dateTimeEnd) if (dateEvent >= datenow) { eventsloc.push(CalendarStore.state.eventlist[i]) @@ -813,37 +925,30 @@ 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 (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) - 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) - const endTime2 = date.addToDate(startTime2, { minutes: eventsloc[j].dur2 }) - if (date.isBetweenDates(startTime, startTime2, endTime2) || date.isBetweenDates(endTime, startTime2, endTime2)) { - eventsloc[j].side = 'left' - // CalendarStore.state.eventlist[i].side = 'right' - eventsloc.push(CalendarStore.state.eventlist[i]) - added = true - break - } + if (tools.getstrYYMMDDDate(CalendarStore.state.eventlist[i].dateTimeStart) === dt) { + if (eventsloc.length > 0) { + // check for overlapping times + const startTime = CalendarStore.state.eventlist[i].dateTimeStart + const endTime = CalendarStore.state.eventlist[i].dateTimeEnd + for (let j = 0; j < eventsloc.length; ++j) { + const startTime2 = eventsloc[j].dateTimeStart + const endTime2 = eventsloc[j].dateTimeEnd + if (date.isBetweenDates(startTime, startTime2, endTime2) || date.isBetweenDates(endTime, startTime2, endTime2)) { + eventsloc[j].side = 'left' + eventsloc.push(CalendarStore.state.eventlist[i]) + added = true + break } } + } // } if (!added) { // CalendarStore.state.eventlist[i].side = void 0 eventsloc.push(CalendarStore.state.eventlist[i]) } - } else if (CalendarStore.state.eventlist[i].days) { + } else if (tools.hasManyDays(CalendarStore.state.eventlist[i].dateTimeStart, CalendarStore.state.eventlist[i].dateTimeEnd)) { // 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) - const endDate = date.addToDate(startDate, { days: CalendarStore.state.eventlist[i].days }) - if (date.isBetweenDates(dt, startDate, endDate)) { + if (date.isBetweenDates(dt, CalendarStore.state.eventlist[i].dateTimeStart, CalendarStore.state.eventlist[i].dateTimeEnd)) { eventsloc.push(CalendarStore.state.eventlist[i]) added = true } @@ -852,41 +957,10 @@ export default class CEventsCalendar extends Vue { return eventsloc } - get static_data() { - return static_data - } - - get EState() { - return EState - } - - get checkseinviaMsg() { - return (this.bookEventpage.state === EState.Creating) && (!this.bookEventForm.booked) - } - - get getTitleBtnBooking() { - if (this.bookEventpage.state === EState.Creating) { - return this.$t('dialog.book') - } else { - return this.$t('dialog.update') - } - } - - get mythis() { - return this - } - public isEventEnabled(myevent) { // 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) - - if (myevent.days) { - dateEvent = tools.addDays(dateEvent, myevent.days) - } - - return (dateEvent >= datenow) + return (myevent.dateTimeEnd >= datenow) } } diff --git a/src/components/CEventsCalendar/CEventsCalendar.vue b/src/components/CEventsCalendar/CEventsCalendar.vue index 045b603..463ee3b 100644 --- a/src/components/CEventsCalendar/CEventsCalendar.vue +++ b/src/components/CEventsCalendar/CEventsCalendar.vue @@ -1,11 +1,12 @@