import { AfterViewInit, OnChanges, Renderer2, SimpleChanges } from '@angular/core';
import { PoProgressStatus } from '../../po-progress/enums/po-progress-status.enum';
import { PoButtonComponent } from './../../po-button/po-button.component';
import { PoModalAction, PoModalComponent } from '../../po-modal';
import { PoUploadBaseComponent } from './po-upload-base.component';
import { PoUploadFile } from './po-upload-file';
import { PoUploadStatus } from './po-upload-status.enum';
import { PoHelperComponent } from '../../po-helper';
/**
* @docsExtends PoUploadBaseComponent
*
* @example
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
export declare class PoUploadComponent extends PoUploadBaseComponent implements AfterViewInit, OnChanges {
renderer: Renderer2;
private readonly i18nPipe;
private readonly notification;
private readonly inputFile;
private readonly poUploadDragDropComponent;
uploadButton: PoButtonComponent;
modalComponent: PoModalComponent;
helperEl?: PoHelperComponent;
id: string;
infoByUploadStatus: {
[key: string]: {
text: (percent?: number) => string;
icon?: string;
};
};
progressStatusByFileStatus: {
0: PoProgressStatus;
2: PoProgressStatus;
};
private calledByCleanInputValue;
protected modalPrimaryAction: PoModalAction;
protected modalSecondaryAction: PoModalAction;
protected errorMessage: string;
protected tooltipTitle: string;
protected modalImageUrl: string;
protected errorModalImage: boolean;
constructor();
get displayDragDrop(): boolean;
get displaySendButton(): boolean;
get selectFileButtonLabel(): string;
get hasMoreThanFourItems(): boolean;
get hasMultipleFiles(): boolean;
get hasFileNotUploaded(): boolean;
get isDisabled(): boolean;
get isSelectButtonDisabled(): boolean;
get isFieldDisabled(): boolean;
get maxFiles(): number;
cancel(file: PoUploadFile, keydown?: KeyboardEvent): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
/** Método responsável por **limpar** o(s) arquivo(s) selecionado(s). */
clear(): 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 { PoUploadComponent } from '@po-ui/ng-components';
*
* ...
*
* @ViewChild(PoUploadComponent, { static: true }) upload: PoUploadComponent;
*
* focusUpload() {
* this.upload.focus();
* }
* ```
*/
focus(): void;
getAdditionalHelpTooltip(): string;
hasAnyFileUploading(files: Array): boolean;
isAllowCancelEvent(status: PoUploadStatus): status is PoUploadStatus.Uploading | PoUploadStatus.Error | PoUploadStatus.None;
onFileChange(event: any): void;
onFileChangeDragDrop(files: any): void;
onKeyDown(event: KeyboardEvent): void;
/**
* Método responsável por fechar o modal.
*/
closeModal(): void;
openModal(file: PoUploadFile, keydown?: KeyboardEvent): void;
removeFile(file: any): void;
/** Método responsável por **abrir** a janela para seleção de arquivo(s). */
selectFiles(): void;
sendFeedback(file?: any): void;
/** Método responsável por **enviar** o(s) arquivo(s) selecionado(s). */
sendFiles(): void;
setDirectoryAttribute(canHandleDirectory: boolean): 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: PoUploadComponent): void {
* if (event.code === 'F9') {
* inp.showAdditionalHelp();
* }
* }
* ```
*/
showAdditionalHelp(): boolean;
stopUpload(file: PoUploadFile): void;
trackByFn(index: any, file: PoUploadFile): string;
uploadFiles(files: Array): void;
customClick(file: PoUploadFile): void;
setHelper(label?: string, additionalHelpTooltip?: string): {
hideAdditionalHelp: boolean;
helperSettings?: any;
};
protected actionIsDisabled(action: any): any;
protected isActionVisible(action: any): boolean;
protected onImageError(file: any): void;
protected showTooltipText(e: MouseEvent, text: string): void;
private cleanInputValue;
private isAdditionalHelpEventTriggered;
private isUploadButtonFocused;
private responseHandler;
private setPipeArguments;
private setPrimaryActionModal;
private stopUploadHandler;
private updateFiles;
private updateModel;
private uploadingHandler;
private mapCleanUploadFiles;
}