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
This commit is contained in:
parent
6fc9be9534
commit
7f6279a6f3
17 changed files with 570 additions and 38 deletions
|
|
@ -15,7 +15,7 @@ import { DemoApp } from './demo/DemoApp';
|
|||
|
||||
// Event system
|
||||
import { EventBus } from './core/EventBus';
|
||||
import { IEventBus, ICalendarEvent, ISync } from './types/CalendarTypes';
|
||||
import { IEventBus, ICalendarEvent, ISync, IResource, IBooking, ICustomer } from './types/CalendarTypes';
|
||||
|
||||
// Storage
|
||||
import { IndexedDBContext } from './storage/IndexedDBContext';
|
||||
|
|
@ -23,10 +23,19 @@ import { IStore } from './storage/IStore';
|
|||
import { IEntityService } from './storage/IEntityService';
|
||||
import { EventStore } from './storage/events/EventStore';
|
||||
import { EventService } from './storage/events/EventService';
|
||||
import { ResourceStore } from './storage/resources/ResourceStore';
|
||||
import { ResourceService } from './storage/resources/ResourceService';
|
||||
import { BookingStore } from './storage/bookings/BookingStore';
|
||||
import { BookingService } from './storage/bookings/BookingService';
|
||||
import { CustomerStore } from './storage/customers/CustomerStore';
|
||||
import { CustomerService } from './storage/customers/CustomerService';
|
||||
|
||||
// Repositories
|
||||
import { IApiRepository } from './repositories/IApiRepository';
|
||||
import { MockEventRepository } from './repositories/MockEventRepository';
|
||||
import { MockResourceRepository } from './repositories/MockResourceRepository';
|
||||
import { MockBookingRepository } from './repositories/MockBookingRepository';
|
||||
import { MockCustomerRepository } from './repositories/MockCustomerRepository';
|
||||
|
||||
// Workers
|
||||
import { DataSeeder } from './workers/DataSeeder';
|
||||
|
|
@ -58,17 +67,43 @@ export function createV2Container(): Container {
|
|||
|
||||
// Storage infrastructure
|
||||
builder.registerType(IndexedDBContext).as<IndexedDBContext>();
|
||||
builder.registerType(EventStore).as<IStore>();
|
||||
|
||||
// Entity services
|
||||
// Stores (for IndexedDB schema creation)
|
||||
builder.registerType(EventStore).as<IStore>();
|
||||
builder.registerType(ResourceStore).as<IStore>();
|
||||
builder.registerType(BookingStore).as<IStore>();
|
||||
builder.registerType(CustomerStore).as<IStore>();
|
||||
|
||||
// Entity services (for DataSeeder polymorphic array)
|
||||
builder.registerType(EventService).as<IEntityService<ICalendarEvent>>();
|
||||
builder.registerType(EventService).as<IEntityService<ISync>>();
|
||||
builder.registerType(EventService).as<EventService>();
|
||||
|
||||
// Repositories
|
||||
builder.registerType(ResourceService).as<IEntityService<IResource>>();
|
||||
builder.registerType(ResourceService).as<IEntityService<ISync>>();
|
||||
builder.registerType(ResourceService).as<ResourceService>();
|
||||
|
||||
builder.registerType(BookingService).as<IEntityService<IBooking>>();
|
||||
builder.registerType(BookingService).as<IEntityService<ISync>>();
|
||||
builder.registerType(BookingService).as<BookingService>();
|
||||
|
||||
builder.registerType(CustomerService).as<IEntityService<ICustomer>>();
|
||||
builder.registerType(CustomerService).as<IEntityService<ISync>>();
|
||||
builder.registerType(CustomerService).as<CustomerService>();
|
||||
|
||||
// Repositories (for DataSeeder polymorphic array)
|
||||
builder.registerType(MockEventRepository).as<IApiRepository<ICalendarEvent>>();
|
||||
builder.registerType(MockEventRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
builder.registerType(MockResourceRepository).as<IApiRepository<IResource>>();
|
||||
builder.registerType(MockResourceRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
builder.registerType(MockBookingRepository).as<IApiRepository<IBooking>>();
|
||||
builder.registerType(MockBookingRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
builder.registerType(MockCustomerRepository).as<IApiRepository<ICustomer>>();
|
||||
builder.registerType(MockCustomerRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
// Workers
|
||||
builder.registerType(DataSeeder).as<DataSeeder>();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue