wip
This commit is contained in:
parent
727a6ec53a
commit
72019a3d9a
15 changed files with 1056 additions and 1230 deletions
|
|
@ -63,6 +63,8 @@ export class EventManager {
|
|||
return resourceData.resources.flatMap(resource =>
|
||||
resource.events.map(event => ({
|
||||
...event,
|
||||
start: new Date(event.start),
|
||||
end: new Date(event.end),
|
||||
resourceName: resource.name,
|
||||
resourceDisplayName: resource.displayName,
|
||||
resourceEmployeeId: resource.employeeId
|
||||
|
|
@ -70,7 +72,11 @@ export class EventManager {
|
|||
);
|
||||
}
|
||||
|
||||
return data as CalendarEvent[];
|
||||
return data.map((event: any) => ({
|
||||
...event,
|
||||
start: new Date(event.start),
|
||||
end: new Date(event.end)
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -115,15 +121,14 @@ export class EventManager {
|
|||
}
|
||||
|
||||
try {
|
||||
const eventDate = new Date(event.start);
|
||||
if (isNaN(eventDate.getTime())) {
|
||||
if (isNaN(event.start.getTime())) {
|
||||
console.warn(`EventManager: Invalid event start date for event ${id}:`, event.start);
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
event,
|
||||
eventDate
|
||||
eventDate: event.start
|
||||
};
|
||||
} catch (error) {
|
||||
console.warn(`EventManager: Failed to parse event date for event ${id}:`, error);
|
||||
|
|
@ -171,12 +176,8 @@ export class EventManager {
|
|||
|
||||
// Filter events using optimized date operations
|
||||
const filteredEvents = this.events.filter(event => {
|
||||
// Use DateCalculator for consistent date parsing
|
||||
const eventStart = new Date(event.start);
|
||||
const eventEnd = new Date(event.end);
|
||||
|
||||
// Event overlaps period if it starts before period ends AND ends after period starts
|
||||
return eventStart <= endDate && eventEnd >= startDate;
|
||||
return event.start <= endDate && event.end >= startDate;
|
||||
});
|
||||
|
||||
// Cache the result
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue