import { DomService, FormBasicService, FormSchemaEntityField, FormVariable } from '@farris/designer-services'; import { ControlService } from './control.service'; import { LocaleService } from '@farris/ui-locale'; /** * 根据字段/变量创建控件的逻辑。目前区分卡片区域、列表区域、Table等 */ export declare class ControlCreatorService { private controlService; private domService; private formBasicServ; private localeService; constructor(controlService: ControlService, domService: DomService, formBasicServ: FormBasicService, localeService: LocaleService); /** * 创建Form中的控件,并根据SchemaField配置DOM属性 * @param schemaField schema字段 * @param componentType 组件类型 dataGrid/form-col-4/form-col-1.... * @param editorType 编辑器类型 * @param componentId 控件所属组件ID,用于判断控件样式 */ createControlBySchemaFeild(schemaField: FormSchemaEntityField, componentType: string, editorType?: string, componentId?: string): any; /** * 创建表格列控件,并根据SchemaField配置DOM属性。 * 若包含列编辑器,则新建列编辑器控件 * @param schemaField schema字段 * @param dataField 列表dataField字段:可取schemaField.bindingPath (此参数可删除) * @param gridFieldEditable 列表是否可编辑 * @param gridFieldType GridField/TreeGridField * @param controlSource Kendo/Farris * @param gridFieldEditorType 指定的列编辑器类型 * @param gridData 所属列表的元数据 */ createGridFieldBySchemaFeild(schemaField: FormSchemaEntityField, dataField: string, gridFieldEditable: boolean, gridFieldType: string, controlSource?: string, gridFieldEditorType?: string, gridData?: any): any; /** * Farris列格式 * @param gridFieldType 列数据类型 * @param metadata 列dom * @param schemaField 字段 */ private setFarrisGridFieldFormatter; /** * 根据变量创建控件 * 暂时不支持对象类型和数组类型变量 */ createControlByVariable(varField: FormVariable, componentType: string, controlType?: string, componentId?: string): any; /** * 创建Table TD中的输入控件,并根据SchemaField配置DOM属性 * @param schemaField schema字段 */ createTableTdControlBySchemaFeild(schemaField: FormSchemaEntityField, editorType?: string): any; /** * 根据变量创建Table控件 * 暂时不支持对象类型和数组类型变量 */ createTableTdControlByVariable(varField: FormVariable, controlType?: string): any; private resolveControlClassByComponentType; private getViewModelIdOfVariable; mappingControlType(controlType: string): string; /** * 获取表单变量在schema中的记录。 */ private getVariableInSchema; }