diff --git a/src/managers/GridManager.ts b/src/managers/GridManager.ts index db01dad..693584e 100644 --- a/src/managers/GridManager.ts +++ b/src/managers/GridManager.ts @@ -94,8 +94,8 @@ export class GridManager { this.currentDate ); - // Calculate period range - const periodRange = this.getPeriodRange(); + // Get display dates for current view + const dates = this.getDisplayDates(); // Get layout config based on current view const layoutConfig = this.getLayoutConfig(); @@ -104,8 +104,7 @@ export class GridManager { eventBus.emit(CoreEvents.GRID_RENDERED, { container: this.container, currentDate: this.currentDate, - startDate: periodRange.startDate, - endDate: periodRange.endDate, + dates: dates, layoutConfig: layoutConfig, columnCount: layoutConfig.columnCount }); @@ -131,37 +130,6 @@ export class GridManager { } } - /** - * Get period range for current view - */ - private getPeriodRange(): { startDate: Date; endDate: Date } { - switch (this.currentView) { - case 'week': - const weekStart = this.getISOWeekStart(this.currentDate); - const weekEnd = this.getWeekEnd(this.currentDate); - return { - startDate: weekStart, - endDate: weekEnd - }; - case 'month': - return { - startDate: this.getMonthStart(this.currentDate), - endDate: this.getMonthEnd(this.currentDate) - }; - case 'day': - return { - startDate: this.currentDate, - endDate: this.currentDate - }; - default: - const defaultWeekStart = this.getISOWeekStart(this.currentDate); - const defaultWeekEnd = this.getWeekEnd(this.currentDate); - return { - startDate: defaultWeekStart, - endDate: defaultWeekEnd - }; - } - } /** * Get layout config for current view diff --git a/src/renderers/EventRendererManager.ts b/src/renderers/EventRendererManager.ts index a688728..092b6e6 100644 --- a/src/renderers/EventRendererManager.ts +++ b/src/renderers/EventRendererManager.ts @@ -91,12 +91,16 @@ export class EventRenderingService { * Handle GRID_RENDERED event - render events in the current grid */ private handleGridRendered(event: CustomEvent): void { - const { container, startDate, endDate } = event.detail; + const { container, dates } = event.detail; - if (!container || !startDate || !endDate) { + if (!container || !dates || dates.length === 0) { return; } + // Calculate startDate and endDate from dates array + const startDate = dates[0]; + const endDate = dates[dates.length - 1]; + this.renderEvents({ container, startDate, diff --git a/src/types/ManagerTypes.ts b/src/types/ManagerTypes.ts index ca2fe64..af8c5a5 100644 --- a/src/types/ManagerTypes.ts +++ b/src/types/ManagerTypes.ts @@ -40,7 +40,6 @@ export interface IEventRenderingService extends IManager { export interface IGridManager extends IManager { render(): Promise; - getDisplayDates(): Date[]; } export interface IScrollManager extends IManager {