UNPKG

ng-devui

Version:

DevUI components based on Angular

103 lines 13.2 kB
import { from, merge, of } from 'rxjs'; import { catchError, toArray } from 'rxjs/operators'; import { FileUploader } from './file-uploader.class'; import { UploadStatus } from './file-uploader.types'; export class UploadComponent { constructor() { this.fileUploaders = []; this.filesWithSameName = []; } addFile(file, options) { if (options && options.checkSameName) { if (this.checkFileSame(file.name)) { this.fileUploaders.push(new FileUploader(file, options)); } } else { this.fileUploaders.push(new FileUploader(file, options)); } } checkFileSame(fileName) { let checkRel = true; for (let i = 0; i < this.fileUploaders.length; i++) { if (fileName === this.fileUploaders[i].file.name) { checkRel = false; if (this.filesWithSameName.indexOf(fileName) === -1) { this.filesWithSameName.push(fileName); } break; } } return checkRel; } getFiles() { return this.fileUploaders.map((fileUploader) => { return fileUploader.file; }); } getFullFiles() { return this.fileUploaders.map((fileUploader) => { return fileUploader; }); } upload(oneFile, isMultipleUpload = false) { let uploads = []; if (oneFile) { oneFile.percentage = 0; uploads.push(from(oneFile.send())); } else { const preFiles = this.fileUploaders.filter((fileUploader) => fileUploader.status === UploadStatus.preLoad); const failedFiles = this.fileUploaders.filter((fileUploader) => fileUploader.status === UploadStatus.failed); const uploadFiles = preFiles.length > 0 ? preFiles : failedFiles; uploads = uploadFiles.map((fileUploader) => { fileUploader.percentage = 0; if (isMultipleUpload) { return from(fileUploader.sendMultiple()).pipe(catchError((error) => of(error))); } else { return from(fileUploader.send()); } }); } if (uploads.length > 0) { return merge(...uploads).pipe(toArray()); } return from(Promise.reject('no files')); } oneTimeUpload() { const uploads = this.fileUploaders.filter((fileUploader) => fileUploader.status !== UploadStatus.uploaded); return from(this.dealOneTimeUploadFiles(uploads)); } async dealOneTimeUploadFiles(uploads) { if (!uploads || !uploads.length) { return Promise.reject('no files'); } // 触发文件上传 let finalUploads = []; await uploads[0].send(uploads).finally(() => { finalUploads = uploads.map((file) => { file.status = uploads[0].status; file.percentage = uploads[0].percentage; return { file: file.file, response: uploads[0].response }; }); }); return finalUploads; } deleteFile(file) { this.fileUploaders = this.fileUploaders.filter((fileUploader) => { return file !== fileUploader.file; }); } removeFiles() { this.fileUploaders = []; this.filesWithSameName = []; } getSameNameFiles() { return this.filesWithSameName.join(); } resetSameNameFiles() { this.filesWithSameName = []; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2dWkvdXBsb2FkL3VwbG9hZC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0Usa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBQ3hDLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztJQTBHekIsQ0FBQztJQXhHQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU87UUFDbkIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsUUFBUTtRQUNwQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFF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QztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0b0FycmF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZGVyIH0gZnJvbSAnLi9maWxlLXVwbG9hZGVyLmNsYXNzJztcbmltcG9ydCB7IFVwbG9hZFN0YXR1cyB9IGZyb20gJy4vZmlsZS11cGxvYWRlci50eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQge1xuICBmaWxlVXBsb2FkZXJzOiBBcnJheTxGaWxlVXBsb2FkZXI+ID0gW107XG4gIGZpbGVzV2l0aFNhbWVOYW1lID0gW107XG5cbiAgYWRkRmlsZShmaWxlLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5jaGVja1NhbWVOYW1lKSB7XG4gICAgICBpZiAodGhpcy5jaGVja0ZpbGVTYW1lKGZpbGUubmFtZSkpIHtcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkZXJzLnB1c2gobmV3IEZpbGVVcGxvYWRlcihmaWxlLCBvcHRpb25zKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZGVycy5wdXNoKG5ldyBGaWxlVXBsb2FkZXIoZmlsZSwgb3B0aW9ucykpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrRmlsZVNhbWUoZmlsZU5hbWUpIHtcbiAgICBsZXQgY2hlY2tSZWwgPSB0cnVlO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZpbGVVcGxvYWRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChmaWxlTmFtZSA9PT0gdGhpcy5maWxlVXBsb2FkZXJzW2ldLmZpbGUubmFtZSkge1xuICAgICAgICBjaGVja1JlbCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5maWxlc1dpdGhTYW1lTmFtZS5pbmRleE9mKGZpbGVOYW1lKSA9PT0gLTEpIHtcbiAgICAgICAgICB0aGlzLmZpbGVzV2l0aFNhbWVOYW1lLnB1c2goZmlsZU5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hlY2tSZWw7XG4gIH1cblxuICBnZXRGaWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkZXJzLm1hcCgoZmlsZVVwbG9hZGVyKSA9PiB7XG4gICAgICByZXR1cm4gZmlsZVVwbG9hZGVyLmZpbGU7XG4gICAgfSk7XG4gIH1cblxuICBnZXRGdWxsRmlsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZGVycy5tYXAoKGZpbGVVcGxvYWRlcikgPT4ge1xuICAgICAgcmV0dXJuIGZpbGVVcGxvYWRlcjtcbiAgICB9KTtcbiAgfVxuXG4gIHVwbG9hZChvbmVGaWxlPywgaXNNdWx0aXBsZVVwbG9hZCA9IGZhbHNlKSB7XG4gICAgbGV0IHVwbG9hZHM6IGFueVtdID0gW107XG4gICAgaWYgKG9uZUZpbGUpIHtcbiAgICAgIG9uZUZpbGUucGVyY2VudGFnZSA9IDA7XG4gICAgICB1cGxvYWRzLnB1c2goZnJvbShvbmVGaWxlLnNlbmQoKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcmVGaWxlcyA9IHRoaXMuZmlsZVVwbG9hZGVycy5maWx0ZXIoKGZpbGVVcGxvYWRlcikgPT4gZmlsZVVwbG9hZGVyLnN0YXR1cyA9PT0gVXBsb2FkU3RhdHVzLnByZUxvYWQpO1xuICAgICAgY29uc3QgZmFpbGVkRmlsZXMgPSB0aGlzLmZpbGVVcGxvYWRlcnMuZmlsdGVyKChmaWxlVXBsb2FkZXIpID0+IGZpbGVVcGxvYWRlci5zdGF0dXMgPT09IFVwbG9hZFN0YXR1cy5mYWlsZWQpO1xuICAgICAgY29uc3QgdXBsb2FkRmlsZXMgPSBwcmVGaWxlcy5sZW5ndGggPiAwID8gcHJlRmlsZXMgOiBmYWlsZWRGaWxlcztcbiAgICAgIHVwbG9hZHMgPSB1cGxvYWRGaWxlcy5tYXAoKGZpbGVVcGxvYWRlcikgPT4ge1xuICAgICAgICBmaWxlVXBsb2FkZXIucGVyY2VudGFnZSA9IDA7XG4gICAgICAgIGlmIChpc011bHRpcGxlVXBsb2FkKSB7XG4gICAgICAgICAgcmV0dXJuIGZyb20oZmlsZVVwbG9hZGVyLnNlbmRNdWx0aXBsZSgpKS5waXBlKGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZihlcnJvcikpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZnJvbShmaWxlVXBsb2FkZXIuc2VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh1cGxvYWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBtZXJnZSguLi51cGxvYWRzKS5waXBlKHRvQXJyYXkoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyb20oUHJvbWlzZS5yZWplY3QoJ25vIGZpbGVzJykpO1xuICB9XG5cbiAgb25lVGltZVVwbG9hZCgpIHtcbiAgICBjb25zdCB1cGxvYWRzID0gdGhpcy5maWxlVXBsb2FkZXJzLmZpbHRlcigoZmlsZVVwbG9hZGVyKSA9PiBmaWxlVXBsb2FkZXIuc3RhdHVzICE9PSBVcGxvYWRTdGF0dXMudXBsb2FkZWQpO1xuICAgIHJldHVybiBmcm9tKHRoaXMuZGVhbE9uZVRpbWVVcGxvYWRGaWxlcyh1cGxvYWRzKSk7XG4gIH1cblxuICBhc3luYyBkZWFsT25lVGltZVVwbG9hZEZpbGVzKHVwbG9hZHMpIHtcbiAgICBpZiAoIXVwbG9hZHMgfHwgIXVwbG9hZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ25vIGZpbGVzJyk7XG4gICAgfVxuICAgIC8vIOinpuWPkeaWh+S7tuS4iuS8oFxuICAgIGxldCBmaW5hbFVwbG9hZHMgPSBbXTtcbiAgICBhd2FpdCB1cGxvYWRzWzBdLnNlbmQodXBsb2FkcykuZmluYWxseSgoKSA9PlxuICAgIC8vIOagueaNrnVwbG9hZHNbMF3nmoTkuIrkvKDnirbmgIHkuLrlhbbku5ZmaWxl6K6+572u54q25oCBXG4gICAge1xuICAgICAgZmluYWxVcGxvYWRzID0gdXBsb2Fkcy5tYXAoKGZpbGUpID0+IHtcbiAgICAgICAgZmlsZS5zdGF0dXMgPSB1cGxvYWRzWzBdLnN0YXR1cztcbiAgICAgICAgZmlsZS5wZXJjZW50YWdlID0gdXBsb2Fkc1swXS5wZXJjZW50YWdlO1xuICAgICAgICByZXR1cm4geyBmaWxlOiBmaWxlLmZpbGUsIHJlc3BvbnNlOiB1cGxvYWRzWzBdLnJlc3BvbnNlIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gZmluYWxVcGxvYWRzO1xuICB9XG5cbiAgZGVsZXRlRmlsZShmaWxlKSB7XG4gICAgdGhpcy5maWxlVXBsb2FkZXJzID0gdGhpcy5maWxlVXBsb2FkZXJzLmZpbHRlcigoZmlsZVVwbG9hZGVyKSA9PiB7XG4gICAgICByZXR1cm4gZmlsZSAhPT0gZmlsZVVwbG9hZGVyLmZpbGU7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVGaWxlcygpIHtcbiAgICB0aGlzLmZpbGVVcGxvYWRlcnMgPSBbXTtcbiAgICB0aGlzLmZpbGVzV2l0aFNhbWVOYW1lID0gW107XG4gIH1cblxuICBnZXRTYW1lTmFtZUZpbGVzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVzV2l0aFNhbWVOYW1lLmpvaW4oKTtcbiAgfVxuXG4gIHJlc2V0U2FtZU5hbWVGaWxlcygpIHtcbiAgICB0aGlzLmZpbGVzV2l0aFNhbWVOYW1lID0gW107XG4gIH1cbn1cbiJdfQ==