From 1e20e23e77efe5deb68421d26697724697ba3521 Mon Sep 17 00:00:00 2001 From: "Janus C. H. Knudsen" Date: Thu, 25 Sep 2025 17:55:13 +0200 Subject: [PATCH] Uses optimized grid creation for navigation Ensures navigation grid uses the same creation method as the initial load. This ensures workweek and resource settings are respected, creating a more consistent experience. --- src/renderers/GridRenderer.ts | 80 +++-------------------------- src/renderers/NavigationRenderer.ts | 5 -- 2 files changed, 6 insertions(+), 79 deletions(-) diff --git a/src/renderers/GridRenderer.ts b/src/renderers/GridRenderer.ts index 263a6a2..a0fff58 100644 --- a/src/renderers/GridRenderer.ts +++ b/src/renderers/GridRenderer.ts @@ -247,28 +247,20 @@ export class GridRenderer { /** * Create navigation grid container for slide animations - * Moved from NavigationRenderer to centralize grid creation + * Now uses same implementation as initial load for consistency */ public createNavigationGrid(parentContainer: HTMLElement, weekStart: Date): HTMLElement { console.group('🔧 GridRenderer.createNavigationGrid'); console.log('Week start:', weekStart); console.log('Parent container:', parentContainer); + console.log('Using same grid creation as initial load'); const weekEnd = DateCalculator.addDays(weekStart, 6); - // Create new grid container - const newGrid = document.createElement('swp-grid-container'); - newGrid.innerHTML = ` - - - - - - - - `; + // Use SAME method as initial load - respects workweek and resource settings + const newGrid = this.createOptimizedGridContainer(weekStart, null, 'week'); - // Position new grid - NO transform here, let Animation API handle it + // Position new grid for animation - NO transform here, let Animation API handle it newGrid.style.position = 'absolute'; newGrid.style.top = '0'; newGrid.style.left = '0'; @@ -277,10 +269,8 @@ export class GridRenderer { // Add to parent container parentContainer.appendChild(newGrid); - - this.renderWeekContentInNavigationGrid(newGrid, weekStart); - console.log('Grid created:', newGrid); + console.log('Grid created using createOptimizedGridContainer:', newGrid); console.log('Emitting GRID_RENDERED'); eventBus.emit(CoreEvents.GRID_RENDERED, { @@ -294,62 +284,4 @@ export class GridRenderer { console.groupEnd(); return newGrid; } - - /** - * Render week content in navigation grid container - * Moved from NavigationRenderer - */ - private renderWeekContentInNavigationGrid(gridContainer: HTMLElement, weekStart: Date): void { - console.group('🔧 GridRenderer.renderWeekContentInNavigationGrid'); - console.log('Grid container:', gridContainer); - console.log('Week start:', weekStart); - - const header = gridContainer.querySelector('swp-calendar-header'); - const dayColumns = gridContainer.querySelector('swp-day-columns'); - - if (!header || !dayColumns) { - console.log('Missing header or dayColumns'); - console.groupEnd(); - return; - } - - // Clear existing content - header.innerHTML = ''; - dayColumns.innerHTML = ''; - - // Get dates using DateCalculator - const dates = DateCalculator.getWorkWeekDates(weekStart); - - // Render headers for target week - dates.forEach((date, i) => { - const headerElement = document.createElement('swp-day-header'); - if (DateCalculator.isToday(date)) { - headerElement.dataset.today = 'true'; - } - - const dayName = DateCalculator.getDayName(date, 'short'); - - headerElement.innerHTML = ` - ${dayName} - ${date.getDate()} - `; - headerElement.dataset.date = DateCalculator.formatISODate(date); - - header.appendChild(headerElement); - }); - - // Render day columns for target week - dates.forEach(date => { - const column = document.createElement('swp-day-column'); - column.dataset.date = DateCalculator.formatISODate(date); - - const eventsLayer = document.createElement('swp-events-layer'); - column.appendChild(eventsLayer); - - dayColumns.appendChild(column); - }); - - console.log('Week content rendered'); - console.groupEnd(); - } } \ No newline at end of file diff --git a/src/renderers/NavigationRenderer.ts b/src/renderers/NavigationRenderer.ts index f967075..5cadaaa 100644 --- a/src/renderers/NavigationRenderer.ts +++ b/src/renderers/NavigationRenderer.ts @@ -110,11 +110,6 @@ export class NavigationRenderer { } }); }); - - console.group('🔧 NavigationRenderer.cleanup'); - console.log('Removed methods: renderContainer, renderWeekContentInContainer'); - console.log('Grid creation now handled by GridRenderer'); - console.groupEnd(); } /**