export interface Validator { name: string; validator: any; message: string; } export interface IDynamicBaseControl { labelCode: string, name: string, control: { controlType: string, readonly: boolean }, value?: any, className?: string, validations?: Validator[], groupName: string } export interface IDynamicDateControl extends IDynamicBaseControl{ control: { controlType: string, format?: string, readonly: boolean } } export interface IDynamicDropdownControl extends IDynamicBaseControl{ control: { controlType: string, idField: string, textField: string, multiSelect?: boolean, data?: Array uri?: string, readonly: boolean } } export interface IDyanmicNumberControl extends IDynamicBaseControl{ control: { controlType: string, precision?: number, max?: number, min?: number, readonly: boolean } } /** * 默认生成一个hidden input,用于存放需要返回但不显示出的值。 * mapFields: */ export interface IDyanmicHelpControl extends IDynamicBaseControl{ control: { controlType: string, uri: string, textField?: string, valueField?: string, idField?: string, displayType?: string, mapFields?: any, singleSelect?: boolean, title?: string, hiddenInputName: string, readonly: boolean } } export enum DYNAMIC_CONTROL_TYPE { HELP = 'help', TEXT = 'text', DATE_RANGE = 'date-range', SINGLE_DATE = 'single-date', SINGLE_NUMBER = 'single-number', NUMBER_RANGE = 'number-range', BASE_DROPDOWN = 'base-dropdown' } // export type DYNAMIC_CONTROL_TYPE = 'help' | 'text' | 'date_range' | 'single-date' | 'single-number' | 'number-range' | 'base-dropdown';