@covalent/dynamic-forms
Version:
Teradata UI Platform Dynamic Forms Module
75 lines (74 loc) • 2.47 kB
TypeScript
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;