ng-pick-datetime-ex
Version:
Angular Date Time Picker
161 lines • 6.34 kB
TypeScript
/**
* date-time-picker.component
*/
import { ChangeDetectorRef, EventEmitter, InjectionToken, NgZone, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
import { BlockScrollStrategy, Overlay, ScrollStrategy } from '@angular/cdk/overlay';
import { OwlDateTimeInputDirective } from './date-time-picker-input.directive';
import { DateTimeAdapter } from './adapter/date-time-adapter.class';
import { OwlDateTimeFormats } from './adapter/date-time-format.class';
import { OwlDateTime, PickerMode, PickerType, SelectMode } from './date-time.class';
import { OwlDialogService } from '../dialog/dialog.service';
import * as i0 from "@angular/core";
/** Injection token that determines the scroll handling while the dtPicker is open. */
export declare const OWL_DTPICKER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
/** @docs-private */
export declare function OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay): () => BlockScrollStrategy;
/** @docs-private */
export declare const OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER: {
provide: InjectionToken<() => ScrollStrategy>;
deps: (typeof Overlay)[];
useFactory: typeof OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER_FACTORY;
};
export declare class OwlDateTimeComponent<T> extends OwlDateTime<T> implements OnInit, OnDestroy {
private overlay;
private viewContainerRef;
private dialogService;
private ngZone;
protected changeDetector: ChangeDetectorRef;
protected dateTimeAdapter: DateTimeAdapter<T>;
protected dateTimeFormats: OwlDateTimeFormats;
private document;
/** Custom class for the picker backdrop. */
backdropClass: string | string[];
/** Custom class for the picker overlay pane. */
panelClass: string | string[];
/** The date to open the calendar to initially. */
private _startAt;
get startAt(): T | null;
set startAt(date: T | null);
/**
* Set the type of the dateTime picker
* 'both' -- show both calendar and timer
* 'calendar' -- show only calendar
* 'timer' -- show only timer
*/
private _pickerType;
get pickerType(): PickerType;
set pickerType(val: PickerType);
/**
* Whether the picker open as a dialog
*/
_pickerMode: PickerMode;
get pickerMode(): PickerMode;
set pickerMode(mode: PickerMode);
/** Whether the date time picker should be disabled. */
private _disabled;
get disabled(): boolean;
set disabled(value: boolean);
/** Whether the calendar is open. */
private _opened;
get opened(): boolean;
set opened(val: boolean);
/**
* The scroll strategy when the picker is open
* Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
* */
scrollStrategy: ScrollStrategy;
/**
* Callback when the picker is closed
* */
afterPickerClosed: EventEmitter<any>;
/**
* Callback when the picker is open
* */
afterPickerOpen: EventEmitter<any>;
/**
* Emits selected year in multi-year view
* This doesn't imply a change on the selected date.
* */
yearSelected: EventEmitter<T>;
/**
* Emits selected month in year view
* This doesn't imply a change on the selected date.
* */
monthSelected: EventEmitter<T>;
/**
* Emit when the selected value has been confirmed
* */
confirmSelectedChange: EventEmitter<T | T[]>;
/**
* Emits when the date time picker is disabled.
* */
disabledChange: EventEmitter<boolean>;
private pickerContainerPortal;
private pickerContainer;
private popupRef;
private dialogRef;
private dtInputSub;
private hidePickerStreamSub;
private confirmSelectedStreamSub;
private pickerOpenedStreamSub;
/** The element that was focused before the date time picker was opened. */
private focusedElementBeforeOpen;
private _dtInput;
get dtInput(): OwlDateTimeInputDirective<T>;
private _selected;
get selected(): T | null;
set selected(value: T | null);
private _selecteds;
get selecteds(): T[];
set selecteds(values: T[]);
/** The minimum selectable date. */
get minDateTime(): T | null;
/** The maximum selectable date. */
get maxDateTime(): T | null;
get dateTimeFilter(): (date: T | null) => boolean;
get selectMode(): SelectMode;
get isInSingleMode(): boolean;
get isInRangeMode(): boolean;
private defaultScrollStrategy;
constructor(overlay: Overlay, viewContainerRef: ViewContainerRef, dialogService: OwlDialogService, ngZone: NgZone, changeDetector: ChangeDetectorRef, dateTimeAdapter: DateTimeAdapter<T>, defaultScrollStrategy: any, dateTimeFormats: OwlDateTimeFormats, document: any);
ngOnInit(): void;
ngOnDestroy(): void;
registerInput(input: OwlDateTimeInputDirective<T>): void;
open(): void;
/**
* Selects the given date
*/
select(date: T[] | T): void;
/**
* Emits the selected year in multi-year view
* */
selectYear(normalizedYear: T): void;
/**
* Emits selected month in year view
* */
selectMonth(normalizedMonth: T): void;
/**
* Hide the picker
*/
close(): void;
/**
* Confirm the selected value
*/
confirmSelect(event?: any): void;
/**
* Open the picker as a dialog
*/
private openAsDialog;
/**
* Open the picker as popup
*/
private openAsPopup;
private createPopup;
/**
* Create the popup PositionStrategy.
* */
private createPopupPositionStrategy;
static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeComponent<any>, [null, null, null, null, null, { optional: true; }, null, { optional: true; }, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeComponent<any>, "owl-date-time", ["owlDateTime"], { "backdropClass": "backdropClass"; "panelClass": "panelClass"; "startAt": "startAt"; "pickerType": "pickerType"; "pickerMode": "pickerMode"; "disabled": "disabled"; "opened": "opened"; "scrollStrategy": "scrollStrategy"; }, { "afterPickerClosed": "afterPickerClosed"; "afterPickerOpen": "afterPickerOpen"; "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; }, never, never, false, never>;
}
//# sourceMappingURL=date-time-picker.component.d.ts.map