Refactors week header to calendar header
Renames 'week header' to 'calendar header' for better representation of the component's purpose, which includes more than just week-based calendar views. Updates related methods and references in GridManager and ScrollManager to reflect the change. Fixes incorrect calculation of the column width.
This commit is contained in:
parent
29811fd4b5
commit
2a766cf685
5 changed files with 62 additions and 62 deletions
|
|
@ -154,8 +154,8 @@ export class GridManager {
|
|||
this.createWeekContainer();
|
||||
} else {
|
||||
console.log('GridManager: Re-render - updating existing structure');
|
||||
// Just update the week header for all-day events
|
||||
this.updateWeekHeader();
|
||||
// Just update the calendar header for all-day events
|
||||
this.updateCalendarHeader();
|
||||
}
|
||||
|
||||
console.log('GridManager: Grid rendered successfully with POC structure');
|
||||
|
|
@ -203,10 +203,10 @@ export class GridManager {
|
|||
|
||||
const weekContainer = document.createElement('swp-grid-container');
|
||||
|
||||
// Create week header using Strategy Pattern
|
||||
const weekHeader = document.createElement('swp-calendar-header');
|
||||
this.renderWeekHeaders(weekHeader);
|
||||
weekContainer.appendChild(weekHeader);
|
||||
// Create calendar header using Strategy Pattern
|
||||
const calendarHeader = document.createElement('swp-calendar-header');
|
||||
this.renderCalendarHeader(calendarHeader);
|
||||
weekContainer.appendChild(calendarHeader);
|
||||
|
||||
// Create scrollable content
|
||||
const scrollableContent = document.createElement('swp-scrollable-content');
|
||||
|
|
@ -216,10 +216,10 @@ export class GridManager {
|
|||
const gridLines = document.createElement('swp-grid-lines');
|
||||
timeGrid.appendChild(gridLines);
|
||||
|
||||
// Create day columns using Strategy Pattern
|
||||
const dayColumns = document.createElement('swp-day-columns');
|
||||
this.renderDayColumns(dayColumns);
|
||||
timeGrid.appendChild(dayColumns);
|
||||
// Create column container using Strategy Pattern
|
||||
const columnContainer = document.createElement('swp-day-columns');
|
||||
this.renderColumnContainer(columnContainer);
|
||||
timeGrid.appendChild(columnContainer);
|
||||
|
||||
scrollableContent.appendChild(timeGrid);
|
||||
weekContainer.appendChild(scrollableContent);
|
||||
|
|
@ -228,9 +228,9 @@ export class GridManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* Render week headers using Strategy Pattern
|
||||
* Render calendar header using Strategy Pattern
|
||||
*/
|
||||
private renderWeekHeaders(weekHeader: HTMLElement): void {
|
||||
private renderCalendarHeader(calendarHeader: HTMLElement): void {
|
||||
if (!this.currentWeek) return;
|
||||
|
||||
const calendarType = calendarConfig.getCalendarType();
|
||||
|
|
@ -243,19 +243,19 @@ export class GridManager {
|
|||
resourceData: this.resourceData
|
||||
};
|
||||
|
||||
headerRenderer.render(weekHeader, context);
|
||||
headerRenderer.render(calendarHeader, context);
|
||||
|
||||
// Update spacer heights based on all-day events
|
||||
this.updateSpacerHeights();
|
||||
}
|
||||
|
||||
/**
|
||||
* Render day columns using Strategy Pattern
|
||||
* Render column container using Strategy Pattern
|
||||
*/
|
||||
private renderDayColumns(dayColumns: HTMLElement): void {
|
||||
private renderColumnContainer(columnContainer: HTMLElement): void {
|
||||
if (!this.currentWeek) return;
|
||||
|
||||
console.log('GridManager: renderDayColumns called');
|
||||
console.log('GridManager: renderColumnContainer called');
|
||||
const calendarType = calendarConfig.getCalendarType();
|
||||
const columnRenderer = CalendarTypeFactory.getColumnRenderer(calendarType);
|
||||
|
||||
|
|
@ -265,23 +265,23 @@ export class GridManager {
|
|||
resourceData: this.resourceData
|
||||
};
|
||||
|
||||
columnRenderer.render(dayColumns, context);
|
||||
columnRenderer.render(columnContainer, context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update only the week header (for all-day events) without rebuilding entire grid
|
||||
* Update only the calendar header (for all-day events) without rebuilding entire grid
|
||||
*/
|
||||
private updateWeekHeader(): void {
|
||||
private updateCalendarHeader(): void {
|
||||
if (!this.grid || !this.currentWeek) return;
|
||||
|
||||
const weekHeader = this.grid.querySelector('swp-calendar-header');
|
||||
if (!weekHeader) return;
|
||||
const calendarHeader = this.grid.querySelector('swp-calendar-header');
|
||||
if (!calendarHeader) return;
|
||||
|
||||
// Clear existing content
|
||||
weekHeader.innerHTML = '';
|
||||
calendarHeader.innerHTML = '';
|
||||
|
||||
// Re-render headers using Strategy Pattern
|
||||
this.renderWeekHeaders(weekHeader as HTMLElement);
|
||||
this.renderCalendarHeader(calendarHeader as HTMLElement);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -304,9 +304,9 @@ export class GridManager {
|
|||
|
||||
console.log('GridManager: Updated all-day events:', this.allDayEvents.length);
|
||||
|
||||
// Update only the week header if grid is already rendered
|
||||
// Update only the calendar header if grid is already rendered
|
||||
if (this.grid && this.grid.children.length > 0) {
|
||||
this.updateWeekHeader();
|
||||
this.updateCalendarHeader();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue