import { ViewFiltros } from "../classes"; import { Observable } from "rxjs"; import { HttpServiceAtivo } from "../../web/http.ativo.service"; import { HttpService, ViewRetorno } from "../../web/http.service"; import { IComparison } from "../../classes/comparison"; import { ISelect } from "./ISelect"; export type DefaultModelOptions = { value: string; label: string; }; export declare class InputSelectConfiguration { /** Valor que será setado no formControl */ bindValue: string | ((obj: any) => any); /** Valor que será exibido */ bindLabel: string | ((obj: any) => string); /** Indica se o select pode ser nulo e limpavel */ clearable: boolean; /** Indica se o select pode ser pesquisado */ searcheable: boolean; /** * Se LoadFrom instanceof HttpService -> Os dados serão carregados do List() * Se LoadFrom instanceof HttpServiceAtivo -> Os dados serão carregados do ListAtivo() * Se LoadFrom instanceof Observable -> Os dados serão carregados da função indicada * Se LoadFrom instanceof Array -> Os dados serão o array */ loadFrom?: HttpService | HttpServiceAtivo | Observable | any[]; /** Se = true Os valores no form control seráo um array dos items selecionados */ multiple: boolean; /** Desativa os items que estão de acordo com a função */ disableConditional: ((obj: any) => boolean) | null; placeholder: string; noItensFoundText: string; loader: InputSelectDataLoader; loadFromArray: any[]; loadFromService: HttpService | HttpServiceAtivo; loadFromFunction: Observable; vFiltros: ViewFiltros | null; constructor( /** Valor que será setado no formControl */ bindValue?: string | ((obj: any) => any), /** Valor que será exibido */ bindLabel?: string | ((obj: any) => string), /** Indica se o select pode ser nulo e limpavel */ clearable?: boolean, /** Indica se o select pode ser pesquisado */ searcheable?: boolean, /** * Se LoadFrom instanceof HttpService -> Os dados serão carregados do List() * Se LoadFrom instanceof HttpServiceAtivo -> Os dados serão carregados do ListAtivo() * Se LoadFrom instanceof Observable -> Os dados serão carregados da função indicada * Se LoadFrom instanceof Array -> Os dados serão o array */ loadFrom?: HttpService | HttpServiceAtivo | Observable | any[], /** Se = true Os valores no form control seráo um array dos items selecionados */ multiple?: boolean, /** Aplica os filtros na pesquisa */ vFiltros?: Partial<{ /** Aplica uma pesquisa em texto */ search: string; /** Propriedade de ordenação */ orderByProperty: string; /** Orientação de ordenação */ ascending: boolean; /** Filtro */ filter: IComparison; }> | null, /** Desativa os items que estão de acordo com a função */ disableConditional?: ((obj: any) => boolean) | null); } export declare class InputSelectDataLoader { lstComponents: ISelect[]; configuration: InputSelectConfiguration; /** Valor que será setado no formControl */ bindValue: ((obj: any) => any) | null; /** Valor que será exibido */ bindLabel: ((obj: any) => string) | null; constructor(configuration: InputSelectConfiguration); GetLabel(value: any): string; AddComponent(component: ISelect): void; private _isLoaded; Refresh(items?: any[]): Promise; private SetLstComponentsThisItens; items: any[]; Load(): Promise; } export declare function BindValueFactory(configuration: InputSelectConfiguration): ((obj: any) => any); export declare function BindLabelFactory(configuration: InputSelectConfiguration): ((obj: any) => string);