This commit is contained in:
Janus Knudsen 2025-07-26 00:00:03 +02:00
parent 42c418e961
commit 001443ce11
3 changed files with 16 additions and 87 deletions

View file

@ -54,12 +54,9 @@ export class EventRenderer {
// Clear existing events first
this.clearEvents();
// Group events by day for better rendering
const eventsByDay = this.groupEventsByDay(events);
// Render events for each day
Object.entries(eventsByDay).forEach(([dayIndex, dayEvents]) => {
this.renderDayEvents(parseInt(dayIndex), dayEvents);
// For now, just log events - proper rendering will be implemented later
events.forEach(event => {
console.log(`EventRenderer: Event "${event.title}" from ${event.start} to ${event.end}`);
});
this.eventBus.emit(EventTypes.EVENT_RENDERED, {
@ -67,68 +64,6 @@ export class EventRenderer {
});
}
private groupEventsByDay(events: CalendarEvent[]): Record<number, CalendarEvent[]> {
const grouped: Record<number, CalendarEvent[]> = {};
events.forEach(event => {
const day = event.metadata?.day || 0;
if (!grouped[day]) {
grouped[day] = [];
}
grouped[day].push(event);
});
return grouped;
}
private renderDayEvents(dayIndex: number, events: CalendarEvent[]): void {
// Sort events by start time
const sortedEvents = events.sort((a, b) => a.start.localeCompare(b.start));
sortedEvents.forEach(event => {
// Find the appropriate events container for this event
const eventContainer = this.findEventContainer(event, dayIndex);
if (eventContainer) {
this.renderEvent(event, eventContainer);
}
});
}
private findEventContainer(event: CalendarEvent, dayIndex: number): Element | null {
// Debug: Log what we're looking for
console.log(`EventRenderer: Looking for day ${dayIndex} using POC structure`);
// Check what day columns actually exist
const dayColumns = document.querySelectorAll('swp-day-column');
console.log(`EventRenderer: Found ${dayColumns.length} day columns total`);
// Check first few columns to see their attributes
for (let i = 0; i < Math.min(3, dayColumns.length); i++) {
const column = dayColumns[i] as HTMLElement;
console.log(`Column ${i}:`, {
dayIndex: column.dataset.dayIndex,
date: column.dataset.date,
tagName: column.tagName
});
}
// Find the day column that corresponds to the event's day
const dayColumn = document.querySelector(`swp-day-column[data-dayIndex="${dayIndex}"]`);
if (!dayColumn) {
console.warn(`EventRenderer: Day column for day ${dayIndex} not found`);
return null;
}
// Find the events layer within this day column
const eventsLayer = dayColumn.querySelector('swp-events-layer');
if (!eventsLayer) {
console.warn(`EventRenderer: Events layer not found in day column for day ${dayIndex}`);
return null;
}
return eventsLayer;
}
private renderEvent(event: CalendarEvent, container: Element): void {
const eventElement = document.createElement('swp-event');
eventElement.dataset.eventId = event.id;