feat: configure planning board week end
This commit is contained in:
@@ -185,7 +185,9 @@ const resolvedPlanningBoardConfig = computed(() => {
|
||||
const normalizedEndTime = /^\d{2}:\d{2}$/.test(String(config.endTime || "")) ? String(config.endTime) : "21:00"
|
||||
const normalizedSlotMinutes = Number(config.slotMinutes)
|
||||
const normalizedWeekStartsOn = Number(config.weekStartsOn)
|
||||
const normalizedWeekEndsOn = Number(config.weekEndsOn)
|
||||
const allowedSlotMinutes = [15, 30, 60, 120, 180]
|
||||
const allowedWeekEndDays = [5, 6, 0]
|
||||
|
||||
return {
|
||||
startTime: normalizedStartTime,
|
||||
@@ -193,10 +195,24 @@ const resolvedPlanningBoardConfig = computed(() => {
|
||||
slotMinutes: allowedSlotMinutes.includes(normalizedSlotMinutes) ? normalizedSlotMinutes : 180,
|
||||
weekStartsOn: Number.isInteger(normalizedWeekStartsOn) && normalizedWeekStartsOn >= 1 && normalizedWeekStartsOn <= 5
|
||||
? normalizedWeekStartsOn
|
||||
: 1
|
||||
: 1,
|
||||
weekEndsOn: allowedWeekEndDays.includes(normalizedWeekEndsOn) ? normalizedWeekEndsOn : 5
|
||||
}
|
||||
})
|
||||
|
||||
const planningBoardHiddenDays = computed(() => {
|
||||
const visibleDays = new Set()
|
||||
let day = resolvedPlanningBoardConfig.value.weekStartsOn
|
||||
|
||||
for (let index = 0; index < 7; index += 1) {
|
||||
visibleDays.add(day)
|
||||
if (day === resolvedPlanningBoardConfig.value.weekEndsOn) break
|
||||
day = (day + 1) % 7
|
||||
}
|
||||
|
||||
return [0, 1, 2, 3, 4, 5, 6].filter((weekday) => !visibleDays.has(weekday))
|
||||
})
|
||||
|
||||
const resolvedQuickEntryConfig = computed(() => {
|
||||
const config = tenantCalendarConfig.value?.quickEntry || {}
|
||||
|
||||
@@ -358,7 +374,7 @@ const calendarOptions = computed(() => ({
|
||||
buttonText: "Woche",
|
||||
slotDuration: { minutes: resolvedPlanningBoardConfig.value.slotMinutes },
|
||||
snapDuration: { minutes: resolvedPlanningBoardConfig.value.slotMinutes },
|
||||
weekends: false,
|
||||
hiddenDays: planningBoardHiddenDays.value,
|
||||
slotMinTime: `${resolvedPlanningBoardConfig.value.startTime}:00`,
|
||||
slotMaxTime: `${resolvedPlanningBoardConfig.value.endTime}:00`
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user