feat(calendar_view): integrate fullcalendar

This commit is contained in:
Elian Doran
2025-02-15 10:23:33 +02:00
parent 68ccd23540
commit 462a2713a2
3 changed files with 45 additions and 2 deletions

View File

@@ -1,4 +1,3 @@
import type FNote from "../../entities/fnote.js";
import ViewMode, { type ViewModeArgs } from "./view_mode.js";
const TPL = `
@@ -11,22 +10,34 @@ const TPL = `
}
</style>
Hello world.
<div class="calendar-container">
</div>
</div>
`;
export default class CalendarView extends ViewMode {
private $root: JQuery<HTMLElement>;
private $calendarContainer: JQuery<HTMLElement>;
constructor(args: ViewModeArgs) {
super(args);
this.$root = $(TPL);
this.$calendarContainer = this.$root.find(".calendar-container");
args.$parent.append(this.$root);
}
async renderList(): Promise<JQuery<HTMLElement> | 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;
}