moots-datetime-picker
Version:
Combination of a calendar datepicker and clock timepicker into one component for ionic 4.
81 lines (80 loc) • 3.31 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, ElementRef, OnInit, Renderer2 } from '@angular/core';
import { IonContent, ModalController, NavParams } from '@ionic/angular';
import { DateTime } from 'luxon';
import { CalendarDay, CalendarMonth, GlobalPickState, PickMode, PickerModalOptions, PickerModalOptionsSafe } from '../calendar.model';
import { CalendarService } from '../services/calendar.service';
import { ClockPickState, ClockPickerComponent } from './clock-picker.component';
export declare class PickerModal implements OnInit, AfterViewInit {
private _renderer;
_elementRef: ElementRef;
params: NavParams;
modalCtrl: ModalController;
ref: ChangeDetectorRef;
calSvc: CalendarService;
GlobalPickState: typeof GlobalPickState;
PickMode: typeof PickMode;
content: IonContent;
monthsEle: ElementRef;
clockPicker: ClockPickerComponent;
ionPage: boolean;
options: PickerModalOptions;
datesTemp: CalendarDay[];
timesTemp: DateTime[];
calendarMonths: CalendarMonth[];
step: number;
showYearPicker: boolean;
year: number;
years: number[];
_scrollLock: boolean;
modalOptions: PickerModalOptionsSafe;
actualFirstTime: DateTime;
pickState: GlobalPickState;
clockPickState: ClockPickState;
constructor(_renderer: Renderer2, _elementRef: ElementRef, params: NavParams, modalCtrl: ModalController, ref: ChangeDetectorRef, calSvc: CalendarService);
is24Hours(): boolean;
onSelectChange(cstate: ClockPickState): void;
onClockValue(time: DateTime): void;
preventInvalidRange(): void;
getAmPm2(input: DateTime): string;
getDateString(index: number): string;
getTimeHours(index: number): string;
getTimeMinutes(index: number): string;
getAmPm(index: number): string;
setPickState(pstate: GlobalPickState): void;
onClickStartDate(): void;
onClickStartHour($event: Event): void;
onClickStartMin($event: Event): void;
onClickEndDate(): void;
onClickEndHour($event: Event): void;
onClickEndMin($event: Event): void;
ngOnInit(): void;
ngAfterViewInit(): void;
init(): void;
initDefaultDate(): void;
findCssClass(): void;
onChange(data: any): void;
onCancel(): void;
done(): void;
canDone(): boolean;
nextMonth(event: any): void;
backwardsMonth(): void;
scrollToDate(date: DateTime): void;
scrollToDefaultDate(): void;
onScroll($event: any): void;
/**
* In some older Safari versions (observed at Mac's Safari 10.0), there is an issue where style updates to
* shadowRoot descendants don't cause a browser repaint.
* See for more details: https://github.com/Polymer/polymer/issues/4701
*/
repaintDOM(): Promise<void>;
findInitMonthNumber(date: DateTime): number;
_getDayTime(date: DateTime): number;
_monthFormat(date: DateTime): string;
trackByIndex(index: number, momentDate: CalendarMonth): number;
isBegin(pstate: GlobalPickState): boolean;
isEnd(pstate: GlobalPickState): boolean;
isDate(pstate: GlobalPickState): boolean;
isTime(pstate: GlobalPickState): boolean;
isHour(pstate: GlobalPickState): boolean;
isMinute(pstate: GlobalPickState): boolean;
}