Remove resource calendar mode support
Simplifies calendar configuration and removes resource-specific code paths Eliminates complexity around resource-based calendar rendering by: - Removing ResourceCalendarData type - Removing resource-specific renderers and managers - Streamlining event and grid management logic - Consolidating to single date-based calendar implementation
This commit is contained in:
parent
349e1e8293
commit
cda201301c
16 changed files with 65 additions and 323 deletions
|
|
@ -3,27 +3,11 @@
|
|||
// Time period view types (how much time to display)
|
||||
export type ViewPeriod = 'day' | 'week' | 'month';
|
||||
|
||||
// Calendar mode types (how to organize the data)
|
||||
export type CalendarMode = 'date' | 'resource';
|
||||
|
||||
// Type aliases
|
||||
export type CalendarView = ViewPeriod;
|
||||
|
||||
export type SyncStatus = 'synced' | 'pending' | 'error';
|
||||
|
||||
export interface Resource {
|
||||
name: string;
|
||||
displayName: string;
|
||||
avatarUrl: string;
|
||||
employeeId: string;
|
||||
events: CalendarEvent[];
|
||||
}
|
||||
|
||||
export interface ResourceCalendarData {
|
||||
date: string;
|
||||
resources: Resource[];
|
||||
}
|
||||
|
||||
export interface RenderContext {
|
||||
container: HTMLElement;
|
||||
startDate: Date;
|
||||
|
|
@ -38,14 +22,7 @@ export interface CalendarEvent {
|
|||
type: string; // Flexible event type - can be any string value
|
||||
allDay: boolean;
|
||||
syncStatus: SyncStatus;
|
||||
|
||||
// Resource information (only present in resource calendar mode)
|
||||
resource?: {
|
||||
name: string;
|
||||
displayName: string;
|
||||
employeeId: string;
|
||||
};
|
||||
|
||||
|
||||
recurringId?: string;
|
||||
metadata?: Record<string, any>;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ export interface EventManager extends IManager {
|
|||
loadData(): Promise<void>;
|
||||
getEvents(): CalendarEvent[];
|
||||
getEventsForPeriod(startDate: Date, endDate: Date): CalendarEvent[];
|
||||
getResourceData(): ResourceData | null;
|
||||
navigateToEvent(eventId: string): boolean;
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +41,6 @@ export interface EventRenderingService extends IManager {
|
|||
export interface GridManager extends IManager {
|
||||
render(): Promise<void>;
|
||||
getDisplayDates(): Date[];
|
||||
setResourceData(resourceData: import('./CalendarTypes').ResourceCalendarData | null): void;
|
||||
}
|
||||
|
||||
export interface ScrollManager extends IManager {
|
||||
|
|
@ -76,20 +74,3 @@ export interface AllDayManager extends IManager {
|
|||
export interface ResizeHandleManager extends IManager {
|
||||
// ResizeHandleManager handles hover effects for resize handles
|
||||
}
|
||||
|
||||
export interface ResourceData {
|
||||
resources: Resource[];
|
||||
assignments?: ResourceAssignment[];
|
||||
}
|
||||
|
||||
export interface Resource {
|
||||
id: string;
|
||||
name: string;
|
||||
type?: string;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
export interface ResourceAssignment {
|
||||
resourceId: string;
|
||||
eventId: string;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue