diff --git a/build.js b/build.js index 06e48dc..d6c7029 100644 --- a/build.js +++ b/build.js @@ -23,7 +23,6 @@ async function renameFiles(dir) { if (baseName !== kebabName) { const newPath = join(dirname(fullPath), kebabName + '.js'); await rename(fullPath, newPath); - console.log(`Renamed: ${entry.name} -> ${kebabName}.js`); } } } @@ -32,7 +31,6 @@ async function renameFiles(dir) { // Build with esbuild async function build() { try { - console.log('Building TypeScript files...'); await esbuild.build({ entryPoints: ['src/index.ts'], @@ -46,9 +44,7 @@ async function build() { platform: 'browser' }); - console.log('Bundle created: js/calendar.js'); - console.log('Build completed successfully!'); } catch (error) { console.error('Build failed:', error); process.exit(1); diff --git a/calendar-eventbus.js b/calendar-eventbus.js index e13ec15..60b00e3 100644 --- a/calendar-eventbus.js +++ b/calendar-eventbus.js @@ -67,10 +67,7 @@ export class EventBus { cancelable: true }); - // Log event - if (this.debug) { - console.log(`πŸ“’ Event: ${eventType}`, detail); - } + this.eventLog.push({ type: eventType, diff --git a/month-view-design.html b/month-view-design.html index c71e212..b9cfffe 100644 --- a/month-view-design.html +++ b/month-view-design.html @@ -529,7 +529,6 @@ if (e.target.classList.contains('month-day-cell') || e.target.closest('.month-day-cell')) { const cell = e.target.closest('.month-day-cell'); const dayNumber = cell.querySelector('.month-day-number').textContent; - console.log('Day clicked:', dayNumber); } }); diff --git a/src/core/CalendarConfig.ts b/src/core/CalendarConfig.ts index f7938e6..904f575 100644 --- a/src/core/CalendarConfig.ts +++ b/src/core/CalendarConfig.ts @@ -163,10 +163,8 @@ export class CalendarConfig { // Set calendar mode if (typeParam === 'resource' || typeParam === 'date') { this.calendarMode = typeParam; - console.log(`CalendarConfig: Calendar mode set to '${this.calendarMode}' from URL parameter`); } else { this.calendarMode = 'date'; // Default - console.log(`CalendarConfig: Calendar mode defaulted to '${this.calendarMode}'`); } // Set selected date @@ -174,14 +172,11 @@ export class CalendarConfig { const parsedDate = new Date(dateParam); if (!isNaN(parsedDate.getTime())) { this.selectedDate = parsedDate; - console.log(`CalendarConfig: Selected date set to '${this.selectedDate.toISOString()}' from URL parameter`); } else { - console.warn(`CalendarConfig: Invalid date parameter '${dateParam}', using current date`); this.selectedDate = new Date(); } } else { this.selectedDate = new Date(); // Default to today - console.log(`CalendarConfig: Selected date defaulted to today: ${this.selectedDate.toISOString()}`); } } diff --git a/src/core/EventBus.ts b/src/core/EventBus.ts index ba00f4e..444b7cc 100644 --- a/src/core/EventBus.ts +++ b/src/core/EventBus.ts @@ -62,7 +62,6 @@ export class EventBus implements IEventBus { emit(eventType: string, detail: any = {}): boolean { // Validate eventType if (!eventType || typeof eventType !== 'string') { - console.error('EventBus.emit: Invalid eventType provided', eventType); return false; } @@ -103,9 +102,6 @@ export class EventBus implements IEventBus { const { emoji, color } = this.getCategoryStyle(category); // Use collapsed group to reduce visual noise - console.groupCollapsed(`%c${emoji} ${category.toUpperCase()}`, `color: ${color}; font-weight: bold`); - console.log(`Event: ${eventType}`, detail); - console.groupEnd(); } /** @@ -113,7 +109,6 @@ export class EventBus implements IEventBus { */ private extractCategory(eventType: string): string { if (!eventType || typeof eventType !== 'string') { - console.error('EventBus.extractCategory: Invalid eventType', eventType); return 'unknown'; } diff --git a/src/factories/CalendarTypeFactory.ts b/src/factories/CalendarTypeFactory.ts index dedf483..311a0de 100644 --- a/src/factories/CalendarTypeFactory.ts +++ b/src/factories/CalendarTypeFactory.ts @@ -27,7 +27,6 @@ export class CalendarTypeFactory { */ static initialize(): void { if (this.isInitialized) { - console.warn('CalendarModeFactory: Already initialized, skipping'); return; } @@ -45,7 +44,6 @@ export class CalendarTypeFactory { }); this.isInitialized = true; - console.log('CalendarModeFactory: Initialized with default renderers', Array.from(this.renderers.keys())); } /** @@ -53,7 +51,6 @@ export class CalendarTypeFactory { */ static registerRenderers(type: CalendarMode, config: RendererConfig): void { this.renderers.set(type, config); - console.log(`CalendarModeFactory: Registered renderers for type '${type}'`); } /** @@ -63,7 +60,6 @@ export class CalendarTypeFactory { const renderers = this.renderers.get(type); if (!renderers) { - console.warn(`CalendarModeFactory: No renderers found for type '${type}', falling back to 'date'`); return this.renderers.get('date')!; } @@ -110,6 +106,5 @@ export class CalendarTypeFactory { */ static clear(): void { this.renderers.clear(); - console.log('CalendarModeFactory: All renderers cleared'); } } \ No newline at end of file diff --git a/src/factories/ManagerFactory.ts b/src/factories/ManagerFactory.ts index c3a9c29..8a08ce6 100644 --- a/src/factories/ManagerFactory.ts +++ b/src/factories/ManagerFactory.ts @@ -37,7 +37,6 @@ export class ManagerFactory { calendarManager: CalendarManager; dragDropManager: DragDropManager; } { - console.log('🏭 ManagerFactory: Creating managers with proper DI...'); // Create managers in dependency order const eventManager = new EventManager(eventBus); @@ -58,7 +57,6 @@ export class ManagerFactory { scrollManager ); - console.log('βœ… ManagerFactory: All managers created successfully'); return { eventManager, @@ -79,13 +77,10 @@ export class ManagerFactory { calendarManager: CalendarManager; [key: string]: any; }): Promise { - console.log('πŸš€ ManagerFactory: Initializing managers...'); try { await managers.calendarManager.initialize(); - console.log('βœ… ManagerFactory: All managers initialized successfully'); } catch (error) { - console.error('❌ ManagerFactory: Manager initialization failed:', error); throw error; } } diff --git a/src/index.ts b/src/index.ts index b628e64..41871d9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,14 +8,12 @@ import { ManagerFactory } from './factories/ManagerFactory.js'; * Initialize the calendar application with simple direct calls */ async function initializeCalendar(): Promise { - console.log('πŸ—“οΈ Initializing Calendar Plantempus with factory pattern...'); try { // Use the singleton calendar configuration const config = calendarConfig; // Initialize the CalendarTypeFactory before creating managers - console.log('🏭 Initializing CalendarTypeFactory...'); CalendarTypeFactory.initialize(); // Create managers using factory pattern @@ -28,8 +26,6 @@ async function initializeCalendar(): Promise { // Initialize all managers await managerFactory.initializeManagers(managers); - console.log('🎊 Calendar Plantempus initialized successfully!'); - console.log('πŸ“Š Initialization Report:', managers.calendarManager.getInitializationReport()); // Expose to window for debugging (window as any).calendarDebug = { @@ -38,7 +34,6 @@ async function initializeCalendar(): Promise { }; } catch (error) { - console.error('πŸ’₯ Calendar initialization failed:', error); throw error; } } @@ -47,11 +42,9 @@ async function initializeCalendar(): Promise { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => { initializeCalendar().catch(error => { - console.error('Failed to initialize calendar:', error); - }); + }); }); } else { initializeCalendar().catch(error => { - console.error('Failed to initialize calendar:', error); }); } \ No newline at end of file diff --git a/src/managers/CalendarManager.ts b/src/managers/CalendarManager.ts index 551fe54..999cc4c 100644 --- a/src/managers/CalendarManager.ts +++ b/src/managers/CalendarManager.ts @@ -43,7 +43,6 @@ export class CalendarManager { this.eventFilterManager = new EventFilterManager(); this.dateCalculator = new DateCalculator(config); this.setupEventListeners(); - console.log('πŸ“‹ CalendarManager: Created with proper dependency injection'); } /** @@ -51,23 +50,18 @@ export class CalendarManager { */ public async initialize(): Promise { if (this.isInitialized) { - console.warn('CalendarManager is already initialized'); return; } - console.log('πŸš€ CalendarManager: Starting simple initialization'); try { // Debug: Check calendar type const calendarType = this.config.getCalendarMode(); - console.log(`πŸ” CalendarManager: Initializing ${calendarType} calendar`); // Step 1: Load data - console.log('πŸ“Š Loading event data...'); await this.eventManager.loadData(); // Step 2: Pass data to GridManager and render grid structure - console.log('πŸ—οΈ Rendering grid...'); if (calendarType === 'resource') { const resourceData = this.eventManager.getResourceData(); this.gridManager.setResourceData(resourceData); @@ -76,7 +70,6 @@ export class CalendarManager { // Step 2b: Trigger event rendering now that data is loaded // Re-emit GRID_RENDERED to trigger EventRendererManager - console.log('🎨 Triggering event rendering...'); const gridContainer = document.querySelector('swp-calendar-container'); if (gridContainer) { const periodRange = this.gridManager.getDisplayDates(); @@ -90,19 +83,15 @@ export class CalendarManager { } // Step 3: Initialize scroll synchronization - console.log('πŸ“œ Setting up scroll synchronization...'); this.scrollManager.initialize(); // Step 4: Set initial view and date BEFORE event rendering - console.log('βš™οΈ Setting initial view and date...'); this.setView(this.currentView); this.setCurrentDate(this.currentDate); // Step 5: Event rendering will be triggered by GRID_RENDERED event - console.log('🎨 Event rendering will be triggered automatically by grid events...'); this.isInitialized = true; - console.log('βœ… CalendarManager: Simple initialization complete'); // Emit initialization complete event this.eventBus.emit(CoreEvents.INITIALIZED, { @@ -111,7 +100,6 @@ export class CalendarManager { }); } catch (error) { - console.error('❌ CalendarManager initialization failed:', error); throw error; } } @@ -127,7 +115,6 @@ export class CalendarManager { const previousView = this.currentView; this.currentView = view; - console.log(`Changing view from ${previousView} to ${view}`); // Emit view change event this.eventBus.emit(CoreEvents.VIEW_CHANGED, { @@ -145,7 +132,6 @@ export class CalendarManager { public setCurrentDate(date: Date): void { // Validate input date if (!date || !(date instanceof Date) || isNaN(date.getTime())) { - console.error('CalendarManager.setCurrentDate: Invalid date provided', date); return; } @@ -156,7 +142,6 @@ export class CalendarManager { const prevDateStr = previousDate && !isNaN(previousDate.getTime()) ? previousDate.toISOString() : 'Invalid Date'; const newDateStr = this.currentDate.toISOString(); - console.log(`Changing date from ${prevDateStr} to ${newDateStr}`); // Emit date change event this.eventBus.emit(CoreEvents.DATE_CHANGED, { @@ -235,7 +220,6 @@ export class CalendarManager { * GenindlΓ¦s calendar data */ public refresh(): void { - console.log('Refreshing calendar...'); this.eventBus.emit(CoreEvents.REFRESH_REQUESTED, { view: this.currentView, @@ -247,7 +231,6 @@ export class CalendarManager { * Ryd calendar og nulstil til standard tilstand */ public reset(): void { - console.log('Resetting calendar...'); this.currentView = 'week'; this.currentDate = new Date(); @@ -265,7 +248,6 @@ export class CalendarManager { // Listen for workweek changes only this.eventBus.on(CoreEvents.WORKWEEK_CHANGED, (event: Event) => { const customEvent = event as CustomEvent; - console.log('CalendarManager: Workweek changed to', customEvent.detail.workWeekId); this.handleWorkweekChange(); // Also update week info display since workweek affects date range display @@ -379,7 +361,6 @@ export class CalendarManager { * Handle workweek configuration changes */ private handleWorkweekChange(): void { - console.log('CalendarManager: Handling workweek change - forcing full grid rebuild'); // Force a complete grid rebuild by clearing existing structure const container = document.querySelector('swp-calendar-container'); @@ -401,7 +382,6 @@ export class CalendarManager { * Re-render events after grid structure changes */ private rerenderEvents(): void { - console.log('CalendarManager: Re-rendering events for new workweek'); // Get current period data to determine date range const periodData = this.calculateCurrentPeriod(); @@ -409,7 +389,6 @@ export class CalendarManager { // Find the grid container to render events in const container = document.querySelector('swp-calendar-container'); if (!container) { - console.warn('CalendarManager: No container found for event re-rendering'); return; } @@ -426,19 +405,16 @@ export class CalendarManager { */ private updateWeekInfoForWorkweekChange(): void { // Don't do anything here - let GRID_RENDERED event handle it - console.log('CalendarManager: Workweek changed - week info will update after grid renders'); } /** * Update week info based on actual rendered columns */ private updateWeekInfoFromRenderedColumns(): void { - console.log('CalendarManager: Updating week info from rendered columns'); // Get actual dates from rendered columns const columns = document.querySelectorAll('swp-day-column'); if (columns.length === 0) { - console.warn('CalendarManager: No columns found for week info update'); return; } @@ -450,7 +426,6 @@ export class CalendarManager { const lastDateStr = lastColumn.dataset.date; if (!firstDateStr || !lastDateStr) { - console.warn('CalendarManager: Column dates not found'); return; } @@ -464,13 +439,6 @@ export class CalendarManager { // Format date range const dateRange = this.dateCalculator.formatDateRange(firstDate, lastDate); - console.log('CalendarManager: Week info from columns:', { - firstDate: firstDateStr, - lastDate: lastDateStr, - weekNumber, - dateRange - }); - // Emit week info update this.eventBus.emit(CoreEvents.WEEK_CHANGED, { weekNumber, diff --git a/src/managers/DragDropManager.ts b/src/managers/DragDropManager.ts index 5859da3..f0ced1d 100644 --- a/src/managers/DragDropManager.ts +++ b/src/managers/DragDropManager.ts @@ -52,7 +52,6 @@ export class DragDropManager { */ public setSnapInterval(minutes: number): void { this.snapIntervalMinutes = minutes; - console.log(`DragDropManager: Snap interval set to ${minutes} minutes (${this.snapDistancePx}px)`); } private init(): void { @@ -126,10 +125,6 @@ export class DragDropManager { column: this.currentColumn }); - console.log('DragDropManager: Drag started', { - eventId: this.draggedEventId, - column: this.currentColumn - }); } } @@ -156,10 +151,6 @@ export class DragDropManager { mouseOffset: this.mouseOffset }); - console.log(`DragDropManager: Drag moved ${this.snapIntervalMinutes} minutes`, { - snappedY, - column - }); } // Check for auto-scroll @@ -168,7 +159,6 @@ export class DragDropManager { // Check for column change const newColumn = this.detectColumn(event.clientX, event.clientY); if (newColumn && newColumn !== this.currentColumn) { - console.log(`DragDropManager: Column changed from ${this.currentColumn} to ${newColumn}`); this.currentColumn = newColumn; this.eventBus.emit('drag:column-change', { @@ -203,11 +193,6 @@ export class DragDropManager { finalY }); - console.log('DragDropManager: Drag ended', { - eventId: this.draggedEventId, - finalColumn, - finalY - }); // Clean up this.draggedEventId = null; @@ -263,7 +248,6 @@ export class DragDropManager { if (!this.scrollContainer) { this.scrollContainer = document.querySelector('swp-scrollable-content') as HTMLElement; if (!this.scrollContainer) { - console.warn('DragDropManager: Could not find swp-scrollable-content for auto-scroll'); return; } } diff --git a/src/managers/EventFilterManager.ts b/src/managers/EventFilterManager.ts index fa6d90e..799dbb7 100644 --- a/src/managers/EventFilterManager.ts +++ b/src/managers/EventFilterManager.ts @@ -35,7 +35,6 @@ export class EventFilterManager { this.searchInput = document.querySelector('swp-search-container input[type="search"]'); if (!this.searchInput) { - console.warn('EventFilterManager: Search input not found'); return; } @@ -113,7 +112,6 @@ export class EventFilterManager { private applyFilter(query: string): void { if (!this.fuse) { - console.warn('EventFilterManager: Cannot filter - Fuse not initialized'); return; } diff --git a/src/managers/EventManager.ts b/src/managers/EventManager.ts index 8e2770f..7852d24 100644 --- a/src/managers/EventManager.ts +++ b/src/managers/EventManager.ts @@ -12,10 +12,8 @@ export class EventManager { private events: CalendarEvent[] = []; constructor(eventBus: IEventBus) { - console.log('EventManager: Constructor called'); this.eventBus = eventBus; this.setupEventListeners(); - console.log('EventManager: Waiting for CALENDAR_INITIALIZED before loading data'); } private setupEventListeners(): void { @@ -28,17 +26,10 @@ export class EventManager { * Public method to load data - called directly by CalendarManager */ public async loadData(): Promise { - console.log('EventManager: Loading data via direct call'); await this.loadMockData(); - console.log(`EventManager: Data loaded successfully - ${this.events.length} events`); // Debug: Log first few events if (this.events.length > 0) { - console.log('EventManager: First event:', { - title: this.events[0].title, - start: this.events[0].start, - end: this.events[0].end - }); } } @@ -47,7 +38,6 @@ export class EventManager { const calendarType = calendarConfig.getCalendarMode(); let jsonFile: string; - console.log(`EventManager: Calendar type detected: '${calendarType}'`); if (calendarType === 'resource') { jsonFile = '/src/data/mock-resource-events.json'; @@ -55,7 +45,6 @@ export class EventManager { jsonFile = '/src/data/mock-events.json'; } - console.log(`EventManager: Loading ${calendarType} calendar data from ${jsonFile}`); const response = await fetch(jsonFile); if (!response.ok) { @@ -63,7 +52,6 @@ export class EventManager { } const data = await response.json(); - console.log(`EventManager: Loaded data for ${calendarType} calendar`); // Store raw data for GridManager this.rawData = data; @@ -71,7 +59,6 @@ export class EventManager { // Process data for internal use this.processCalendarData(calendarType, data); } catch (error) { - console.error('EventManager: Failed to load mock events:', error); this.events = []; // Fallback to empty array } } @@ -87,17 +74,14 @@ export class EventManager { resourceEmployeeId: resource.employeeId })) ); - console.log(`EventManager: Processed ${this.events.length} events from ${resourceData.resources.length} resources`); } else { this.events = data as CalendarEvent[]; - console.log(`EventManager: Processed ${this.events.length} date events`); } } private syncEvents(): void { // Events are synced during initialization // This method maintained for internal state management only - console.log(`EventManager: Internal sync - ${this.events.length} events in memory`); } public getEvents(): CalendarEvent[] { @@ -122,7 +106,6 @@ export class EventManager { * Get events for a specific time period */ public getEventsForPeriod(startDate: Date, endDate: Date): CalendarEvent[] { - console.log(`EventManager.getEventsForPeriod: Checking ${this.events.length} events for period ${startDate.toDateString()} - ${endDate.toDateString()}`); return this.events.filter(event => { const eventStart = new Date(event.start); const eventEnd = new Date(event.end); diff --git a/src/managers/GridManager.ts b/src/managers/GridManager.ts index 4d82bbc..9fbf1aa 100644 --- a/src/managers/GridManager.ts +++ b/src/managers/GridManager.ts @@ -22,7 +22,6 @@ export class GridManager { private eventCleanup: (() => void)[] = []; constructor() { - console.log('πŸ—οΈ GridManager: Constructor called with Strategy Pattern'); // Default to week view strategy this.currentStrategy = new WeekViewStrategy(); @@ -34,12 +33,10 @@ export class GridManager { this.findElements(); this.subscribeToEvents(); - console.log('GridManager: Initialized with strategy pattern'); } private findElements(): void { this.container = document.querySelector('swp-calendar-container'); - console.log('GridManager: Found container:', !!this.container); } private subscribeToEvents(): void { @@ -69,7 +66,6 @@ export class GridManager { * Switch to a different view strategy */ public switchViewStrategy(view: CalendarView): void { - console.log(`GridManager: Switching to ${view} strategy`); // Clean up current strategy this.currentStrategy.destroy(); @@ -84,7 +80,6 @@ export class GridManager { this.currentStrategy = new MonthViewStrategy(); break; default: - console.warn(`GridManager: Unknown view type ${view}, defaulting to week`); this.currentStrategy = new WeekViewStrategy(); } @@ -97,7 +92,6 @@ export class GridManager { */ public setResourceData(resourceData: ResourceCalendarData | null): void { this.resourceData = resourceData; - console.log('GridManager: Updated resource data'); this.render(); } @@ -106,11 +100,9 @@ export class GridManager { */ public async render(): Promise { if (!this.container) { - console.warn('GridManager: No container found, cannot render'); return; } - console.log(`🎨 GridManager: Rendering ${this.currentDate.toDateString()} using ${this.currentStrategy.constructor.name}`); // Create context for strategy const context: ViewContext = { @@ -128,7 +120,6 @@ export class GridManager { // Get period range from current strategy const periodRange = this.currentStrategy.getPeriodRange(this.currentDate); - console.log(`GridManager: Emitting GRID_RENDERED for main container with period ${periodRange.startDate.toDateString()} - ${periodRange.endDate.toDateString()}`); // Emit grid rendered event with explicit date range eventBus.emit(CoreEvents.GRID_RENDERED, { @@ -140,7 +131,6 @@ export class GridManager { columnCount: layoutConfig.columnCount }); - console.log(`βœ… Grid rendered with ${layoutConfig.columnCount} columns`); } @@ -208,7 +198,6 @@ export class GridManager { * Clean up all resources */ public destroy(): void { - console.log('GridManager: Cleaning up'); // Clean up event listeners this.eventCleanup.forEach(cleanup => cleanup()); diff --git a/src/managers/NavigationManager.ts b/src/managers/NavigationManager.ts index 8714ed4..7451a2a 100644 --- a/src/managers/NavigationManager.ts +++ b/src/managers/NavigationManager.ts @@ -18,7 +18,6 @@ export class NavigationManager { private animationQueue: number = 0; constructor(eventBus: IEventBus, eventRenderer: EventRenderingService) { - console.log('🧭 NavigationManager: Constructor called'); this.eventBus = eventBus; this.dateCalculator = new DateCalculator(calendarConfig); this.navigationRenderer = new NavigationRenderer(eventBus, calendarConfig, eventRenderer); @@ -30,13 +29,11 @@ export class NavigationManager { private init(): void { this.setupEventListeners(); // Don't update week info immediately - wait for DOM to be ready - console.log('NavigationManager: Waiting for CALENDAR_INITIALIZED before updating DOM'); } private setupEventListeners(): void { // Initial DOM update when calendar is initialized this.eventBus.on(CoreEvents.INITIALIZED, () => { - console.log('NavigationManager: Received CALENDAR_INITIALIZED, updating week info'); this.updateWeekInfo(); }); @@ -75,13 +72,11 @@ export class NavigationManager { // Validate date before processing if (!dateFromEvent) { - console.warn('NavigationManager: No currentDate provided in DATE_CHANGED event', customEvent.detail); return; } const targetDate = new Date(dateFromEvent); if (isNaN(targetDate.getTime())) { - console.warn('NavigationManager: Invalid currentDate in DATE_CHANGED event', dateFromEvent); return; } @@ -146,19 +141,15 @@ export class NavigationManager { const currentGrid = container?.querySelector('swp-grid-container:not([data-prerendered])'); if (!container || !currentGrid) { - console.warn('NavigationManager: Required DOM elements not found'); return; } - console.group(`🎬 NAVIGATION ANIMATION: ${direction} to ${targetWeek.toDateString()}`); - console.log('1. Creating new container with events...'); let newGrid: HTMLElement; // Always create a fresh container for consistent behavior newGrid = this.navigationRenderer.renderContainer(container as HTMLElement, targetWeek); - console.log('2. Starting slide animation...'); // Clear any existing transforms before animation newGrid.style.transform = ''; @@ -185,7 +176,6 @@ export class NavigationManager { // Handle animation completion slideInAnimation.addEventListener('finish', () => { - console.log('3. Animation finished, cleaning up...'); // Cleanup: Remove all old grids except the new one const allGrids = container.querySelectorAll('swp-grid-container'); @@ -215,8 +205,6 @@ export class NavigationManager { weekStart: this.currentWeek }); - console.log('βœ… Animation completed successfully'); - console.groupEnd(); }); } diff --git a/src/managers/ViewManager.ts b/src/managers/ViewManager.ts index d1c2818..fa122e6 100644 --- a/src/managers/ViewManager.ts +++ b/src/managers/ViewManager.ts @@ -94,7 +94,6 @@ export class ViewManager { const previousView = this.currentView; this.currentView = newView; - console.log(`ViewManager: Changing view from ${previousView} to ${newView}`); this.updateViewButtons(); @@ -105,7 +104,6 @@ export class ViewManager { } private changeWorkweek(workweekId: string): void { - console.log(`ViewManager: Changing workweek to ${workweekId}`); // Update the calendar config calendarConfig.setWorkWeek(workweekId); diff --git a/src/renderers/ColumnRenderer.ts b/src/renderers/ColumnRenderer.ts index b1a0faa..4317736 100644 --- a/src/renderers/ColumnRenderer.ts +++ b/src/renderers/ColumnRenderer.ts @@ -39,7 +39,6 @@ export class DateColumnRenderer implements ColumnRenderer { const dateSettings = config.getDateViewSettings(); const daysToShow = dates.slice(0, dateSettings.weekDays); - console.log('DateColumnRenderer: About to render', daysToShow.length, 'date columns with work hours'); daysToShow.forEach((date) => { const column = document.createElement('swp-day-column'); @@ -61,7 +60,6 @@ export class DateColumnRenderer implements ColumnRenderer { if (workHours === 'off') { // No work hours - mark as off day (full day will be colored) (column as any).dataset.workHours = 'off'; - console.log(`DateColumnRenderer: ${this.dateCalculator.formatISODate(date)} is an off day`); } else { // Calculate and apply non-work hours overlays (before and after work) const nonWorkStyle = this.workHoursManager.calculateNonWorkHoursStyle(workHours); @@ -72,7 +70,6 @@ export class DateColumnRenderer implements ColumnRenderer { // After work overlay (::after pseudo-element) column.style.setProperty('--after-work-top', `${nonWorkStyle.afterWorkTop}px`); - console.log(`DateColumnRenderer: ${this.dateCalculator.formatISODate(date)} non-work overlays - before: ${nonWorkStyle.beforeWorkHeight}px, after: ${nonWorkStyle.afterWorkTop}px (work hours: ${workHours.start}-${workHours.end})`); } } } @@ -87,11 +84,9 @@ export class ResourceColumnRenderer implements ColumnRenderer { const { resourceData } = context; if (!resourceData) { - console.warn('ResourceColumnRenderer: No resource data available for resource columns'); return; } - console.log('ResourceColumnRenderer: About to render', resourceData.resources.length, 'resource columns'); resourceData.resources.forEach((resource) => { const column = document.createElement('swp-resource-column'); diff --git a/src/renderers/EventRenderer.ts b/src/renderers/EventRenderer.ts index 1e2475d..526dba6 100644 --- a/src/renderers/EventRenderer.ts +++ b/src/renderers/EventRenderer.ts @@ -71,7 +71,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { if (this.draggedClone && targetDate) { // Scenario 1: Timed event being dragged to header - convert to all-day if (this.draggedClone.tagName === 'SWP-EVENT') { - console.log('EventRenderer: Converting timed event to all-day for date:', targetDate); headerRenderer.addToAllDay(element); this.convertToAllDayPreview(targetDate); } @@ -80,7 +79,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { else if (this.draggedClone.tagName === 'SWP-ALLDAY-EVENT') { const currentDate = this.draggedClone.parentElement?.getAttribute('data-date'); if (currentDate !== targetDate) { - console.log('EventRenderer: Moving all-day event from', currentDate, 'to', targetDate); this.moveAllDayToNewDate(targetDate); } } @@ -105,7 +103,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { if (dayHeader) { const targetDate = dayHeader.dataset.date; if (targetDate && this.draggedClone.tagName === 'SWP-EVENT') { - console.log(`EventRenderer: Mouse over day header for date ${targetDate}`); // Find the header renderer from the calendar header const calendarHeader = dayHeader.closest('swp-calendar-header'); @@ -153,13 +150,11 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { const duration = timeElement.getAttribute('data-duration'); if (duration) { const durationMinutes = parseInt(duration); - console.log(`EventRenderer: Read duration ${durationMinutes} minutes from data-duration attribute`); return durationMinutes; } } // Fallback to 60 minutes if attribute not found - console.warn('EventRenderer: No data-duration found, using fallback 60 minutes'); return 60; } @@ -179,7 +174,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { const originalDurationMinutes = this.getOriginalEventDuration(originalEvent); clone.dataset.originalDuration = originalDurationMinutes.toString(); - console.log(`EventRenderer: Clone created with ${originalDurationMinutes} minutes duration from data-duration`); // Style for dragging clone.style.position = 'absolute'; @@ -221,7 +215,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { const newTimeText = `${this.formatTime(startTotalMinutes)} - ${this.formatTime(endTotalMinutes)}`; timeElement.textContent = newTimeText; - console.log(`EventRenderer: Updated timestamp to ${newTimeText} (${cachedDuration} min duration)`); } } @@ -259,13 +252,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { private handleDragStart(originalElement: HTMLElement, eventId: string, mouseOffset: any, column: string): void { this.originalEvent = originalElement; - console.log('EventRenderer: Starting drag on element:', { - eventId, - tagName: originalElement.tagName, - currentOpacity: originalElement.style.opacity, - hasDataDuration: !!originalElement.querySelector('swp-event-time')?.getAttribute('data-duration') - }); - // Create clone this.draggedClone = this.createEventClone(originalElement); @@ -279,7 +265,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { originalElement.style.opacity = '0.3'; originalElement.style.userSelect = 'none'; - console.log('EventRenderer: Drag started - original set to opacity 0.3, clone created'); } /** @@ -294,7 +279,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { // Update timestamp display this.updateCloneTimestamp(this.draggedClone, snappedY); - console.log('EventRenderer: Clone position and timestamp updated'); } /** @@ -307,7 +291,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { const newColumnElement = document.querySelector(`swp-day-column[data-date="${newColumn}"]`); if (newColumnElement && this.draggedClone.parentElement !== newColumnElement) { newColumnElement.appendChild(this.draggedClone); - console.log(`EventRenderer: Clone moved to column ${newColumn}`); } } @@ -315,19 +298,12 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { * Handle drag end event */ private handleDragEnd(eventId: string, originalElement: HTMLElement, finalColumn: string, finalY: number): void { - console.log('EventRenderer: Handling drag end', { - hasClone: !!this.draggedClone, - hasOriginal: !!this.originalEvent, - originalOpacity: this.originalEvent?.style.opacity - }); if (!this.draggedClone || !this.originalEvent) { - console.warn('EventRenderer: Missing clone or original element at drag end'); return; } // Fade out original - console.log('EventRenderer: Fading out original element'); this.fadeOutAndRemove(this.originalEvent); // Remove clone prefix and normalize clone to be a regular event @@ -342,13 +318,11 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { this.draggedClone.style.userSelect = ''; this.draggedClone.style.zIndex = ''; - console.log('EventRenderer: Clone normalized to regular event with ID:', this.draggedClone.dataset.eventId); // Clean up this.draggedClone = null; this.originalEvent = null; - console.log('EventRenderer: Drag completed and cleaned up'); } /** @@ -366,7 +340,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { // Expand header if needed headerRenderer.addToAllDay(this.draggedClone.parentElement); - console.log(`EventRenderer: Converted to all-day event for date ${targetDate}`); } /** @@ -441,7 +414,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { // Transform clone to all-day format this.transformCloneToAllDay(this.draggedClone, targetDate); - console.log(`EventRenderer: Converted clone to all-day preview for ${targetDate}`); } /** @@ -474,10 +446,8 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { allDayContainer.appendChild(this.draggedClone); } - console.log(`EventRenderer: Moved all-day event to date ${targetDate}, column ${columnIndex}`); } renderEvents(events: CalendarEvent[], container: HTMLElement, config: CalendarConfig): void { - console.log('BaseEventRenderer: renderEvents called with', events.length, 'events'); // NOTE: Removed clearEvents() to support sliding animation // With sliding animation, multiple grid containers exist simultaneously @@ -488,31 +458,25 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { const allDayEvents = events.filter(event => event.allDay); const regularEvents = events.filter(event => !event.allDay); - console.log(`BaseEventRenderer: Rendering ${allDayEvents.length} all-day events and ${regularEvents.length} regular events`); // Always call renderAllDayEvents to ensure height is set correctly (even to 0) this.renderAllDayEvents(allDayEvents, container, config); // Find columns in the specific container for regular events const columns = this.getColumns(container); - console.log(`BaseEventRenderer: Found ${columns.length} columns in container`); columns.forEach(column => { const columnEvents = this.getEventsForColumn(column, regularEvents); - console.log(`BaseEventRenderer: Rendering ${columnEvents.length} regular events in column`); const eventsLayer = column.querySelector('swp-events-layer'); if (eventsLayer) { columnEvents.forEach(event => { - console.log(`BaseEventRenderer: Rendering event "${event.title}" in events layer`); this.renderEvent(event, eventsLayer, config); }); // Debug: Verify events were actually added const renderedEvents = eventsLayer.querySelectorAll('swp-event'); - console.log(`BaseEventRenderer: Events layer now has ${renderedEvents.length} events`); } else { - console.warn('BaseEventRenderer: No events layer found in column'); } }); } @@ -525,19 +489,16 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { * Render all-day events in the header row 2 */ protected renderAllDayEvents(allDayEvents: CalendarEvent[], container: HTMLElement, config: CalendarConfig): void { - console.log(`BaseEventRenderer: Rendering ${allDayEvents.length} all-day events using nested grid`); // Find the calendar header const calendarHeader = container.querySelector('swp-calendar-header'); if (!calendarHeader) { - console.warn('BaseEventRenderer: No calendar header found for all-day events'); return; } // Find the all-day container const allDayContainer = calendarHeader.querySelector('swp-allday-container') as HTMLElement; if (!allDayContainer) { - console.warn('BaseEventRenderer: No swp-allday-container found - HeaderRenderer should create this'); return; } @@ -617,13 +578,11 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { allDayContainer.appendChild(allDayEvent); - console.log(`BaseEventRenderer: Placed "${event.title}" in row ${row}, columns ${span.startColumn} to ${span.startColumn + span.columnSpan - 1}`); }); // Update height based on max row this.updateAllDayHeight(maxRow); - console.log(`BaseEventRenderer: Created ${maxRow} rows with auto-expanding grid`); } protected renderEvent(event: CalendarEvent, container: Element, config: CalendarConfig): void { @@ -654,17 +613,8 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { ${event.title} `; - console.log(`BaseEventRenderer: Rendered "${event.title}" with ${durationMinutes} minutes duration`); container.appendChild(eventElement); - - console.log(`BaseEventRenderer: Created event element for "${event.title}":`, { - top: eventElement.style.top, - height: eventElement.style.height, - dataType: eventElement.dataset.type, - position: eventElement.style.position, - innerHTML: eventElement.innerHTML - }); } protected calculateEventPosition(event: CalendarEvent, config: CalendarConfig): { top: number; height: number } { @@ -687,16 +637,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { const durationMinutes = endMinutes - startMinutes; const height = (durationMinutes / 60) * hourHeight; - console.log('Event positioning calculation:', { - eventTime: `${startDate.getHours()}:${startDate.getMinutes()}`, - startMinutes, - endMinutes, - dayStartMinutes, - dayStartHour, - hourHeight, - top, - height - }); return { top, height }; } @@ -716,18 +656,17 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { */ private updateAllDayHeight(maxRows: number): void { const root = document.documentElement; - const eventHeight = parseInt(getComputedStyle(root).getPropertyValue('--allday-event-height') || '26'); + const eventHeight = parseInt(getComputedStyle(root).getPropertyValue('--all-day-event-height')); const calculatedHeight = maxRows * eventHeight; root.style.setProperty('--all-day-row-height', `${calculatedHeight}px`); // Update grid-template-rows for all swp-allday-containers const allDayContainers = document.querySelectorAll('swp-allday-container'); allDayContainers.forEach(container => { - const gridRows = `repeat(${maxRows}, var(--allday-event-height, 26px))`; + const gridRows = `repeat(${maxRows}, var(--all-day-event-height))`; (container as HTMLElement).style.gridTemplateRows = gridRows; }); - console.log(`BaseEventRenderer: Set all-day height to ${calculatedHeight}px and grid-template-rows to ${maxRows} rows`); } /** @@ -778,10 +717,6 @@ export abstract class BaseEventRenderer implements EventRendererStrategy { ? container.querySelectorAll(selector) : document.querySelectorAll(selector); - if (existingEvents.length > 0) { - console.log(`BaseEventRenderer: Clearing ${existingEvents.length} events`, - container ? 'from container' : 'globally'); - } existingEvents.forEach(event => event.remove()); } } @@ -793,19 +728,16 @@ export class DateEventRenderer extends BaseEventRenderer { constructor(config: CalendarConfig) { super(config); this.setupDragEventListeners(); - console.log('DateEventRenderer: Drag event listeners setup'); } protected getColumns(container: HTMLElement): HTMLElement[] { const columns = container.querySelectorAll('swp-day-column'); - console.log('DateEventRenderer: Found', columns.length, 'day columns in container'); return Array.from(columns) as HTMLElement[]; } protected getEventsForColumn(column: HTMLElement, events: CalendarEvent[]): CalendarEvent[] { const columnDate = column.dataset.date; if (!columnDate) { - console.log(`DateEventRenderer: Column has no dataset.date`); return []; } @@ -814,15 +746,10 @@ export class DateEventRenderer extends BaseEventRenderer { const eventDateStr = this.dateCalculator.formatISODate(eventDate); const matches = eventDateStr === columnDate; - if (!matches) { - if(event.title == 'Architecture Planning') - console.log(`DateEventRenderer: Event ${event.title} (${eventDateStr}) does not match column (${columnDate})`); - } return matches; }); - console.log(`DateEventRenderer: Column ${columnDate} has ${columnEvents.length} events from ${events.length} total`); return columnEvents; } } @@ -833,7 +760,6 @@ export class DateEventRenderer extends BaseEventRenderer { export class ResourceEventRenderer extends BaseEventRenderer { protected getColumns(container: HTMLElement): HTMLElement[] { const columns = container.querySelectorAll('swp-resource-column'); - console.log('ResourceEventRenderer: Found', columns.length, 'resource columns in container'); return Array.from(columns) as HTMLElement[]; } @@ -845,7 +771,6 @@ export class ResourceEventRenderer extends BaseEventRenderer { return event.resource?.name === resourceName; }); - console.log(`ResourceEventRenderer: Resource ${resourceName} has ${columnEvents.length} events`); return columnEvents; } } \ No newline at end of file diff --git a/src/renderers/EventRendererManager.ts b/src/renderers/EventRendererManager.ts index de9c521..fa3b4f2 100644 --- a/src/renderers/EventRendererManager.ts +++ b/src/renderers/EventRendererManager.ts @@ -30,11 +30,9 @@ export class EventRenderingService { * Render events in a specific container for a given period */ public renderEvents(context: RenderContext): void { - console.log(` πŸ“… Getting events for ${context.startDate.toDateString()} - ${context.endDate.toDateString()}`); // Clear existing events in the specific container first this.strategy.clearEvents(context.container); - console.log(` 🧹 Cleared existing events in container`); // Get events from EventManager for the period const events = this.eventManager.getEventsForPeriod( @@ -42,16 +40,13 @@ export class EventRenderingService { context.endDate ); - console.log(` πŸ“Š Found ${events.length} events for period`); if (events.length === 0) { - console.log(' ⚠️ No events to render for this period'); return; } // Use cached strategy to render events in the specific container this.strategy.renderEvents(events, context.container, calendarConfig); - console.log(` βœ… Rendered ${events.length} events successfully`); // Emit EVENTS_RENDERED event for filtering system this.eventBus.emit(CoreEvents.EVENTS_RENDERED, { @@ -63,18 +58,15 @@ export class EventRenderingService { private setupEventListeners(): void { // Event-driven rendering: React to grid and container events this.eventBus.on(CoreEvents.GRID_RENDERED, (event: Event) => { - console.log('EventRenderer: Received GRID_RENDERED event'); this.handleGridRendered(event as CustomEvent); }); // CONTAINER_READY_FOR_EVENTS removed - events are now pre-rendered synchronously // this.eventBus.on(EventTypes.CONTAINER_READY_FOR_EVENTS, (event: Event) => { - // console.log('EventRenderer: Received CONTAINER_READY_FOR_EVENTS event'); // this.handleContainerReady(event as CustomEvent); // }); this.eventBus.on(CoreEvents.VIEW_CHANGED, (event: Event) => { - console.log('EventRenderer: Received VIEW_CHANGED event'); this.handleViewChanged(event as CustomEvent); }); } @@ -87,7 +79,6 @@ export class EventRenderingService { const { container, startDate, endDate, currentDate } = event.detail; if (!container) { - console.error('EventRenderer: No container in GRID_RENDERED event', event.detail); return; } @@ -99,10 +90,8 @@ export class EventRenderingService { periodStart = startDate; periodEnd = endDate; } else if (currentDate) { - console.error('EventRenderer: GRID_RENDERED events must include explicit startDate and endDate', event.detail); return; } else { - console.error('EventRenderer: No date information in GRID_RENDERED event', event.detail); return; } @@ -120,7 +109,6 @@ export class EventRenderingService { const { container, startDate, endDate } = event.detail; if (!container || !startDate || !endDate) { - console.error('EventRenderer: Invalid CONTAINER_READY_FOR_EVENTS event data', event.detail); return; } @@ -139,10 +127,8 @@ export class EventRenderingService { this.clearEvents(); // New rendering will be triggered by subsequent GRID_RENDERED event - console.log('EventRenderer: Cleared events for view change, waiting for GRID_RENDERED'); } private clearEvents(container?: HTMLElement): void { - console.log(`EventRenderer: Clearing events`, container ? 'in container' : 'globally'); this.strategy.clearEvents(container); } diff --git a/src/renderers/GridRenderer.ts b/src/renderers/GridRenderer.ts index 7805472..5d4f71c 100644 --- a/src/renderers/GridRenderer.ts +++ b/src/renderers/GridRenderer.ts @@ -24,31 +24,22 @@ export class GridRenderer { currentWeek: Date, resourceData: ResourceCalendarData | null ): void { - console.log('GridRenderer: renderGrid called', { - hasGrid: !!grid, - hasCurrentWeek: !!currentWeek, - currentWeek: currentWeek - }); if (!grid || !currentWeek) { - console.warn('GridRenderer: Cannot render - missing grid or currentWeek'); return; } // Only clear and rebuild if grid is empty (first render) if (grid.children.length === 0) { - console.log('GridRenderer: First render - creating grid structure'); // Create POC structure: header-spacer + time-axis + grid-container this.createHeaderSpacer(grid); this.createTimeAxis(grid); this.createGridContainer(grid, currentWeek, resourceData); } else { - console.log('GridRenderer: Re-render - updating existing structure'); // Just update the calendar header for all-day events this.updateCalendarHeader(grid, currentWeek, resourceData); } - console.log('GridRenderer: Grid rendered successfully with POC structure'); } /** @@ -69,7 +60,6 @@ export class GridRenderer { const startHour = gridSettings.dayStartHour; const endHour = gridSettings.dayEndHour; - console.log('GridRenderer: Creating time axis - startHour:', startHour, 'endHour:', endHour); for (let hour = startHour; hour < endHour; hour++) { const marker = document.createElement('swp-hour-marker'); @@ -151,7 +141,6 @@ export class GridRenderer { currentWeek: Date, resourceData: ResourceCalendarData | null ): void { - console.log('GridRenderer: renderColumnContainer called'); const calendarType = this.config.getCalendarMode(); const columnRenderer = CalendarTypeFactory.getColumnRenderer(calendarType); @@ -223,11 +212,6 @@ export class GridRenderer { return; // No valid element found } - console.log('GridRenderer: Detected hover over:', { - elementType: dayHeader ? 'day-header' : 'all-day-container', - targetDate, - element: hoveredElement - }); // Get the header renderer for addToAllDay functionality const calendarType = this.config.getCalendarMode(); diff --git a/src/renderers/GridStyleManager.ts b/src/renderers/GridStyleManager.ts index 44fb3df..e5dfabe 100644 --- a/src/renderers/GridStyleManager.ts +++ b/src/renderers/GridStyleManager.ts @@ -36,7 +36,6 @@ export class GridStyleManager { calendar.setAttribute('data-fit-to-width', gridSettings.fitToWidth.toString()); } - console.log('GridStyleManager: Updated grid styles with', columnCount, 'columns for', calendarType, 'calendar'); } /** @@ -99,7 +98,6 @@ export class GridStyleManager { // Set CSS variable for dynamic spacer height document.documentElement.style.setProperty('--all-day-row-height', `${allDayHeight}px`); - console.log('GridStyleManager: Updated --all-day-row-height to', `${allDayHeight}px`, 'for', allDayEventCount, 'events'); } /** diff --git a/src/renderers/HeaderRenderer.ts b/src/renderers/HeaderRenderer.ts index 02e7d57..d27c7ec 100644 --- a/src/renderers/HeaderRenderer.ts +++ b/src/renderers/HeaderRenderer.ts @@ -35,7 +35,6 @@ export abstract class BaseHeaderRenderer implements HeaderRenderer { this.createAllDayMainStructure(calendarHeader); this.animateHeaderExpansion(calendarHeader); } - console.log('BaseHeaderRenderer: Header expanded for all-day row'); } } @@ -44,7 +43,6 @@ export abstract class BaseHeaderRenderer implements HeaderRenderer { */ ensureAllDayContainers(calendarHeader: HTMLElement): void { // Do nothing initially - containers will be created when first needed - console.log('BaseHeaderRenderer: All-day containers will be created lazily when first event is dragged'); } private animateHeaderExpansion(calendarHeader: HTMLElement): void { @@ -108,7 +106,6 @@ export abstract class BaseHeaderRenderer implements HeaderRenderer { // Notify ScrollManager about header height change eventBus.emit('header:height-changed'); - console.log('HeaderRenderer: All-day container animated to visible'); }); } @@ -120,9 +117,7 @@ export abstract class BaseHeaderRenderer implements HeaderRenderer { // Create simple all-day container (initially hidden) container = document.createElement('swp-allday-container'); calendarHeader.appendChild(container); - console.log('HeaderRenderer: Created swp-allday-container (initially hidden)'); } else { - console.log('HeaderRenderer: swp-allday-container already exists'); } } } @@ -179,7 +174,6 @@ export class ResourceHeaderRenderer extends BaseHeaderRenderer { const { resourceData } = context; if (!resourceData) { - console.warn('ResourceHeaderRenderer: No resource data available for resource headers'); return; } @@ -198,6 +192,5 @@ export class ResourceHeaderRenderer extends BaseHeaderRenderer { calendarHeader.appendChild(header); }); - console.log(`ResourceHeaderRenderer: Rendered ${resourceData.resources.length} resource headers`); } } \ No newline at end of file diff --git a/src/renderers/NavigationRenderer.ts b/src/renderers/NavigationRenderer.ts index 77e864b..4616965 100644 --- a/src/renderers/NavigationRenderer.ts +++ b/src/renderers/NavigationRenderer.ts @@ -97,8 +97,6 @@ export class NavigationRenderer { public renderContainer(parentContainer: HTMLElement, weekStart: Date): HTMLElement { const weekEnd = this.dateCalculator.addDays(weekStart, 6); - console.group(`🎨 RENDERING CONTAINER: ${weekStart.toDateString()} - ${weekEnd.toDateString()}`); - console.log('1. Creating grid structure...'); // Create new grid container const newGrid = document.createElement('swp-grid-container'); @@ -122,10 +120,8 @@ export class NavigationRenderer { // Add to parent container parentContainer.appendChild(newGrid); - console.log('2. Rendering headers and columns...'); this.renderWeekContentInContainer(newGrid, weekStart); - console.log('3. Emitting GRID_RENDERED for navigation container...'); this.eventBus.emit(CoreEvents.GRID_RENDERED, { container: newGrid, // Specific grid container, not parent currentDate: weekStart, @@ -134,8 +130,6 @@ export class NavigationRenderer { isNavigation: true // Flag to indicate this is navigation rendering }); - console.log('βœ… Container ready with GRID_RENDERED event emitted'); - console.groupEnd(); return newGrid; } @@ -227,11 +221,6 @@ export class NavigationRenderer { return; // No valid element found } - console.log('NavigationRenderer: Detected hover over:', { - elementType: dayHeader ? 'day-header' : 'all-day-container', - targetDate, - element: hoveredElement - }); // Get the header renderer for addToAllDay functionality const calendarType = this.config.getCalendarMode(); diff --git a/src/strategies/MonthViewStrategy.ts b/src/strategies/MonthViewStrategy.ts index b9cb1df..5c8b71c 100644 --- a/src/strategies/MonthViewStrategy.ts +++ b/src/strategies/MonthViewStrategy.ts @@ -24,16 +24,11 @@ export class MonthViewStrategy implements ViewStrategy { } renderGrid(context: ViewContext): void { - console.group(`πŸ“… MONTH VIEW: Rendering grid for ${context.currentDate.toDateString()}`); - // Clear existing content context.container.innerHTML = ''; // Create month grid (completely different from week!) this.createMonthGrid(context); - - console.log('Month grid rendered with 7x6 layout'); - console.groupEnd(); } private createMonthGrid(context: ViewContext): void { @@ -120,7 +115,6 @@ export class MonthViewStrategy implements ViewStrategy { private renderMonthEvents(container: HTMLElement, events: any[]): void { // TODO: Implement month event rendering // Events will be small blocks in day cells - console.log(`MonthViewStrategy: Would render ${events.length} events`); } getNextPeriod(currentDate: Date): Date { @@ -159,6 +153,5 @@ export class MonthViewStrategy implements ViewStrategy { } destroy(): void { - console.log('MonthViewStrategy: Cleaning up'); } } \ No newline at end of file diff --git a/src/strategies/WeekViewStrategy.ts b/src/strategies/WeekViewStrategy.ts index 21e307f..6ac9957 100644 --- a/src/strategies/WeekViewStrategy.ts +++ b/src/strategies/WeekViewStrategy.ts @@ -30,8 +30,6 @@ export class WeekViewStrategy implements ViewStrategy { } renderGrid(context: ViewContext): void { - console.group(`πŸ—“οΈ WEEK VIEW: Rendering grid for ${context.currentDate.toDateString()}`); - // Update grid styles this.styleManager.updateGridStyles(context.resourceData); @@ -41,9 +39,6 @@ export class WeekViewStrategy implements ViewStrategy { context.currentDate, context.resourceData ); - - console.log(`Week grid rendered with ${this.getLayoutConfig().columnCount} columns`); - console.groupEnd(); } getNextPeriod(currentDate: Date): Date { @@ -78,7 +73,5 @@ export class WeekViewStrategy implements ViewStrategy { destroy(): void { // Clean up any week-specific resources - // For now, just log - console.log('WeekViewStrategy: Cleaning up'); } } \ No newline at end of file