diff --git a/src/utils/AllDayLayoutEngine.ts b/src/utils/AllDayLayoutEngine.ts index 31d5018..1afe7b9 100644 --- a/src/utils/AllDayLayoutEngine.ts +++ b/src/utils/AllDayLayoutEngine.ts @@ -30,11 +30,9 @@ export class AllDayLayoutEngine { // Reset tracks for new calculation this.tracks = [new Array(this.columnIdentifiers.length).fill(false)]; - // Filter to only visible events - const visibleEvents = events.filter(event => this.isEventVisible(event)); - // Process events in input order (no sorting) - for (const event of visibleEvents) { + // Events are already filtered by DataSource before reaching this engine + for (const event of events) { const startDay = this.getEventStartDay(event); const endDay = this.getEventEndDay(event); @@ -157,22 +155,6 @@ export class AllDayLayoutEngine { return endIndex; } - /** - * Check if event is visible in the current date range - */ - private isEventVisible(event: ICalendarEvent): boolean { - if (this.columnIdentifiers.length === 0) return false; - - const eventStartDate = this.formatDate(event.start); - const eventEndDate = this.formatDate(event.end); - const firstVisibleDate = this.columnIdentifiers[0]; - const lastVisibleDate = this.columnIdentifiers[this.columnIdentifiers.length - 1]; - - // Event overlaps if it doesn't end before visible range starts - // AND doesn't start after visible range ends - return !(eventEndDate < firstVisibleDate || eventStartDate > lastVisibleDate); - } - /** * Format date to YYYY-MM-DD string using local date */