UNPKG

@danielmoncada/angular-datetime-picker

Version:
168 lines (167 loc) 6.76 kB
/** * date-time-picker-input.directive */ import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { AbstractControl, ControlValueAccessor, Validator } from '@angular/forms'; import { OwlDateTimeComponent } from './date-time-picker.component'; import { DateTimeAdapter } from './adapter/date-time-adapter.class'; import { OwlDateTimeFormats } from './adapter/date-time-format.class'; import { SelectMode } from './date-time.class'; import * as i0 from "@angular/core"; export declare const OWL_DATETIME_VALUE_ACCESSOR: any; export declare const OWL_DATETIME_VALIDATORS: any; export declare class OwlDateTimeInputDirective<T> implements OnInit, AfterContentInit, OnDestroy, ControlValueAccessor, Validator { private elmRef; private renderer; private dateTimeAdapter; private dateTimeFormats; static ngAcceptInputType_disabled: boolean | ''; /** * Required flag to be used for range of [null, null] * */ private _required; get required(): any; set required(value: any); /** * The date time picker that this input is associated with. * */ set owlDateTime(value: OwlDateTimeComponent<T>); /** * A function to filter date time */ set owlDateTimeFilter(filter: (date: T | null) => boolean); private _dateTimeFilter; get dateTimeFilter(): (date: T) => boolean; /** Whether the date time picker's input is disabled. */ private _disabled; get disabled(): boolean; set disabled(value: boolean); /** The minimum valid date. */ private _min; get min(): T | null; set min(value: T | null); /** The maximum valid date. */ private _max; get max(): T | null; set max(value: T | null); /** * The picker's select mode */ private _selectMode; get selectMode(): SelectMode; set selectMode(mode: SelectMode); /** * The character to separate the 'from' and 'to' in input value */ rangeSeparator: string; private _value; get value(): T | null; set value(value: T | null); private _values; get values(): T[]; set values(values: T[]); /** * Callback to invoke when `change` event is fired on this `<input>` * */ dateTimeChange: EventEmitter<any>; /** * Callback to invoke when an `input` event is fired on this `<input>`. * */ dateTimeInput: EventEmitter<any>; get elementRef(): ElementRef; get isInSingleMode(): boolean; get isInRangeMode(): boolean; /** The date-time-picker that this input is associated with. */ dtPicker: OwlDateTimeComponent<T>; private dtPickerSub; private localeSub; private lastValueValid; private onModelChange; private onModelTouched; private validatorOnChange; /** The form control validator for whether the input parses. */ private parseValidator; /** The form control validator for the min date. */ private minValidator; /** The form control validator for the max date. */ private maxValidator; /** The form control validator for the date filter. */ private filterValidator; /** * The form control validator for the range. * Check whether the 'before' value is before the 'to' value * */ private rangeValidator; /** * The form control validator for the range when required. * Check whether the 'before' and 'to' values are present * */ private requiredRangeValidator; /** The combined form control validator for this input. */ private validator; /** Emits when the value changes (either due to user input or programmatic change). */ valueChange: EventEmitter<T | T[]>; /** Emits when the disabled state has changed */ disabledChange: EventEmitter<boolean>; get owlDateTimeInputAriaHaspopup(): boolean; get owlDateTimeInputAriaOwns(): string; get minIso8601(): string; get maxIso8601(): string; get owlDateTimeInputDisabled(): boolean; constructor(elmRef: ElementRef, renderer: Renderer2, dateTimeAdapter: DateTimeAdapter<T>, dateTimeFormats: OwlDateTimeFormats); ngOnInit(): void; ngAfterContentInit(): void; ngOnDestroy(): void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; validate(c: AbstractControl): { [key: string]: any; }; registerOnValidatorChange(fn: () => void): void; /** * Open the picker when user hold alt + DOWN_ARROW * */ handleKeydownOnHost(event: KeyboardEvent): void; handleBlurOnHost(event: Event): void; handleInputOnHost(event: any): void; handleChangeOnHost(event: any): void; /** * Set the native input property 'value' */ formatNativeInputValue(): void; /** * Register the relationship between this input and its picker component */ private registerDateTimePicker; /** * Convert a given obj to a valid date object */ private getValidDate; /** * Convert a time string to a date-time string * When pickerType is 'timer', the value in the picker's input is a time string. * The dateTimeAdapter parse fn could not parse a time string to a Date Object. * Therefore we need this fn to convert a time string to a date-time string. */ private convertTimeStringToDateTimeString; /** * Handle input change in single mode */ private changeInputInSingleMode; /** * Handle input change in rangeFrom or rangeTo mode */ private changeInputInRangeFromToMode; /** * Handle input change in range mode */ private changeInputInRangeMode; /** * Check if the two value is the same */ private isSameValue; static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeInputDirective<any>, [null, null, { optional: true; }, { optional: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration<OwlDateTimeInputDirective<any>, "input[owlDateTime]", ["owlDateTimeInput"], { "required": { "alias": "required"; "required": false; }; "owlDateTime": { "alias": "owlDateTime"; "required": false; }; "owlDateTimeFilter": { "alias": "owlDateTimeFilter"; "required": false; }; "_disabled": { "alias": "_disabled"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "selectMode": { "alias": "selectMode"; "required": false; }; "rangeSeparator": { "alias": "rangeSeparator"; "required": false; }; "value": { "alias": "value"; "required": false; }; "values": { "alias": "values"; "required": false; }; }, { "dateTimeChange": "dateTimeChange"; "dateTimeInput": "dateTimeInput"; }, never, never, false, never>; }