import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { FormGroup } from '@angular/forms'; import { JdDyFormComponent } from './dy-form.component'; import { JdDyContent, JdDyFormAllowInputByChange, JdDyFormOptionItem, JdDyFormSubmitOrRest } from './dy-form.interface'; import { FocusKeyManager } from "@angular/cdk/a11y"; import { FormFocusDirective } from "./form-focus.directive"; export declare class JdDyForm { private _option; private _unsubscribe$; private _optionMap; isGetSelectLabelName: boolean; isAutoFillSelectContent: boolean; submitButton: JdDyFormSubmitOrRest; restButton: JdDyFormSubmitOrRest; isInline: boolean; size: 'default' | 'small' | 'large'; isGroup: boolean; loading: boolean; loadingTip: string; isByDepWidthDoResponsive: boolean; isShowButton: boolean; isVertical: boolean; readonly formFieldChange$: BehaviorSubject<{ [key: string]: any; }>; readonly setFormValue$: BehaviorSubject<{ [key: string]: string; }>; readonly formGroup$: Subject; readonly formComponent$: Subject; readonly formToApiHelp$: BehaviorSubject<{ [key: string]: any; }>; readonly formKeyChange$: BehaviorSubject; readonly valueChanges$: Subject<{}>; readonly OnSubmit$: Subject; readonly OnRest$: Subject; readonly OpenChange$: Subject<{ isOpen: boolean; key: string; isNeedLoading: boolean; }>; readonly OnInit$: Subject; readonly OnInputBlur$: Subject; readonly OnSearch$: Subject<{ [key: string]: any; }>; readonly OnEnter$: Subject<{ key: string; event: KeyboardEvent; }>; readonly OnSuffixAction$: Subject<{ name: string; $event: Event; }>; readonly OnTableSelectChange$: Subject<{ [key: string]: any; }>; readonly OnNotSearchResult$: Subject<{ name: string; isNeedLoading: boolean; value: string; }>; readonly formGroupDyForm$: Subject<{ [key: string]: JdDyForm; }>; readonly initState: JdDyFormAllowInputByChange; private __initInterval; valueChangesByKey(key: string): Observable; readonly valid: boolean; readonly value: any; dyFormGroup: FormGroup; dyFormComponent: JdDyFormComponent; private __init; insert(item: JdDyFormOptionItem[] | JdDyFormOptionItem, keyOrIndex?: string | number): this; option: JdDyFormOptionItem[]; readonly keyManager: FocusKeyManager; static toAsync(callBack: Function): void; selectContentIsExit(key: string): boolean; getOptionBykey(key: string): JdDyFormOptionItem; disabledByKeys(keys: string[] | string): this; enabledByKeys(keys: string[] | string): this; updateSelectContentByKey(key: string, value: JdDyContent[]): this; updateRadioContentByKey(key: string, value: JdDyContent[]): this; updateSelectContentsByKeys(key: string[], value: JdDyContent[][]): this; getConfigByKey(key: string): JdDyFormOptionItem; restNotCheck(value?: any, options?: { onlySelf?: boolean; emitEvent?: boolean; }): this; getSelectContentByKey(key: string): JdDyContent[]; private _disabledOrEnabled; getValue(formGroup: JdDyFormComponent): void; markValid(): this; setSelectLoading(key: string, isLoading?: boolean): this; private validInput; /** * 改变动态表单属性 (多个) * @param options */ formKeyChange(options: JdDyFormAllowInputByChange): this; setLoading(isLoading: boolean, loadingTip: string): this; /** * 更新控件 * @param item */ updateField(item: JdDyFormOptionItem[] | JdDyFormOptionItem): this; /** * 新增控件 * @param item */ addField(item: JdDyFormOptionItem[] | JdDyFormOptionItem): this; /** * 移除指定控件 * @param formControlName 控件名称 */ removeField(formControlName: string | string[]): this; /** * 设置控件的值 * @param value : key => value object */ setValues(value?: { [key: string]: any; }): this; /** * 初始化动态表单 * @param item */ initFormOptions(item: JdDyFormOptionItem[]): this; constructor(option?: JdDyFormOptionItem[], initState?: JdDyFormAllowInputByChange); destroy(): void; }