@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
83 lines (82 loc) • 4.02 kB
TypeScript
import { AfterContentInit, ElementRef, EventEmitter, Injector, QueryList } from '@angular/core';
import { FormControl } from '@angular/forms';
import { DateLike } from '@microsoft/windows-admin-center-sdk/core/base/date/date-like';
import { DateRange } from '@microsoft/windows-admin-center-sdk/core/base/date/date-range';
import { DropdownComponent } from '../../../dropdown/dropdown.component';
import { ValidationAlerts } from '../../validation-alert/validation-alert';
import { DateTimeFormFieldComponent } from '../datetime/datetime-form-field.component';
import { CheckValidationEventArgs } from '../form-field-validator.directive';
import { SmeInternalFormFieldComponent } from '../form-field.component';
import { DateTimeRangeOptionComponent } from './datetime-range-option.component';
import * as i0 from "@angular/core";
export interface TimeISOHistoryData {
key: string;
value: string;
}
export declare class DateTimeRangeFormFieldComponent extends SmeInternalFormFieldComponent<DateRange> implements AfterContentInit {
static timeISOPattern: string;
static twoDigitPattern: string;
static timeISOHistoryLength: number;
static startProperty: string;
static endProperty: string;
customText: string;
startTimeText: string;
endTimeText: string;
private invalidStartTimeText;
private invalidEndTimeText;
/**
* The source name to use for logging
*/
protected get logSourceName(): string;
listboxElement: ElementRef;
dropDown: DropdownComponent;
startFormField: DateTimeFormFieldComponent;
endFormField: DateTimeFormFieldComponent;
/**
* The options for this control.
*/
options: QueryList<DateTimeRangeOptionComponent>;
/**
* Determine if the dropdown will use the sme-form-field to limit its max-width
*/
dropdownApplyFormFieldOffsetWidth: boolean;
showCustomOption: boolean;
customDateRange: DateRange;
showCustomDisplayText: boolean;
get customDateRangeStart(): string;
get customDateRangeEnd(): string;
customLabelEmitter: EventEmitter<any>;
private dropdownService;
private timeISOHistory;
private getTimeHistory;
private setTimeHistory;
private timeISOTranslator;
get displayValue(): string;
constructor(injector: Injector);
isSelected(dateRange: DateRange): boolean;
updateValue(value: DateRange): void;
ngAfterContentInit(): void;
onCustomDateRangeChanged(fieldName: string, value: string): void;
private updateDropdownPosition;
protected onValueChanged(value: DateRange): void;
/**
* Creates the idBag used by this component to store unique element ids.
* id values will be assigned be the @see BaseComponent super class.
*/
protected createIdBag(): MsftSme.StringMap<string>;
/**
* Performs validation that is internal to this control
* @param c The form control attached to this instance
*/
protected validate(c: FormControl): ValidationAlerts;
onCustomValidate(event: CheckValidationEventArgs, name: string, value?: DateLike): void;
private validateStartDate;
private validateEndDate;
onToggleKeydown(event: KeyboardEvent): void;
onRadioGroupOptionKeydown(event: KeyboardEvent): void;
onDatePickerKeydown(event: KeyboardEvent, input: string): void;
private checkIsLastElementInDataRangePickerTrap;
private canFocusOnStartTimeRangePicker;
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeRangeFormFieldComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DateTimeRangeFormFieldComponent, "sme-form-field[type=\"datetimerange\"]", never, { "dropdownApplyFormFieldOffsetWidth": "dropdownApplyFormFieldOffsetWidth"; "showCustomOption": "showCustomOption"; "customDateRange": "customDateRange"; "showCustomDisplayText": "showCustomDisplayText"; }, { "customLabelEmitter": "customLabelEmitter"; }, ["options"], never, false, never>;
}