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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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