Commit graph

29 commits

Author SHA1 Message Date
Janus C. H. Knudsen
ee46593a5a Adds dynamic header hiding for date groupings
Introduces hideHeader option for date grouping configurations
Enables suppressing date headers in specific views like day view
Improves calendar view flexibility by conditionally rendering headers
2025-12-15 22:53:44 +01:00
Janus C. H. Knudsen
ad2df353b5 Adds workweek settings and dynamic view configuration
Introduces settings service for managing tenant-specific calendar configurations

Enables dynamic workweek presets with configurable work days
Improves view switching with enhanced UI components
Adds flexible calendar rendering based on tenant settings

Extends DateService to support workweek date generation
2025-12-15 22:24:32 +01:00
Janus C. H. Knudsen
9777f463b5 Refines grid and viewport layout for scrolling
Improves CSS grid configuration to ensure proper scrolling and content display

Adds grid template columns and width constraints for better responsive behavior
Ensures consistent overflow and layout management across viewport components
2025-12-15 20:38:39 +01:00
Janus C. H. Knudsen
f20b8a47fa Syncs header drawer scroll with calendar header
Adds horizontal scrolling synchronization for header drawer
Ensures consistent horizontal scroll positioning for header components
2025-12-15 20:02:38 +01:00
Janus C. H. Knudsen
d4249eecfb Adds hierarchical grouping and entity resolution support
Enhances calendar rendering with dynamic parent-child relationships between entities

Introduces EntityResolver for dot-notation references
Supports belongsTo configuration in grouping
Implements flexible filtering across hierarchical entities

Improves rendering flexibility for complex organizational structures
2025-12-15 17:10:43 +01:00
Janus C. H. Knudsen
dd647acab8 Implements FilterTemplate system for event matching
Introduces flexible key-based filtering for calendar events across different view configurations

Adds new FilterTemplate class to:
- Define event matching rules based on view configuration
- Support multi-level grouping (team/resource/date)
- Handle dynamic key generation for columns and events

Enhances view configuration with explicit id properties and derived fields
2025-12-15 00:33:27 +01:00
Janus C. H. Knudsen
0eb3bacb41 Introduces uniform column key concept for calendar events
Refactors column identification with a new buildColumnKey method to support flexible date and resource tracking

Replaces separate dateKey and resourceId handling with a unified columnKey approach
Improves column rendering and event management with more consistent key generation
Simplifies cross-component event tracking and column lookups
2025-12-13 11:46:57 +01:00
Janus C. H. Knudsen
7cb89e2ec5 Enhances header drawer with multi-row event layout
Improves header drawer rendering to support multi-row event stacking

Adds row-based layout algorithm for all-day events
Enables flexible height expansion based on event count
Provides more robust event placement across visible date range
2025-12-11 23:43:51 +01:00
Janus C. H. Knudsen
d88956f47b Adds header drawer event rendering support
Extends calendar rendering to support all-day events in header drawer

Implements rendering logic for all-day events in header drawer:
- Fetches events for visible date range
- Filters and creates header items for all-day events
- Dynamically positions events with color classes
- Expands header drawer when events are present

Enhances event persistence with header drop detection
2025-12-11 23:04:48 +01:00
Janus C. H. Knudsen
70172e8f10 Enhances event layout engine with advanced rendering logic
Introduces sophisticated event layout algorithm for handling complex scheduling scenarios

Adds support for:
- Grid and stacked event rendering
- Automatic column allocation
- Nested event stacking
- Threshold-based event grouping

Improves visual representation of overlapping and concurrent events
2025-12-11 18:11:11 +01:00
Janus C. H. Knudsen
e145bc7c70 Refactors header grid layout with CSS subgrid
Updates header and viewport components to use CSS subgrid for more flexible layout

Improves grid structure by:
- Replacing fixed grid columns with subgrid
- Adjusting scrollbar and overflow properties
- Simplifying header and track element positioning
2025-12-10 23:55:46 +01:00
Janus C. H. Knudsen
a2b95515fd Adds resource scheduling and unavailability tracking
Introduces comprehensive schedule management for resources:
- Adds DateService with advanced time and date utilities
- Implements ResourceScheduleService for managing work hours
- Creates ScheduleRenderer to visualize unavailable time zones
- Extends resource model to support default weekly schedules

