Implements dependency injection with Brandi

Replaces manual manager creation with Brandi DI container
for improved dependency management and testability.

Removes the ManagerFactory and its usages.
This commit is contained in:
Janus C. H. Knudsen 2025-10-15 20:09:12 +02:00
parent b3b930c1f9
commit a80e4a7603
4 changed files with 93 additions and 132 deletions

View file

@ -52,6 +52,13 @@ async function initializeCalendar(): Promise<void> {
const calendarManager = container.get(TOKENS.calendarManager);
const eventManager = container.get(TOKENS.eventManager);
const resizeHandleManager = container.get(TOKENS.resizeHandleManager);
const headerManager = container.get(TOKENS.headerManager);
const dragDropManager = container.get(TOKENS.dragDropManager);
const viewManager = container.get(TOKENS.viewManager);
const navigationManager = container.get(TOKENS.navigationManager);
const edgeScrollManager = container.get(TOKENS.edgeScrollManager);
const dragHoverManager = container.get(TOKENS.dragHoverManager);
const allDayManager = container.get(TOKENS.allDayManager);
// Initialize managers
await calendarManager.initialize?.();
@ -84,7 +91,7 @@ async function initializeCalendar(): Promise<void> {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => {
initializeCalendar().catch(error => {
});
});
});
} else {
initializeCalendar().catch(error => {