This commit is contained in:
Janus C. H. Knudsen 2025-10-06 21:55:52 +02:00
parent 69495ce00f
commit e838719d46
3 changed files with 4 additions and 122 deletions

View file

@ -97,49 +97,4 @@ export interface IEventBus {
emit(eventType: string, detail?: unknown): boolean;
getEventLog(eventType?: string): EventLogEntry[];
setDebug(enabled: boolean): void;
}
export interface GridPosition {
minutes: number;
time: string;
y: number;
}
export interface Period {
start: string;
end: string;
mode?: CalendarMode; // Optional: which calendar mode this period is for
}
export interface EventData {
events: CalendarEvent[];
meta: {
start: string;
end: string;
total: number;
mode?: CalendarMode; // Which calendar mode this data is for
};
}
/**
* Context interfaces for different calendar modes
*/
export interface DateModeContext {
mode: 'date';
currentWeek: Date;
period: ViewPeriod;
weekDays: number;
firstDayOfWeek: number;
}
export interface ResourceModeContext {
mode: 'resource';
selectedDate: Date;
resources: Resource[];
maxResources: number;
}
/**
* Union type for type-safe mode contexts
*/
export type CalendarModeContext = DateModeContext | ResourceModeContext;
}

View file

@ -1,40 +1,10 @@
/**
* Type definitions for calendar events
* Type definitions for calendar events and drag operations
*/
import { ColumnBounds } from "../utils/ColumnDetectionUtils";
import { CalendarEvent } from "./CalendarTypes";
export interface AllDayEvent {
id: string;
title: string;
start: Date | string;
end: Date | string;
allDay: true;
color?: string;
metadata?: {
color?: string;
category?: string;
location?: string;
};
}
export interface TimeEvent {
id: string;
title: string;
start: Date | string;
end: Date | string;
allDay?: false;
color?: string;
metadata?: {
color?: string;
category?: string;
location?: string;
};
}
export type CalendarEventData = AllDayEvent | TimeEvent;
/**
* Drag Event Payload Interfaces
* Type-safe interfaces for drag and drop events