import { BooleanInput } from '@angular/cdk/coercion'; import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { Destroy } from '@deja-js/component/core'; import { IDateSelectorItem } from './date-selector-item.model'; import * as i0 from "@angular/core"; export declare enum DaysOfWeek { Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6 } export declare enum DateComponentLayout { dateonly = 1, datetime = 2, timeonly = 3 } export declare class DejaDateSelectorComponent extends Destroy implements OnInit, ControlValueAccessor { private changeDetectorRef; _control: NgControl; startDay: DaysOfWeek; disableDates: Array<(DaysOfWeek | Date)>; dateMax: Date; dateMin: Date; format: string; readonly dateChange: EventEmitter; readonly timeChange: EventEmitter; _local: string; layoutClass: string; layoutId: number; zeroHourDate: Date; private _keyboardNavigation; private _keyboardNavigation$; get keyboardNavigation(): boolean; get displayedDate(): Date; get local(): string; private _currentDays; private _currentDate; private selectedDate; private _displayedDate; private _days; private _emptyDays; private _time; private _disabled; /** * Component Layout */ set layout(value: DateComponentLayout | string); /** * Time property setter. Can be string or empty so you can use it like : * Used to add time selector next to calendar */ set time(value: BooleanInput); /** Time property getter. */ get time(): BooleanInput; get days(): string[]; get emptyDays(): number[]; get currentDate(): Date; get currentDays(): IDateSelectorItem[]; /** Disabled property setter. Can be string or empty so you can use it like : */ set disabled(value: BooleanInput); /** Disabled property getter. */ get disabled(): BooleanInput; constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, _control: NgControl); ngOnInit(): void; set value(v: Date); get value(): Date; writeValue(value: Date | string): void; registerOnChange(fn: (_a: unknown) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; /** * @param month (attention : Janvier = 0, Décembre = 11) * @param year * @return Jours du mois au format IDateSelectorItem */ getAllDaysInMonth(month: number, year: number): IDateSelectorItem[]; daysInMonth(month: number, year: number): number; keyDown(event: KeyboardEvent): boolean; changeMonth(x: number): boolean; changeYear(x: number): boolean; updateTime(hours: Date): void; getDisplayedDate(): string; getSelectedDate(): string; onTouchedCallback: () => void; onChangeCallback: (_a?: unknown) => void; private getDateLabel; private bind; /** * Vérifie si la date passée en param est désactivée. * * @param date * @return sera false si this.disableDates n'existe pas / n'est pas un tableau, * si la date envoyée en param est valide, * si la date est superieure a dateMax * ou si la date est inférieure a dateMin */ private isDisabledDate; /** * Fonction récursive. Si le jour séléctionné + num est invalide, la fonction * se rappelle pour séléctionner le jour suivant (ou précédent) * * @param date * @param num : nombre de jours à ajouter à date. */ private setDateIfPossible; /** * Fonction récursive. Si le mois séléctionné + num est invalide, la fonction * se rappelle pour séléctionner le jour suivant (ou précédent) * * @param date * @param num : nombre de mois à ajouter à date. */ private setMonthIfPossible; /** * Fonction récursive. Si l'année séléctionné + num est invalide, la fonction * se rappelle pour séléctionner le jour suivant (ou précédent) * * @param date * @param num : nombre de jours à ajouter à date. */ private setYearIfPossible; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }