nakedobjects.spa
Version:
Single Page Application client for a Naked Objects application.
88 lines (87 loc) • 2.77 kB
TypeScript
import { ElementRef, OnInit, EventEmitter, Renderer } from '@angular/core';
import * as moment from 'moment';
import { BehaviorSubject } from 'rxjs';
export declare type IDatePickerInputEvent = IDatePickerInputDateEvent | IDatePickerInputActionEvent;
export declare 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: moment.Moment;
}
export interface IDatePickerOutputInvalidEvent {
type: "dateInvalid";
data: string;
}
export interface IDatePickerOutputClearedEvent {
type: "dateCleared";
data: string;
}
export declare class DatePickerOptions {
firstWeekdaySunday?: boolean;
format?: string;
constructor(obj?: DatePickerOptions);
}
export interface ICalendarDate {
day: number | null;
month: number | null;
year: number | null;
enabled: boolean;
today: boolean;
selected: boolean;
momentObj: moment.Moment;
}
export declare class DatePickerComponent implements OnInit {
private readonly renderer;
options: DatePickerOptions;
inputEvents: EventEmitter<IDatePickerInputEvent>;
outputEvents: EventEmitter<IDatePickerOutputEvent>;
id: string;
description: string;
opened: boolean;
days: ICalendarDate[];
constructor(renderer: Renderer);
private validInputFormats;
private dateModelValue;
private modelValue;
model: string;
dateModel: moment.Moment | null;
readonly currentDate: moment.Moment;
private eventsSub;
private validateDate(newValue);
setDateIfChanged(newDate: moment.Moment): void;
inputChanged(newValue: string): void;
ngOnInit(): void;
generateCalendar(): void;
setValue(date: moment.Moment | null): void;
private formatDate(date);
selectDate(date: moment.Moment | null, e?: MouseEvent): void;
writeValue(date: moment.Moment): void;
prevMonth(): void;
nextMonth(): void;
prevYear(): void;
nextYear(): void;
today(): void;
toggle(): void;
private open;
private close;
clear(): void;
todayMsg: string;
clearMsg: string;
private bSubject;
private sub;
readonly subject: BehaviorSubject<string>;
ngOnDestroy(): void;
inputField: ElementRef;
focus(): boolean;
}