mydaterangepicker
Version:
Angular date range picker
112 lines (111 loc) • 4.48 kB
TypeScript
import { EventEmitter, OnChanges, OnDestroy, SimpleChanges, ElementRef, Renderer, ChangeDetectorRef } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { IMyDate, IMyMonth, IMyCalendarMonth, IMyCalendarYear, IMyWeek, IMyOptions, IMyDateRangeModel, IMyInputFieldChanged, IMyCalendarViewChanged, IMyInputFocusBlur, IMyDateSelected } from "./interfaces/index";
import { DateRangeUtilService } from "./services/my-date-range-picker.date.range.util.service";
export declare const MYDRP_VALUE_ACCESSOR: any;
export declare class MyDateRangePicker implements OnChanges, OnDestroy, ControlValueAccessor {
elem: ElementRef;
private renderer;
private cdr;
private drus;
options: any;
defaultMonth: string;
selDateRange: string;
placeholder: string;
dateRangeChanged: EventEmitter<IMyDateRangeModel>;
inputFieldChanged: EventEmitter<IMyInputFieldChanged>;
calendarViewChanged: EventEmitter<IMyCalendarViewChanged>;
inputFocusBlur: EventEmitter<IMyInputFocusBlur>;
dateSelected: EventEmitter<IMyDateSelected>;
selectorEl: any;
onChangeCb: (_: any) => void;
onTouchedCb: () => void;
showSelector: boolean;
visibleMonth: IMyMonth;
selectedMonth: IMyMonth;
weekDays: Array<string>;
dates: Array<IMyWeek>;
months: Array<Array<IMyCalendarMonth>>;
years: Array<Array<IMyCalendarYear>>;
selectionDayTxt: string;
invalidDateRange: boolean;
dateRangeFormat: string;
dayIdx: number;
weekDayOpts: Array<string>;
selectMonth: boolean;
selectYear: boolean;
prevMonthDisabled: boolean;
nextMonthDisabled: boolean;
prevYearDisabled: boolean;
nextYearDisabled: boolean;
prevYearsDisabled: boolean;
nextYearsDisabled: boolean;
prevMonthId: number;
currMonthId: number;
nextMonthId: number;
beginDate: IMyDate;
endDate: IMyDate;
titleAreaText: string;
globalListener: Function;
opts: IMyOptions;
constructor(elem: ElementRef, renderer: Renderer, cdr: ChangeDetectorRef, drus: DateRangeUtilService);
resetMonthYearSelect(): void;
onSelectMonthClicked(event: any): void;
onMonthCellClicked(cell: IMyCalendarMonth): void;
onMonthCellKeyDown(event: any, cell: IMyCalendarMonth): void;
onSelectYearClicked(event: any): void;
onYearCellClicked(cell: IMyCalendarYear): void;
onYearCellKeyDown(event: any, cell: IMyCalendarYear): void;
onPrevYears(event: any, year: number): void;
onNextYears(event: any, year: number): void;
generateYears(year: number): void;
onUserDateRangeInput(value: string): void;
onFocusInput(event: any): void;
onBlurInput(event: any): void;
onCloseSelector(event: any): void;
parseOptions(): void;
writeValue(value: Object): void;
setDisabledState(disabled: boolean): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
removeBtnClicked(): void;
openBtnClicked(): void;
setVisibleMonth(): void;
onPrevMonth(): void;
onNextMonth(): void;
onPrevYear(): void;
onNextYear(): void;
clearRangeValues(): void;
onCellClicked(cell: any): void;
selectBeginDate(date: IMyDate): void;
selectEndDate(date: IMyDate): void;
onCellKeyDown(event: any, cell: any): void;
onCellMouseEnter(cell: any): void;
onCellMouseLeave(): void;
toBeginDate(): void;
clearDateRange(): void;
rangeSelected(): void;
getDateRangeModel(beginDate: IMyDate, endDate: IMyDate): IMyDateRangeModel;
isInRange(val: any): boolean;
isRangeSelected(): boolean;
preZero(val: string): string;
formatDate(val: any): string;
monthText(m: number): string;
monthStartIdx(y: number, m: number): number;
daysInMonth(m: number, y: number): number;
daysInPrevMonth(m: number, y: number): number;
isCurrDay(d: number, m: number, y: number, cmo: number, today: IMyDate): boolean;
getPreviousDate(date: IMyDate): IMyDate;
getNextDate(date: IMyDate): IMyDate;
getDayNumber(date: IMyDate): number;
getWeekday(date: IMyDate): string;
getDate(date: IMyDate): Date;
getToday(): IMyDate;
sundayIdx(): number;
generateCalendar(m: number, y: number, viewChange: boolean): void;
setHeaderBtnDisabledState(m: number, y: number): void;
parseSelectedDate(selDate: any): IMyDate;
parseSelectedMonth(ms: string): IMyMonth;
}