@nova-ui/bits
Version:
SolarWinds Nova Framework
84 lines (83 loc) • 4.3 kB
TypeScript
import { OverlayConfig } from "@angular/cdk/overlay";
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { Moment } from "moment/moment";
import { Subject } from "rxjs";
import { TimePickerKeyboardService } from "./time-picker-keyboard.service";
import { NuiFormFieldControl } from "../form-field/public-api";
import { MenuPopupComponent } from "../menu";
import { IMenuGroup, IMenuItem } from "../menu/public-api";
import { OverlayComponent } from "../overlay/overlay-component/overlay.component";
import { OverlayUtilitiesService } from "../overlay/overlay-utilities.service";
import { TextboxComponent } from "../textbox/textbox.component";
import * as i0 from "@angular/core";
export declare class TimePickerComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit, ControlValueAccessor, NuiFormFieldControl {
private elementRef;
private keyboardService;
private cdr;
textbox: TextboxComponent;
popupArea: ElementRef;
containerEl: ElementRef;
overlay: OverlayComponent;
popup: MenuPopupComponent;
menuTrigger: ElementRef;
/** sets a step (difference between item in picker) */
timeStep: number;
/** sets disable state of the timepicker */
isDisabled: boolean;
/** sets custom formatting for time */
timeFormat: string;
/** tells timepicker whether to save year, month, day and seconds of the date */
preserveInsignificant: boolean;
/** to apply error state styles */
isInErrorState: boolean;
/** Input to set aria label text */
ariaLabel: string;
/** to allow the empty values for init state */
initEmpty: boolean;
/** Allows popup box to be attached to document.body */
appendToBody: boolean;
get model(): Moment | undefined;
set model(value: Moment | undefined);
timeChanged: EventEmitter<any>;
inputBlurred: EventEmitter<any>;
times: Moment[];
itemsSource: IMenuGroup[];
innerModel?: Moment;
customContainer: ElementRef | undefined;
overlayConfig: OverlayConfig;
onDestroy$: Subject<void>;
protected popupUtilities: OverlayUtilitiesService;
private itemToSelect;
private inputChanged;
constructor(elementRef: ElementRef, keyboardService: TimePickerKeyboardService, cdr: ChangeDetectorRef);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
onChange(value: any): void;
onTouched(): void;
onKeyDown(event: KeyboardEvent): void;
onFocusOut(event: FocusEvent): void;
updateInnerModel(value: any): void;
writeValue(value: any): void;
setErrorState(value: string): void;
registerOnChange(fn: (value: any) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
focusOnForm(): void;
onInputActiveDateChanged(value: string): void;
select(time: IMenuItem): void;
scrollToView(): void;
generateTimeItems(timeStep: number): Moment[];
isItemSelected(timeItem: Moment): boolean;
getItemIndexToSelect(model: Moment | string, timeStep: number, times: Moment[]): number;
getItemToSelect(): IMenuItem | undefined;
unselectAllItems(): void;
formatValue(value?: any): string;
getIconColor(): string;
private onAppendToBodyChange;
private initPopupUtilities;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerComponent, "nui-time-picker", never, { "timeStep": { "alias": "timeStep"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "preserveInsignificant": { "alias": "preserveInsignificant"; "required": false; }; "isInErrorState": { "alias": "isInErrorState"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "initEmpty": { "alias": "initEmpty"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, { "timeChanged": "timeChanged"; "inputBlurred": "inputBlurred"; }, never, never, false, never>;
}