@bimeister/pupakit.forms
Version:
PupaKit Forms
54 lines (53 loc) • 2.83 kB
TypeScript
import { DatePipe } from '@angular/common';
import { OnChanges } from '@angular/core';
import { NgControl } from '@angular/forms';
import { ComponentChanges, TimeDigitFormatPipe } from '@bimeister/pupakit.common';
import { BehaviorSubject, Observable } from 'rxjs';
import { DroppableComponent } from '../../../components/droppable/components/droppable/droppable.component';
import { ValueType } from '../../types/input-value.type';
import { InputBase } from './input-base.abstract';
import * as i0 from "@angular/core";
export declare abstract class InputDateTimeBase extends InputBase<ValueType> implements OnChanges {
private readonly timeFormatPipe;
readonly datePipe: DatePipe;
readonly droppableComponent: DroppableComponent;
readonly isFixedSize: boolean;
readonly isFixedSize$: BehaviorSubject<boolean>;
readonly isBackDating: boolean;
readonly isBackDating$: BehaviorSubject<boolean>;
readonly availableEndDate: Date | number;
readonly availableEndDate$: BehaviorSubject<Date | number>;
readonly isIconHovered$: BehaviorSubject<boolean>;
readonly valueIsNotEmpty$: Observable<boolean>;
readonly dateToResetSwitcherEnabled$: Observable<boolean>;
readonly hours$: Observable<number>;
readonly minutes$: Observable<number>;
readonly seconds$: Observable<number>;
readonly date$: Observable<Date>;
readonly rightIconWithCondition$: Observable<string>;
constructor(timeFormatPipe: TimeDigitFormatPipe, datePipe: DatePipe, ngControl: NgControl);
processWindowClick(): void;
handleContainerClick(event: Event): void;
handleContainerStartEvents(event: Event): void;
selectHours(hours: number): void;
selectMinutes(minutes: number): void;
selectSeconds(seconds: number): void;
selectDateTimeHours(hours: number): void;
selectDateTimeMinutes(minutes: number): void;
selectDateTimeSeconds(seconds: number): void;
selectDate(selectedDate: Date): void;
selectRange(range: [Date, Date]): void;
getParsedDate(value: string): Date;
ngOnChanges(changes: ComponentChanges<this>): void;
setValue(value: ValueType): void;
handleFocusEvent(focusEvent: FocusEvent): void;
handleIconHover(focusEvent: FocusEvent, isHovered: boolean): void;
reset(): void;
clearInputValue(): void;
dateIsNotAvailable(date: Date, isBackDating: boolean, availableEndDate: Date): boolean;
private processIsFixedSizeChange;
private processIsBackDatingChange;
private processAvailableEndDateChange;
static ɵfac: i0.ɵɵFactoryDeclaration<InputDateTimeBase, [null, null, { optional: true; }]>;
static ɵdir: i0.ɵɵDirectiveDeclaration<InputDateTimeBase, never, never, { "isFixedSize": "isFixedSize"; "isBackDating": "isBackDating"; "availableEndDate": "availableEndDate"; }, {}, never, never, false>;
}