UNPKG

@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

52 lines (51 loc) 1.51 kB
import { EventEmitter } from "@uplink-protocol/core"; import { DateRange, YearRange } from "./calendar.interfaces"; /** * Event manager service interface * Responsible for managing and emitting calendar events */ export interface IEventManagerService { /** * Initialize event emitters */ initializeEvents(): { dateSelected: EventEmitter<Date>; dateRangeSelected: EventEmitter<DateRange>; monthChanged: EventEmitter<number>; yearChanged: EventEmitter<number>; viewChanged: EventEmitter<{ month: number; year: number; }>; yearRangeChanged: EventEmitter<YearRange>; }; /** * Emit date selected event */ emitDateSelected(emitter: EventEmitter<Date>, date: Date): void; /** * Emit date range selected event */ emitDateRangeSelected(emitter: EventEmitter<DateRange>, range: DateRange): void; /** * Emit month changed event */ emitMonthChanged(emitter: EventEmitter<number>, month: number): void; /** * Emit year changed event */ emitYearChanged(emitter: EventEmitter<number>, year: number): void; /** * Emit view changed event */ emitViewChanged(emitter: EventEmitter<{ month: number; year: number; }>, view: { month: number; year: number; }): void; /** * Emit year range changed event */ emitYearRangeChanged(emitter: EventEmitter<YearRange>, range: YearRange): void; }