@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
67 lines (66 loc) • 3.16 kB
TypeScript
import { ControllerMetadata } from "@uplink-protocol/core/dist/uplink/interfaces/metadata/controller-metadata.interface";
import { CalendarOptions, ICalendarService, IDateFormattingService, IDateSelectionService, IViewStateService, IEventManagerService, INavigationService, IConstraintsService, ICalendarGeneratorService, IConfigurationService, ILocalizationService, IAccessibilityService, IAccessibilityManagerService, ICalendarStateService } from "../interfaces";
import { CalendarStateManager } from "./state-manager";
import { CalendarControllerBindings, CalendarControllerEvents } from "../types";
/**
* ControllerInitializer - Handles all controller initialization logic
* Responsible for service instantiation, configuration, metadata setup, and initial state
*/
export declare class ControllerInitializer {
/**
* Initialize all services required by the controller
*/
initializeServices(): {
calendarService: ICalendarService;
dateFormattingService: IDateFormattingService;
dateSelectionService: IDateSelectionService;
viewStateService: IViewStateService;
eventManagerService: IEventManagerService;
navigationService: INavigationService;
constraintsService: IConstraintsService;
calendarGeneratorService: ICalendarGeneratorService;
localizationService: ILocalizationService;
configurationService: IConfigurationService;
accessibilityService: IAccessibilityService;
accessibilityManagerService: IAccessibilityManagerService;
calendarStateService: ICalendarStateService;
};
/**
* Apply configuration options to state manager and services
*/
applyConfiguration(options: CalendarOptions, stateManager: CalendarStateManager, services: {
calendarService: ICalendarService;
dateFormattingService: IDateFormattingService;
localizationService: ILocalizationService;
configurationService: IConfigurationService;
constraintsService: IConstraintsService;
}): {
localizationService: ILocalizationService;
configurationService: IConfigurationService;
locale: string;
};
/**
* Initialize bindings
*/
initializeBindings(stateManager: CalendarStateManager, viewStateService: IViewStateService, generateCalendarDaysFn: () => any[], generateCalendarMonthsFn: () => any[], generateCalendarYearsFn: () => any[]): CalendarControllerBindings;
/**
* Initialize events
*/
initializeEvents(eventManagerService: IEventManagerService): CalendarControllerEvents;
/**
* Initialize metadata for the controller
*/
initializeMetadata(controller: any): void;
/**
* Setup bindings for the controller (placeholder - actual binding initialization handled by bindingsCoordinator)
*/
setupBindings(_controller: any): void;
/**
* Setup methods for the controller (placeholder - methods are already defined in controller class)
*/
setupMethods(_controller: any): void;
/**
* Create controller metadata for agent assistance
*/
createMetadata(): ControllerMetadata;
}