import { OnInit } from '@angular/core'; import { KeyValue } from '@angular/common'; import { ToolAdapterService } from './tools/tool-adapter.service'; import { LayoutDesignerComponent } from './components/layout-designer/layout-designer.component'; import { ToolBoxComponent } from './components/tool-box/tool-box.component'; import { FormEventGroupComponent } from './components/form-event-group/form-event-group.component'; import { ControlDesignArgs } from './types/designer.types'; import { ControlEvent, ControlDataModel } from './types/control.types'; import { DynamicFormEvent, DynamicFormModel } from './utils/dynamic-form-model'; import { ControlSpecification } from './types/specification.types'; import { SelectCondition, ShowCondition, FormPublishDataModelDataEntityProperty } from './types'; import { ControlSharedService } from './services/control-shared.service'; import { ShowHiddenRuleModel } from './types/control-show-hidden.types'; import { ShowHiddenEntryComponent } from './components/show-hidden/show-hidden-entry/show-hidden-entry.component'; import { SpecificationHelperService } from './services/specification-helper.service'; export declare class DynamicFormDesignerComponent implements OnInit { private toolAdapter; controlShared: ControlSharedService; private specificationHelperService; model: any; formCode: string; globalData: any; /** * 禁用控件的操作 * */ disableOperateControl: boolean; /** * 禁用数据实体选择 * */ disableEditEntityProperty: boolean; /** * @description 隐藏 * * @memberof DynamicFormDesignerComponent */ isHidden: boolean; /** * @description 预览DataModel * * @memberof DynamicFormDesignerComponent */ previewFormModel: any; /** * @description 是否显示表单属性 * * @memberof DynamicFormDesignerComponent */ isShowFormProperty: boolean; /** * @description 拖拽添加的控件规格 * * @memberof DynamicFormDesignerComponent */ dragSpecification: ControlSpecification; /** * @description 查询条件 * @memberof DynamicFormDesignerComponent */ selectConditions: Array; /** * @description 展示列条件 * @memberof DynamicFormDesignerComponent */ showConditions: Array; controlDataModels: Array; formEventModels: Array; showHiddenRuleModels: Array; layoutDesigner: LayoutDesignerComponent; toolBox: ToolBoxComponent; formEventGroupComponent: FormEventGroupComponent; showHiddenComponent: ShowHiddenEntryComponent; selected: ControlDesignArgs; associatedEntitiesName: string; entityAttributeName: string; private _selected; constructor(toolAdapter: ToolAdapterService, controlShared: ControlSharedService, specificationHelperService: SpecificationHelperService); ngOnInit(): void; /** * @description 获取表单model * * @memberof DynamicFormDesignerComponent */ getFormModel(): DynamicFormModel; /** * @description 获取表单事件 * * @memberof DynamicFormDesignerComponent */ getFormEventModels(): Array; /** * @description 获取表单事件 * * @memberof DynamicFormDesignerComponent */ getFormShowHiddenModels(): Array; /** * @description 显示预览 * * @memberof DynamicFormDesignerComponent */ preview(): void; /** * @description 显示设计 * * @memberof DynamicFormDesignerComponent */ design(): void; /** * @description 获取发布控件DataModel * * @memberof DynamicFormDesignerComponent */ getPublishDataModels(): { success: boolean; groups: KeyValue[]; }; /** * 填充数据item * */ private fillModelDataItem; getQueryConditions(controlDataModels: ControlDataModel[]): void; /** * 获取查询条件 * * @memberof DynamicFormDesignerComponent */ getSelectCondition(controlDataModel: ControlDataModel): SelectCondition; /** * 获取展示列条件 * * @memberof DynamicFormDesignerComponent */ getShowCondition(controlDataModel: ControlDataModel): ShowCondition; /** * 获取ShowConditionEditor中多属性的展示列 * * * @memberOf DynamicFormDesignerComponent */ getShowConditionMultiAttrCode(condition: any): any[]; /** * @description 设置是否显示表单事件 * * @param isShow 是否显示 * @memberof DynamicFormDesignerComponent */ showFormProperty(isShow: boolean): void; /** * @description tool变成选择工具 * * @param event 右键事件event * @memberof DynamicFormDesignerComponent */ nomenu(event: any): void; /** * 过滤dataModel * * @memberof DynamicFormDesignerComponent */ private filterDataModel; /** * 处理实体属性,自动变更为新的结构 */ private filterAssociatedEntityAttributes; private getPublishDataModelsBy; private getEntityNotRepeatMsg; private getEntityCaption; private getEntityPropertyCaption; }