@uplink-protocol/calendar-controller
Version:
Flexible calendar and time picker API supporting both calendar, date-picker, and time-picker integrations for any JavaScript framework or library
54 lines (53 loc) • 2.38 kB
TypeScript
import { IEventFormattingService, DateFormatOptions, EventDisplayOptions, FormattedEvent, DurationFormatOptions, CalendarViewFormatOptions, ExportFormatOptions, LocalizationSettings } from '../interfaces/event-formatting.interfaces';
import { CalendarEvent, EventDateTime } from '../interfaces/event.interfaces';
/**
* Implementation of event formatting service
* Provides formatting capabilities for displaying events in various formats
*/
export declare class EventFormattingService implements IEventFormattingService {
private localization;
initialize(localization: LocalizationSettings): void;
formatEvent(event: CalendarEvent | null, displayOptions?: EventDisplayOptions, dateOptions?: DateFormatOptions): FormattedEvent;
formatEvents(events: CalendarEvent[], displayOptions?: EventDisplayOptions, dateOptions?: DateFormatOptions): FormattedEvent[];
formatDateTime(dateTime: EventDateTime, options?: DateFormatOptions): {
startDate: string;
startTime: string;
endDate: string;
endTime: string;
duration: string;
isMultiDay: boolean;
relative?: string;
};
formatDuration(startDate: Date, endDate: Date, options?: DurationFormatOptions): string;
formatForCalendarView(events: CalendarEvent[], viewOptions: CalendarViewFormatOptions): Array<FormattedEvent & {
position: {
x: number;
y: number;
width: number;
height: number;
};
}>;
exportEvents(events: CalendarEvent[], options: ExportFormatOptions): Promise<{
data: string | Blob;
filename: string;
mimeType: string;
}>;
getAccessibilityLabel(event: CalendarEvent): string;
getEventSummary(event: CalendarEvent, maxLength?: number): string;
updateLocalization(settings: Partial<LocalizationSettings>): void;
getAvailableLocales(): string[];
getSupportedExportFormats(): string[];
formatRecurrencePattern(recurrence: any): string;
getNextOccurrenceText(_event: CalendarEvent): string | null;
private getStatusText;
private getStatusColor;
private getPriorityText;
private getPriorityLevel;
private getPriorityColor;
private generateCssClasses;
private getRelativeTimeText;
private exportToCsv;
private exportToIcs;
private escapeCsvValue;
private formatDateForIcs;
}