@daykeep/calendar-core
Version:
A full display calendar for multiple Vue.js frameworks
169 lines (162 loc) • 5.11 kB
JavaScript
import DateTime from 'luxon/src/datetime'
const debug = require('debug')('calendar:CalendarMonth')
export default {
// data () {
// return {
// dayCellHeight: 5,
// dayCellHeightUnit: 'rem',
// workingDate: new Date(),
// weekArray: [],
// parsed: this.getDefaultParsed(),
// eventDetailEventObject: {},
// eventClicked: false
// }
// },
computed: {
// calendarDaysAreClickable: function () {
// return (this.fullComponentRef && this.fullComponentRef.length > 0)
// }
},
methods: {
// monthGetDateEvents: function (dateObject) {
// return this.dateGetEvents(dateObject)
// },
// doUpdate: function () {
// this.mountSetDate()
// let payload = this.getWeekArrayDisplayDates(this.generateCalendarCellArray())
// this.triggerDisplayChange(
// this.eventRef,
// payload
// )
// },
// getCalendarCellArray: function (monthNumber, yearNumber) {
// let currentDay = this.makeDT(
// DateTime.fromObject({
// year: yearNumber,
// month: monthNumber,
// day: 1
// })
// )
// let currentWeekOfYear = this.getWeekNumber(currentDay, this.sundayFirstDayOfWeek)
// let weekArray = []
// let currentWeekArray = []
// let thisDayObject = {}
// for (let thisDateOfMonth = 1; thisDateOfMonth <= 31; thisDateOfMonth++) {
// currentDay = this.makeDT(
// DateTime.fromObject({
// year: yearNumber,
// month: monthNumber,
// day: thisDateOfMonth
// })
// )
// if (
// currentDay.year === yearNumber &&
// currentDay.month === monthNumber
// ) {
// if (
// this.getWeekNumber(currentDay, this.sundayFirstDayOfWeek) !== currentWeekOfYear
// ) {
// weekArray.push(currentWeekArray)
// currentWeekOfYear = this.getWeekNumber(currentDay, this.sundayFirstDayOfWeek)
// currentWeekArray = []
// }
// thisDayObject = {
// dateObject: currentDay,
// year: currentDay.year,
// month: currentDay.month,
// date: currentDay.day,
// dayName: currentDay.toFormat('EEEE'),
// dayNumber: currentDay.weekday
// }
// currentWeekArray.push(thisDayObject)
// }
// }
// if (weekArray.length > 0) {
// weekArray.push(currentWeekArray)
// }
// return weekArray
// },
// generateCalendarCellArray: function () {
// this.weekArray = this.getCalendarCellArray(
// this.makeDT(this.workingDate).month,
// this.makeDT(this.workingDate).year
// )
// return this.weekArray
// },
/*
handleNavMove: function (params) {
this.moveTimePeriod(params)
this.$emit(
this.eventRef + ':navMovePeriod',
// {
// unitType: params.unitType,
// amount: params.amount
// }
params
)
let payload = this.getWeekArrayDisplayDates(this.generateCalendarCellArray())
payload['moveUnit'] = params.unitType
payload['moveAmount'] = params.amount
this.triggerDisplayChange(
this.eventRef,
payload
)
}
*/
// getWeekArrayDisplayDates: function (weekArray) {
// // this takes a weekArray and figures out the values to send for a page display event
// let startDateObj = weekArray[0][0].dateObject
// const lastWeek = weekArray[weekArray.length - 1]
// let endDateObj = lastWeek[lastWeek.length - 1].dateObject
// return {
// startDate: startDateObj.toISODate(),
// endDate: endDateObj.toISODate(),
// numDays: Math.ceil(endDateObj.diff(startDateObj).as('days') + 1),
// viewType: this.$options.name
// }
// },
// handleDayClick: function (dateObject) {
// // event item clicked; prevent "day" event
// if (this.eventClicked) {
// this.eventClicked = false
// return
// }
// if (this.fullComponentRef) {
// this.fullMoveToDay(dateObject)
// }
// this.handleNavMove({ absolute: dateObject })
// this.triggerDayClick(dateObject, this.eventRef)
// },
// handleCalendarEventClick: function () {
// this.eventClicked = true
// }
},
mounted () {
debug('Component mounted')
// this.doUpdate()
// this.handlePassedInEvents()
// this.$root.$on(
// this.eventRef + ':navMovePeriod',
// this.handleNavMove
// )
// this.$root.$on(
// 'click-event-' + this.eventRef,
// this.handleEventDetailEvent
// )
// this.$root.$on(
// 'update-event-' + this.eventRef,
// this.handleEventUpdate
// )
},
watch: {
startDate: function () {
this.handleStartChange()
},
eventArray: function () {
this.getPassedInEventArray()
},
parsedEvents: function () {
this.getPassedInParsedEvents()
}
}
}