@doku-dev/doku-fragment
Version:
A new Angular UI library that moving away from Bootstrap and built from scratch.
85 lines (84 loc) • 3.78 kB
TypeScript
import { DatePipe, NgClass } from '@angular/common';
import { AfterViewInit, ApplicationRef, ChangeDetectorRef, ComponentRef, EnvironmentInjector, Injector, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { DokuFormField, DokuFormFieldAccessor, DokuFormFieldAccessorValidateValue } from '../../form-field';
import { DokuDatePickerBase } from '../base/date-picker-base.component';
import { DokuDatePickerBasicProps } from '../common/date-picker-basic-props.component';
import * as i0 from "@angular/core";
export declare class DokuDatePicker extends DokuDatePickerBasicProps implements OnDestroy, OnInit, ControlValueAccessor, DokuFormFieldAccessor, AfterViewInit {
private renderer;
protected envInjector: EnvironmentInjector;
private injector;
protected appRef: ApplicationRef;
private ngZone;
private datePipe;
private cdr;
private document;
private localeId;
private ngControl?;
private formField?;
protected readonly class: NgClass['ngClass'];
/**
* Whether to close date picker dropdown after selecting the date.
*
* @default true
*/
closeOnDateClick: boolean;
/**
* Date format that will be used for formatting displayed value in the input field. It follows Angular DatePipe's format options.
*
* @default 'dd/MM/yyyy'
*/
dateFormat: string;
/**
* Placeholder of the date picker input.
*
* @default 'dd/mm/yyyy'
*/
placeholder: string;
private isOpen;
private portalElement?;
private datePickerBaseRef?;
private destroy$;
private cleanup?;
constructor(renderer: Renderer2, envInjector: EnvironmentInjector, injector: Injector, appRef: ApplicationRef, ngZone: NgZone, datePipe: DatePipe, cdr: ChangeDetectorRef, document: Document, localeId: string, ngControl?: NgControl | undefined, formField?: DokuFormField | undefined);
protected get formattedValue(): string | null;
private get inputWrapperElement();
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
onDisable?: ((value: boolean) => void) | undefined;
onReadonly?: ((value: boolean) => void) | undefined;
onValidate?: ((value?: DokuFormFieldAccessorValidateValue | undefined) => void) | undefined;
registerOnDisable(fn: (value: boolean) => void): void;
registerOnValidate?(fn: (value?: DokuFormFieldAccessorValidateValue | undefined) => void): void;
registerOnReadonly(fn: (value: boolean) => void): void;
onChange?: (value: unknown) => void;
onTouched?: () => void;
writeValue(value?: Date | string | null): void;
registerOnChange(fn: (value: unknown) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState?(isDisabled: boolean): void;
/**
* Open the date picker dropdown.
*/
open(): void;
/**
* Close the date picker dropdown.
*/
close(): void;
/**
* Toggle the date picker dropdown.
*/
toggle(): void;
private createPortalElement;
protected createComponentRef(props: {
elementInjector: Injector;
}): ComponentRef<DokuDatePickerBase>;
private createDatePickerComponent;
private onClickHandler;
private doAutoUpdateDropdownPosition;
private setInputWrapperCursorState;
static ɵfac: i0.ɵɵFactoryDeclaration<DokuDatePicker, [null, null, null, null, null, null, null, null, null, { optional: true; self: true; }, { optional: true; host: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<DokuDatePicker, "doku-date-picker", ["dokuDatePicker"], { "closeOnDateClick": "closeOnDateClick"; "dateFormat": "dateFormat"; "placeholder": "placeholder"; }, {}, never, never, true>;
}