@qeydar/datepicker
Version:
A comprehensive Date and Time Picker for Angular with Jalali calendar support
128 lines (127 loc) • 6.12 kB
TypeScript
import { EventEmitter, OnInit, OnChanges, SimpleChanges, ElementRef, AfterViewInit, ChangeDetectorRef, OnDestroy, TemplateRef, QueryList } from '@angular/core';
import { DateAdapter, GregorianDateAdapter, JalaliDateAdapter } from '../date-adapter';
import { CustomLabels, DateRange, Lang_Locale, YearRange } from '../utils/models';
import { DestroyService, QeydarDatePickerService } from '../date-picker.service';
import { CalendarType, DatepickerMode } from '../utils/types';
import { TimePickerComponent } from '../time-picker/time-picker.component';
import { CustomTemplate } from '../utils/template.directive';
import * as i0 from "@angular/core";
export declare class DatePickerPopupComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
el: ElementRef;
cdr: ChangeDetectorRef;
dpService: QeydarDatePickerService;
jalali: JalaliDateAdapter;
gregorian: GregorianDateAdapter;
destroy$: DestroyService;
rtl: boolean;
selectedDate: Date | null;
selectedStartDate: Date | null;
selectedEndDate: Date | null;
mode: DatepickerMode;
isRange: boolean;
customLabels: Array<CustomLabels>;
calendarType: CalendarType;
minDate: Date | null;
maxDate: Date | null;
cssClass: string;
footerDescription: string;
activeInput: 'start' | 'end' | '';
showSidebar: boolean;
showToday: boolean;
showTimePicker: boolean;
timeDisplayFormat: string;
dateFormat: string;
disabledDates: Array<Date | string>;
disabledDatesFilter: (date: Date) => boolean;
disabledTimesFilter: (date: Date) => boolean;
templates: QueryList<CustomTemplate>;
dateSelected: EventEmitter<Date>;
dateRangeSelected: EventEmitter<DateRange>;
closePicker: EventEmitter<void>;
clickInside: EventEmitter<boolean>;
itemSelector: ElementRef;
timePicker: TimePickerComponent;
dateAdapter: DateAdapter<Date>;
weekDays: string[];
periods: Array<CustomLabels>;
days: Date[];
currentDate: Date;
selectedPeriod: any;
tempEndDate: Date | null;
monthListNum: number[];
yearList: number[];
yearRanges: Array<YearRange>;
viewMode: 'days' | 'months' | 'years';
lang: Lang_Locale;
timeoutId: any;
dayTemplate: TemplateRef<any>;
monthTemplate: TemplateRef<any>;
quarterTemplate: TemplateRef<any>;
yearTemplate: TemplateRef<any>;
get getDate(): Date;
constructor(el: ElementRef, cdr: ChangeDetectorRef, dpService: QeydarDatePickerService, jalali: JalaliDateAdapter, gregorian: GregorianDateAdapter, destroy$: DestroyService);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
initializeComponent(): void;
initLabels(): void;
generateDefaultPeriods(today: Date): void;
setDateAdapter(): void;
generateCalendar(): void;
setViewMode(): void;
showMonthSelector(): void;
showYearSelector(): void;
onTimeChange(time: string | Date): void;
updateSingleDateTime(timeDate: Date): void;
updateRangeDateTime(timeDate: Date): void;
private applyTimeToDate;
setTimePickerDate(date?: Date): void;
selectDate(date: Date): void;
handleRangeSelection(date: Date): void;
handleSingleSelection(date: Date): void;
selectMonth(month: number, closeAfterSelection?: boolean): void;
selectYear(year: number, sideSelector?: boolean): void;
goPrev(): void;
goNext(): void;
prevMonth(): void;
nextMonth(): void;
isSelected(date: Date): boolean;
isRangeStart(date: Date): boolean;
isRangeEnd(date: Date): boolean;
isInRange(date: Date): boolean;
isToday(date: Date): boolean;
isActiveMonth(month: number): boolean;
isActiveYear(year: number): boolean;
isActiveYearRange(startYear: number): boolean;
isDateDisabled(date: Date): boolean;
isMonthDisabled(month: number): boolean;
isYearDisabled(year: number): boolean;
isYearRangeDisabled(yearRange: YearRange): boolean;
isPrevMonthDisabled(): boolean;
isNextMonthDisabled(): boolean;
parseDisabledDates(): Date[];
onMouseEnter(date: Date, event: Event): void;
onClickInside(): void;
getMonthName(month: number): string;
getCurrentMonthName(): string;
getCurrentYear(): number;
getWeekDays(): string[];
isSameMonth(date1: Date, date2: Date): boolean;
closeDatePicker(): void;
generateYearRanges(length?: number): void;
generateYearList(length?: number): void;
selectYearRange(startYear: number): void;
isActivePeriod(period: CustomLabels): boolean;
selectPeriod(period: CustomLabels): void;
onTodayClick(): void;
onOkClick(): void;
scrollToSelectedItem(id?: number | null): void;
determineScrollItemId(id: number | null): number | null;
handleChanges(changes: SimpleChanges): void;
setInitialDate(): void;
determineInitialDate(): Date;
adjustCurrentDateToValidRange(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerPopupComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerPopupComponent, "qeydar-date-picker-popup", never, { "rtl": "rtl"; "selectedDate": "selectedDate"; "selectedStartDate": "selectedStartDate"; "selectedEndDate": "selectedEndDate"; "mode": "mode"; "isRange": "isRange"; "customLabels": "customLabels"; "calendarType": "calendarType"; "minDate": "minDate"; "maxDate": "maxDate"; "cssClass": "cssClass"; "footerDescription": "footerDescription"; "activeInput": "activeInput"; "showSidebar": "showSidebar"; "showToday": "showToday"; "showTimePicker": "showTimePicker"; "timeDisplayFormat": "timeDisplayFormat"; "dateFormat": "dateFormat"; "disabledDates": "disabledDates"; "disabledDatesFilter": "disabledDatesFilter"; "disabledTimesFilter": "disabledTimesFilter"; "templates": "templates"; }, { "dateSelected": "dateSelected"; "dateRangeSelected": "dateRangeSelected"; "closePicker": "closePicker"; "clickInside": "clickInside"; }, never, never, true>;
}