Refactors calendar event rendering and management

Improves code organization and maintainability by separating concerns related to all-day event rendering, header management, and event resizing.

Moves all-day event rendering logic into a dedicated `AllDayEventRenderer` class, utilizing the factory pattern for event element creation.

Refactors `AllDayManager` to handle all-day row height animations, separated from `HeaderManager`.

Removes the `ResizeManager` and related functionality.

These changes aim to reduce code duplication, improve testability, and enhance the overall architecture of the calendar component.
This commit is contained in:
Janus Knudsen 2025-09-12 00:36:02 +02:00
parent e0b83ebd70
commit c07d83d86f
13 changed files with 599 additions and 1306 deletions

View file

@ -1,7 +1,7 @@
/* styles/components/events.css */
/* Event base styles */
swp-event {
swp-day-columns swp-event {
position: absolute;
border-radius: 3px;
overflow: hidden;
@ -53,20 +53,20 @@ swp-event {
}
swp-event:hover {
swp-day-columns swp-event:hover {
box-shadow: var(--shadow-md);
transform: translateX(2px);
z-index: 20;
}
swp-event-time {
swp-day-columns swp-event-time {
display: block;
font-size: 0.875rem;
font-weight: 500;
margin-bottom: 4px;
}
swp-event-title {
swp-day-columns swp-event-title {
display: block;
font-size: 0.875rem;
line-height: 1.3;