Restructures tenant settings to use individual records instead of a single document
Decouples settings sections into separate typed interfaces with unique IDs
Modifies data loading and service methods to support new record-based settings
Updates mock data and repository to align with new settings structure
Decouples view configuration from DemoApp logic by:
- Introducing ViewConfigService and MockViewConfigRepository
- Moving view configuration to centralized JSON data
- Simplifying DemoApp rendering process
Improves separation of concerns and makes view configurations more maintainable
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 department-level grouping and rendering in the calendar view
Extends the application to support:
- Department-based resource filtering
- Dynamic department header rendering
- Mock department data infrastructure
Enables more granular organizational views
Enhances header drawer rendering to handle multi-day events
- Calculates column span for events across multiple days
- Adds support for events spanning beyond visible date range
- Updates event data attributes to include start and end dates
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
Introduces a new color customization approach for calendar events using CSS custom properties and metadata
- Adds support for dynamic color assignment via event metadata
- Implements a flexible color utility class system
- Replaces hardcoded event type colors with a more generic color-mix() approach
- Provides broader color palette for event styling
Enhances calendar flexibility by introducing group-based column spanning and improving cross-mode event handling
Adds support for:
- Dynamic column grouping in date and resource modes
- Consistent event drag-and-drop across different calendar views
- More robust all-day event layout calculations
Improves event management logic to handle resource and date mode transitions more elegantly
Introduces new ResourceColumnDataSource and ResourceHeaderRenderer to support column rendering by resources instead of dates
Enables dynamic calendar mode switching between date and resource views
Updates core managers and services to support async column retrieval
Refactors data source interfaces to use Promise-based methods
Improves calendar flexibility and resource management capabilities
Implements polymorphic data seeding mechanism for initial application setup
- Adds Mock repositories for Event, Booking, Customer, and Resource entities
- Creates DataSeeder to automatically populate IndexedDB from JSON sources
- Enhances index.ts initialization process with data seeding step
- Adds mock JSON data files for comprehensive test data
Improves offline-first and development testing capabilities
Updates IndexedDB database schema to version 2
Adds support for bookings, customers, and resources stores
Includes new serialization methods for booking data
Extends events store with additional indexes for improved querying
Extends event model to include optional description field
Enhances event rendering with:
- New description getter/setter in base event element
- Updated CSS grid layout for description display
- Dynamic description handling in event rendering
- Updated mock event data with descriptions
Improves visual information density and event context in calendar view
Introduces ViewSelectorManager to handle view state and UI interactions
Separates view logic from configuration management
Adds explicit tracking of current calendar view
Enhances view selection and state management
Improves modularity and separation of concerns
Converts CalendarConfig to a pure static configuration management class with improved initialization and dependency handling
Removes event bus dependencies and simplifies configuration loading
Adds static methods for config management and initialization
Improves flexibility and reduces class complexity