diff --git a/src/core/CalendarConfig.ts b/src/core/CalendarConfig.ts index 20d1b31..76e10c7 100644 --- a/src/core/CalendarConfig.ts +++ b/src/core/CalendarConfig.ts @@ -420,14 +420,10 @@ export class CalendarConfig { /** * Set selected date + * Note: Does not emit events - caller is responsible for event emission */ setSelectedDate(date: Date): void { this.selectedDate = date; - - // Emit date change event - eventBus.emit(CoreEvents.DATE_CHANGED, { - date: date - }); } /** @@ -478,20 +474,15 @@ export class CalendarConfig { /** * Set work week preset + * Note: Does not emit events - caller is responsible for event emission */ setWorkWeek(workWeekId: string): void { const presets = this.getWorkWeekPresets(); if (presets[workWeekId]) { this.currentWorkWeek = workWeekId; - + // Update dateViewSettings to match work week this.dateViewSettings.weekDays = presets[workWeekId].totalDays; - - // Emit work week change event - eventBus.emit(CoreEvents.WORKWEEK_CHANGED, { - workWeekId: workWeekId, - settings: presets[workWeekId] - }); } } diff --git a/src/managers/GridManager.ts b/src/managers/GridManager.ts index 435b9c5..30ffe92 100644 --- a/src/managers/GridManager.ts +++ b/src/managers/GridManager.ts @@ -207,20 +207,6 @@ export class GridManager { this.render(); } - /** - * Navigate to today - */ - public navigateToToday(): void { - this.currentDate = new Date(); - - eventBus.emit(CoreEvents.DATE_CHANGED, { - newDate: this.currentDate, - periodLabel: this.getCurrentPeriodLabel() - }); - - this.render(); - } - /** * Get current view's display dates */ diff --git a/src/managers/ViewManager.ts b/src/managers/ViewManager.ts index 489cfae..21cf563 100644 --- a/src/managers/ViewManager.ts +++ b/src/managers/ViewManager.ts @@ -139,14 +139,18 @@ export class ViewManager { * Optimized workweek change with consolidated updates */ private changeWorkweek(workweekId: string): void { - // Update the calendar config + // Update the calendar config (does not emit events) calendarConfig.setWorkWeek(workweekId); - + // Update button states using cached elements this.updateAllButtons(); - - // Trigger a workweek change to apply the new workweek - this.eventBus.emit(CoreEvents.WORKWEEK_CHANGED); + + // Emit workweek change event with full payload + const settings = calendarConfig.getWorkWeekSettings(); + this.eventBus.emit(CoreEvents.WORKWEEK_CHANGED, { + workWeekId: workweekId, + settings: settings + }); } /**