import { ElementRef, OnInit, Renderer2 } from '@angular/core'; import { FormControl } from '@angular/forms'; import { GasDynamicBaseComponent } from '../../../core/gas-dynamic-base/gas-dynamic-base.component'; import { DateFormat } from '../../../utils/gas-date-directive/date-format.type'; import { GasDatepicker, GasDatepickerTime, GasPickerDay } from '../../gas-datepicker'; import { GasClickOutsideDirective } from '../../../utils/click-outside-directive/gas-click-outside.directive'; export declare class GasDatapickerCalendarComponent extends GasDynamicBaseComponent implements OnInit { el: ElementRef; gasClickOutsideDirective: GasClickOutsideDirective; renderer: Renderer2; /** Массив с днями для рендера в pickere */ daysInMonth: GasPickerDay[]; /** массив с днями недели */ weeks: string[]; /** массив с месяцами */ month: string[]; /** Объект хранящий актуальные значения даты */ dateSetting: GasDatepicker; /** Показывает календарь/список годов/список месяцев */ currentViewPicker: 'datepicker' | 'yearpicker' | 'monthpicker'; /** флаг для отображения поля ввода времени */ timesPicker: boolean; timeWithoutSeconds: boolean; defaultTime: GasDatepickerTime; /** минимально доступный для выбора день */ minDate: Date; /** максимально доступный для выбора день */ maxDate: Date; format: DateFormat; inputForm: FormControl; set presetDate(presetDate: Date | string); /** Возвращает выбранную дату */ get presetDate(): Date | string; /** Выбранная дата */ private selectedDate; constructor(el: ElementRef, gasClickOutsideDirective: GasClickOutsideDirective, renderer: Renderer2); ngOnInit(): void; /** Возвращает текущий месяц */ get currentMonth(): number; /** Возвращает текущий год */ get currentYear(): string; /** обрабатываем изменение года */ onChangeYear(year: number): void; /** обрабатываем изменение месяца из отдельного блока */ changeCurrentMonth(month: number): void; /** * Обновляет данные в календаре и объекте с актуальными значениями даты * * @param day - текущий выбранный день */ changeRenderPicker(day?: Date): void; /** Выбираем предыдущий месяц */ previousMonth(index: number): void; /** Выбираем следующий месяц */ nextMonth(index: number): void; /** * Меняет текущий месяц * * @param index - индекс выбранного месяца */ changeMonth(index: number): void; /** * проверяет текущий месяц и меняет в нем значение если он выходит за корректный диапазон * в случае выхода за диапазон еще меняет год */ checkAndSetMonth(): void; /** открывает блок с выбором года */ openYearPicker(): void; /** открывает блок с выбором месяца */ openMonthPicker(): void; /******************* Методы по установке даты ************************************/ /** * Выбираем день в календаре * Вначале проверяем, относится ли выбранный день к текущему месяцу, если нет - то меняем месяц * Если день из текущего месяца то просто устанавливаем его как выбранный * * @param day - выбранный день из календаря */ selectDay(day: GasPickerDay): void; /** Устанавливает дату на текущий день */ setToDay(): void; /** Обновляет дату в директиве, изменяет массив с датами и закрывает picker */ updateDate(): void; setDateAndTime(times: string[]): void; closePicker(): void; private updateInputValue; }