@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
139 lines • 12.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: file-uploader.class.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { UploadStatus } from './file-uploader.types';
var FileUploader = /** @class */ (function () {
function FileUploader(file, uploadOptions) {
this.file = file;
this.uploadOptions = uploadOptions;
this.percentage = 0;
this.file = file;
this.uploadOptions = uploadOptions;
this.status = UploadStatus.preLoad;
}
/**
* @return {?}
*/
FileUploader.prototype.send = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
function (resolve, reject) {
var _a = _this.uploadOptions, uri = _a.uri, method = _a.method, headers = _a.headers, authToken = _a.authToken, authTokenHeader = _a.authTokenHeader, additionalParameter = _a.additionalParameter, fileFieldName = _a.fileFieldName, withCredentials = _a.withCredentials;
/** @type {?} */
var authTokenHeader_ = authTokenHeader || 'Authorization';
/** @type {?} */
var fileFieldName_ = fileFieldName || 'file';
_this.xhr = new XMLHttpRequest();
_this.xhr.open(method || 'POST', uri);
if (withCredentials) {
_this.xhr.withCredentials = withCredentials;
}
if (authToken) {
_this.xhr.setRequestHeader(authTokenHeader_, authToken);
}
if (headers) {
Object.keys(headers).forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
_this.xhr.setRequestHeader(key, headers[key]);
}));
}
_this.xhr.upload.onprogress = (/**
* @param {?} e
* @return {?}
*/
function (e) {
_this.percentage = Math.round(e.loaded * 100 / e.total);
});
/** @type {?} */
var formData = new FormData();
formData.append(fileFieldName_, _this.file);
if (additionalParameter) {
Object.keys(additionalParameter).forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
formData.append(key, additionalParameter[key]);
}));
}
_this.xhr.send(formData);
_this.status = UploadStatus.uploading;
_this.xhr.onabort = (/**
* @return {?}
*/
function () {
_this.status = UploadStatus.preLoad;
_this.xhr = null;
});
_this.xhr.onerror = (/**
* @return {?}
*/
function () {
_this.response = _this.xhr.response;
_this.status = UploadStatus.failed;
reject(new Error('Upload failed in some reason.'));
});
_this.xhr.onload = (/**
* @return {?}
*/
function () {
if (_this.xhr.readyState === 4 && _this.xhr.status >= 200 && _this.xhr.status < 300) {
_this.response = _this.xhr.response;
_this.status = UploadStatus.uploaded;
resolve({ file: _this.file, response: _this.xhr.response });
}
else {
_this.response = _this.xhr.response;
_this.status = UploadStatus.failed;
reject({ file: _this.file, response: _this.xhr.response });
}
});
}));
};
/**
* @return {?}
*/
FileUploader.prototype.cancel = /**
* @return {?}
*/
function () {
if (this.xhr) {
this.xhr.abort();
}
};
return FileUploader;
}());
export { FileUploader };
if (false) {
/**
* @type {?}
* @private
*/
FileUploader.prototype.xhr;
/** @type {?} */
FileUploader.prototype.status;
/** @type {?} */
FileUploader.prototype.response;
/** @type {?} */
FileUploader.prototype.percentage;
/** @type {?} */
FileUploader.prototype.file;
/**
* @type {?}
* @private
*/
FileUploader.prototype.uploadOptions;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL3VwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNiLE1BQU0sdUJBQXVCLENBQUM7QUFFL0I7SUFNRSxzQkFBbUIsSUFBVSxFQUNuQixhQUE2QjtRQURwQixTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ25CLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUhoQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBSXBCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDOzs7O0lBRU0sMkJBQUk7OztJQUFYO1FBQUEsaUJBc0VDO1FBckVDLE9BQU8sSUFBSSxPQUFPOzs7OztRQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDM0IsSUFBQSx3QkFTZ0IsRUFScEIsWUFBRyxFQUNILGtCQUFNLEVBQ04sb0JBQU8sRUFDUCx3QkFBUyxFQUNULG9DQUFlLEVBQ2YsNENBQW1CLEVBQ25CLGdDQUFhLEVBQ2Isb0NBQ29COztnQkFDaEIsZ0JBQWdCLEdBQUcsZUFBZSxJQUFJLGVBQWU7O2dCQUNyRCxjQUFjLEdBQUcsYUFBYSxJQUFJLE1BQU07WUFFOUMsS0FBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLEtBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFckMsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLEtBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQzthQUM1QztZQUVELElBQUksU0FBUyxF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QztRQUNKLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVNLDZCQUFNOzs7SUFBYjtRQUNFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBMUZELElBMEZDOzs7Ozs7O0lBekZDLDJCQUE0Qjs7SUFDNUIsOEJBQTRCOztJQUM1QixnQ0FBcUI7O0lBQ3JCLGtDQUFzQjs7SUFFViw0QkFBaUI7Ozs7O0lBQzNCLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSVVwbG9hZE9wdGlvbnMsXHJcbiAgVXBsb2FkU3RhdHVzXHJcbn0gZnJvbSAnLi9maWxlLXVwbG9hZGVyLnR5cGVzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkZXIge1xyXG4gIHByaXZhdGUgeGhyOiBYTUxIdHRwUmVxdWVzdDtcclxuICBwdWJsaWMgc3RhdHVzOiBVcGxvYWRTdGF0dXM7XHJcbiAgcHVibGljIHJlc3BvbnNlOiBhbnk7XHJcbiAgcHVibGljIHBlcmNlbnRhZ2UgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmlsZTogRmlsZSxcclxuICAgIHByaXZhdGUgdXBsb2FkT3B0aW9uczogSVVwbG9hZE9wdGlvbnMpIHtcclxuICAgIHRoaXMuZmlsZSA9IGZpbGU7XHJcbiAgICB0aGlzLnVwbG9hZE9wdGlvbnMgPSB1cGxvYWRPcHRpb25zO1xyXG4gICAgdGhpcy5zdGF0dXMgPSBVcGxvYWRTdGF0dXMucHJlTG9hZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kKCk6IFByb21pc2U8eyBmaWxlOiBGaWxlLCByZXNwb25zZTogYW55IH0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICB1cmksXHJcbiAgICAgICAgbWV0aG9kLFxyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgICAgYXV0aFRva2VuLFxyXG4gICAgICAgIGF1dGhUb2tlbkhlYWRlcixcclxuICAgICAgICBhZGRpdGlvbmFsUGFyYW1ldGVyLFxyXG4gICAgICAgIGZpbGVGaWVsZE5hbWUsXHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzXHJcbiAgICAgIH0gPSB0aGlzLnVwbG9hZE9wdGlvbnM7XHJcbiAgICAgIGNvbnN0IGF1dGhUb2tlbkhlYWRlcl8gPSBhdXRoVG9rZW5IZWFkZXIgfHwgJ0F1dGhvcml6YXRpb24nO1xyXG4gICAgICBjb25zdCBmaWxlRmllbGROYW1lXyA9IGZpbGVGaWVsZE5hbWUgfHwgJ2ZpbGUnO1xyXG5cclxuICAgICAgdGhpcy54aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgICAgdGhpcy54aHIub3BlbihtZXRob2QgfHwgJ1BPU1QnLCB1cmkpO1xyXG5cclxuICAgICAgaWYgKHdpdGhDcmVkZW50aWFscykge1xyXG4gICAgICAgIHRoaXMueGhyLndpdGhDcmVkZW50aWFscyA9IHdpdGhDcmVkZW50aWFscztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGF1dGhUb2tlbikge1xyXG4gICAgICAgIHRoaXMueGhyLnNldFJlcXVlc3RIZWFkZXIoYXV0aFRva2VuSGVhZGVyXywgYXV0aFRva2VuKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhoZWFkZXJzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgIHRoaXMueGhyLnNldFJlcXVlc3RIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnhoci51cGxvYWQub25wcm9ncmVzcyA9IGUgPT4ge1xyXG4gICAgICAgIHRoaXMucGVyY2VudGFnZSA9IE1hdGgucm91bmQoZS5sb2FkZWQgKiAxMDAgLyBlLnRvdGFsKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChmaWxlRmllbGROYW1lXywgdGhpcy5maWxlKTtcclxuICAgICAgaWYgKGFkZGl0aW9uYWxQYXJhbWV0ZXIpIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhhZGRpdGlvbmFsUGFyYW1ldGVyKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGtleSwgYWRkaXRpb25hbFBhcmFtZXRlcltrZXldKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy54aHIuc2VuZChmb3JtRGF0YSk7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gVXBsb2FkU3RhdHVzLnVwbG9hZGluZztcclxuXHJcbiAgICAgIHRoaXMueGhyLm9uYWJvcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBVcGxvYWRTdGF0dXMucHJlTG9hZDtcclxuICAgICAgICB0aGlzLnhociA9IG51bGw7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLnhoci5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2UgPSB0aGlzLnhoci5yZXNwb25zZTtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9IFVwbG9hZFN0YXR1cy5mYWlsZWQ7XHJcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignVXBsb2FkIGZhaWxlZCBpbiBzb21lIHJlYXNvbi4nKSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLnhoci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMueGhyLnJlYWR5U3RhdGUgPT09IDQgJiYgdGhpcy54aHIuc3RhdHVzID49IDIwMCAmJiB0aGlzLnhoci5zdGF0dXMgPCAzMDApIHtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2UgPSB0aGlzLnhoci5yZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuc3RhdHVzID0gVXBsb2FkU3RhdHVzLnVwbG9hZGVkO1xyXG4gICAgICAgICAgcmVzb2x2ZSh7IGZpbGU6IHRoaXMuZmlsZSwgcmVzcG9uc2U6IHRoaXMueGhyLnJlc3BvbnNlIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3BvbnNlID0gdGhpcy54aHIucmVzcG9uc2U7XHJcbiAgICAgICAgICB0aGlzLnN0YXR1cyA9IFVwbG9hZFN0YXR1cy5mYWlsZWQ7XHJcbiAgICAgICAgICByZWplY3QoeyBmaWxlOiB0aGlzLmZpbGUsIHJlc3BvbnNlOiB0aGlzLnhoci5yZXNwb25zZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWwoKSB7XHJcbiAgICBpZiAodGhpcy54aHIpIHtcclxuICAgICAgdGhpcy54aHIuYWJvcnQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19