import { DoCheck, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { AbstractControl, AbstractDynamicForm, ControlBroadCastEvent, ControlSharedService, ControlTranslate, ControlTranslateService, ControlValidatorService, ControlViewModel, DynamicControlContainer, DynamicFormDataModel, DynamicFormRunHelperService, DynamicFormUpdateDataModel } from 'zr-dynamic-form/dynamic-form-designer'; import { FormDataService } from './services/form-data.service'; import { LayoutHostRuntimeDirective } from './utils/layout-host-runtime.directive'; export declare class DynamicFormRuntimeComponent extends AbstractDynamicForm implements DynamicControlContainer, DoCheck, OnInit, OnDestroy { private controlTranslateService; private formDataHandlerService; private controlValidatorService; private controlSharedService; private runHelperService; formCode: string; labelCode: string; dataModel: DynamicFormDataModel; readOnly: boolean; enableEditAtView: boolean; enableEditNameList: string[]; targetId: string; globalData: any; /** * 表单状态 */ readonly valid: boolean; beforeLoad: EventEmitter; afterLoad: EventEmitter; beforeDataLoad: EventEmitter; afterDataLoad: EventEmitter; controlBroadCast: EventEmitter; loadErrorMsg: string; controlTranslate: ControlTranslate; controls: AbstractControl[]; private _globalData; private _formCode; private _labelCode; private _dataModel; private _readOnly; private _enableEditAtView; private _targetId; private _enableEditNameList; private formEventModels; private formLoading; private formDataLoading; private _loadComponentSubscription; private _controlResolvedSubscription; private _controlBroadCastSubscription; private _valid; private _originFormValue; private _dynamicFormModel; layoutHost: LayoutHostRuntimeDirective; constructor(controlTranslateService: ControlTranslateService, formDataHandlerService: FormDataService, controlValidatorService: ControlValidatorService, controlSharedService: ControlSharedService, runHelperService: DynamicFormRunHelperService); ngOnInit(): void; ngOnDestroy(): void; ngDoCheck(): void; getValid(): boolean; /** * 加载表单内容 * * @memberof DynamicFormRuntimeComponent */ loadFormContent(): Observable; /** * 获取当前表单数据 * * @param targetId 目标数据Id * @param [isRemoveUnnecessaryChildFormData=false] 是否移除不必要的子表单数据 * * 更新数据时,可以通过设置isRemoveUnnecessaryChildFormData为true来移除子表单不必要的数据来提升性能 * */ getCurrentDataModel(targetId: string, isRemoveUnnecessaryChildFormData?: boolean): DynamicFormDataModel; add(targetId: string): Observable; /** * 更新 * * @param targetId * @param autoAdd 数据不存在时是否自动添加 默认true */ update(targetId: string, autoAdd?: boolean): Observable; delete(targetId: string): Observable; clear(): void; addDynamicFormContext(dataModel: DynamicFormDataModel): Observable; updateDynamicFormContext(dataModel: DynamicFormUpdateDataModel): Observable; detail(targetId: string): Observable; /** * 根据名称更新控件值 */ updateControlValue(name: string, value: any): AbstractControl; /** * 根据控件更新控件值 * @param control 控件 * @param value 控件值 * @param isBroadCast 是否广播 */ updateControlValueByControl(control: AbstractControl, value: any, isBroadCast?: boolean): AbstractControl; /** * 设置所有控件值 */ setControlsValue(dataValue: any): void; /** * 设置控件readonly状态 */ setReadOnly(): void; /** * 触发默认级联 */ triggerDefaultCascade(): void; setControlOperateMode(control: AbstractControl): void; private loadComponents; private subscribeControlResolved; /** * 设置控件只读 */ private setControlReadOnly; private validateControls; }