novo-elements
Version:
Bullhorn's NOVO Element Repository for Angular 2
77 lines (76 loc) • 2.68 kB
TypeScript
import { ElementRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NovoLabelService } from '../../services/novo-label-service';
export interface RangeModal {
startDate: Date;
endDate: Date;
}
export declare type modelTypes = Date | RangeModal;
export interface Day {
date: Date;
isCurrentMonth?: boolean;
isToday?: boolean;
name?: string;
number?: string | number;
}
export declare type rangeSelectModes = 'startDate' | 'endDate';
export declare class NovoDatePickerElement implements ControlValueAccessor, OnInit {
labels: NovoLabelService;
private element;
minYear: any;
maxYear: any;
start: any;
end: any;
inline: any;
range: any;
onSelect: EventEmitter<any>;
template: TemplateRef<any>;
weekdays: string[];
months: string[];
years: Array<any>;
view: string;
heading: any;
model: modelTypes;
month: Date;
monthLabel: string;
weeks: any;
selected: Date;
selectedLabel: string;
selected2: Date;
selected2Label: string;
hoverDay: any;
rangeSelectMode: rangeSelectModes;
onModelChange: Function;
onModelTouched: Function;
constructor(labels: NovoLabelService, element: ElementRef);
ngOnInit(): void;
isSelectingRange(range: any, day: any, selected: any, selected2: any, hoverDay: any, rangeSelectMode: any): boolean;
isEndFill(range: any, day: any, selected: any, selected2: any): boolean;
isStartFill(range: any, day: any, selected: any, selected2: any): boolean;
isFiller(range: any, day: any, selected: any, selected2: any): boolean;
isSelected(range: any, day: any, selected: any, selected2: any): boolean;
isDisabled(day: any, start: any, end: any): boolean;
updateView(date: any, fireEvents: boolean, markedSelected: boolean): void;
setToday(): void;
clearRange(): void;
setMonth(month: number): void;
setYear(year: number): void;
select(event: Event, day: Day, fireEvents: boolean): void;
open(event: Event, type: string): void;
prevMonth(event: Event): void;
nextMonth(event: Event): void;
updateHeading(): void;
/**
* Remove the time aspect of the date
* @param date
* @returns with time stripped out
*/
removeTime(date: any): Date;
buildMonth(start: Date, month: Date): void;
buildWeek(date: Date, month: Date): Array<Object>;
toggleRangeSelect(range: rangeSelectModes): void;
rangeHover(event: Event, day: Day): void;
writeValue(model: modelTypes): void;
registerOnChange(fn: Function): void;
registerOnTouched(fn: Function): void;
}