import { Injector } from '@angular/core'; import { TreeNode } from '@farris/ui-treetable'; import { GSPMetadataRTService } from '@gsp-lcm/metadatart-selector'; import { FormBasicService, DomService, SchemaService } from '@farris/designer-services'; import { Subject } from 'rxjs'; import { MetadataService } from '@farris/designer-devkit'; import { MessagerService } from '@farris/ui-messager'; /** * 帮助联动属性 */ export declare class HelpLinkConfig { /** 唯一标识 */ id?: string; /** 字段映射 */ linkedFieldsMapping: { /** 源字段编号,即当前表单中某字段的编号,例如单位 */ sourceField: string; /** 源字段所在的实体编号 */ sourceObjCode: string; /** 目标字段编号,即帮助控件所绑定的帮助元数据中的某字段编号,例如单位 */ targetField: string; /** 目标字段所在的实体编号 */ targetObjCode: string; }; /** 帮助联动类型: 普通联动Normal/父级联动Tree */ linkedType: string; /** 原字段是否在子表中 */ sourceFieldInChild: boolean; /** 启用空数据映射: 帮助联动条件为空时,是否启用映射 */ enableFilterWhenConditionEmpty: boolean; /** 目标字段名称--用于设计器显示 */ targetFieldName?: string; /** 源字段名称--用于设计器显示 */ sourceFieldName?: string; } /** * 选择映射的组件参数 */ export declare class SelectHelpLinkMappingEditorParam { /** 控件所属视图模型id */ viewModelId: string; /** 帮助元数据id */ helpId: string; /** 帮助绑定字段id */ bindingFieldId: string; } export declare class MappingFieldManager { private formBasicServ; private schemaService; private domService; private metadataRtServ; private unifiedMetadataService; private msgService; private injector; private localeService; constructor(formBasicServ: FormBasicService, schemaService: SchemaService, domService: DomService, metadataRtServ: GSPMetadataRTService, unifiedMetadataService: MetadataService, msgService: MessagerService, injector: Injector); formFieldTreeDataInParentLink: any[]; formFieldIdListInParentLink: any[]; private entityTableInfo; /** * 获取普通联动下当前表单列 */ assembleSourceFields(viewModelId: string, helpId: string, bindingFieldId: string): TreeNode[]; /** * 获取父级联动下当前表单字段列 */ assembleSourceFieldsInParentLink(viewModelId: string, helpId: string, bindingFieldId: string): TreeNode[]; /** * 组装实体树数据:取当前表和父级表 */ private assembleSchemEntityTree; private assembleFields2Tree; private findFieldInTreeDataById; /** * 组装帮助字段树表数据 * @param helpId 帮助元数据id */ assembleTargetFields(helpId: string): Subject<{ helpFields: TreeNode[]; parentHelpFields: TreeNode[]; helpLinkType: string; }>; /** * 获取帮助schema字段 * @param schema schema */ private resolveHelpFields; /** * 根据帮助id获取表单上绑定同一帮助的字段 */ private assembleFormFieldByHelpId; /** * 组装父级联动下的帮助实体树数据:取主表中udt为分级码的字段 */ private resolveHelpFieldsInParentLink; }