import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core'; import { AbstractControl, ControlValueAccessor, FormArray, FormBuilder, FormGroup, ValidationErrors, Validator, ValidatorFn } from '@angular/forms'; import { NzTableLayout, NzTableSize } from '@winkong/ng-zorro-antd/table'; import { NzxTableFormExpandDirective } from './directive/table-expand.directive'; import { NzxLimitMessage, NzxTableFormConfig, NzxTableFormHeaderConfig, NzxTableFormTdConfig } from './type'; import * as i0 from "@angular/core"; export declare class NzxTableFormComponent implements OnInit, ControlValueAccessor, AfterContentInit, Validator, OnDestroy { private cd; private fb; tableLayout: NzTableLayout; tableAlign: 'left' | 'right' | 'center' | null; /** table 启用扩展行 */ enableExpand: boolean; /** table border */ nzxBordered: boolean; /** table size */ nzxSize: NzTableSize; /** 启用数量限制 */ enableLimit: boolean; /** 最大数量 */ maxLimit: number; /** 最少数量 */ minLimit: number; /** 自定义footer */ nzxFooter?: string | TemplateRef; /**是否在前端对数据进行分页,如果在服务器分页数据或者需要在前端显示全部数据时传入 false */ nzxFrontPagination: boolean; /** * 校验整个table的错误提示自定义模板 */ errorTemplate?: TemplateRef; /** 启用序号 */ enableNo: boolean; /** 序号宽度 */ serialNumberWidth: string; /** 序号自定义模板 */ serialNumberTemplate?: TemplateRef; /** * 校验table的函数 */ tableValidatorFn: ValidatorFn; /** table config */ tableFormConfig: NzxTableFormConfig[]; /** 数量限制回调 */ limitMessage: EventEmitter; headerConfig: Array; tdConfig: Array; thTemplateOfNullInForm: { templateRef: TemplateRef; width?: string; }[]; tdTemplateOfNullInForm: { templateRef: TemplateRef; }[]; /** 整个table-form */ form: FormGroup; isDisabled: boolean; /** formGroup下的formArray,formArray中是多行formGroup*/ get tableFormArray(): FormArray; /** table formGroups集合 */ get formGroupList(): FormGroup[]; get invalid(): boolean; /** 一行的form配置 */ private controlsConfig; private destroyed$; private tableTdDirectiveList; private tableThDirectiveList; tableExpandDirective: NzxTableFormExpandDirective; constructor(cd: ChangeDetectorRef, fb: FormBuilder); ngOnDestroy(): void; ngOnInit(): void; ngAfterContentInit(): void; /** * 若table为空或者有一行数据校验不通过,则整个组件校验不通过 */ validate(control: AbstractControl): ValidationErrors | null; /** * 根据controlName设置config值 */ setConfig(controlName: string, config: Partial): void; /** * 重置table表单为空 */ clearTable(): void; /** * 添加table一行 */ addRow(rowValue?: any): void; /** * 删除table一行 */ deleteRow(i: number): void; writeValue(obj: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; /** * 更新table config配置项 * 在更新config时候需要调用重新渲染table */ private updateTableConfig; private propagateChange; /** * 匹配投影模板template放到config中 */ private matchTemplate; /** * 解析配置生成controls */ private parseFormConfig; /** * 解析配置生成header * */ private parseHeader; /** * 解析配置生成Content */ private parseTd; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }