From ecf8de871b17c0edfe236e82145b6f2e92d1daf2 Mon Sep 17 00:00:00 2001 From: Alexander Brandon Coles Date: Tue, 15 Sep 2026 18:55:52 +0100 Subject: [PATCH] Drop FullCalendar's nonexistent day grid option FullCalendar has no `dayGridClassNames` hook, so it warned on every calendar render; `dayCellClassNames` already marks non-working days. --- .../calendar/op-work-packages-calendar.service.ts | 9 +-------- .../calendar/te-calendar/te-calendar.component.ts | 7 +------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts b/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts index 16dc9b80e3ea..c4ec2546c957 100644 --- a/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts +++ b/frontend/src/app/features/calendar/op-work-packages-calendar.service.ts @@ -31,7 +31,6 @@ import { CalendarOptions, DatesSetArg, DayCellContentArg, - DayCellMountArg, DayHeaderContentArg, EventApi, EventDropArg, @@ -97,11 +96,6 @@ export interface CalendarViewEvent { event:EventApi; } -// The CalenderOptions typings are missing daygrid hooks -interface CalendarOptionsWithDayGrid extends CalendarOptions { - dayGridClassNames:(data:DayCellMountArg) => void; -} - @Injectable() export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { private I18n = inject(I18nService); @@ -373,7 +367,7 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { this.contextMenuService.show(handler, event); } - private defaultOptions():CalendarOptionsWithDayGrid { + private defaultOptions():CalendarOptions { return { editable: false, locales: allLocales, @@ -392,7 +386,6 @@ export class OpWorkPackagesCalendarService extends UntilDestroyedMixin { datesSet: (dates) => this.updateDateParam(dates), dayHeaderClassNames: (data:DayHeaderContentArg) => this.calendarService.applyNonWorkingDay(data, this.nonWorkingDays), dayCellClassNames: (data:DayCellContentArg) => this.calendarService.applyNonWorkingDay(data, this.nonWorkingDays), - dayGridClassNames: (data:DayCellContentArg) => this.calendarService.applyNonWorkingDay(data, this.nonWorkingDays), slotLaneClassNames: (data:SlotLaneContentArg) => this.calendarService.applyNonWorkingDay(data, this.nonWorkingDays), slotLabelClassNames: (data:SlotLabelContentArg) => this.calendarService.applyNonWorkingDay(data, this.nonWorkingDays), dayHeaderContent: (data:DayHeaderContentArg) => this.calendarService.dayHeaderContent(data), diff --git a/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts b/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts index 3b726b31ddcb..1b3ba351dc56 100644 --- a/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts +++ b/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts @@ -36,7 +36,6 @@ import timeGrid from '@fullcalendar/timegrid'; import { CalendarOptions, DayCellContentArg, - DayCellMountArg, DayHeaderContentArg, Duration, EventApi, @@ -90,9 +89,6 @@ interface CalendarMoveEvent { delta:Duration; revert:() => void; } -interface CalendarOptionsWithDayGrid extends CalendarOptions { - dayGridClassNames:(data:DayCellMountArg) => void; -} // An array of all the days that are displayed. The zero index represents Monday. export type DisplayedDays = [ boolean, @@ -189,7 +185,7 @@ export class TimeEntryCalendarComponent implements AfterViewInit, OnDestroy { this.placeOpenPopover?.(); }; - public additionalOptions:CalendarOptionsWithDayGrid = { + public additionalOptions:CalendarOptions = { editable: false, locales: allLocales, locale: this.i18n.locale, @@ -222,7 +218,6 @@ export class TimeEntryCalendarComponent implements AfterViewInit, OnDestroy { eventDrop: this.moveEvent.bind(this), dayHeaderClassNames: (data:DayHeaderContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), dayCellClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), - dayGridClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), slotLaneClassNames: (data:SlotLaneContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), slotLabelClassNames: (data:SlotLabelContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), dayHeaderContent: (data:DayHeaderContentArg) => this.calendar.dayHeaderContent(data),