UNPKG

material-dynamic-forms

Version:

¡Crea formularios dinámicos, potentes y configurables en Angular usando Material Design! 🚀

98 lines (97 loc) 2.76 kB
import { ValidatorFn } from '@angular/forms'; export interface IFieldDynamicForm { key?: string; value?: any; valueTOShow?: any; label: string; name: string; type: eDataType.input | eDataType.select | eDataType.date | eDataType.dateMultiple | eDataType.select_search | eDataType.tex_area | eDataType.button | eDataType.button_toggle | eDataType.select_chips | eDataType.select_autocomplete | eDataType.input_autocomplete | eDataType.checkbox; controlType?: 'button' | 'checkbox' | 'date' | 'email' | 'number' | 'tel' | 'text'; typeModel?: eTypeMOdel.boolean | eTypeMOdel.number; placeholder?: string; options?: { key: string | number | null; value: string; filterParam?: string; [key: string]: any; }[]; selectedOption?: any; icon?: string; visible: boolean; active?: boolean; disabled?: boolean; multiple?: boolean; validation?: ValidatorFn[]; apiUrl?: string; dependency?: string; filterParam?: string; dateDependency?: string; startDateName?: string; endDateName?: string; minDate?: Date; maxDate?: Date; minDateFn?: (value: Date) => Date; maxDateFn?: (value: Date) => Date; dateFilterFn?: (d: Date | null) => boolean; urlParamDependency?: boolean; urlQueryParam?: boolean; urlEndParam?: boolean; colspan?: number; background?: string; valueDependency?: { dependency?: any; valueDep?: any; disabled?: boolean; validation?: ValidatorFn[]; }; valueExcludeDependency?: { dependency?: any; valueDep?: any; disabled?: boolean; validation?: ValidatorFn[]; }; externalDependencies?: string[]; allOption?: boolean; subscribeMap?: Function; inputAutoComplete?: { suggestions: any[]; showClear?: boolean; onCompleteMethod?: (event: any) => void; onSelect?: (event: any) => void; onClear?: (event: any) => void; }; } export declare enum eDataType { input = 0, select = 1, date = 2, select_search = 3, range = 4, button = 5, checkbox = 6, dateMultiple = 7, tex_area = 8, button_toggle = 9, select_chips = 10, select_autocomplete = 11, input_autocomplete = 12 } export declare enum eControlType { button = 0, checkbox = 1, date = 2, email = 3, number = 4, tel = 5, text = 6 } export declare enum eTypeMOdel { boolean = 0, number = 1 } export interface IFieldGroup { title?: string; countColumns?: number; fields: IFieldDynamicForm[]; isRangeValidator?: boolean; }