import { Injector, OnInit } from '@angular/core'; import { UofxPaginationReqModel } from '@uofx/app-components'; import { IUofxInfiniteScrollEvent } from '@uofx/app-components/infinite-scroll'; import { AlertController, IonInput, ModalController } from '@ionic/angular'; import { UofxI18NService } from '@uofx/core'; import { Observable, Subject } from 'rxjs'; import { UofxSelectFilterLogic } from '../../logic/select-filter.logic'; import { UofxJobFuncModel, UofxSearchRequest, UofxUserSelectResExtendModel, UofxUserSelectResModel, UofxUserSetCommuseModel, UofxUserSetItemType, UofxUserSetModel } from '../../user-select.interface'; import * as i0 from "@angular/core"; export declare class UofxUserSelectFilterDialog implements OnInit { private injector; private modalCtrl; alertCtrl: AlertController; private i18n; private filterLogic; searchInput: IonInput; /** 選人元件類型,不指定類型的話為[任意選] */ types: Array; userSetId: string; /** 預設已選取的項目 */ defaultSelect: Array; /** 是否要顯示 [我的常用] */ showCommonUse: boolean; /** 是否為多選模式,預設 true */ multiple: boolean; /** 是否限同部門人員 */ mustSameGroup: boolean; /** 目前的選人元件類別 */ selectedType: UofxUserSetItemType; /** 選人快篩 Subject */ searchTerms: Subject; /** 公司別代碼 */ corpId: string; /** 查詢結果列表 */ resultList: Array; /** [我的常用]清單 */ commuseList: Array; /** 查詢輸入的關鍵字 */ keyWord: string; /** 查詢placeholder */ inputPlaceholder: string; /** 輸入框是否為focus狀態 */ isInputFocus: boolean; /** 顯示查詢提示 */ showSearchTip: boolean; /** 選人類別enum */ UofxUserSetItemType: typeof UofxUserSetItemType; /** 是否正在讀取 */ isLoading: boolean; /** 是否關閉非同步載入的效果 */ disabledInfinite: boolean; /** 已選取的項目 */ selectedItem: Array; /** 計時器,用在項目已存在的提示只要顯示兩秒的效果 */ existTextTimer: any; /** 查詢 Segment 列表 */ /** segment 清單 */ segmentList: { i18nTitle: string; type: UofxUserSetItemType; }[]; /** segment-我的常用,會動態加入 */ segmentCommuse: { i18nTitle: string; type: UofxUserSetItemType; }; /** 分頁資訊 */ pageModel: UofxPaginationReqModel; /** 取得要顯示的選人Segment */ get userSelectSegment(): { i18nTitle: string; type: UofxUserSetItemType; }[]; constructor(injector: Injector, modalCtrl: ModalController, alertCtrl: AlertController, i18n: UofxI18NService, filterLogic: UofxSelectFilterLogic); ngOnInit(): void; ionViewDidEnter(): void; /** 輸入框 blur 事件 */ onSearchInputBlur(): void; /** 輸入況 focus 事件 */ onSearchInputFocus(): void; /** 設定預設的選人類型 */ setSearchType(): void; /** 設定查詢placeholder */ setInputPlaceholder(): void; /** 選擇的是職務,格式要調整 */ onjobFuncItemSelect(jobFunc: UofxJobFuncModel): void; /** 選取項目 */ onItemListClick(select: UofxUserSetModel): void; /** 選取[我的常用] */ onCommuseClick(select: UofxUserSetCommuseModel): void; /** 輸入框可視內容移到最下面 */ inputScrollToEnd(): void; /** 輸入搜尋事件 */ onSearch(): void; /** 更新 */ doRefresh(ev: any): void; /** 初始化查詢參數 */ initParam(): void; /** 新增選取名單 */ addUserSelect(select: UofxUserSetModel): void; /** 多選模式 - 新增選取名單 */ addMultipleSelect(select: UofxUserSetModel): void; /** 新增[我的常用]到選取結果 */ addCommuse(commuseList: UofxUserSetCommuseModel): void; /** 已達可選上限提示 */ outNumberAlert(): Promise; /** 顯示"已加入"而且只需顯示兩秒 */ showCommuseIsExist(commuseList: UofxUserSetCommuseModel): void; /** 刪除選取的名單 */ onSelectDelete(userSet: UofxUserSetModel): void; /** 變更查詢類別 */ onSelectTypeChange(type: number): void; /** 取得清單 */ getDataList(callback?: () => void): void; /** 讀取選人元件要顯示的列表 */ loadSelectData(callback?: () => void): void; /** 建立部門的含子部門資料 */ createDeptChildData(list: Array): UofxUserSelectResExtendModel[]; /** 讀取[我的常用]資料 */ loadCommuse(callback?: () => void): void; /** 清除[我的常用]已存在的字詞 */ clearCommuseIsExist(): void; /** @internal 建立查詢 Observable */ _searchObservable(): Observable>; /** @internal 取得 Service 的 Observable */ _apiObservable(searchReq: UofxSearchRequest, injector: Injector): Observable | Observable; /** 非同步載入資料 */ doInifite(ev: IUofxInfiniteScrollEvent): void; /** 設定查詢結果 */ searchResult(result: Array): void; /** 設定查詢提示 */ setSearchTip(): void; /** 送出 */ onOkClick(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }