import { AfterViewInit, DoCheck, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'; import { Observable } from 'rxjs'; import { PoMultiselectOption } from './interfaces/po-multiselect-option.interface'; import { PoMultiselectBaseComponent } from './po-multiselect-base.component'; import { PoMultiselectFilterService } from './po-multiselect-filter.service'; import { PoMultiselectOptionTemplateDirective } from './po-multiselect-option-template/po-multiselect-option-template.directive'; import { PoHelperComponent } from '../../po-helper'; /** * @docsExtends PoMultiselectBaseComponent * * @example * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ export declare class PoMultiselectComponent extends PoMultiselectBaseComponent implements AfterViewInit, DoCheck, OnDestroy, OnChanges { private readonly renderer; private readonly changeDetector; private readonly el; private readonly controlPosition; defaultService: PoMultiselectFilterService; multiselectOptionTemplate: PoMultiselectOptionTemplateDirective; dropdownElement: ElementRef; dropdown: any; iconElement: ElementRef; outerContainer: ElementRef; helperEl?: PoHelperComponent; literalsTag: any; dropdownIcon: string; dropdownOpen: boolean; initialized: boolean; hasMoreTag: boolean; timeoutResize: any; visibleElement: boolean; containerWidth: number; private subscription; private enterCloseTag; private initCalculateItems; private isCalculateVisibleItems; private cacheOptions; private focusOnTag; constructor(); ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngDoCheck(): void; ngOnDestroy(): void; emitAdditionalHelp(): void; /** * Função que atribui foco ao componente. * * Para utilizá-la é necessário ter a instância do componente no DOM, podendo ser utilizado o ViewChild da seguinte forma: * * ``` * import { PoMultiselectComponent } from '@po-ui/ng-components'; * * ... * * @ViewChild(PoMultiselectComponent, { static: true }) multiselect: PoMultiselectComponent; * * focusMultiselect() { * this.multiselect.focus(); * } * ``` */ focus(): void; getAdditionalHelpTooltip(): string; getInputWidth(): number; getTagsWidth(): any[]; getErrorPattern(): string; hasInvalidClass(): any; calculateVisibleItems(): void; changeItems(changedItems: any): void; updateVisibleItems(): void; debounceResize(): void; onBlur(event: any): void; onKeyDown(event?: any): void; toggleDropdownVisibility(): void; onKeyDownDropdown(event: KeyboardEvent, index: number): void; openDropdown(toOpen: any): void; controlDropdownVisibility(toOpen: boolean): void; scrollToSelectedOptions(): void; setVisibleOptionsDropdown(options: any): void; changeSearch(event: any): void; focusOnFirstItem(): void; closeTag(value: any, event: any): void; /** * Método que exibe `p-helper` ou executa a ação definida em `p-helper{eventOnClick}` ou em `p-additionalHelp`. * Para isso, será necessário configurar uma tecla de atalho utilizando o evento `p-keydown`. * * > Exibe ou oculta o conteúdo do componente `po-helper` quando o componente estiver com foco. * * ``` * // Exemplo com p-label e p-helper * * ``` * ``` * ... * onKeyDown(event: KeyboardEvent, inp: PoMultiselectComponent): void { * if (event.code === 'F9') { * inp.showAdditionalHelp(); * } * } * ``` */ showAdditionalHelp(): boolean; wasClickedOnToggle(event: MouseEvent): void; applyFilter(value?: string): Observable>; setHelper(label?: string, additionalHelpTooltip?: string): { hideAdditionalHelp: boolean; helperSettings?: any; }; private applyFilterInFirstClick; private setOptionsByApplyFilter; private adjustContainerPosition; private close; private focusOnNextTag; private focusOnRemoveTag; handleKeyboardNavigationTag(initialIndex?: number): void; private setTabIndex; private handleArrowLeft; private handleArrowRight; private handleKeyDown; private initializeTagRemoveElements; private initializeListeners; private isAdditionalHelpEventTriggered; private readonly onScroll; private open; private removeListeners; private setContainerWidth; private setPositionDropdown; }