import { OnInit, EventEmitter, ElementRef, AfterViewInit } from "@angular/core"; import { FFileSelectDirective, FFileDropDirective } from "../../directive/index"; import { UploadOutput, UploadInput, UploadFile, UploaderOptions, FUploadFileExtend, DocMetaProperty } from "../../model/index"; import { FFileUploadAPIService, FFileUploaderService } from "../../service/index"; import { NotifyService } from "@farris/ui-notify"; import { Observable } from "rxjs"; import { NgZone } from "@angular/core"; export declare class FFileUploadComponent implements OnInit, AfterViewInit { private uploadAPISer; private fileUploaderSer; private notifyService; private ngZone; cls: boolean; readonly visibleState: boolean; readonly selfDirectiveDefine: boolean; readonly uploading: boolean; fFileUploadAssist: ElementRef; fFileUploadDir: any; fileUpload: FFileSelectDirective; fileDropUpload: FFileDropDirective; enableImagePreview: boolean; uploadImmediately: boolean; uploadedThenHide: boolean; disabled: boolean; /** 启用分块上传 */ enableSliceUpload: boolean; /** 分块上传每片大小,单位:M, 默认 1M/块 */ chunkSize: number; private tVisible; visible: any; needReset: Observable; enableDrop: boolean; dropText: string; enableSelect: boolean; selectText: string; multiple: boolean; uploadedCount: number; extendDatas: { [key: string]: any; extProperty?: DocMetaProperty | null; }; widthThreshold: number; fUploadDoneEvent: EventEmitter; fUploadRemovedEvent: EventEmitter; allowedContentTypes: string; maxUploads: number; maxFileSize: string; private selfUploadOpts; options: UploaderOptions; /** * 每个组可以设置特殊服务参数,来覆盖默认的统一模块级配置 */ extendServerConfig: any; files: UploadOutput[]; uploadSelectInput: EventEmitter; uploadDragInput: EventEmitter; showAppendPanel: boolean; showLoading: boolean; settings: { disabled: boolean; visible: boolean; }; localInfo: any; constructor(uploadAPISer: FFileUploadAPIService, fileUploaderSer: FFileUploaderService, notifyService: NotifyService, ngZone: NgZone); ngOnInit(): void; /** * 视图初始化后 */ ngAfterViewInit(): void; /** * 触发绑定 */ triggerFileSelect(ev: any): boolean; /** * 选择附件按钮,处理抛出事件 * @param output */ selectUploadOutput(output: UploadOutput): void; /** * 拖拽区域处理抛出事件 * @param output */ dropUploadOutput(output: UploadOutput): void; /** * allAddedToQueue 选中文件追加到队列 * @param output */ private uploadOutputHandler; private showNotify; private allFileUploaded; /** * 更新附件的状态 * @param output * @param eventType */ private updateFilesState; /**单个文件上传 */ startUpload(file: UploadFile): void; /** * 上传所有 */ startUploadAll(): void; /** * 已上传隐藏属性 */ hideAfterLoaded(output: UploadOutput): void; /** * 取消上传 */ cancelUpload(id: string): void; /** * 删除已上传文件 */ removelAllUpload(): void; /** * 删除已上传文件 */ removeFile(id: string): void; /** */ /** * * @param bytes */ formateBytes(bytes: any): string; /** * 判断是图片 * @param type */ isImage(type: any): boolean; /** * 是否判断有类型限制 */ judgeContentTypeLimit(): boolean; /** * 判断是否有文件大小的限制 */ judegeFileSizeLimit(): boolean; /** * 追加 */ appendNewFiles(ev: any): void; /** * 关闭追加面板 */ closeAppendPanel(): void; /** * 统一触发 附件选择和拖拽附件的事件 * @param ev */ private inputUploadEventEmit; reset(): void; /** * 计算阈值 */ private computeWidthThreshold; }