@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
57 lines (56 loc) • 2.24 kB
TypeScript
import { CalendarStateManager } from "./state-manager";
import { BindingsCoordinator } from "./bindings-coordinator";
import { CalendarControllerBindings } from "../types";
import { IConstraintsService, ICalendarStateService } from "../interfaces";
import { ICalendarService } from "../interfaces";
/**
* ConstraintsCoordinator - Handles date constraint operations
* Manages min/max dates, disabled dates, and disabled days of week
*/
export declare class ConstraintsCoordinator {
private stateManager;
private bindingsCoordinator;
private constraintsService;
private calendarStateService;
constructor(stateManager: CalendarStateManager, bindingsCoordinator: BindingsCoordinator, constraintsService: IConstraintsService, calendarStateService: ICalendarStateService);
/**
* Set minimum selectable date
*/
setMinDate(date: Date | null, bindings: CalendarControllerBindings, getters: any, calendarService: ICalendarService): void;
/**
* Set maximum selectable date
*/
setMaxDate(date: Date | null, bindings: CalendarControllerBindings, getters: any, calendarService: ICalendarService): void;
/**
* Set disabled dates
*/
setDisabledDates(dates: Date[], bindings: CalendarControllerBindings, getters: any, calendarService: ICalendarService): void;
/**
* Add a disabled date
*/
addDisabledDate(date: Date, bindings: CalendarControllerBindings, getters: any): Date[];
/**
* Remove a disabled date
*/
removeDisabledDate(date: Date, bindings: CalendarControllerBindings, getters: any): Date[];
/**
* Get disabled dates
*/
getDisabledDates(): Date[];
/**
* Set disabled days of the week
*/
setDisabledDaysOfWeek(days: number[], bindings: CalendarControllerBindings, getters: any): number[];
/**
* Add a disabled day of the week
*/
addDisabledDayOfWeek(day: number, bindings: CalendarControllerBindings, getters: any): number[];
/**
* Remove a disabled day of the week
*/
removeDisabledDayOfWeek(day: number, bindings: CalendarControllerBindings, getters: any): number[];
/**
* Get disabled days of the week
*/
getDisabledDaysOfWeek(): number[];
}