UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

122 lines 8.82 kB
/** * @fileoverview added by tsickle * Generated from: upload.class.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { toArray } from 'rxjs/operators'; import { from, merge } from 'rxjs'; import { FileUploader } from './file-uploader.class'; import { UploadStatus } from './file-uploader.types'; export class UploadComponent { constructor() { this.fileUploaders = []; this.filesWithSameName = []; } /** * @param {?} file * @param {?} options * @return {?} */ addFile(file, options) { if (options.checkSameName) { if (this.checkFileSame(file.name)) { this.fileUploaders.push(new FileUploader(file, options)); } } else { this.fileUploaders.push(new FileUploader(file, options)); } } /** * @param {?} fileName * @return {?} */ checkFileSame(fileName) { /** @type {?} */ 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; } /** * @return {?} */ getFiles() { return this.fileUploaders.map((/** * @param {?} fileUploader * @return {?} */ fileUploader => { return fileUploader.file; })); } /** * @return {?} */ upload() { /** @type {?} */ const uploads = this.fileUploaders .filter((/** * @param {?} fileUploader * @return {?} */ (fileUploader) => fileUploader.status !== UploadStatus.uploaded)) .map((/** * @param {?} fileUploader * @return {?} */ (fileUploader) => { return from(fileUploader.send()); })); if (uploads.length > 0) { return merge(...uploads).pipe(toArray()); } return from(Promise.reject('no files')); } /** * @param {?} file * @return {?} */ deleteFile(file) { this.fileUploaders = this.fileUploaders.filter((/** * @param {?} fileUploader * @return {?} */ (fileUploader) => { return file !== fileUploader.file; })); } /** * @return {?} */ removeFiles() { this.fileUploaders = []; this.filesWithSameName = []; } /** * @return {?} */ getSameNameFiles() { return this.filesWithSameName.join(); } /** * @return {?} */ resetSameNameFiles() { this.filesWithSameName = []; } } if (false) { /** @type {?} */ UploadComponent.prototype.fileUploaders; /** @type {?} */ UploadComponent.prototype.filesWithSameName; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvdXBsb2FkLyIsInNvdXJjZXMiOlsidXBsb2FkLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5DLE9BQU8sRUFDTCxZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDRSxrQkFBYSxHQUF3QixFQUFFLENBQUM7UUFDeEMsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0lBNkR6QixDQUFDOzs7Ozs7SUE1REMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQ25CLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUMxRDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7Ozs7O0lBQ0QsYUFBYSxDQUFDLFFBQVE7O1lBQ2hCLFFBQVEsR0FBRyxJQUFJO1FBRW5CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsRCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hELFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDbkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDdkM7Z0JBQ0QsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHOzs7O1FBQUMsWUFBWSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELE1BQU07O2NBQ0UsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhO2FBQy9CLE1BQU07Ozs7UUFBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsUUFBUSxFQUFDO2FBQ3ZFLEdBQUc7Ozs7UUFBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFBQztRQUVKLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUMxQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxJQUFJO1FBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzlELE9BQU8sSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7OztJQUNELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7Ozs7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7OztJQTlEQyx3Q0FBd0M7O0lBQ3hDLDRDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGZyb20sIG1lcmdlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZpbGVVcGxvYWRlclxyXG59IGZyb20gJy4vZmlsZS11cGxvYWRlci5jbGFzcyc7XHJcbmltcG9ydCB7IFVwbG9hZFN0YXR1cyB9IGZyb20gJy4vZmlsZS11cGxvYWRlci50eXBlcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgVXBsb2FkQ29tcG9uZW50IHtcclxuICBmaWxlVXBsb2FkZXJzOiBBcnJheTxGaWxlVXBsb2FkZXI+ID0gW107XHJcbiAgZmlsZXNXaXRoU2FtZU5hbWUgPSBbXTtcclxuICBhZGRGaWxlKGZpbGUsIG9wdGlvbnMpIHtcclxuICAgIGlmIChvcHRpb25zLmNoZWNrU2FtZU5hbWUpIHtcclxuICAgICAgaWYgKHRoaXMuY2hlY2tGaWxlU2FtZShmaWxlLm5hbWUpKSB7XHJcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkZXJzLnB1c2gobmV3IEZpbGVVcGxvYWRlcihmaWxlLCBvcHRpb25zKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZGVycy5wdXNoKG5ldyBGaWxlVXBsb2FkZXIoZmlsZSwgb3B0aW9ucykpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja0ZpbGVTYW1lKGZpbGVOYW1lKSB7XHJcbiAgICBsZXQgY2hlY2tSZWwgPSB0cnVlO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maWxlVXBsb2FkZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChmaWxlTmFtZSA9PT0gdGhpcy5maWxlVXBsb2FkZXJzW2ldLmZpbGUubmFtZSkge1xyXG4gICAgICAgIGNoZWNrUmVsID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZXNXaXRoU2FtZU5hbWUuaW5kZXhPZihmaWxlTmFtZSkgPT09IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzV2l0aFNhbWVOYW1lLnB1c2goZmlsZU5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNoZWNrUmVsO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmlsZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWxlVXBsb2FkZXJzLm1hcChmaWxlVXBsb2FkZXIgPT4ge1xyXG4gICAgICByZXR1cm4gZmlsZVVwbG9hZGVyLmZpbGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwbG9hZCgpIHtcclxuICAgIGNvbnN0IHVwbG9hZHMgPSB0aGlzLmZpbGVVcGxvYWRlcnNcclxuICAgICAgLmZpbHRlcigoZmlsZVVwbG9hZGVyKSA9PiBmaWxlVXBsb2FkZXIuc3RhdHVzICE9PSBVcGxvYWRTdGF0dXMudXBsb2FkZWQpXHJcbiAgICAgIC5tYXAoKGZpbGVVcGxvYWRlcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBmcm9tKGZpbGVVcGxvYWRlci5zZW5kKCkpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodXBsb2Fkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBtZXJnZSguLi51cGxvYWRzKS5waXBlKHRvQXJyYXkoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZyb20oUHJvbWlzZS5yZWplY3QoJ25vIGZpbGVzJykpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRmlsZShmaWxlKSB7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRlcnMgPSB0aGlzLmZpbGVVcGxvYWRlcnMuZmlsdGVyKChmaWxlVXBsb2FkZXIpID0+IHtcclxuICAgICAgcmV0dXJuIGZpbGUgIT09IGZpbGVVcGxvYWRlci5maWxlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZGVycyA9IFtdO1xyXG4gICAgdGhpcy5maWxlc1dpdGhTYW1lTmFtZSA9IFtdO1xyXG4gIH1cclxuICBnZXRTYW1lTmFtZUZpbGVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsZXNXaXRoU2FtZU5hbWUuam9pbigpO1xyXG4gIH1cclxuICByZXNldFNhbWVOYW1lRmlsZXMoKSB7XHJcbiAgICB0aGlzLmZpbGVzV2l0aFNhbWVOYW1lID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==