import { AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms'; import { NzxQueryI18nInterface } from '@winkong/ng-zorro-antd-extension/i18n'; import { NzJustify } from '@winkong/ng-zorro-antd/grid'; import { NzI18nService } from '@winkong/ng-zorro-antd/i18n'; import { NzxControlDirective } from './control.directive'; import { NzxQueryControlOptions, NzxQueryParams } from './type'; import * as i0 from "@angular/core"; /** * 查询组件 * 支持模板自定义,在使用模板自定义时,要注意controlType应该设置为Template并且确保controlName与指令上的nzxControl应该相同 */ export declare class NzxConfigurableQueryComponent implements OnChanges, OnInit, AfterViewInit, AfterContentInit, OnDestroy { private i18n; private fb; private cd; /** * 配置项用来生成查询表单 */ controls: Array; /** 查询表单排列方式默认start */ nzxJustify: NzJustify; /** 查询项间隔默认为8 */ nzxGutter: number; /** 一行展示多少查询项默认展示3个 */ lineNumber: number; /** 操作按钮所占栅格数,24则换行 */ nzxBtnSpan: number | null; /** 初始化时,是否主动触发查询 */ initQuery: boolean; /** 缺省 固定参数会固定携带在抛出事件中 */ fixedParams: {}; /** 查询时会触发抛出查询参数 */ queryChange: EventEmitter; /** 重置时会触发抛出查询参数 */ resetChange: EventEmitter; /** 组件最终的查询参数 */ get queryParams(): any; set queryParams(value: any); /** 判断当前组件是否展示展开折叠按钮 */ get nzxCollapse(): boolean; /** 内置 form 查询表单实例 */ queryForm: FormGroup; locale: NzxQueryI18nInterface; collapseIcon: string; collapseText: string; private _queryParams; /** 重置时用来给查询框默认值 */ private defaultValue; private cacheParams; private destroy$; private queyFormEl; controlTemplateList: QueryList; constructor(i18n: NzI18nService, fb: FormBuilder, cd: ChangeDetectorRef); ngOnChanges(changes: SimpleChanges): void; ngOnInit(): void; ngAfterViewInit(): void; ngAfterContentInit(): void; /** 设置查询值进行回显 */ setQueryParams(cacheParams: NzxQueryParams): void; /** * 根据controlName设置config值 * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以 */ setControl(controlName: string, config: Partial, defaultValueResettable?: boolean): void; /** * 动态添加控件 * @param config 配置项 * @param position 添加位置 不传为末尾 * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以 */ addControl(config: NzxQueryControlOptions, position?: number | undefined, defaultValueResettable?: boolean): void; /** * 根据控件名删除控件 */ removeControl(controlName: string): void; /** * 根据controlName获取config项 */ getControl(controlName: string | undefined): NzxQueryControlOptions | undefined; /** * 检索给定控件名称或路径的子控件。 * 这个 getFormControl 签名支持字符串和 const 数组(.getFormControl(['foo', 'bar'] as const)) */ getFormControl(path: string | readonly (string | number)[]): AbstractControl | null; /** 查询 */ search(): void; /** 重置 */ reset(): void; /**展开、收起*/ toggleCollapse(): void; ngOnDestroy(): void; /** 计算展开收起icon、文案 */ private calculateText; /** 清空表单控件 */ private clearFormControl; /** 生成 queryForm 表单 */ private generateForm; /** * * @param controlConfig control配置 * @param defaultValueResettable 添加的表单控件默认值是否可以重置,默认不可以 * * 1. 生成单个表单控件并将其添加到queryForm中 * 2. 如果没有templateRef根据controlName获取投影的templateList中的templateRef给 templateRef 赋值 * **/ private generateControl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }