| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /**
- * @license
- * Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- import { AfterContentInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
- import { DateAdapter, MatDateFormats } from '@angular/material/core';
- import { Directionality } from '@angular/cdk/bidi';
- import { MatCalendarBody, MatCalendarCell } from './calendar-body';
- /**
- * An internal component used to display a single year in the datepicker.
- * @docs-private
- */
- export declare class MatYearView<D> implements AfterContentInit {
- private _changeDetectorRef;
- private _dateFormats;
- _dateAdapter: DateAdapter<D>;
- private _dir?;
- /** The date to display in this year view (everything other than the year is ignored). */
- activeDate: D;
- private _activeDate;
- /** The currently selected date. */
- selected: D | null;
- private _selected;
- /** The minimum selectable date. */
- minDate: D | null;
- private _minDate;
- /** The maximum selectable date. */
- maxDate: D | null;
- private _maxDate;
- /** A function used to filter which dates are selectable. */
- dateFilter: (date: D) => boolean;
- /** Emits when a new month is selected. */
- readonly selectedChange: EventEmitter<D>;
- /** Emits the selected month. This doesn't imply a change on the selected date */
- readonly monthSelected: EventEmitter<D>;
- /** Emits when any date is activated. */
- readonly activeDateChange: EventEmitter<D>;
- /** The body of calendar table */
- _matCalendarBody: MatCalendarBody;
- /** Grid of calendar cells representing the months of the year. */
- _months: MatCalendarCell[][];
- /** The label for this year (e.g. "2017"). */
- _yearLabel: string;
- /** The month in this year that today falls on. Null if today is in a different year. */
- _todayMonth: number | null;
- /**
- * The month in this year that the selected Date falls on.
- * Null if the selected Date is in a different year.
- */
- _selectedMonth: number | null;
- constructor(_changeDetectorRef: ChangeDetectorRef, _dateFormats: MatDateFormats, _dateAdapter: DateAdapter<D>, _dir?: Directionality | undefined);
- ngAfterContentInit(): void;
- /** Handles when a new month is selected. */
- _monthSelected(month: number): void;
- /** Handles keydown events on the calendar body when calendar is in year view. */
- _handleCalendarBodyKeydown(event: KeyboardEvent): void;
- /** Initializes this year view. */
- _init(): void;
- /** Focuses the active cell after the microtask queue is empty. */
- _focusActiveCell(): void;
- /**
- * Gets the month in this year that the given Date falls on.
- * Returns null if the given Date is in another year.
- */
- private _getMonthInCurrentYear;
- /** Creates an MatCalendarCell for the given month. */
- private _createCellForMonth;
- /** Whether the given month is enabled. */
- private _shouldEnableMonth;
- /**
- * Tests whether the combination month/year is after this.maxDate, considering
- * just the month and year of this.maxDate
- */
- private _isYearAndMonthAfterMaxDate;
- /**
- * Tests whether the combination month/year is before this.minDate, considering
- * just the month and year of this.minDate
- */
- private _isYearAndMonthBeforeMinDate;
- /**
- * @param obj The object to check.
- * @returns The given object if it is both a date instance and valid, otherwise null.
- */
- private _getValidDateOrNull;
- /** Determines whether the user has the RTL layout direction. */
- private _isRtl;
- }
|