mat-daterangepicker
Version:
Angular material date picker extension to support range selection.
55 lines (54 loc) • 2.38 kB
TypeScript
import { Subject } from 'rxjs';
import { ViewContainerRef, NgZone, OnDestroy, AfterViewInit, OnInit, InjectionToken, EventEmitter } from '@angular/core';
import { Overlay } from '@angular/cdk/overlay';
import { Directionality } from '@angular/cdk/bidi';
import { DateAdapter } from '@angular/material/core';
import { MatDialog } from '@angular/material/dialog';
import { MatDatepicker, MatDatepickerInput } from '@angular/material/datepicker';
import { MatDaterangepickerContent } from '../datepicker-content/datepicker-content.component';
export interface CustomRange<D> {
name: string;
startDate: D | Date;
endDate: D | Date;
}
export declare const MAT_DEFAULT_DATES_RANGES: InjectionToken<CustomRange<any>[]>;
export declare class MatDaterangepicker<D> extends MatDatepicker<D> implements OnInit, AfterViewInit, OnDestroy {
private _drOverlay;
private _drNgZone;
private _drViewContainerRef;
private _drScrollStrategy;
_drDateAdapter: DateAdapter<D>;
private _drDir;
private _drDocument;
_customRanges: CustomRange<D>[];
applyButton: boolean;
dualView: boolean;
showCustomRanges: boolean;
apply: EventEmitter<any>;
customRanges: any[];
/** The currently selected date. */
get _selectedRangeEnd(): D | null;
set _selectedRangeEnd(value: D | null);
private _validSelectedRangeEnd;
/** Emits new selected date when selected date changes. */
readonly _selectedChangedRangeEnd: Subject<D>;
readonly _clearRangeEnd: Subject<D>;
_range: boolean;
_datepickerInputRangeEnd: MatDatepickerInput<D>;
private _inputRangeEndSubscription;
private _drDialog;
constructor(_drDialog: MatDialog, _drOverlay: Overlay, _drNgZone: NgZone, _drViewContainerRef: ViewContainerRef, _drScrollStrategy: any, _drDateAdapter: DateAdapter<D>, _drDir: Directionality, _drDocument: any, _customRanges: CustomRange<D>[]);
ngOnInit(): void;
ngAfterViewInit(): void;
forwardContentValues(instance: MatDaterangepickerContent<D>): void;
ngOnDestroy(): void;
selectRangeEnd(date: D): void;
_userSelection(): void;
applyRange(): void;
clearRange(): void;
_getViews(): number[];
_registerInputRangeEnd(input: MatDatepickerInput<D>): void;
_unregisterInputRangeEnd(input?: MatDatepickerInput<D>): void;
private _selectRangeEnd;
private _setCustomRanges;
}