import { Type } from '@angular/core'; import { AbstractControl } from './control.types'; import { AbstractPropertyEditor } from './property-editor.types'; import { AbstractValidatorEditor } from './validator.types'; /** * @description 控件规格 * * @export */ export interface ControlSpecification { /** * @description 控件分组名称 * * @memberof ControlSpecification */ groupName: string; /** * @description 控件图标样式 * * @memberof ControlSpecification */ icon: string; /** * @description 控件名称 * * @memberof ControlSpecification */ name: string; /** * @description 控件标题 * * @memberof ControlSpecification */ caption: string; /** * @description 对应的控件类 * * @memberof ControlSpecification */ component: Type>; /** * @description 控件的属性,可以为空 * * @memberof ControlSpecification */ properties?: Array; /** * @description 控件默认mode * * @memberof ControlSpecification */ defaultModel: any; /** * @description 验证器 * * @memberof ControlSpecification */ validators?: Array; } /** * 控件属性规格 * * @export */ export interface ControlPropertySpecification { /** * @description 分组说明 * * @memberof ControlPropertySpecification */ groupName: string; /** * @description 标题 * * @memberof ControlPropertySpecification */ caption: string; /** * @description 属性名称 * * @memberof ControlPropertySpecification */ propertyName: string; /** * @description 对应编辑器组件类 * * @memberof ControlPropertySpecification */ editorComponent: Type; /** * @description 编辑器设置 * * @memberof ControlPropertySpecification */ editorSettings?: any; /** * 排序 * */ order?: number; } /** * @description 验证器规格 * * @export */ export interface ControlValidatorSpecification { /** * @description 标题 * * @memberof ControlValidatorSpecification */ caption: string; /** * @description 分组名称 * * @memberof ControlValidatorSpecification */ groupName: string; /** * @description 名称 * * @memberof ControlValidatorSpecification */ name: string; /** * @description 对应验证器编辑器类 * * @memberof ControlValidatorSpecification */ component: Type>; /** * @description 设置 * * @memberof ControlValidatorSpecification */ settings?: any; }