@uplink-protocol/calendar-controller
Version:
Flexible calendar API supporting both calendar and date-picker integrations for any JavaScript framework or library
60 lines (59 loc) • 1.71 kB
TypeScript
import { IConstraintsService } from "../interfaces/constraints.service.interfaces";
/**
* Implementation of ConstraintsService
* Responsible for managing date constraints like min/max dates and disabled dates
*/
export declare class ConstraintsService implements IConstraintsService {
private _minDate;
private _maxDate;
private _disabledDates;
private _disabledDaysOfWeek;
/**
* Set minimum date
*/
setMinDate(date: Date | null): Date | null;
/**
* Set maximum date
*/
setMaxDate(date: Date | null): Date | null;
/**
* Set disabled dates
*/
setDisabledDates(dates: Date[]): Date[];
/**
* Set disabled days of the week
*/
setDisabledDaysOfWeek(days: number[]): number[];
/**
* Check if a date is disabled
*/
isDateDisabled(date: Date, minDate: Date | null, maxDate: Date | null, disabledDates: Date[], disabledDaysOfWeek?: number[]): boolean; /**
* Get current constraints
*/
getConstraints(): {
minDate: Date | null;
maxDate: Date | null;
disabledDates: Date[];
disabledDaysOfWeek: number[];
};
/**
* Add a date to the disabled dates list
*/
addDisabledDate(date: Date): Date[];
/**
* Remove a date from the disabled dates list
*/
removeDisabledDate(date: Date): Date[];
/**
* Add a day of the week to the disabled days list
*/
addDisabledDayOfWeek(day: number): number[];
/**
* Remove a day of the week from the disabled days list
*/
removeDisabledDayOfWeek(day: number): number[];
/**
* Get disabled days of the week
*/
getDisabledDaysOfWeek(): number[];
}