@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
53 lines (52 loc) • 1.65 kB
TypeScript
import { EventEmitter } from "@uplink-protocol/core";
import { DateRange, YearRange } from "../interfaces/calendar.interfaces";
import { IEventManagerService } from "../interfaces/event-manager.service.interfaces";
/**
* Implementation of EventManagerService
* Responsible for managing and emitting calendar events
*/
export declare class EventManagerService implements 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;
}