Adds department view to calendar application
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
This commit is contained in:
parent
d4249eecfb
commit
570c91527a
11 changed files with 199 additions and 5 deletions
|
|
@ -7,6 +7,7 @@ import { ITimeFormatConfig } from './core/ITimeFormatConfig';
|
|||
import { IGridConfig } from './core/IGridConfig';
|
||||
import { ResourceRenderer } from './features/resource/ResourceRenderer';
|
||||
import { TeamRenderer } from './features/team/TeamRenderer';
|
||||
import { DepartmentRenderer } from './features/department/DepartmentRenderer';
|
||||
import { CalendarOrchestrator } from './core/CalendarOrchestrator';
|
||||
import { TimeAxisRenderer } from './features/timeaxis/TimeAxisRenderer';
|
||||
import { ScrollManager } from './core/ScrollManager';
|
||||
|
|
@ -16,7 +17,7 @@ import { DemoApp } from './demo/DemoApp';
|
|||
|
||||
// Event system
|
||||
import { EventBus } from './core/EventBus';
|
||||
import { IEventBus, ICalendarEvent, ISync, IResource, IBooking, ICustomer, ITeam } from './types/CalendarTypes';
|
||||
import { IEventBus, ICalendarEvent, ISync, IResource, IBooking, ICustomer, ITeam, IDepartment } from './types/CalendarTypes';
|
||||
|
||||
// Storage
|
||||
import { IndexedDBContext } from './storage/IndexedDBContext';
|
||||
|
|
@ -32,6 +33,8 @@ import { CustomerStore } from './storage/customers/CustomerStore';
|
|||
import { CustomerService } from './storage/customers/CustomerService';
|
||||
import { TeamStore } from './storage/teams/TeamStore';
|
||||
import { TeamService } from './storage/teams/TeamService';
|
||||
import { DepartmentStore } from './storage/departments/DepartmentStore';
|
||||
import { DepartmentService } from './storage/departments/DepartmentService';
|
||||
|
||||
// Audit
|
||||
import { AuditStore } from './storage/audit/AuditStore';
|
||||
|
|
@ -46,6 +49,7 @@ import { MockBookingRepository } from './repositories/MockBookingRepository';
|
|||
import { MockCustomerRepository } from './repositories/MockCustomerRepository';
|
||||
import { MockAuditRepository } from './repositories/MockAuditRepository';
|
||||
import { MockTeamRepository } from './repositories/MockTeamRepository';
|
||||
import { MockDepartmentRepository } from './repositories/MockDepartmentRepository';
|
||||
|
||||
// Workers
|
||||
import { DataSeeder } from './workers/DataSeeder';
|
||||
|
|
@ -106,6 +110,7 @@ export function createV2Container(): Container {
|
|||
builder.registerType(BookingStore).as<IStore>();
|
||||
builder.registerType(CustomerStore).as<IStore>();
|
||||
builder.registerType(TeamStore).as<IStore>();
|
||||
builder.registerType(DepartmentStore).as<IStore>();
|
||||
builder.registerType(ScheduleOverrideStore).as<IStore>();
|
||||
builder.registerType(AuditStore).as<IStore>();
|
||||
|
||||
|
|
@ -130,6 +135,10 @@ export function createV2Container(): Container {
|
|||
builder.registerType(TeamService).as<IEntityService<ISync>>();
|
||||
builder.registerType(TeamService).as<TeamService>();
|
||||
|
||||
builder.registerType(DepartmentService).as<IEntityService<IDepartment>>();
|
||||
builder.registerType(DepartmentService).as<IEntityService<ISync>>();
|
||||
builder.registerType(DepartmentService).as<DepartmentService>();
|
||||
|
||||
// Repositories (for DataSeeder polymorphic array)
|
||||
builder.registerType(MockEventRepository).as<IApiRepository<ICalendarEvent>>();
|
||||
builder.registerType(MockEventRepository).as<IApiRepository<ISync>>();
|
||||
|
|
@ -149,6 +158,9 @@ export function createV2Container(): Container {
|
|||
builder.registerType(MockTeamRepository).as<IApiRepository<ITeam>>();
|
||||
builder.registerType(MockTeamRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
builder.registerType(MockDepartmentRepository).as<IApiRepository<IDepartment>>();
|
||||
builder.registerType(MockDepartmentRepository).as<IApiRepository<ISync>>();
|
||||
|
||||
// Audit service (listens to ENTITY_SAVED/DELETED events automatically)
|
||||
builder.registerType(AuditService).as<AuditService>();
|
||||
|
||||
|
|
@ -168,6 +180,7 @@ export function createV2Container(): Container {
|
|||
builder.registerType(DateRenderer).as<IRenderer>();
|
||||
builder.registerType(ResourceRenderer).as<IRenderer>();
|
||||
builder.registerType(TeamRenderer).as<IRenderer>();
|
||||
builder.registerType(DepartmentRenderer).as<IRenderer>();
|
||||
|
||||
// Stores - registreres som IGroupingStore
|
||||
builder.registerType(MockTeamStore).as<IGroupingStore>();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue