import { Injector } from '@angular/core'; import { IDesignerHost } from '@farris/designer-element'; import { BusinessEntityService, DataStatesService, DesignViewModelField, DesignViewModelService, DomService, EventEditorService, FormBasicService, FormSchemaEntityField, FormVariable, RefreshFormService, SchemaService, StateMachineService, WebCmdService } from '@farris/designer-services'; import { ElementPropertyConfig, PropertyEntity } from '@farris/ide-property-panel'; import { LocaleService } from '@farris/ui-locale'; import { NotifyService } from '@farris/ui-notify'; import { FormPropertyChangeObject } from '../../../../entity/property-change-entity'; import { ExpressionProp } from './expression/expression-property-config'; export declare class NoCodeInputProps extends ExpressionProp { private serviceHost; /** 布局配置服务 */ private responseLayoutService; webCmdService: WebCmdService; domService: DomService; schemaService: SchemaService; dgVMService: DesignViewModelService; formBasicService: FormBasicService; controlCreatorService: any; refreshFormService: RefreshFormService; injector: Injector; notifyService: NotifyService; eventEditorService: EventEditorService; viewModelId: string; componentId: string; localeService: LocaleService; /** 控件绑定的模型字段 */ dgVMField: DesignViewModelField; dataStatesService: DataStatesService; stateMachineService: StateMachineService; /** Schema-控件映射类 */ private schemaDOMMapping; gridFieldData: any; /** 控件绑定的变量 */ bindingVarible: FormVariable; /** 表单字段schema信息,与be保持一致 */ fieldSchemaConsistentWithBE: FormSchemaEntityField; BEService: BusinessEntityService; constructor(serviceHost: IDesignerHost, viewModelId: string, componentId: string); private checkDuplicateFieldCode; /** * 获取基本信息属性配置 * @param propertyData * @param viewModelId * @param showPosition * @returns */ getBasicPropConfig(propertyData: any, viewModelId: string, showPosition?: string): ElementPropertyConfig; getBasicCommonPropConfig(propertyData: any): PropertyEntity[]; /** * 获取输入类控件的通用外观属性 */ protected getAppearancePropConfig(propertyData: any, viewModelId: string, showPosition?: string): ElementPropertyConfig; /** * 获取输入类控件的通用外观属性配置 */ getAppearanceCommonPropConfig(propertyData: any, viewModelId: string, showPosition?: string): PropertyEntity[]; /** * 判断自动高度的显示条件 * @param notAllowedControlTypes 不支持静态文本的控件列表 * @param propertyData 控件属性 */ private checkAutoHeightVisible; /** * 处理外观类属性的联动 */ changeAppearancePropertyRelates(properties: PropertyEntity[], changeObject: FormPropertyChangeObject, propertyData: any, parameters: any): void; /** * 获取输入类控件的通用行为属性 */ getBehaviorCommonPropConfig(propertyData: any, viewModelId: string): PropertyEntity[]; /** * 行为类属性的变更联动方法 */ changeBehaviorPropertyRelates(properties: PropertyEntity[], changeObject: FormPropertyChangeObject, propertyData: any, parameters: any, showPosition?: string): void; /** * 根据字段ID获取schema字段信息 */ private getFieldSchemaConsistentWithBE; /** * 修改长度后同步schema * @param changeObject 变更集 * @param propertyData 属性值 */ private syncSchemaAfterLengthChanged; /** * 修改绑定后要同步变更控件path属性,若是帮助控件还要变更数据源属性并同步viewModel */ updateControlDomAfterChangingBinding(propertyData: any, parameters: any, viewModelId: string): void; /** * 修改控件布局配置后更新Form统一布局配置 * @param componentId 组件Id * @param controlLayoutConfig 某单独变动的控件配置项,FormResponseLayoutContext类型 */ private updateUnifiedLayoutAfterResponseLayoutChanged; /** * 校验宽度样式值是否一致 */ private checkIsUniqueColumn; /** * 获取表达式编辑需要的参数:在属性面板弹出表达式窗口时调用 */ private getExpressionEditorParams; /** * 获取属性编辑器需要的初始绑定值 * @param expField 表达式配置字段 * @param propertyValue 属性值 */ private getExprValue; /** * 获取默认值表达式编辑需要的参数:在属性面板弹出表达式窗口时调用 */ private getDefaultValueExpressionEditorParams; /** * 获取属性编辑器需要的初始绑定值 * @param expField 表达式配置字段 * @param propertyValue 属性值 */ private getDefaultValueExprValue; /** * 获取属性编辑器需要的初始绑定值 * @param expField 表达式配置字段 * @param propertyValue 属性值 */ private getDefaultValueExprValue2; /** * 校验控件是否支持切换类型 * @param control 控件 */ private checkCanChangeControlType; /** * 清除原表达式 */ clearExpression(newValueType: string, propertyData: any, propertyID: string): void; /** * 卡片控件:切换控件类型后事件 * @param propertyData 控件DOM属性 * @param newControlType 新控件类型 */ changeControlType(propertyData: any, newControlType: string): any; /** * 获取控件:以contents为节点进行定位 * @param controlId 控件ID * @param domJson 容器 */ private getControlParentContainer; /** * 列编辑器类型切换属性 */ getGridFieldEditorTypePropertyConfig(gridFieldData: any, viewModelId: string): ElementPropertyConfig; /** * datagrid field:列编辑器类型切换后事件 * @param newControlType 新控件类型 * @param viewModelId 视图模型ID */ changeGridFieldEditorType(newControlType: string, viewModelId: string): void; /** * 追加列编辑器内的必填、字段更新时机属性 * @param editorProp 列编辑器属性分类 * @param gridFieldEditorData 列编辑器数据 * @param viewModelId viewModelId */ appendBehaviorPropsForGridFieldEditor(editorProp: ElementPropertyConfig, gridFieldEditorData: any, viewModelId: string): void; /** * 组装输入类控件的交互面板:包含标签超链、绑定字段值变化前后事件等。 * @param propertyData 属性值 * @param viewModelId 视图模型id * @param showPosition 面板展示位置 * @param customEvent 输入控件特有的事件配置 */ getEventPropertyConfig(propertyData: any, viewModelId: string, showPosition?: string, customEvent?: { customEventList?: { label: string; name: string; }[]; setPropertyRelates?: (propertyData: any) => void; }): ElementPropertyConfig; /** * 处理交互面板中的动态事件 * @param propertyData 属性值 * @param eventList 事件列表 */ switchEvents(propertyData: any, eventList: any[]): any[]; /** * 将标签超链属性追加到交互面板, */ private appendLinkLabelClickEvent; /** * 将字段值变化前事件、变化后事件追加到交互面板 * 注意:因为绑定字段值变化后事件与下拉框的值变化事件(valueChanged)重名,所以这里将事件label都重命名下 */ private appendFieldValueChangeEvents; /** * 获取自定义宽度控件设置初始默认值 * @param propertyData 属性值 * @param viewModelId 视图模型id */ setWidthInitDefaultValue(propertyData: any, viewModelId: string): { result: boolean; parameters: { customOptions: { label: string; value: string; }[]; defaultValue: string; }; }; }