import { ElementPropertyConfig, PropertyEntity } from '@farris/ide-property-panel'; import { IDesignerHost } from '@farris/designer-element'; import { FormPropertyChangeObject } from '../../../../entity/property-change-entity'; import { EventEditorService, WebCmdService, DomService, SchemaService, DesignViewModelService, StateMachineService, DataStatesService } from '@farris/designer-services'; import { ExpressionProp } from './expression/expression-property-config'; import { FormBasicService, RefreshFormService, FormVariable } from '@farris/designer-services'; import { Injector } from '@angular/core'; import { LocaleService } from '@farris/ui-locale'; export declare class InputProps extends ExpressionProp { private serviceHost; /** 布局配置服务 */ private responseLayoutService; webCmdService: WebCmdService; domService: DomService; schemaService: SchemaService; dgVMService: DesignViewModelService; formBasicService: FormBasicService; eventEditorService: EventEditorService; controlCreatorService: any; refreshFormService: RefreshFormService; injector: Injector; localeService: LocaleService; viewModelId: string; componentId: string; /** 控件绑定的模型字段 */ private dgVMField; stateMachineService: StateMachineService; dataStatesService: DataStatesService; /** Schema-控件映射类 */ private schemaDOMMapping; gridFieldData: any; /** 控件绑定的变量 */ bindingVarible: FormVariable; constructor(serviceHost: IDesignerHost, viewModelId: string, componentId: string); getBasicCommonPropConfig(propertyData: any): PropertyEntity[]; getBasicPropConfig(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; /** * 修改绑定后要同步变更控件path属性,若是帮助控件还要变更数据源属性并同步viewModel */ updateControlDomAfterChangingBinding(propertyData: any, parameters: any, changeObject: FormPropertyChangeObject, properties: PropertyEntity[]): void; /** * 切换绑定信息后,需要使用新字段的受控规则 */ private syncControlledRulesAfterChangingBinding; /** * 修改某一输入控件的样式后更新Form的统一布局配置 * @param controlClass 控件样式 * @param controlId 控件Id * @param componentId 控件所在组件id */ private updateUnifiedLayoutAfterControlChanged; /** * 修改控件布局配置后更新Form统一布局配置 * @param componentId 组件Id * @param controlLayoutConfig 某单独变动的控件配置项,FormResponseLayoutContext类型 */ private updateUnifiedLayoutAfterResponseLayoutChanged; /** * 校验宽度样式值是否一致 */ private checkIsUniqueColumn; /** * 校验控件是否支持切换类型 * @param control 控件 */ private checkCanChangeControlType; /** * 清除原表达式 */ clearExpression(newValueType: string, propertyData: any, propertyID: string): void; /** * 卡片控件:切换控件类型后事件 * @param propertyData 控件DOM属性 * @param newControlType 新控件类型 */ changeControlType(propertyData: any, changeObject: FormPropertyChangeObject): any; /** * 获取控件:以contents为节点进行定位 * @param controlId 控件ID * @param domJson 容器 */ private getControlParentContainer; /** * 输入控件扩展区域属性配置 * @param propertyData 属性值 * @param viewModelId viewModelId * @returns ElementPropertyConfig */ getInputAppendPropertyConfig(propertyData: any, viewModelId: string, showPosition?: string): ElementPropertyConfig; /** * 控制扩展区域属性显隐 * @param props 属性配置 * @param propertyData 属性值 */ private checkAppendVisible; /** * 列编辑器类型切换属性 */ 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; private getControlMethodType; }