Commit graph

16 commits

Author SHA1 Message Date
Janus Knudsen
4b4dbdc0d6 Refactors event system to use CoreEvents
Migrates the application to use a new CoreEvents system.

This change removes the legacy EventTypes constant file and updates all managers, renderers, and core components to use the CoreEvents constant file for event emission and subscription.

This improves code maintainability and promotes a consistent eventing strategy across the application. Adds validation to EventBus emit and extractCategory functions.
2025-08-20 20:22:51 +02:00
Janus Knudsen
3ddc6352f2 Refactors calendar architecture for month view
Prepares the calendar component for month view implementation
by introducing a strategy pattern for view management,
splitting configuration settings, and consolidating events
into a core set. It also removes dead code and enforces type safety,
improving overall code quality and maintainability.

Addresses critical issues identified in the code review,
laying the groundwork for efficient feature addition.
2025-08-20 19:42:13 +02:00
Janus Knudsen
26f0cb8aaa Refactors calendar initialization with factory
Implements a factory pattern for manager creation and
initialization, improving dependency management and
extensibility.

This change replaces direct manager instantiation with a
`ManagerFactory` that handles dependency injection. This
enhances code organization and testability. It also includes
an initialization sequence diagram for better understanding
of the calendar's architecture and data flow.
2025-08-17 23:44:30 +02:00
Janus Knudsen
a03f314c4a Refactors event rendering to be event-driven
Moves event rendering logic into a dedicated EventRenderer class that uses a strategy pattern for different calendar types.

The rendering is now triggered by `GRID_RENDERED` and `CONTAINER_READY_FOR_EVENTS` events, emitted by the GridManager and NavigationManager respectively.

This change decouples the CalendarManager from direct event rendering and allows for more flexible and efficient event updates. The EventManager now has a method to fetch events for a given time period.

Removes direct calls to event rendering from CalendarManager. Improves animation transitions by using pre-rendered containers in the NavigationManager.
2025-08-16 00:51:12 +02:00
Janus Knudsen
f50f5ad53b Steps in the right direction for animated date change 2025-08-12 00:07:39 +02:00
Janus Knudsen
0b46f68ac1 Enhances resource calendar support
Improves resource calendar mode by passing resource data
to the grid manager for rendering, enabling specific
resource-based views. Also, it stores raw event data
to improve data management.
2025-08-10 23:06:03 +02:00
Janus Knudsen
b111f121ba wip 2025-08-09 01:16:04 +02:00
Janus Knudsen
59b3c64c55 Major refactorering to get a hold on all these events 2025-08-09 00:31:44 +02:00
Janus Knudsen
29811fd4b5 Renaming part 1 2025-08-07 00:15:44 +02:00
Janus Knudsen
914239fb70 wip 2025-08-05 00:49:00 +02:00
Janus Knudsen
c164975494 wip 2025-08-04 23:55:04 +02:00
Janus Knudsen
5a686da7f5 Improves calendar event rendering and data
Updates mock event data to reflect a more recent week and includes events spanning early/late hours.

Enhances event rendering by adjusting the top and height styles for better visual appearance.

Refactors CSS to improve grid line display and event hover effects, and moves hour marker styles to a more appropriate CSS file.

Provides default fallback values for time boundaries using CSS variables.
2025-08-03 21:23:24 +02:00
Janus Knudsen
28ed131b9e wip 2025-08-02 23:59:52 +02:00
Janus Knudsen
f29613e55f Updates mock event data and adds logging
Updates mock event data to reflect future dates for testing purposes.

Adds console logging in various managers to aid in debugging and understanding the event loading and rendering process.
Specifically, logs the number of loaded events, the first and last event details, and information about event rendering and time axis creation.

Also, adds execution permission for PowerShell scripts in the .claude settings.
2025-08-02 00:28:45 +02:00
Janus Knudsen
001443ce11 Snapshot 2025-07-26 00:00:03 +02:00
Janus Knudsen
f06c02121c Initial commit: Calendar Plantempus project setup with TypeScript, ASP.NET Core, and event-driven architecture 2025-07-24 22:17:38 +02:00