/home/ivoiecob/email.hirewise-va.com/modules/CalendarWebclient/vue/settings.js
import _ from 'lodash'
import typesUtils from 'src/utils/types'
class CalendarSettings {
constructor (appData) {
const calendarData = typesUtils.pObject(appData.Calendar)
if (!_.isEmpty(calendarData)) {
this.allowTasks = typesUtils.pBool(calendarData.AllowTasks)
this.defaultTab = typesUtils.pInt(calendarData.DefaultTab) // 1 - day, 2 - week, 3 - month
this.highlightWorkingDays = typesUtils.pBool(calendarData.HighlightWorkingDays)
this.highlightWorkingHours = typesUtils.pBool(calendarData.HighlightWorkingHours)
this.showWeekNumbers = typesUtils.pBool(calendarData.ShowWeekNumbers)
this.publicCalendarId = typesUtils.pString(calendarData.PublicCalendarId)
this.weekStartsOn = typesUtils.pInt(calendarData.WeekStartsOn) // 0 - sunday
this.workdayEnds = typesUtils.pInt(calendarData.WorkdayEnds)
this.workdayStarts = typesUtils.pInt(calendarData.WorkdayStarts)
}
}
saveCalendarSettings ({ highlightWorkingDays, highlightWorkingHours, workdayStarts, workdayEnds, weekStartsOn, defaultTab, showWeekNumbers }) {
this.defaultTab = defaultTab
this.highlightWorkingDays = highlightWorkingDays
this.highlightWorkingHours = highlightWorkingHours
this.showWeekNumbers = showWeekNumbers
this.weekStartsOn = weekStartsOn
this.workdayEnds = workdayEnds
this.workdayStarts = workdayStarts
}
}
let settings = null
export default {
init (appData) {
settings = new CalendarSettings(appData)
},
saveCalendarSettings (data) {
settings.saveCalendarSettings(data)
},
getCalendarSettings () {
return {
highlightWorkingDays: settings.highlightWorkingDays,
highlightWorkingHours: settings.highlightWorkingHours,
showWeekNumbers: settings.showWeekNumbers,
workdayStarts: settings.workdayStarts,
workdayEnds: settings.workdayEnds,
weekStartsOn: settings.weekStartsOn,
defaultTab: settings.defaultTab
}
},
}