Enables granular tracking of resource availability and working hours
2025-12-10 00:27:19 +01:00
Janus C. H. Knudsen
400de8c9d5 Refactors renderer interfaces and implementations
Converts renderer interfaces to use 'I' prefix for better type clarity
Adds async support for rendering pipeline
Updates resource rendering to use ResourceService
Removes hardcoded resource data

Improves type safety and flexibility of rendering system
2025-12-09 23:16:13 +01:00
Janus C. H. Knudsen
7f6279a6f3 Enhance calendar view with resource-aware rendering
Adds support for filtering events and rendering across multiple views with resource-specific context

Improves event and date rendering to handle resource-based filtering
Introduces day view and extends existing calendar infrastructure to support more flexible view configurations
2025-12-09 22:31:28 +01:00
Janus C. H. Knudsen
6fc9be9534 wip 2025-12-09 21:32:30 +01:00
Janus C. H. Knudsen
f39e38986c wip 2025-12-09 21:24:17 +01:00
Janus C. H. Knudsen
2ec4b93fa5 wip 2025-12-09 21:02:44 +01:00
Janus C. H. Knudsen
c16e432b29 Refactors rendering pipeline with flexible data handling
Removes hardcoded data from render context, allowing more dynamic renderer implementation

Changes include:
- Decoupling data retrieval from render context
- Simplifying renderer interface
- Supporting more flexible data traversal strategies

Prepares for more modular and adaptable rendering approach
2025-12-09 15:24:19 +01:00
Janus C. H. Knudsen
a3a1b9a421 Refactor calendar rendering with RenderBuilder
Simplifies calendar rendering process by introducing a new RenderBuilder pattern

Improves flexibility and modularity of grouping renderer chain
Decouples rendering logic from specific grouping types
Enables dynamic column span calculation and recursive rendering

Reduces complexity in CalendarOrchestrator
Enhances type safety and simplifies renderer interfaces
2025-12-09 00:51:41 +01:00
Janus C. H. Knudsen
27561750f8 Refactor CalendarOrchestrator with ts-linq-light
Replaces native array methods with ts-linq-light for improved functional programming
Simplifies data transformation and grouping logic
Enhances code readability and introduces more declarative data manipulation
2025-12-08 22:26:38 +01:00
Janus C. H. Knudsen
23fcaa9985 wip 2025-12-08 20:05:32 +01:00
Janus C. H. Knudsen
e581039b62 Refactors calendar data management and sync infrastructure
Introduces comprehensive data management system for calendar V2
- Adds IndexedDB storage with pluggable entity services
- Implements EventBus for decoupled event communication
- Creates data seeding mechanism for initial application setup
- Establishes sync and repository abstractions for flexible data handling
2025-12-08 00:26:16 +01:00
Janus C. H. Knudsen
dee977d4df Refactors header and scroll management logic
Updates ScrollManager to dynamically sync header spacer height using ResizeObserver

Removes explicit spacer animation from HeaderDrawerManager
Simplifies header and scroll interaction by moving height synchronization logic to ScrollManager
2025-12-07 23:25:02 +01:00
Janus C. H. Knudsen
899c600e44 Refactor calendar UI and time range configuration
Updates time axis and calendar to focus on 6-18 hour range
Modifies CSS to support nested selectors and time range configuration
Enhances DateService to support flexible week date generation
2025-12-07 21:54:12 +01:00
Janus C. H. Knudsen
e2c79c067f Extend calendar week view to 7 days
Updates DateService to generate 7-day week dates
Enhances CSS grid layouts with minimum column width
Ensures consistent calendar column sizing across components
2025-12-07 21:08:05 +01:00
Janus C. H. Knudsen
9d011ff305 wip 2025-12-07 17:44:52 +01:00
Janus C. H. Knudsen
70e505526f Adds scroll synchronization for calendar view
Introduces ScrollManager to synchronize time axis and header scrolling

Improves user experience by keeping time axis and header aligned during scrolling
Enables dynamic vertical and horizontal scroll tracking for calendar components
2025-12-07 15:08:23 +01:00
Janus C. H. Knudsen
a0c0ef9e8d Refactor calendar V2 core with DI and new features
Introduces dependency injection container and composition root
Adds core services like DateService and NavigationAnimator
Simplifies CalendarOrchestrator with improved store handling
Implements mock stores and demo application for V2 calendar
2025-12-07 14:31:16 +01:00
Janus C. H. Knudsen
b3f47e93e8 New renders+css 2025-12-06 01:22:04 +01:00