Back to a single swp-allday-container
This commit is contained in:
parent
07402a07d9
commit
f9b7686b22
7 changed files with 252 additions and 182 deletions
|
|
@ -204,8 +204,28 @@ export class NavigationRenderer {
|
|||
const allDayContainer = target.closest('swp-allday-container');
|
||||
|
||||
if (dayHeader || allDayContainer) {
|
||||
const hoveredElement = dayHeader || allDayContainer;
|
||||
const targetDate = (hoveredElement as HTMLElement).dataset.date;
|
||||
let hoveredElement: HTMLElement;
|
||||
let targetDate: string | undefined;
|
||||
|
||||
if (dayHeader) {
|
||||
hoveredElement = dayHeader as HTMLElement;
|
||||
targetDate = hoveredElement.dataset.date;
|
||||
} else if (allDayContainer) {
|
||||
// For all-day areas, we need to determine which day column we're over
|
||||
hoveredElement = allDayContainer as HTMLElement;
|
||||
|
||||
// Calculate which day we're hovering over based on mouse position
|
||||
const headerRect = calendarHeader.getBoundingClientRect();
|
||||
const dayHeaders = calendarHeader.querySelectorAll('swp-day-header');
|
||||
const mouseX = (event as MouseEvent).clientX - headerRect.left;
|
||||
const dayWidth = headerRect.width / dayHeaders.length;
|
||||
const dayIndex = Math.floor(mouseX / dayWidth);
|
||||
|
||||
const targetDayHeader = dayHeaders[dayIndex] as HTMLElement;
|
||||
targetDate = targetDayHeader?.dataset.date;
|
||||
} else {
|
||||
return; // No valid element found
|
||||
}
|
||||
|
||||
console.log('NavigationRenderer: Detected hover over:', {
|
||||
elementType: dayHeader ? 'day-header' : 'all-day-container',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue