import { OnInit, AfterViewInit, ChangeDetectorRef, EventEmitter, ElementRef, Renderer2, Injector, OnDestroy } from '@angular/core'; import { FieldConfig } from './entity/fieldconfig/fieldconfig'; import { QueryCondition } from './entity/querycondition'; import { ListFilterService } from './service/list-filter.service'; import { QuerySolutionService } from './submithandlers/query-solution.service'; import { ConvertorService } from './service/convertorservice'; import { ListFilterHandler } from './interface/IistFilterHandler'; export declare class ListFilterComponent implements OnInit, AfterViewInit, OnDestroy { private filterService; private cd; private handler; private convertorService; private render; private injector; filterMainBasisRef: ElementRef; floatPanel: ElementRef; listFilterContainerRef: ElementRef; alLeft: boolean; autoWidth: boolean; liveSearch: boolean; autoLabel: boolean; disabled: boolean; filterClass: string; filterPaddingNone: boolean; filterType: string; _defaultValue: FieldConfig[]; defaultEmptyValueSearch: boolean; defaultValue: FieldConfig[]; buttonPosition: string; filterText: string; clearButtonText: string; query: EventEmitter<{}>; clear: EventEmitter<{}>; searchChange: EventEmitter<{}>; conditionsChange: EventEmitter<{}>; filterDatas: Array; showExpandTag: boolean; /** 搜索表单列表 */ _filterList: Array; /** 是否需要显示展开更多icon */ showMoreIcon: boolean; showFilter: boolean; formExpand: boolean; /** 循环表单 */ listFilterConditions: Array; /** 用来存储setvalue前数据 */ stagListFilterConditions: Array; /** 记录默认收起的搜索表单列表 */ extendFilterList: Array; /** 记录显示的搜索表单列表 */ showFilterList: Array; /** 显示中表单的必填项 */ requiredListFilter: Array; /** 隐藏中表单的必填项 */ /** 表单是否允许提交 */ canSubmit: boolean; /** 扩展表单是否允许提交 */ localeIds: { en: string; 'zh-CHS': string; }; currentLocale: string; isControlInline: boolean; filterList: Array; /** * 初始是否收起 */ expandedState: boolean; private pInitExpanded; showExpandButton: boolean; expandButtonAlign: string; private resizeTimer; /** * 展开状态 */ expandStatus: boolean; /** * 组件服务接口 */ listfilterHandler: ListFilterHandler; fieldCodeOfClearFields: Array; private localeService; private idService; UPDATE_FILTER_VALUES_TIMER: any; private overLayService; private ro; private ngZone; private itemsContainer; constructor(filterService: ListFilterService, cd: ChangeDetectorRef, handler: QuerySolutionService, convertorService: ConvertorService, render: Renderer2, injector: Injector); ngOnInit(): void; ngAfterViewInit(): void; /** * 绑定监控大小的事件 */ private bindRoEvent; /** * 处理窗口大小变化 */ private handleResize; /** * 设置收折按钮的方向 * @returns */ private setExpandButtonAlign; /** * 判断是否显示展开按钮 * 调用前需确保所有条件已设为 shown=true 并已渲染 */ private canShowExpandButton; /** 处理初始展开按钮状态 */ private handleInitExpandedState; /** * 根据展开状态更新表单项的可见性 * 如果收起,则计算一行能放下的元素,其余设置 shown=false * 如果展开,则所有条件 shown=true */ private updateFilterItemsVisibility; ngOnDestroy(): void; /** 初始化处理表单数据 */ initFilterList(): void; inSetCurrentFilterConditions(): void; /** * 获取控件类型 * @param selectedFieldCondition */ getControlType(selectedFieldCondition: QueryCondition): string; /** 获得类名 */ getStyle(currentItem: any): string; /** 判断是否需要显示更多按钮 */ canShowMoreIcon(): void; /** 判断是否所有必填项都填写完毕 */ canSubmitFilter(requirelist: any): boolean; /** 搜索表单变化 */ onSearch($event: any, item: any): void; /** 开始筛选 */ filterClick(): void; /** 收折部分点击确定提交 */ listSearch(): void; /** 取消搜索 */ listSearchCancel(): void; /** 提交表单 */ submit(type: any, filterlist: any): void; /** 对外提供获得表单搜索数据 */ getFilterData(): string; /** 获取展示在外部的表单长度 */ getShowLength(): number; /** 清空条件 */ resetSearch(): void; /** * 设置条件的可见性 * @param visibilityConfigs 条件可见性配置数组,如 [{labelCode: 'xxx', visible: false}] * 隐藏条件时会自动清空该条件的值 */ setConditionVisibility(visibilityConfigs: Array<{ labelCode: string; visible: boolean; }>): void; setFilterValue(fieldConfigs: FieldConfig[]): void; setValues(conditions: any, fieldConfigs: FieldConfig[]): void; getValue(fieldName: string): any; requiredListInit(): void; clearFilterValue(fields: any): void; updateValues(values: { [field: string]: any; }): void; buildSmartHelpKey(value: string): string; private conditionChangeHandler; /** * 浮动筛选面板通过方法展开和关闭 * @param evt */ floatFilterOpen(evt: MouseEvent): void; toggleExpandState(): void; }