@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
122 lines • 8.82 kB
JavaScript
/**
* @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==