Refactors and optimizes core calendar managers

Streamlines several core managers by removing unnecessary complexity, caching, and redundant methods

Key improvements:
- Simplified event and view management logic
- Removed unnecessary caching mechanisms
- Reduced method complexity in managers
- Improved code readability and performance
This commit is contained in:
Janus C. H. Knudsen 2025-11-01 21:07:07 +01:00
parent 1ae4f00f2b
commit b6ab1ff50e
6 changed files with 193 additions and 327 deletions

View file

@ -26,20 +26,6 @@ export class HeaderManager {
this.setupNavigationListener();
}
/**
* Initialize header with initial date
*/
public initializeHeader(currentDate: Date): void {
this.updateHeader(currentDate);
}
/**
* Get cached calendar header element
*/
private getCalendarHeader(): HTMLElement | null {
return document.querySelector('swp-calendar-header');
}
/**
* Setup header drag event listeners - Listen to DragDropManager events
*/
@ -65,8 +51,6 @@ export class HeaderManager {
originalElement: !!originalElement,
cloneElement: !!cloneElement
});
// Header renderer already injected - ready to use if needed
}
/**
@ -115,7 +99,7 @@ export class HeaderManager {
rendererType: this.headerRenderer.constructor.name
});
const calendarHeader = this.getOrCreateCalendarHeader();
const calendarHeader = document.querySelector('swp-calendar-header') as HTMLElement;
if (!calendarHeader) {
console.warn('❌ HeaderManager: No calendar header found!');
return;
@ -130,9 +114,7 @@ export class HeaderManager {
config: this.config
};
console.log('🎨 HeaderManager: Calling renderer.render()', context);
this.headerRenderer.render(calendarHeader, context);
console.log('✅ HeaderManager: Renderer completed');
// Setup event listeners on the new content
this.setupHeaderDragListeners();
@ -143,18 +125,4 @@ export class HeaderManager {
};
eventBus.emit('header:ready', payload);
}
/**
* Get calendar header element - header always exists now
*/
private getOrCreateCalendarHeader(): HTMLElement | null {
const calendarHeader = this.getCalendarHeader();
if (!calendarHeader) {
console.warn('HeaderManager: Calendar header not found - should always exist now!');
return null;
}
return calendarHeader;
}
}