fundamental-ngx
Version:
SAP Fiori Fundamentals, implemented in Angular
133 lines (132 loc) • 4.9 kB
TypeScript
import { EventEmitter, OnInit, ElementRef, OnDestroy, AfterViewChecked, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
import { HashService } from '../utils/hash.service';
import { ControlValueAccessor } from '@angular/forms';
import { Subject } from 'rxjs';
import { CalendarI18n } from './i18n/calendar-i18n';
import { CalendarI18nLabels } from './i18n/calendar-i18n-labels';
import { DateFormatParser } from './format/date-parser';
export declare type CalendarType = 'single' | 'range';
export declare type MonthStatus = 'previous' | 'current' | 'next';
export declare type WeekDaysNumberRange = 0 | 1 | 2 | 3 | 4 | 5 | 6;
export interface CalendarDay {
date: Date;
day?: number;
weekDay?: number;
monthStatus?: MonthStatus;
disabled?: boolean;
blocked?: boolean;
selected?: boolean;
selectedFirst?: boolean;
selectedRange?: boolean;
selectedLast?: boolean;
today?: boolean;
isTabIndexed?: boolean;
ariaLabel?: string;
}
export interface EmittedDate {
selectedDay?: CalendarDay;
selectedFirstDay?: CalendarDay;
selectedLastDay?: CalendarDay;
}
export declare class CalendarComponent implements OnInit, OnDestroy, AfterViewChecked, ControlValueAccessor, OnChanges {
private hasher;
private eRef;
private cd;
calendarI18nLabels: CalendarI18nLabels;
calendarI18n: CalendarI18n;
dateAdapter: DateFormatParser;
calendarId: string;
newFocusedDayId: string;
init: boolean;
fdCalendarClass: boolean;
dateFromDatePicker: Subject<any>;
calType: CalendarType;
startingDayOfWeek: WeekDaysNumberRange;
isInvalidDateInput: EventEmitter<any>;
isDateTimePicker: boolean;
invalidDate: boolean;
showCalendarMonths: boolean;
showCalendarYears: boolean;
showCalendarDates: boolean;
monthsShortName: string[];
monthsFullName: string[];
weekDays: string[];
daysPerMonth: number[];
calendarGrid: CalendarDay[][];
calendarYearsList: number[];
today: Date;
todayMonth: number;
todayYear: number;
date: Date;
month: number;
monthName: string;
year: number;
day: number;
selectedMonth: number;
firstYearCalendarList: number;
selectCounter: number;
selectedDay: CalendarDay;
selectedDayChange: EventEmitter<{}>;
selectedRangeFirst: CalendarDay;
selectedRangeFirstChange: EventEmitter<{}>;
selectedRangeLast: CalendarDay;
selectedRangeLastChange: EventEmitter<{}>;
emittedDate: EmittedDate;
closeCalendar: EventEmitter<any>;
private i18nLocalSub;
disableFunction: (d: any) => boolean;
disableRangeStartFunction: (d: any) => boolean;
disableRangeEndFunction: (d: any) => boolean;
blockRangeStartFunction: (d: any) => boolean;
blockRangeEndFunction: (d: any) => boolean;
blockFunction: (d: any) => boolean;
onChange: Function;
onTouched: Function;
determineDaysInMonth: (month: number, year: number) => number;
setWeekDaysOrder(): void;
getPreviousMonthDays(calendarMonth: any): any;
getCurrentMonthDays(calendarMonth: any): any;
getNextMonthDays(calendarMonth: any): any;
populateCalendar(): CalendarDay[];
constructCalendar(): void;
refreshSelected(): void;
updateDatePickerInputEmitter(): void;
constructCalendarYearsList(): void;
getYearTabIndex(year: any, i: any): number;
goToPreviousMonth(): void;
goToNextMonth(): void;
loadNextYearsList(): void;
loadPrevYearsList(): void;
selectDate(day: any, formEvent?: boolean, event?: any, closeCalendar?: any): void;
setCurrentMonth(month: number): void;
selectMonth(selectedMonth: any, event?: any): void;
setCurrentYear(year: number): void;
selectYear(selectedYear: any, event?: any): void;
openMonthSelection(): void;
openYearSelection(): void;
openDaySelection(): void;
onEscapeKeydownHandler(): void;
onClickHandler(e: MouseEvent): void;
validateDateFromDatePicker(date: Date): boolean;
resetSelection(): void;
onKeydownYearHandler(event: any, year: any): void;
onKeydownMonthHandler(event: any, month: any): void;
onKeydownDayHandler(event: any, cell: any): void;
focusElement(elementSelector: any): void;
updateFromDatePicker(date: any): void;
ngOnInit(): void;
ngAfterViewChecked(): void;
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
constructor(hasher: HashService, eRef: ElementRef, cd: ChangeDetectorRef, calendarI18nLabels: CalendarI18nLabels, calendarI18n: CalendarI18n, dateAdapter: DateFormatParser);
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
writeValue(selected: {
date: Date;
rangeEnd?: Date;
}): void;
private singleFormsSetup;
private rangeFormsSetup;
private setupLocalization;
}