import ViewMode, { type ViewModeArgs } from "./view_mode.js"; const TPL = `
`; export default class CalendarView extends ViewMode { private $root: JQuery; private $calendarContainer: JQuery; constructor(args: ViewModeArgs) { super(args); this.$root = $(TPL); this.$calendarContainer = this.$root.find(".calendar-container"); args.$parent.append(this.$root); } async renderList(): Promise | undefined> { const { Calendar } = await import("@fullcalendar/core"); const dayGridPlugin = (await import("@fullcalendar/daygrid")).default; const calendar = new Calendar(this.$calendarContainer[0], { plugins: [ dayGridPlugin ], initialView: "dayGridMonth" }); calendar.render(); return this.$root; } }