UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

514 lines (513 loc) 12.6 kB
import { ElementRef, AfterViewInit, QueryList, OnDestroy } from '@angular/core'; import { ScrollDirection } from './calendar'; import { IgxMonthsViewComponent } from './months-view/months-view.component'; import { IgxYearsViewComponent } from './years-view/years-view.component'; import { IgxDaysViewComponent } from './days-view/days-view.component'; import { IgxCalendarBaseDirective } from './calendar-base'; import * as i0 from "@angular/core"; /** * Calendar provides a way to display date information. * * @igxModule IgxCalendarModule * * @igxTheme igx-calendar-theme, igx-icon-theme * * @igxKeywords calendar, datepicker, schedule, date * * @igxGroup Scheduling * * @remarks * The Ignite UI Calendar provides an easy way to display a calendar and allow users to select dates using single, multiple * or range selection. * * @example: * ```html * <igx-calendar selection="range"></igx-calendar> * ``` */ export declare class IgxCalendarComponent extends IgxCalendarBaseDirective implements AfterViewInit, OnDestroy { /** * @hidden * @internal */ private _activeDescendant; /** * @hidden * @internal */ wrapper: ElementRef; /** * Sets/gets the `id` of the calendar. * * @remarks * If not set, the `id` will have value `"igx-calendar-0"`. * * @example * ```html * <igx-calendar id="my-first-calendar"></igx-calendar> * ``` * @memberof IgxCalendarComponent */ id: string; /** * Sets/gets whether the calendar has header. * Default value is `true`. * * @example * ```html * <igx-calendar [hasHeader]="false"></igx-calendar> * ``` */ hasHeader: boolean; /** * Sets/gets whether the calendar header will be in vertical position. * Default value is `false`. * * @example * ```html * <igx-calendar [vertical]="true"></igx-calendar> * ``` */ vertical: boolean; orientation: 'horizontal' | 'vertical'; headerOrientation: 'horizontal' | 'vertical'; /** * Sets/gets the number of month views displayed. * Default value is `1`. * * @example * ```html * <igx-calendar [monthsViewNumber]="2"></igx-calendar> * ``` */ get monthsViewNumber(): number; set monthsViewNumber(val: number); /** * Show/hide week numbers * * @example * ```html * <igx-calendar [showWeekNumbers]="true"></igx-calendar> * `` */ showWeekNumbers: boolean; /** * The default css class applied to the component. * * @hidden * @internal */ get styleVerticalClass(): boolean; /** * The default css class applied to the component. * * @hidden * @internal */ styleClass: boolean; /** * Month button, that displays the months view. * * @hidden * @internal */ monthsBtns: QueryList<ElementRef>; /** * ViewChild that represents the decade view. * * @hidden * @internal */ dacadeView: IgxYearsViewComponent; /** * ViewChild that represents the months view. * * @hidden * @internal */ monthsView: IgxMonthsViewComponent; /** * ViewChild that represents the days view. * * @hidden * @internal */ daysView: IgxDaysViewComponent; /** * ViewChildrenden representing all of the rendered days views. * * @hidden * @internal */ monthViews: QueryList<IgxDaysViewComponent>; /** * Button for previous month. * * @hidden * @internal */ prevPageBtn: ElementRef; /** * Button for next month. * * @hidden * @internal */ nextPageBtn: ElementRef; /** * Denote if the year view is active. * * @hidden * @internal */ get isYearView(): boolean; /** * Gets the header template. * * @example * ```typescript * let headerTitleTemplate = this.calendar.headerTitleTeamplate; * ``` * @memberof IgxCalendarComponent */ get headerTitleTemplate(): any; /** * Sets the header template. * * @example * ```html * <igx-calendar headerTitleTemplateDirective="igxCalendarHeaderTitle"></igx-calendar> * ``` * @memberof IgxCalendarComponent */ set headerTitleTemplate(directive: any); /** * Gets the header template. * * @example * ```typescript * let headerTemplate = this.calendar.headerTeamplate; * ``` * @memberof IgxCalendarComponent */ get headerTemplate(): any; /** * Sets the header template. * * @example * ```html * <igx-calendar headerTemplateDirective="igxCalendarHeader"></igx-calendar> * ``` * @memberof IgxCalendarComponent */ set headerTemplate(directive: any); /** * Gets the subheader template. * * @example * ```typescript * let subheaderTemplate = this.calendar.subheaderTemplate; * ``` */ get subheaderTemplate(): any; /** * Sets the subheader template. * * @example * ```html * <igx-calendar subheaderTemplate="igxCalendarSubheader"></igx-calendar> * ``` * @memberof IgxCalendarComponent */ set subheaderTemplate(directive: any); /** * Gets the context for the template marked with the `igxCalendarHeader` directive. * * @example * ```typescript * let headerContext = this.calendar.headerContext; * ``` */ get headerContext(): { $implicit: { index: number; date: Date; } | { index: number; date: Date; }[]; }; /** * Gets the context for the template marked with either `igxCalendarSubHeaderMonth` * or `igxCalendarSubHeaderYear` directive. * * @example * ```typescript * let context = this.calendar.context; * ``` */ get context(): { $implicit: { index: number; date: Date; } | { index: number; date: Date; }[]; }; /** * Date displayed in header * * @hidden * @internal */ get headerDate(): Date; /** * @hidden * @internal */ private headerTemplateDirective; /** * @hidden * @internal */ private headerTitleTemplateDirective; /** * @hidden * @internal */ private subheaderTemplateDirective; /** * @hidden * @internal */ activeDate: Date; /** * @hidden * @internal */ protected previewRangeDate: Date; /** * Used to apply the active date when the calendar view is changed * * @hidden * @internal */ nextDate: Date; /** * Denote if the calendar view was changed with the keyboard * * @hidden * @internal */ isKeydownTrigger: boolean; /** * @hidden * @internal */ private _monthsViewNumber; protected onMouseDown(event: MouseEvent): void; private _showActiveDay; /** * @hidden * @internal */ protected set showActiveDay(value: boolean); protected get showActiveDay(): boolean; protected get activeDescendant(): number; protected set activeDescendant(date: Date); ngAfterViewInit(): void; protected onWrapperFocus(_event: FocusEvent): void; protected onWrapperBlur(_event: FocusEvent): void; private handleArrowKeydown; private handlePageUpDown; private handlePageUp; private handlePageDown; private onArrowUp; private onArrowDown; private onArrowLeft; private onArrowRight; private onEnter; private onHome; private onEnd; /** * Returns the locale representation of the month in the month view if enabled, * otherwise returns the default `Date.getMonth()` value. * * @hidden * @internal */ formattedMonth(value: Date): string; /** * Change to previous page * * @hidden * @internal */ previousPage(isKeydownTrigger?: boolean): void; /** * Change to next page * * @hidden * @internal */ nextPage(isKeydownTrigger?: boolean): void; /** * Changes the current page * * @hidden * @internal */ protected changePage(isKeydownTrigger: boolean, direction: ScrollDirection): void; /** * Continious navigation through the previous pages * * @hidden * @internal */ startPrevPageScroll: (isKeydownTrigger?: boolean) => void; /** * Continious navigation through the next pages * * @hidden * @internal */ startNextPageScroll: (isKeydownTrigger?: boolean) => void; /** * Stop continuous navigation * * @hidden * @internal */ stopPageScroll: (event: KeyboardEvent) => void; /** * @hidden * @internal */ onActiveViewDecade(event: MouseEvent, date: Date, activeViewIdx: number): void; /** * @hidden * @internal */ onActiveViewDecadeKB(date: Date, event: KeyboardEvent, activeViewIdx: number): void; /** * @hidden * @internal */ onYearsViewClick(event: MouseEvent): void; /** * @hidden * @internal */ onYearsViewKeydown(event: KeyboardEvent): void; /** * @hidden * @internal */ protected getFormattedDate(): { weekday: string; monthday: string; }; /** * @hidden * @internal */ protected getFormattedRange(): { start: string; end: string; }; /** * @hidden * @internal */ protected get viewDates(): import("./days-view/day-item.component").IgxDayItemComponent[]; /** * Handles invoked on date selection * * @hidden * @internal */ protected handleDateSelection(date: Date): void; /** * @hidden * @intenal */ changeMonth(date: Date): void; /** * @hidden * @intenal */ changeYear(date: Date): void; /** * @hidden * @intenal */ updateYear(date: Date): void; updateActiveDescendant(date: Date): void; /** * @hidden * @internal */ onActiveViewYear(event: MouseEvent, date: Date, activeViewIdx: number): void; /** * @hidden * @internal */ onActiveViewYearKB(date: Date, event: KeyboardEvent, activeViewIdx: number): void; /** * Deselects date(s) (based on the selection type). * * @example * ```typescript * this.calendar.deselectDate(new Date(`2018-06-12`)); * ```` */ deselectDate(value?: Date | Date[] | string): void; /** * Getter for the context object inside the calendar templates. * * @hidden * @internal */ getContext(i: number): { $implicit: { index: number; date: Date; } | { index: number; date: Date; }[]; }; /** * @hidden * @internal */ resetActiveDate(date: Date): void; /** * @hidden * @internal */ ngOnDestroy(): void; /** * @hidden * @internal */ getPrevMonth(date: Date): Date; /** * @hidden * @internal */ getNextMonth(date: Date, viewIndex: number): Date; /** * Helper method building and returning the context object inside the calendar templates. * * @hidden * @internal */ private generateContext; static ɵfac: i0.ɵɵFactoryDeclaration<IgxCalendarComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<IgxCalendarComponent, "igx-calendar", never, { "id": { "alias": "id"; "required": false; }; "hasHeader": { "alias": "hasHeader"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "headerOrientation": { "alias": "headerOrientation"; "required": false; }; "monthsViewNumber": { "alias": "monthsViewNumber"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; }, {}, ["headerTemplateDirective", "headerTitleTemplateDirective", "subheaderTemplateDirective"], never, true, never>; static ngAcceptInputType_hasHeader: unknown; static ngAcceptInputType_vertical: unknown; static ngAcceptInputType_showWeekNumbers: unknown; }