@asoftwareworld/form-builder-pro
Version:
ASW Form Builder Pro helps you with rapid development and designed web forms which includes several controls. The key feature of Form Builder is to make your content attractive and effective. We can customize our control at run time and preview the same b
217 lines (216 loc) • 11.5 kB
TypeScript
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, NgZone, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
import { Directionality } from '@angular/cdk/bidi';
import { BooleanInput } from '@angular/cdk/coercion';
import { Overlay, ScrollStrategy } from '@angular/cdk/overlay';
import { CanColor, ThemePalette } from '@angular/material/core';
import { Subject } from 'rxjs';
import { DatetimeAdapter } from '@asoftwareworld/form-builder-pro/common';
import { AswCalendar } from './calendar/calendar';
import { AswDatetimepickerFilterType } from './datetimepicker-filtertype';
import { AswDatetimepickerInput } from './datetimepicker-input';
import { AswCalendarView, AswDatetimepickerType } from './datetimepicker-types';
import * as i0 from "@angular/core";
/** Possible modes for datetimepicker dropdown display. */
export type AswDatetimepickerMode = 'auto' | 'portrait' | 'landscape';
/** Possible positions for the datetimepicker dropdown along the X axis. */
export type DatetimepickerDropdownPositionX = 'start' | 'end';
/** Possible positions for the datetimepicker dropdown along the Y axis. */
export type DatetimepickerDropdownPositionY = 'above' | 'below';
/** Injection token that determines the scroll handling while the calendar is open. */
export declare const ASW_DATETIMEPICKER_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
export declare function ASW_DATETIMEPICKER_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy;
export declare const ASW_DATETIMEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
provide: InjectionToken<() => ScrollStrategy>;
deps: (typeof Overlay)[];
useFactory: typeof ASW_DATETIMEPICKER_SCROLL_STRATEGY_FACTORY;
};
/** @docs-private */
declare const _AswDatetimepickerContentBase: import("@angular/material/core")._Constructor<CanColor> & import("@angular/material/core")._AbstractConstructor<CanColor> & {
new (_elementRef: ElementRef): {
_elementRef: ElementRef;
};
};
/**
* Component used as the content for the datetimepicker dialog and popup. We use this instead of
* using AswCalendar directly as the content so we can control the initial focus. This also gives us
* a place to put additional features of the popup that are not part of the calendar itself in the
* future. (e.g. confirmation buttons).
* @docs-private
*/
export declare class AswDatetimepickerContent<D> extends _AswDatetimepickerContentBase implements OnInit, AfterContentInit, OnDestroy, CanColor {
private _changeDetectorRef;
_calendar: AswCalendar<D>;
datetimepicker: AswDatetimepicker<D>;
/** Whether the datetimepicker is above or below the input. */
_isAbove: boolean;
/** Current state of the animation. */
_animationState: 'enter-dropdown' | 'enter-dialog' | 'void';
/** Emits when an animation has finished. */
readonly _animationDone: Subject<void>;
/** Id of the label for the `role="dialog"` element. */
_dialogLabelId: string | null;
constructor(elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef);
ngOnInit(): void;
ngAfterContentInit(): void;
_startExitAnimation(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AswDatetimepickerContent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<AswDatetimepickerContent<any>, "asw-datetimepicker-content", never, { "color": { "alias": "color"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class AswDatetimepicker<D> implements OnDestroy {
private _overlay;
private _ngZone;
private _viewContainerRef;
private _scrollStrategy;
private _dateAdapter;
private _dir;
private _document;
/** Whether to show multi-year view. */
get multiYearSelector(): boolean;
set multiYearSelector(value: boolean);
private _multiYearSelector;
/** Whether the clock uses 12 hour format. */
get twelvehour(): boolean;
set twelvehour(value: boolean);
private _twelvehour;
/** The view that the calendar should start in. */
startView: AswCalendarView;
/** The display mode of datetimepicker. */
mode: AswDatetimepickerMode;
/** Step over minutes. */
timeInterval: number;
/** Prevent user to select same date time */
preventSameDateTimeSelection: boolean;
/**
* Emits new selected date when selected date changes.
* @deprecated Switch to the `dateChange` and `dateInput` binding on the input element.
*/
selectedChanged: EventEmitter<D>;
/** Emits when the datetimepicker has been opened. */
openedStream: EventEmitter<void>;
/** Emits when the datetimepicker has been closed. */
closedStream: EventEmitter<void>;
/** Emits when the view has been changed. */
viewChanged: EventEmitter<AswCalendarView>;
/**
* Classes to be passed to the date picker panel.
* Supports string and string array values, similar to `ngClass`.
*/
get panelClass(): string | string[];
set panelClass(value: string | string[]);
private _panelClass;
/** Whether the calendar is open. */
get opened(): boolean;
set opened(value: boolean);
private _opened;
/** The id for the datetimepicker calendar. */
id: string;
/** Color palette to use on the datetimepicker's calendar. */
get color(): ThemePalette;
set color(value: ThemePalette);
private _color;
/** The input element this datetimepicker is associated with. */
datetimepickerInput: AswDatetimepickerInput<D>;
/** Emits when the datetimepicker is disabled. */
_disabledChange: Subject<boolean>;
private _validSelected;
/** A reference to the overlay into which we've rendered the calendar. */
private _overlayRef;
/** Reference to the component instance rendered in the overlay. */
private _componentRef;
/** The element that was focused before the datetimepicker was opened. */
private _focusedElementBeforeOpen;
/** Unique class that will be added to the backdrop so that the test harnesses can look it up. */
private _backdropHarnessClass;
private _inputStateChanges;
constructor(_overlay: Overlay, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, _scrollStrategy: any, _dateAdapter: DatetimeAdapter<D>, _dir: Directionality);
/** The date to open the calendar to initially. */
get startAt(): D | null;
set startAt(date: D | null);
private _startAt;
/** The display type of datetimepicker. */
get type(): AswDatetimepickerType;
set type(value: AswDatetimepickerType);
private _type;
/**
* Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather
* than a popup and elements have more padding to allow for bigger touch targets.
*/
get touchUi(): boolean;
set touchUi(value: boolean);
private _touchUi;
/**
* Whether the calendar is in time mode. In time mode the calendar clock gets time input
* elements rather then just clock. When `touchUi` is enabled this will be disabled.
*/
get timeInput(): boolean;
set timeInput(value: boolean);
private _timeInput;
/** Whether the datetimepicker pop-up should be disabled. */
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
/** Preferred position of the datetimepicker in the X axis. */
xPosition: DatetimepickerDropdownPositionX;
/** Preferred position of the datetimepicker in the Y axis. */
yPosition: DatetimepickerDropdownPositionY;
/**
* Whether to restore focus to the previously-focused element when the panel is closed.
* Note that automatic focus restoration is an accessibility feature and it is recommended that
* you provide your own equivalent, if you decide to turn it off.
*/
get restoreFocus(): boolean;
set restoreFocus(value: boolean);
private _restoreFocus;
/** The currently selected date. */
get _selected(): D | null;
set _selected(value: D | null);
/** The minimum selectable date. */
get _minDate(): D | null;
/** The maximum selectable date. */
get _maxDate(): D | null;
get _dateFilter(): (date: D | null, type: AswDatetimepickerFilterType) => boolean;
_viewChanged(type: AswCalendarView): void;
ngOnDestroy(): void;
/** Selects the given date */
_select(date: D): void;
/**
* Register an input with this datetimepicker.
* @param input The datetimepicker input to register with this datetimepicker.
*/
_registerInput(input: AswDatetimepickerInput<D>): void;
/** Open the calendar. */
open(): void;
/** Close the calendar. */
close(): void;
/**
* Forwards relevant values from the datetimepicker to the
* datetimepicker content inside the overlay.
*/
protected _forwardContentValues(instance: AswDatetimepickerContent<D>): void;
/** Opens the overlay with the calendar. */
private _openOverlay;
/** Destroys the current overlay. */
private _destroyOverlay;
/** Gets a position strategy that will open the calendar as a dropdown. */
private _getDialogStrategy;
/** Gets a position strategy that will open the calendar as a dropdown. */
private _getDropdownStrategy;
/**
* Sets the positions of the datetimepicker in dropdown mode based on the current configuration.
*/
private _setConnectedPositions;
/** Gets an observable that will emit when the overlay is supposed to be closed. */
private _getCloseStream;
static ngAcceptInputType_multiYearSelector: BooleanInput;
static ngAcceptInputType_twelvehour: BooleanInput;
static ngAcceptInputType_preventSameDateTimeSelection: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ngAcceptInputType_opened: BooleanInput;
static ngAcceptInputType_touchUi: BooleanInput;
static ngAcceptInputType_timeInput: BooleanInput;
static ngAcceptInputType_restoreFocus: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<AswDatetimepicker<any>, [null, null, null, null, { optional: true; }, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<AswDatetimepicker<any>, "asw-datetimepicker", ["aswDatetimepicker"], { "multiYearSelector": { "alias": "multiYearSelector"; "required": false; }; "twelvehour": { "alias": "twelvehour"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "timeInterval": { "alias": "timeInterval"; "required": false; }; "preventSameDateTimeSelection": { "alias": "preventSameDateTimeSelection"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "color": { "alias": "color"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "type": { "alias": "type"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "timeInput": { "alias": "timeInput"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; }, { "selectedChanged": "selectedChanged"; "openedStream": "opened"; "closedStream": "closed"; "viewChanged": "viewChanged"; }, never, never, false, never>;
}
export {};