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
This commit is contained in:
parent
dd647acab8
commit
d4249eecfb
17 changed files with 403 additions and 44 deletions
|
|
@ -16,7 +16,7 @@ import { DemoApp } from './demo/DemoApp';
|
|||
|
||||
// Event system
|
||||
import { EventBus } from './core/EventBus';
|
||||
import { IEventBus, ICalendarEvent, ISync, IResource, IBooking, ICustomer } from './types/CalendarTypes';
|
||||
import { IEventBus, ICalendarEvent, ISync, IResource, IBooking, ICustomer, ITeam } from './types/CalendarTypes';
|
||||
|
||||
// Storage
|
||||
import { IndexedDBContext } from './storage/IndexedDBContext';
|
||||
|
|
@ -30,6 +30,8 @@ import { BookingStore } from './storage/bookings/BookingStore';
|
|||
import { BookingService } from './storage/bookings/BookingService';
|
||||
import { CustomerStore } from './storage/customers/CustomerStore';
|
||||
import { CustomerService } from './storage/customers/CustomerService';
|
||||
import { TeamStore } from './storage/teams/TeamStore';
|
||||
import { TeamService } from './storage/teams/TeamService';
|
||||
|
||||
// Audit
|
||||
import { AuditStore } from './storage/audit/AuditStore';
|
||||
|
|
@ -43,6 +45,7 @@ import { MockResourceRepository } from './repositories/MockResourceRepository';
|
|||
import { MockBookingRepository } from './repositories/MockBookingRepository';
|
||||
import { MockCustomerRepository } from './repositories/MockCustomerRepository';
|
||||
import { MockAuditRepository } from './repositories/MockAuditRepository';
|
||||
import { MockTeamRepository } from './repositories/MockTeamRepository';
|
||||
|
||||
// Workers
|
||||
import { DataSeeder } from './workers/DataSeeder';
|
||||
|
|
@ -102,6 +105,7 @@ export function createV2Container(): Container {
|
|||
builder.registerType(ResourceStore).as<IStore>();
|
||||
builder.registerType(BookingStore).as<IStore>();
|
||||
builder.registerType(CustomerStore).as<IStore>();
|
||||
builder.registerType(TeamStore).as<IStore>();
|
||||
builder.registerType(ScheduleOverrideStore).as<IStore>();
|
||||
builder.registerType(AuditStore).as<IStore>();
|
||||
|
||||
|
|
@ -122,6 +126,10 @@ export function createV2Container(): Container {
|
|||
builder.registerType(CustomerService).as<IEntityService<ISync>>();
|
||||
builder.registerType(CustomerService).as<CustomerService>();
|
||||
|
||||
builder.registerType(TeamService).as<IEntityService<ITeam>>();
|
||||
builder.registerType(TeamService).as<IEntityService<ISync>>();
|
||||
builder.registerType(TeamService).as<TeamService>();
|
||||
|
||||
// Repositories (for DataSeeder polymorphic array)
|
||||
builder.registerType(MockEventRepository).as<IApiRepository<ICalendarEvent>>();
|
||||
builder.registerType(MockEventRepository).as<IApiRepository<ISync>>();
|
||||
|
|
@ -138,6 +146,9 @@ export function createV2Container(): Container {
|
|||
builder.registerType(MockAuditRepository).as<IApiRepository<IAuditEntry>>();
|
||||
builder.registerType(MockAuditRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
builder.registerType(MockTeamRepository).as<IApiRepository<ITeam>>();
|
||||
builder.registerType(MockTeamRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
// Audit service (listens to ENTITY_SAVED/DELETED events automatically)
|
||||
builder.registerType(AuditService).as<AuditService>();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue