UNPKG

@nakedobjects/gemini

Version:

Single Page Application client for a Naked Objects application.

94 lines (93 loc) 3.23 kB
import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { DateTime } from 'luxon'; import { BehaviorSubject } from 'rxjs'; import { Dictionary } from 'lodash'; import * as i0 from "@angular/core"; export type IDatePickerInputEvent = IDatePickerInputDateEvent | IDatePickerInputActionEvent; export type IDatePickerOutputEvent = IDatePickerOutputDefaultEvent | IDatePickerOutputChangedEvent | IDatePickerOutputInvalidEvent | IDatePickerOutputClearedEvent; export interface IDatePickerInputDateEvent { type: 'setDate'; data: string; } export interface IDatePickerInputActionEvent { type: 'action'; data: 'toggle' | 'close' | 'open'; } export interface IDatePickerOutputDefaultEvent { type: 'default'; data: 'init' | 'opened' | 'closed'; } export interface IDatePickerOutputChangedEvent { type: 'dateChanged'; data: DateTime; } export interface IDatePickerOutputInvalidEvent { type: 'dateInvalid'; data: string; } export interface IDatePickerOutputClearedEvent { type: 'dateCleared'; data: string; } export declare class DatePickerOptions { firstWeekdaySunday?: boolean; format: string; class?: string; constructor(obj?: DatePickerOptions); } export interface ICalendarDate { day: number | null; month: number | null; year: number | null; enabled: boolean; today: boolean; selected: boolean; dateTime: DateTime; } export declare class DatePickerComponent implements OnInit, OnDestroy { options: DatePickerOptions; inputEvents: EventEmitter<IDatePickerInputEvent>; outputEvents: EventEmitter<IDatePickerOutputEvent>; id: string; description: string; opened: boolean; days: ICalendarDate[]; inputField?: ElementRef; constructor(); private validInputFormats; private dateModelValue; private modelValue; private bSubject?; private sub?; set model(s: string); get model(): string; get currentDate(): DateTime; set dateModel(date: DateTime | null); get dateModel(): DateTime | null; private eventsSub?; private validateDate; setDateIfChanged(newDate: DateTime): void; inputChanged(newValue: string): void; ngOnInit(): void; private isSame; generateCalendar(): void; setValue(date: DateTime | null): void; private formatDate; selectDate(date: DateTime | null, e?: MouseEvent): void; writeValue(date: DateTime): void; prevMonth(): void; nextMonth(): void; prevYear(): void; nextYear(): void; today(): void; toggle(): void; private open; private close; clear(): void; get subject(): BehaviorSubject<string>; classes(): Dictionary<boolean | null>; ngOnDestroy(): void; focus(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerComponent, "nof-date-picker", never, { "options": { "alias": "options"; "required": true; }; "inputEvents": { "alias": "inputEvents"; "required": true; }; "id": { "alias": "id"; "required": true; }; "description": { "alias": "description"; "required": true; }; }, { "outputEvents": "outputEvents"; }, never, never, false, never>; }