Removes unnecessary destroy methods

This commit is contained in:
Janus C. H. Knudsen 2025-10-01 22:38:15 +02:00
parent 4e5077364e
commit a1e1c5d185
19 changed files with 34 additions and 214 deletions

View file

@ -63,12 +63,6 @@ export class DragDropManager {
private snapIntervalMinutes = 15; // Default 15 minutes
private hourHeightPx: number; // Will be set from config
// Event listener references for proper cleanup
private boundHandlers = {
mouseMove: this.handleMouseMove.bind(this),
mouseDown: this.handleMouseDown.bind(this),
mouseUp: this.handleMouseUp.bind(this)
};
private get snapDistancePx(): number {
return (this.snapIntervalMinutes / 60) * this.hourHeightPx;
@ -95,10 +89,10 @@ export class DragDropManager {
* Initialize with optimized event listener setup
*/
private init(): void {
// Use bound handlers for proper cleanup
document.body.addEventListener('mousemove', this.boundHandlers.mouseMove);
document.body.addEventListener('mousedown', this.boundHandlers.mouseDown);
document.body.addEventListener('mouseup', this.boundHandlers.mouseUp);
// Add event listeners
document.body.addEventListener('mousemove', this.handleMouseMove.bind(this));
document.body.addEventListener('mousedown', this.handleMouseDown.bind(this));
document.body.addEventListener('mouseup', this.handleMouseUp.bind(this));
this.scrollContainer = document.querySelector('swp-scrollable-content') as HTMLElement;
const calendarContainer = document.querySelector('swp-calendar-container');
@ -540,19 +534,4 @@ export class DragDropManager {
this.eventBus.emit('drag:mouseleave-header', dragMouseLeavePayload);
}
}
/**
* Clean up all resources and event listeners
*/
public destroy(): void {
this.stopAutoScroll();
// Remove event listeners using bound references
document.body.removeEventListener('mousemove', this.boundHandlers.mouseMove);
document.body.removeEventListener('mousedown', this.boundHandlers.mouseDown);
document.body.removeEventListener('mouseup', this.boundHandlers.mouseUp);
// Clean up drag state
this.cleanupDragState();
}
}