UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

139 lines 12.6 kB
/** * @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