UNPKG

@covalent/dynamic-forms

Version:

Teradata UI Platform Dynamic Forms Module

75 lines (74 loc) 2.47 kB
import { Provider, Type } from '@angular/core'; import { ValidatorFn, UntypedFormControl } from '@angular/forms'; import * as i0 from "@angular/core"; export declare enum TdDynamicType { Text = "text", Boolean = "boolean", Number = "number", Array = "array", Date = "date" } export declare enum TdDynamicElement { Input = "input", Datepicker = "datepicker", Password = "password", Textarea = "textarea", Slider = "slider", SlideToggle = "slide-toggle", Checkbox = "checkbox", Select = "select", FileInput = "file-input" } export interface ITdDynamicElementValidator { validator: ValidatorFn; } export interface ITdDynamicElementCustomConfig { [name: string]: any; } export interface ITdDynamicElementConfig { label?: string; name: string; hint?: string; type: TdDynamicType | TdDynamicElement | Type<any>; required?: boolean; disabled?: boolean; min?: any; max?: any; minLength?: any; maxLength?: any; selections?: string[] | { value: any; label: string; }[]; multiple?: boolean; default?: any; flex?: number; validators?: ITdDynamicElementValidator[]; customConfig?: ITdDynamicElementCustomConfig; placeholder?: string; } export declare const DYNAMIC_ELEMENT_NAME_REGEX: RegExp; export declare class TdDynamicFormsService { /** * Method to validate if the [name] is a proper element name. * Throws error if name is not valid. */ validateDynamicElementName(name: string): void; /** * Gets component to be rendered depending on [TdDynamicElement | TdDynamicType] * Throws error if it does not exists or not supported. */ getDynamicElement(element: TdDynamicElement | TdDynamicType | Type<any> | undefined): any; /** * Creates form control for element depending [ITdDynamicElementConfig] properties. */ createFormControl(config: ITdDynamicElementConfig): UntypedFormControl; /** * Creates form validationdepending [ITdDynamicElementConfig] properties. */ createValidators(config: ITdDynamicElementConfig): ValidatorFn | null; static ɵfac: i0.ɵɵFactoryDeclaration<TdDynamicFormsService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<TdDynamicFormsService>; } export declare function DYNAMIC_FORMS_PROVIDER_FACTORY(parent: TdDynamicFormsService): TdDynamicFormsService; export declare const DYNAMIC_FORMS_PROVIDER: Provider;