@nakedobjects/gemini
Version:
Single Page Application client for a Naked Objects application.
94 lines (93 loc) • 3.23 kB
TypeScript
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>;
}