@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
152 lines (151 loc) • 4.51 kB
TypeScript
import { Injector, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { ValidationAlerts } from '../../validation-alert/validation-alert';
import { DateLikeFormFieldComponent } from '../date-like/date-like-form-field.component';
import * as i0 from "@angular/core";
export interface DayBlock {
date: Date;
isCurrentMonth: boolean;
isToday: boolean;
timestamp: number;
}
/**
* Calendar Form Field Component
*/
export declare class CalendarFormFieldComponent extends DateLikeFormFieldComponent implements OnInit {
/**
* The source name to use for logging
*/
protected get logSourceName(): string;
/**
* Internal selected date value
*/
selectedDate: Date;
/**
* Gets the selected year
*/
private get selectedYear();
/**
* Gets the selected month
*/
private get selectedMonth();
/**
* Gets the text for the currently viewed month
*/
get headerText(): string;
/**
* Gets a value indicating if the current view contains today's date
*/
get isTodayInView(): boolean;
/**
* Gets a value indicating if the current view contains today's date
*/
get isSelectionInView(): boolean;
/**
* A workaround to have Screen reader know this is a required "input" field.
*/
get ariaLabel(): string;
/**
* The currently viewed year
*/
currentYear: number;
/**
* The currently viewed month
*/
currentMonth: number;
/**
* A localized list of date column headings
*/
dayHeadings: string[];
/**
* A matrix of visible days acording to the week they appear in.
*/
dayBlocks: DayBlock[][];
/**
* A Localized list of days of week.
*/
daysOfWeek: string[];
/**
* Initializes a new instance of the @see CalendarFormFieldComponent class.
* @param injector The angular injection service. required by @see SmeInjectableBase decorator in the @see BaseComponent class
*/
constructor(injector: Injector);
/**
* Implementation of angular OnInit interface
*/
ngOnInit(): void;
/**
* Occurs when the previous month button has been clicked
*/
onPreviousClicked(event: Event): void;
/**
* Occurs when the next month button has been clicked
*/
onNextClicked(event: Event): void;
/**
* Occurs when the go to today button has been clicked
*/
onGoToTodayClicked(event: Event): void;
/**
* Changes the current view to include the previous month
*/
goToPreviousMonth(): void;
/**
* Changes the current view to include the previous month
*/
goToNextMonth(): void;
/**
* Selects a day in the calander
*/
selectDay(day: Date): void;
/**
* Indicates if a given day is selected
*/
isDaySelected(day: Date): boolean;
/**
* Applies the focus to the current element
*/
focus(): void;
private yieldFocus;
/**
* Brings today into view
*/
goToToday(): void;
/**
* Brings selected date into view
*/
goToSelection(): void;
/**
* Brings a month and year into view
*/
goTo(year: number, month: number): void;
/**
* Handles keydown events on dat blocks
*/
onDayBlockKeyDown(event: KeyboardEvent, day: DayBlock): void;
/**
* Occurs every time the value of the control changes, in the UI or programmatically.
* @param value the value of the form control
*/
protected onValueChanged(value: any): void;
/**
* Performs validation that is internal to this control
* @param c The form control attached to this instance
*/
protected validate(c: FormControl): ValidationAlerts;
/**
* Generates the current view of day blocks
*/
private generateDayBlocks;
/**
* attempts to find a day button via its timestamp
*/
private findDayButton;
/**
* Brings focus to a given date
*/
private focusOnDate;
convertDateToScreenReaderFormat(day: Date): string;
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarFormFieldComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CalendarFormFieldComponent, "sme-form-field[type=\"calendar\"]", never, {}, {}, never, never, false, never>;
}