Skip to content

Commit 9f49216

Browse files
jackwolfskin0302mattlewis92
authored andcommitted
fix: fill week view event width space
Closes mattlewis92/angular-calendar#833
1 parent 9eca4a6 commit 9f49216

File tree

3 files changed

+5092
-765
lines changed

3 files changed

+5092
-765
lines changed

src/calendar-utils.ts

+29-11
Original file line numberDiff line numberDiff line change
@@ -645,21 +645,39 @@ function getWeekViewHourGrid(
645645
}
646646
}
647647

648+
const mappedEvents = dayView.events.map(event => {
649+
const columnCount = getColumnCount(
650+
dayView.events,
651+
getOverLappingDayViewEvents(
652+
dayView.events,
653+
event.top,
654+
event.top + event.height
655+
)
656+
);
657+
658+
const width = 100 / columnCount;
659+
return { ...event, left: event.left * width, width };
660+
});
661+
648662
return {
649663
hours,
650664
date: day.date,
651-
events: dayView.events.map(event => {
652-
const columnCount = getColumnCount(
653-
dayView.events,
654-
getOverLappingDayViewEvents(
655-
dayView.events,
656-
event.top,
657-
event.top + event.height
658-
)
665+
events: mappedEvents.map(event => {
666+
const overLappingEvents = getOverLappingDayViewEvents(
667+
mappedEvents.filter(otherEvent => otherEvent.left > event.left),
668+
event.top,
669+
event.top + event.height
659670
);
660-
661-
const width = 100 / columnCount;
662-
return { ...event, left: event.left * width, width };
671+
if (overLappingEvents.length > 0) {
672+
return {
673+
...event,
674+
width:
675+
Math.min(
676+
...overLappingEvents.map(otherEvent => otherEvent.left)
677+
) - event.left
678+
};
679+
}
680+
return event;
663681
})
664682
};
665683
});

0 commit comments

Comments
 (0)