@gsp-svc/formdoc-upload 0.1.35 → 0.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,14 +5,16 @@
5
5
  import { Injectable } from '@angular/core';
6
6
  import { HttpService } from '@ecp-caf/caf-common';
7
7
  import { catchError, tap } from 'rxjs/operators';
8
+ import { HttpClient } from '@angular/common/http';
8
9
  import { GspFormRemoveListEntity } from './entity/gspformremovelistentity';
9
10
  import { of } from 'rxjs/observable/of';
10
11
  import { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';
11
12
  import { ChangeInstanceRequest } from './entity/changeinstancerequest';
12
13
  import { OperatingModes } from './entity/operatingmodes';
13
14
  var UploadService = /** @class */ (function () {
14
- function UploadService(http) {
15
+ function UploadService(http, httpclient) {
15
16
  this.http = http;
17
+ this.httpclient = httpclient;
16
18
  }
17
19
  /**
18
20
  * @param {?} docListInfo
@@ -160,6 +162,30 @@ var UploadService = /** @class */ (function () {
160
162
  return of(error);
161
163
  })));
162
164
  };
165
+ /**
166
+ * @param {?} formdata
167
+ * @return {?}
168
+ */
169
+ UploadService.prototype.uploadSliceFile = /**
170
+ * @param {?} formdata
171
+ * @return {?}
172
+ */
173
+ function (formdata) {
174
+ /** @type {?} */
175
+ var url = "/api/runtime/dfs/v1.0/formdoc/slice";
176
+ //url = "/api/runtime/dfs/v1.0/formdoc/list";
177
+ return this.httpclient.post(url, formdata).pipe(tap((/**
178
+ * @param {?} res
179
+ * @return {?}
180
+ */
181
+ function (res) { })), catchError((/**
182
+ * @param {?} error
183
+ * @return {?}
184
+ */
185
+ function (error) {
186
+ return of(error);
187
+ })));
188
+ };
163
189
  /**
164
190
  * @return {?}
165
191
  */
@@ -348,7 +374,8 @@ var UploadService = /** @class */ (function () {
348
374
  ];
349
375
  /** @nocollapse */
350
376
  UploadService.ctorParameters = function () { return [
351
- { type: HttpService }
377
+ { type: HttpService },
378
+ { type: HttpClient }
352
379
  ]; };
353
380
  return UploadService;
354
381
  }());
@@ -359,5 +386,10 @@ if (false) {
359
386
  * @private
360
387
  */
361
388
  UploadService.prototype.http;
389
+ /**
390
+ * @type {?}
391
+ * @private
392
+ */
393
+ UploadService.prototype.httpclient;
362
394
  }
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3NwLXN2Yy9mb3JtZG9jLXVwbG9hZC8iLCJzb3VyY2VzIjpbImxpYi91cGxvYWQvdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSTNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RDtJQUdFLHVCQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUksQ0FBQzs7Ozs7O0lBRTFDLGtDQUFVOzs7OztJQUFWLFVBQVcsV0FBb0MsRUFBRSxNQUFjOztZQUN6RCxHQUFHO1FBQ1AsV0FBVyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFNUIsR0FBRyxHQUFHLG9DQUFvQyxDQUFDO1FBQzNDLDZDQUE2QztRQUU3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdBQUc7Ozs7UUFBQyxVQUFBLEdBQUcsSUFBTSxDQUFDLEVBQUMsRUFDZixVQUFVOzs7O1FBQUMsVUFBQyxLQUF3QjtZQUNsQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLEVB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LElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHOzs7O1FBQUMsVUFBQSxHQUFHLElBQU0sQ0FBQyxFQUFDLEVBQ2YsVUFBVTs7OztRQUFDLFVBQUMsS0FBd0I7WUFDbEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7O0lBRUQscUNBQWE7Ozs7SUFBYixVQUFjLEVBQVU7O1lBQ2xCLEdBQUcsR0FBRyxtQ0FBbUMsR0FBRyxFQUFFO1FBRWxELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHOzs7O1FBQUMsVUFBQSxHQUFHLElBQU0sQ0FBQyxFQUFDLEVBQ2YsVUFBVTs7OztRQUFDLFVBQUMsS0FBd0I7WUFDbEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7O2dCQTlKRixVQUFVOzs7O2dCQWpCRixXQUFXOztJQWlMcEIsb0JBQUM7Q0FBQSxBQWhLRCxJQWdLQztTQS9KWSxhQUFhOzs7Ozs7SUFFWiw2QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHc3BGb3JtVXBsb2FkTGlzdEVudGl0eSB9IGZyb20gJy4vZW50aXR5L2dzcGZvcm11cGxvYWRsaXN0ZW50aXR5JztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnQGVjcC1jYWYvY2FmLWNvbW1vbic7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEdzcEZvcm1SZW1vdmVMaXN0RW50aXR5IH0gZnJvbSAnLi9lbnRpdHkvZ3NwZm9ybXJlbW92ZWxpc3RlbnRpdHknO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHsgR3NwRm9ybURvY09wZXJhdGVFbnRpdHkgfSBmcm9tICcuL2VudGl0eS9nc3Bmb3JtZG9jb3BlcmF0ZWVudGl0eSc7XG5cbmltcG9ydCB7IEdzcEZvcm1VcGxvYWRFbnRpdHkgfSBmcm9tICcuL2VudGl0eS9nc3Bmb3JtdXBsb2FkZW50aXR5JztcbmltcG9ydCB7IEV4U3RvcmFnZUZpbGVJbmZvIH0gZnJvbSAnLi9lbnRpdHkvZXh0ZW5zaW9uc3RvcmFnZWZpbGVpbmZvJztcbmltcG9ydCB7IENoYW5nZUluc3RhbmNlUmVxdWVzdCB9IGZyb20gJy4vZW50aXR5L2NoYW5nZWluc3RhbmNlcmVxdWVzdCc7XG5pbXBvcnQgeyBPcGVyYXRpbmdNb2RlcyB9IGZyb20gJy4vZW50aXR5L29wZXJhdGluZ21vZGVzJztcbmltcG9ydCB7IEdzcERvY1NlY3VyaXR5QmFzZUluZm8gfSBmcm9tICcuL2VudGl0eS9nc3Bkb2NzZWN1cml0eW5hc2VpbmZvJztcbmltcG9ydCB7IFVwbG9hZEZpbGVJbmZvIH0gZnJvbSAnLi9lbnRpdHkvdXBsb2FkZmlsZWluZm8nO1xuaW1wb3J0IHsgRXhQcm9wZXJ0eVJlcXVlc3QgfSBmcm9tICcuL2VudGl0eS9leHByb3BlcnR5cmVxdWVzdCc7XG5cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXBsb2FkU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSkgeyB9XG5cbiAgdXBsb2FkTGlzdChkb2NMaXN0SW5mbzogR3NwRm9ybVVwbG9hZExpc3RFbnRpdHksIHJvb3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsO1xuICAgIGRvY0xpc3RJbmZvLnJvb3RJZCA9IHJvb3RJZDtcblxuICAgIHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuICAgIC8vdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9saXN0XCI7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBkb2NMaXN0SW5mbykucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cblxuICBjb21taXQobWV0YWRhdGFJZExpc3Q6IHN0cmluZ1tdLCByb290SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybDtcbiAgICBsZXQgZW50aXR5OiBHc3BGb3JtRG9jT3BlcmF0ZUVudGl0eSA9IG5ldyBHc3BGb3JtRG9jT3BlcmF0ZUVudGl0eTtcbiAgICBlbnRpdHkubWV0YWRhdGFJZExpc3QgPSBtZXRhZGF0YUlkTGlzdDtcbiAgICBlbnRpdHkucm9vdElkID0gcm9vdElkO1xuICAgIHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvY29tbWl0XCI7XG4gICAgLy91cmwgPSBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2NvbW1pdFwiO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZW50aXR5KS5waXBlKCk7XG4gIH1cblxuICBjYW5jZWwobWV0YWRhdGFJZExpc3Q6IHN0cmluZ1tdLCByb290SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybDtcbiAgICBsZXQgZW50aXR5OiBHc3BGb3JtRG9jT3BlcmF0ZUVudGl0eSA9IG5ldyBHc3BGb3JtRG9jT3BlcmF0ZUVudGl0eTtcbiAgICBlbnRpdHkubWV0YWRhdGFJZExpc3QgPSBtZXRhZGF0YUlkTGlzdDtcbiAgICBlbnRpdHkucm9vdElkID0gcm9vdElkO1xuICAgIHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvY2FuY2VsXCI7XG4gICAgLy91cmwgPSBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2NhbmNlbFwiO1xuICAgIC8vbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJTZXNzaW9uSWRcIixcImh1b2xpYW5nXCIpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgZW50aXR5KS5waXBlKCk7XG4gIH1cblxuICByZW1vdmVMaXN0KGlkTGlzdDogc3RyaW5nW10sIHJvb3RJZDogc3RyaW5nKSB7XG4gICAgbGV0IHVybDtcbiAgICAvL3VybCA9IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuICAgIHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuICAgIHZhciBpZExpc3RJbmZvID0gbmV3IEdzcEZvcm1SZW1vdmVMaXN0RW50aXR5O1xuICAgIGlkTGlzdEluZm8ubWV0YWRhdGFJZExpc3QgPSBpZExpc3Q7XG4gICAgaWRMaXN0SW5mby5tb2RlID0gT3BlcmF0aW5nTW9kZXMuVGVtcDtcbiAgICBpZExpc3RJbmZvLnJvb3RJZCA9IHJvb3RJZDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh1cmwsIGlkTGlzdEluZm8pLnBpcGUoKTtcbiAgfVxuXG4gIGdldEZpbGUobWV0YWRhdGFJZDogc3RyaW5nLCByb290SWQ6IHN0cmluZykge1xuXG4gICAgbGV0IHVybDtcbiAgICBpZiAocm9vdElkID09IFwiXCIpXG4gICAgICB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2ZpbGUvXCIgKyBtZXRhZGF0YUlkO1xuICAgIGVsc2VcbiAgICAgIHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvZmlsZS9cIiArIG1ldGFkYXRhSWQgKyBcIi9cIiArIHJvb3RJZDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUodGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG5cbiAgfVxuXG4gIHVwbG9hZEZpbGUoZG9jSW5mbzogR3NwRm9ybVVwbG9hZEVudGl0eSk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBsZXQgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvY1wiO1xuICAgIC8vdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9saXN0XCI7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBkb2NJbmZvKS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG4gIH1cblxuXG4gIGdldFN0b3JhZ2VFeHRlbnNpb25JbmZvKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL3N0b3JhZ2VzdHJhdGVneS9leHRlbnNpb25cIjtcbiAgICAvL3VybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG4gIH1cblxuICBnZXRTZWN1cml0eUluZm9MaXN0KGJhc2VJbmZvOiBHc3BEb2NTZWN1cml0eUJhc2VJbmZvKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvc3RvcmFnZXN0cmF0ZWd5L3NlY3VyaXR5XCI7XG4gICAgdXJsID0gdXJsICsgXCI/aWQ9XCIgKyBiYXNlSW5mby5zZWN1cml0eUlkICsgXCImbGV2ZWw9XCIgKyBiYXNlSW5mby5zZWN1cml0eUxldmVsO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG4gIH1cblxuICBjaGFuZ2VTdG9yYWdlSW5zdGFuY2Uoc3RvcmFnZUluZm9MaXN0OiBFeFN0b3JhZ2VGaWxlSW5mb1tdLCByb290SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvY2hhbmdlaW5zdGFuY2VcIjtcbiAgICBsZXQgcmVxdWVzdDogQ2hhbmdlSW5zdGFuY2VSZXF1ZXN0ID0gbmV3IENoYW5nZUluc3RhbmNlUmVxdWVzdDtcbiAgICByZXF1ZXN0LmZpbGVJbmZvTGlzdCA9IHN0b3JhZ2VJbmZvTGlzdDtcbiAgICByZXF1ZXN0LnJvb3RJZCA9IHJvb3RJZDtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCByZXF1ZXN0KS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG4gIH1cblxuICBzYXZlU2VjdXJpdHlJbmZvKHVwbG9hZEZpbGVJbmZvTGlzdDogVXBsb2FkRmlsZUluZm9bXSwgcm9vdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9kb2MvZXhwcm9wZXJ0eVwiO1xuICAgIGxldCByZXFMaXN0OiBFeFByb3BlcnR5UmVxdWVzdFtdID0gW107XG4gICAgdXBsb2FkRmlsZUluZm9MaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBsZXQgcmVxdWVzdDogRXhQcm9wZXJ0eVJlcXVlc3QgPSB7IGlkOiBlbGVtZW50Lm1ldGFkYXRhSWQsIHJvb3RJZDogcm9vdElkLCBleFByb3BlcnR5OiBKU09OLnN0cmluZ2lmeShlbGVtZW50LnNlY3VyaXR5SW5mbykgfTtcbiAgICAgIHJlcUxpc3QucHVzaChyZXF1ZXN0KTtcbiAgICB9KVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHJlcUxpc3QpLnBpcGUoXG4gICAgICB0YXAocmVzID0+IHsgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgIH0pKVxuICB9XG5cblxuICBnZXRVcGxvYWRlZEZpbGVJbmZvTGlzdChmb3JtSWQ6IHN0cmluZywgcm9vdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL3VwbG9hZGVkZmlsZS9pbmZvbGlzdFwiICsgXCI/Zm9ybWlkPVwiICsgZm9ybUlkICsgXCImcm9vdGlkPVwiICsgcm9vdElkO1xuICAgIC8vdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9saXN0XCI7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICB0YXAocmVzID0+IHsgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIGdldFJvb3RTZXR0aW5nKHJvb3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvcm9vdHNldHRpbmcvXCIgKyByb290SWQ7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICB0YXAocmVzID0+IHsgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIGdldFZhbGlkYXRpb24oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL3ZhbGlkYXRpb24vXCIgKyBpZDtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cbn1cbiJdfQ==
395
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3NwLXN2Yy9mb3JtZG9jLXVwbG9hZC8iLCJzb3VyY2VzIjpbImxpYi91cGxvYWQvdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3pEO0lBR0UsdUJBQW9CLElBQWlCLEVBQVUsVUFBc0I7UUFBakQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBSSxDQUFDOzs7Ozs7SUFFMUUsa0NBQVU7Ozs7O0lBQVYsVUFBVyxXQUFvQyxFQUFFLE1BQWM7O1lBQ3pELEdBQUc7UUFDUCxXQUFXLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUU1QixHQUFHLEdBQUcsb0NBQW9DLENBQUM7UUFDM0MsNkNBQTZDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRzs7OztRQUFDLFVBQUEsR0FBRyxJQUFNLENBQUMsRUFB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S1ksYUFBYTs7Ozs7O0lBRVosNkJBQXlCOzs7OztJQUFFLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdzcEZvcm1VcGxvYWRMaXN0RW50aXR5IH0gZnJvbSAnLi9lbnRpdHkvZ3NwZm9ybXVwbG9hZGxpc3RlbnRpdHknO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICdAZWNwLWNhZi9jYWYtY29tbW9uJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgR3NwRm9ybVJlbW92ZUxpc3RFbnRpdHkgfSBmcm9tICcuL2VudGl0eS9nc3Bmb3JtcmVtb3ZlbGlzdGVudGl0eSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZS9vZic7XG5pbXBvcnQgeyBHc3BGb3JtRG9jT3BlcmF0ZUVudGl0eSB9IGZyb20gJy4vZW50aXR5L2dzcGZvcm1kb2NvcGVyYXRlZW50aXR5JztcblxuaW1wb3J0IHsgR3NwRm9ybVVwbG9hZEVudGl0eSB9IGZyb20gJy4vZW50aXR5L2dzcGZvcm11cGxvYWRlbnRpdHknO1xuaW1wb3J0IHsgRXhTdG9yYWdlRmlsZUluZm8gfSBmcm9tICcuL2VudGl0eS9leHRlbnNpb25zdG9yYWdlZmlsZWluZm8nO1xuaW1wb3J0IHsgQ2hhbmdlSW5zdGFuY2VSZXF1ZXN0IH0gZnJvbSAnLi9lbnRpdHkvY2hhbmdlaW5zdGFuY2VyZXF1ZXN0JztcbmltcG9ydCB7IE9wZXJhdGluZ01vZGVzIH0gZnJvbSAnLi9lbnRpdHkvb3BlcmF0aW5nbW9kZXMnO1xuaW1wb3J0IHsgR3NwRG9jU2VjdXJpdHlCYXNlSW5mbyB9IGZyb20gJy4vZW50aXR5L2dzcGRvY3NlY3VyaXR5bmFzZWluZm8nO1xuaW1wb3J0IHsgVXBsb2FkRmlsZUluZm8gfSBmcm9tICcuL2VudGl0eS91cGxvYWRmaWxlaW5mbyc7XG5pbXBvcnQgeyBFeFByb3BlcnR5UmVxdWVzdCB9IGZyb20gJy4vZW50aXR5L2V4cHJvcGVydHlyZXF1ZXN0JztcblxuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGxvYWRTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLCBwcml2YXRlIGh0dHBjbGllbnQ6IEh0dHBDbGllbnQpIHsgfVxuXG4gIHVwbG9hZExpc3QoZG9jTGlzdEluZm86IEdzcEZvcm1VcGxvYWRMaXN0RW50aXR5LCByb290SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybDtcbiAgICBkb2NMaXN0SW5mby5yb290SWQgPSByb290SWQ7XG5cbiAgICB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2xpc3RcIjtcbiAgICAvL3VybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZG9jTGlzdEluZm8pLnBpcGUoXG4gICAgICB0YXAocmVzID0+IHsgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgIH0pKTtcbiAgfVxuXG5cbiAgY29tbWl0KG1ldGFkYXRhSWRMaXN0OiBzdHJpbmdbXSwgcm9vdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmw7XG4gICAgbGV0IGVudGl0eTogR3NwRm9ybURvY09wZXJhdGVFbnRpdHkgPSBuZXcgR3NwRm9ybURvY09wZXJhdGVFbnRpdHk7XG4gICAgZW50aXR5Lm1ldGFkYXRhSWRMaXN0ID0gbWV0YWRhdGFJZExpc3Q7XG4gICAgZW50aXR5LnJvb3RJZCA9IHJvb3RJZDtcbiAgICB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2NvbW1pdFwiO1xuICAgIC8vdXJsID0gXCJodHRwOi8vbG9jYWxob3N0OjUwMDAvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9jb21taXRcIjtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGVudGl0eSkucGlwZSgpO1xuICB9XG5cbiAgY2FuY2VsKG1ldGFkYXRhSWRMaXN0OiBzdHJpbmdbXSwgcm9vdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmw7XG4gICAgbGV0IGVudGl0eTogR3NwRm9ybURvY09wZXJhdGVFbnRpdHkgPSBuZXcgR3NwRm9ybURvY09wZXJhdGVFbnRpdHk7XG4gICAgZW50aXR5Lm1ldGFkYXRhSWRMaXN0ID0gbWV0YWRhdGFJZExpc3Q7XG4gICAgZW50aXR5LnJvb3RJZCA9IHJvb3RJZDtcbiAgICB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2NhbmNlbFwiO1xuICAgIC8vdXJsID0gXCJodHRwOi8vbG9jYWxob3N0OjUwMDAvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9jYW5jZWxcIjtcbiAgICAvL2xvY2FsU3RvcmFnZS5zZXRJdGVtKFwiU2Vzc2lvbklkXCIsXCJodW9saWFuZ1wiKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGVudGl0eSkucGlwZSgpO1xuICB9XG5cbiAgcmVtb3ZlTGlzdChpZExpc3Q6IHN0cmluZ1tdLCByb290SWQ6IHN0cmluZykge1xuICAgIGxldCB1cmw7XG4gICAgLy91cmwgPSBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2xpc3RcIjtcbiAgICB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2xpc3RcIjtcbiAgICB2YXIgaWRMaXN0SW5mbyA9IG5ldyBHc3BGb3JtUmVtb3ZlTGlzdEVudGl0eTtcbiAgICBpZExpc3RJbmZvLm1ldGFkYXRhSWRMaXN0ID0gaWRMaXN0O1xuICAgIGlkTGlzdEluZm8ubW9kZSA9IE9wZXJhdGluZ01vZGVzLlRlbXA7XG4gICAgaWRMaXN0SW5mby5yb290SWQgPSByb290SWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCBpZExpc3RJbmZvKS5waXBlKCk7XG4gIH1cblxuICBnZXRGaWxlKG1ldGFkYXRhSWQ6IHN0cmluZywgcm9vdElkOiBzdHJpbmcpIHtcblxuICAgIGxldCB1cmw7XG4gICAgaWYgKHJvb3RJZCA9PSBcIlwiKVxuICAgICAgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9maWxlL1wiICsgbWV0YWRhdGFJZDtcbiAgICBlbHNlXG4gICAgICB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2ZpbGUvXCIgKyBtZXRhZGF0YUlkICsgXCIvXCIgKyByb290SWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuXG4gIH1cblxuICB1cGxvYWRGaWxlKGRvY0luZm86IEdzcEZvcm1VcGxvYWRFbnRpdHkpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgbGV0IHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2NcIjtcbiAgICAvL3VybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZG9jSW5mbykucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgdXBsb2FkU2xpY2VGaWxlKGZvcm1kYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBsZXQgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9zbGljZVwiO1xuICAgIC8vdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy9saXN0XCI7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3QodXJsLCBmb3JtZGF0YSkucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cblxuICBnZXRTdG9yYWdlRXh0ZW5zaW9uSW5mbygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9zdG9yYWdlc3RyYXRlZ3kvZXh0ZW5zaW9uXCI7XG4gICAgLy91cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2xpc3RcIjtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgZ2V0U2VjdXJpdHlJbmZvTGlzdChiYXNlSW5mbzogR3NwRG9jU2VjdXJpdHlCYXNlSW5mbyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL3N0b3JhZ2VzdHJhdGVneS9zZWN1cml0eVwiO1xuICAgIHVybCA9IHVybCArIFwiP2lkPVwiICsgYmFzZUluZm8uc2VjdXJpdHlJZCArIFwiJmxldmVsPVwiICsgYmFzZUluZm8uc2VjdXJpdHlMZXZlbDtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgY2hhbmdlU3RvcmFnZUluc3RhbmNlKHN0b3JhZ2VJbmZvTGlzdDogRXhTdG9yYWdlRmlsZUluZm9bXSwgcm9vdElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC9mb3JtZG9jL2NoYW5nZWluc3RhbmNlXCI7XG4gICAgbGV0IHJlcXVlc3Q6IENoYW5nZUluc3RhbmNlUmVxdWVzdCA9IG5ldyBDaGFuZ2VJbnN0YW5jZVJlcXVlc3Q7XG4gICAgcmVxdWVzdC5maWxlSW5mb0xpc3QgPSBzdG9yYWdlSW5mb0xpc3Q7XG4gICAgcmVxdWVzdC5yb290SWQgPSByb290SWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgcmVxdWVzdCkucGlwZShcbiAgICAgIHRhcChyZXMgPT4geyB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgc2F2ZVNlY3VyaXR5SW5mbyh1cGxvYWRGaWxlSW5mb0xpc3Q6IFVwbG9hZEZpbGVJbmZvW10sIHJvb3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZG9jL2V4cHJvcGVydHlcIjtcbiAgICBsZXQgcmVxTGlzdDogRXhQcm9wZXJ0eVJlcXVlc3RbXSA9IFtdO1xuICAgIHVwbG9hZEZpbGVJbmZvTGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgbGV0IHJlcXVlc3Q6IEV4UHJvcGVydHlSZXF1ZXN0ID0geyBpZDogZWxlbWVudC5tZXRhZGF0YUlkLCByb290SWQ6IHJvb3RJZCwgZXhQcm9wZXJ0eTogSlNPTi5zdHJpbmdpZnkoZWxlbWVudC5zZWN1cml0eUluZm8pIH07XG4gICAgICByZXFMaXN0LnB1c2gocmVxdWVzdCk7XG4gICAgfSlcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCByZXFMaXN0KS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSlcbiAgfVxuXG5cbiAgZ2V0VXBsb2FkZWRGaWxlSW5mb0xpc3QoZm9ybUlkOiBzdHJpbmcsIHJvb3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gXCIvYXBpL3J1bnRpbWUvZGZzL3YxLjAvZm9ybWRvYy91cGxvYWRlZGZpbGUvaW5mb2xpc3RcIiArIFwiP2Zvcm1pZD1cIiArIGZvcm1JZCArIFwiJnJvb3RpZD1cIiArIHJvb3RJZDtcbiAgICAvL3VybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL2Zvcm1kb2MvbGlzdFwiO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG4gIH1cblxuICBnZXRSb290U2V0dGluZyhyb290SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybCA9IFwiL2FwaS9ydW50aW1lL2Rmcy92MS4wL3Jvb3RzZXR0aW5nL1wiICsgcm9vdElkO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuICAgICAgdGFwKHJlcyA9PiB7IH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICB9KSk7XG4gIH1cblxuICBnZXRWYWxpZGF0aW9uKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSBcIi9hcGkvcnVudGltZS9kZnMvdjEuMC92YWxpZGF0aW9uL1wiICsgaWQ7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICB0YXAocmVzID0+IHsgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgIH0pKTtcbiAgfVxuXG59XG4iXX0=
@@ -10,11 +10,11 @@ import { LoadingService, LoadingModule } from '@farris/ui-loading';
10
10
  import { ProgressModule } from '@farris/ui-progress';
11
11
  import { FormsModule } from '@angular/forms';
12
12
  import { ComboListModule } from '@farris/ui-combo-list';
13
- import { LanguageService, HttpService } from '@ecp-caf/caf-common';
14
- import { Injectable, Pipe, Inject, LOCALE_ID, Injector, ComponentFactoryResolver, NgModule, Component, ViewChild, Input, defineInjectable } from '@angular/core';
13
+ import { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';
14
+ import { Injectable, Pipe, Inject, LOCALE_ID, Component, Injector, ComponentFactoryResolver, NgModule, Input, ViewChild, defineInjectable } from '@angular/core';
15
15
  import { BsModalService } from '@farris/ui-modal';
16
16
  import { of as of$1 } from 'rxjs';
17
- import { HttpClientModule } from '@angular/common/http';
17
+ import { HttpClientModule, HttpClient } from '@angular/common/http';
18
18
  import { NotifyModule } from '@farris/ui-notify';
19
19
 
20
20
  /**
@@ -68,9 +68,11 @@ class FormdocUploadModule {
68
68
  FormdocUploadModule.decorators = [
69
69
  { type: NgModule, args: [{
70
70
  declarations: [FormdocUploadComponent],
71
- imports: [],
71
+ imports: [
72
+ HttpClientModule
73
+ ],
72
74
  exports: [FormdocUploadComponent],
73
- providers: [LanguageService,
75
+ providers: [LanguageService, HttpService, CacheService, SessionService,
74
76
  { provide: LOCALE_ID, useValue: ɵ0 },]
75
77
  },] }
76
78
  ];
@@ -144,9 +146,11 @@ class ChangeInstanceRequest {
144
146
  class UploadService {
145
147
  /**
146
148
  * @param {?} http
149
+ * @param {?} httpclient
147
150
  */
148
- constructor(http) {
151
+ constructor(http, httpclient) {
149
152
  this.http = http;
153
+ this.httpclient = httpclient;
150
154
  }
151
155
  /**
152
156
  * @param {?} docListInfo
@@ -265,6 +269,26 @@ class UploadService {
265
269
  return of(error);
266
270
  })));
267
271
  }
272
+ /**
273
+ * @param {?} formdata
274
+ * @return {?}
275
+ */
276
+ uploadSliceFile(formdata) {
277
+ /** @type {?} */
278
+ let url = "/api/runtime/dfs/v1.0/formdoc/slice";
279
+ //url = "/api/runtime/dfs/v1.0/formdoc/list";
280
+ return this.httpclient.post(url, formdata).pipe(tap((/**
281
+ * @param {?} res
282
+ * @return {?}
283
+ */
284
+ res => { })), catchError((/**
285
+ * @param {?} error
286
+ * @return {?}
287
+ */
288
+ (error) => {
289
+ return of(error);
290
+ })));
291
+ }
268
292
  /**
269
293
  * @return {?}
270
294
  */
@@ -424,7 +448,8 @@ UploadService.decorators = [
424
448
  ];
425
449
  /** @nocollapse */
426
450
  UploadService.ctorParameters = () => [
427
- { type: HttpService }
451
+ { type: HttpService },
452
+ { type: HttpClient }
428
453
  ];
429
454
 
430
455
  /**
@@ -676,6 +701,7 @@ class FileUploadComponent {
676
701
  this.totalLoad = null;
677
702
  this.exStorageFileList = [];
678
703
  if (this.injector) {
704
+ this.httpclient = this.injector.get(HttpClient);
679
705
  this.localeid = localStorage.getItem("languageCode") || this.injector.get(LOCALE_ID);
680
706
  this.localepipe = new LocalLangPipe(this.localeid);
681
707
  }
@@ -901,12 +927,6 @@ class FileUploadComponent {
901
927
  continue;
902
928
  }
903
929
  }
904
- // if (this.files.find(x => x.name == selectedFile.name) != null) {
905
- // this.errFileList.push(selectedFile.name);
906
- // continue;
907
- // }
908
- //this.flag += Math.ceil(selectedFile.size / this.bufferSize);
909
- //let reader = new FileReader();
910
930
  this.uploadFile(uuid, selectedFile, selectedFile.name);
911
931
  }
912
932
  // if (this.uploadedNameList.length > 0) {
@@ -1016,49 +1036,52 @@ class FileUploadComponent {
1016
1036
  let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);
1017
1037
  /** @type {?} */
1018
1038
  let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);
1019
- /** @type {?} */
1020
- let reader = new FileReader();
1021
- reader.readAsBinaryString(fileData);
1039
+ // let reader = new FileReader();
1040
+ // reader.readAsBinaryString(fileData);
1022
1041
  /** @type {?} */
1023
1042
  let innerIndex = chunkIndex;
1024
- reader.onload = (/**
1043
+ // reader.onload = () => {
1044
+ // docInfo.fileContent = btoa(reader.result.toString());
1045
+ docInfo.size = selectedFile.size;
1046
+ docInfo.index = innerIndex;
1047
+ docInfo.fileContent = "";
1048
+ //chunkIndex++;
1049
+ if (this.haveExtensionProperty)
1050
+ docInfo.exPropertyName = this.defaultPropertyName;
1051
+ //docInfo.isLast = true;
1052
+ uploadInfo.docInfo = docInfo;
1053
+ // let info = uploadInfo;
1054
+ // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));
1055
+ // this.requestBodyArray.push(info);
1056
+ //封装请求formdata
1057
+ /** @type {?} */
1058
+ let formData = new FormData();
1059
+ formData.append('uploadInfo', JSON.stringify(uploadInfo));
1060
+ formData.append('docInfo', JSON.stringify(docInfo));
1061
+ formData.append('file', fileData);
1062
+ this.uploadSliceFile(formData).subscribe((/**
1063
+ * @param {?} res
1025
1064
  * @return {?}
1026
1065
  */
1027
- () => {
1028
- docInfo.fileContent = btoa(reader.result.toString());
1029
- docInfo.index = innerIndex;
1030
- //chunkIndex++;
1031
- if (this.haveExtensionProperty)
1032
- docInfo.exPropertyName = this.defaultPropertyName;
1033
- //docInfo.isLast = true;
1034
- uploadInfo.docInfo = docInfo;
1035
- /** @type {?} */
1036
- let info = uploadInfo;
1037
- // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));
1038
- this.requestBodyArray.push(info);
1039
- this.uploadService.uploadFile(info).subscribe((/**
1040
- * @param {?} res
1041
- * @return {?}
1042
- */
1043
- res => {
1044
- if (res != null) {
1045
- this.files[this.files.indexOf(fileInfo)].uploadResult = false;
1066
+ res => {
1067
+ if (res != null) {
1068
+ this.files[this.files.indexOf(fileInfo)].uploadResult = false;
1069
+ this.files[this.files.indexOf(fileInfo)].isUploading = false;
1070
+ this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1071
+ }
1072
+ else {
1073
+ this.uploadedChunk[docInfo.metadataId]++;
1074
+ this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[docInfo.metadataId] / this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));
1075
+ if (this.uploadedChunk[docInfo.metadataId] == this.fileTotalChunk[docInfo.metadataId]) {
1076
+ this.files[this.files.indexOf(fileInfo)].uploadResult = true;
1046
1077
  this.files[this.files.indexOf(fileInfo)].isUploading = false;
1047
- this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1078
+ this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);
1079
+ this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);
1080
+ this.uploadedFileTotal++;
1048
1081
  }
1049
- else {
1050
- this.uploadedChunk[docInfo.metadataId]++;
1051
- this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[docInfo.metadataId] / this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));
1052
- if (this.uploadedChunk[docInfo.metadataId] == this.fileTotalChunk[docInfo.metadataId]) {
1053
- this.files[this.files.indexOf(fileInfo)].uploadResult = true;
1054
- this.files[this.files.indexOf(fileInfo)].isUploading = false;
1055
- this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);
1056
- this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);
1057
- this.uploadedFileTotal++;
1058
- }
1059
- }
1060
- }));
1061
- });
1082
+ }
1083
+ }));
1084
+ // }
1062
1085
  //console.log(chunkIndex + 1);
1063
1086
  chunkIndex = chunkIndex + 1;
1064
1087
  }
@@ -1110,6 +1133,26 @@ class FileUploadComponent {
1110
1133
  this.uploadedFileTotal--;
1111
1134
  }
1112
1135
  }
1136
+ /**
1137
+ * @param {?} formdata
1138
+ * @return {?}
1139
+ */
1140
+ uploadSliceFile(formdata) {
1141
+ /** @type {?} */
1142
+ let url = "/api/runtime/dfs/v1.0/formdoc/slice";
1143
+ //url = "/api/runtime/dfs/v1.0/formdoc/list";
1144
+ return this.httpclient.post(url, formdata).pipe(tap((/**
1145
+ * @param {?} res
1146
+ * @return {?}
1147
+ */
1148
+ res => { })), catchError((/**
1149
+ * @param {?} error
1150
+ * @return {?}
1151
+ */
1152
+ (error) => {
1153
+ return of$1(error);
1154
+ })));
1155
+ }
1113
1156
  /**
1114
1157
  * @return {?}
1115
1158
  */
@@ -1528,7 +1571,7 @@ FileUploadComponent.decorators = [
1528
1571
  { type: Component, args: [{
1529
1572
  selector: 'app-file-upload',
1530
1573
  template: "<div *ngIf=\"hasSelectedFile\">\n\n <div class=\"farris-header\" style=\"height: 50px; width: 100%\">\n <div class=\"btn btn-secondary upload_button\">\n <img [src]=\"uploadLittleIconAddress\">\n <span>{{'uploadFile' | locale}} </span>\n <input type=\"file\" (focus)=\"showLoading()\" (change)=\"fileSelected($event)\" id=\"file\" multiple=\"multiple\"\n title=\"\" [accept]=\"fileType\">\n </div>\n\n\n <button *ngIf=\"showType==0 && !fileAllSelected && files.length >0 \" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"selectAllFile()\">{{'selectAll' | locale}}</button>\n <button *ngIf=\"showType==0 && fileAllSelected && files.length >0 \" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"selectAllFile()\">{{'selectNull' | locale}}</button>\n <button *ngIf=\"showType==0 && selectedFileCount>0\" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"listMultipleDeleteFile()\">{{'delete' | locale}}</button>\n\n <button *ngIf=\"showType==1 && selectedFileCount>0\" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"listMultipleDeleteFile()\">{{'delete' | locale}}</button>\n\n <kendo-buttongroup [selection]=\"'single'\" class=\"button_group_upload \"\n style=\"background-color: #ffffff; color: #388FFF;border: 1px solid #ddd;\" look=\"flat\">\n <button kendoButton [selected]=\"true\" [toggleable]=\"true\"\n [imageUrl]=\"'/platform/runtime/dfs/images/piclist.png'\" (click)=\"showByGroup()\"></button>\n <button kendoButton [toggleable]=\"true\" [imageUrl]=\"'/platform/runtime/dfs/images/queuelist.png'\"\n (click)=\"showByList()\"></button>\n </kendo-buttongroup>\n\n\n </div>\n\n <!-- <div class=\"progress\" style=\"height: 12px;\">\n <div class=\"progress-bar\" role=\"progressbar\" [ngStyle]=\"uploadProcess\"></div>\n </div> -->\n\n <div class=\"pic_list\" *ngIf=\"showType==0\">\n <ul *ngFor=\"let file of files\">\n <li (mouseenter)=\"mouseOver(file)\" (mouseleave)=\"mouseOut(file)\">\n <div *ngIf=\"file.isUploading\">\n <farris-progress [type]=\"'circle'\" [percent]=\"file.uploadProcess\" [strokeLinecap]=\"'square'\"\n [status]=\"'active'\"></farris-progress>\n </div>\n\n <table *ngIf=\"!file.uploadResult && !file.isUploading\"\n style=\"margin: 0 auto; border: 1px solid #ddd; width: 135px; height: 160px;\">\n <tr style=\"margin: 0 auto ; height: 80px;\">\n <td style=\"text-align: center\"><span class=\"f-icon f-icon-warn\"></span></td>\n </tr>\n <tr style=\"margin: 0 auto ; height: 30px;\">\n <td style=\"text-align: center\"> {{'uploadFailure' | locale}} </td>\n </tr>\n <tr>\n <td style=\"text-align: center\"><button style=\"margin: 0 auto ; height: 20px; \"\n class=\"btn-link btn ng-star-inserted\" (click)=\"showErrorMessage(file)\">{{'detail' |\n locale}}</button></td>\n </tr>\n </table>\n <div *ngIf=\"!file.isUploading && file.uploadResult\" style=\"border: 1px solid #ddd;\">\n <img [src]='file.source'>\n <div *ngIf=\"haveExtensionProperty\"\n style=\"width: 133px; height: 25px; background-color: white; position: absolute;bottom: 0; \">\n\n <div style=\"width: 100px;height: 25px;position:absolute;margin: 0 17px;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"propertiesNames\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"typeChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </div>\n </div>\n <div *ngIf=\"haveSecurityInfo\"\n style=\"width: 133px; height: 25px; background-color: white; position: absolute;bottom: 0; \">\n\n <div style=\"width: 100px;height: 25px;position:absolute;margin: 0 17px;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"securityInfoList\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"securityChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </div>\n </div>\n </div>\n <table *ngIf=\"!file.isUploading\">\n <tr style=\"height: 20px\">\n <td style=\"width: 15px; vertical-align: middle; text-align: center\">\n <!-- <input type=\"checkbox\" [id]=\"file.name\" (click)=\"checkoutSelectFile(file.name)\"> -->\n <div class=\"farris-input-wrap\" style=\"height: 20px\" (click)=\"checkoutSelectFile(file)\">\n <div class=\"custom-control custom-checkbox\" style=\"margin: 4px 0 0;height: 20px;\"\n [ngStyle]=\"checkboxPos\">\n <input class=\"custom-control-input\" type=\"checkbox\" [id]=\"file.name\"\n [(ngModel)]=\"file.selectd\">\n <label class=\"custom-control-label\"\n style=\"padding: 0 0 10px 0; position: relative; top: -8px;\"></label>\n </div>\n </div>\n </td>\n <td style=\"width: 120px; vertical-align: middle; text-align: center\" [title]=\"file.name\">\n {{file.picListDisplayName}}</td>\n </tr>\n </table>\n <!-- <span>{{file.picListDisplayName}}</span> -->\n <!-- <p class=\"filename\">{{file.picListDisplayName}}</p> -->\n <button *ngIf=\"!file.isUploading && file.mouseOn\"\n style=\"position: absolute; top: 0; right: 0px; width: 24px; height: 24px;\" kendoButton\n [icon]=\"'delete'\" (click)=\"listDeleteFile(file)\"></button>\n <!-- <button *ngIf=\"file.hasUploaded\" class=\"k-primary\" kendoButton [icon]=\"'check'\" [disabled]=\"true\"></button> -->\n </li>\n </ul>\n <br>\n </div>\n\n <div class=\"queue_list\" *ngIf=\"showType==1\">\n <table>\n <tr style=\"height: 50px; table-layout:fixed;\">\n <th style=\"width: 40px; vertical-align: middle; text-align: center\">\n <!-- <input type=\"checkbox\" id=\"allCheckBox\" (click)=\"selectAllFile()\"> -->\n <div class=\"farris-input-wrap\" (click)=\"selectAllFile()\">\n <div class=\"custom-control custom-checkbox\" style=\"margin: 4px 0 0\">\n <input class=\"custom-control-input\" type=\"checkbox\" id=\"allCheckBox\"\n [(ngModel)]=\"fileAllSelected\">\n <label class=\"custom-control-label\" style=\"padding: 0\"></label>\n </div>\n </div>\n </th>\n <th style=\"vertical-align: middle\" [ngStyle]=\"queueListStyle\">{{'fileName' | locale}}</th>\n <th style=\"width: 100px; vertical-align: middle\">{{'size' | locale}}</th>\n <th style=\"width: 170px; vertical-align: middle; text-align: center\">{{'state' | locale}}</th>\n <th *ngIf=\"haveExtensionProperty\" style=\"width: 100px; vertical-align: middle; text-align: center\">\n {{storageExtension.extensionName}}\n </th>\n <th style=\"width: 140px; vertical-align: middle; text-align: center\">{{'operation' | locale}}</th>\n </tr>\n </table>\n <div style=\"height: 370px; overflow: auto;\">\n <table>\n <tr *ngFor=\"let file of files\" style=\"height: 40px\">\n <td colspan=\"5\" *ngIf=\"file.isUploading\">\n <!-- <div style=\"width:100%; display: table-cell; vertical-align: middle; text-align: center; \"> -->\n <div style=\"width: 500px;margin:0 auto\">\n <farris-progress [percent]=\"file.uploadProcess\" [status]=\"'active'\">\n </farris-progress>\n </div>\n\n </td>\n <td *ngIf=\"!file.isUploading\" style=\" width: 40px; vertical-align: middle; text-align: center\">\n <!-- <input type=\"checkbox\" [id]=\"file.name\" (click)=\"checkoutSelectFile(file.name)\"> -->\n <div class=\"farris-input-wrap\" (click)=\"checkoutSelectFile(file)\">\n <div class=\"custom-control custom-checkbox\" style=\"margin: 4px 0 0\">\n <input class=\"custom-control-input\" type=\"checkbox\" [id]=\"file.name\"\n [(ngModel)]=\"file.selectd\">\n <label class=\"custom-control-label\" style=\"padding: 0\"></label>\n </div>\n </div>\n </td>\n <td *ngIf=\"!file.isUploading\" style=\"vertical-align: middle\" [ngStyle]=\"queueListStyle\">\n {{file.queueListDisplayName}}</td>\n <td *ngIf=\"!file.isUploading\" style=\"width: 100px; vertical-align: middle\">{{file.size}}</td>\n <td *ngIf=\"!file.isUploading\" style=\"text-align: center; width: 170px; vertical-align: middle;\">\n <table *ngIf=\"!file.uploadResult\" style=\"margin: 0 auto\">\n <tr style=\"margin: 0 auto\">\n <td><span class=\"f-icon f-icon-error\"></span></td>\n <td> {{'uploadFailure' | locale}} </td>\n <td><button style=\"height: 24px\" class=\"btn-link btn ng-star-inserted\"\n (click)=\"showErrorMessage(file)\">{{'detail' | locale}}</button></td>\n </tr>\n </table>\n <!-- <span *ngIf=\"!file.uploadResult\"><span class=\"f-icon f-icon-error\"></span> \u4E0A\u4F20\u5931\u8D25 <button\n class=\"btn-link btn ng-star-inserted\" (click)=\"showErrorMessage(file)\">\u8BE6\u60C5</button></span> -->\n <span *ngIf=\"file.uploadResult\"><span class=\"f-icon f-icon-success\"></span> {{'uploadSucceed' |\n locale}}</span>\n </td>\n <td *ngIf=\"!file.isUploading&&haveExtensionProperty\"\n style=\"text-align: center; width: 100px; vertical-align: middle;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"propertiesNames\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"typeChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </td>\n <td *ngIf=\"!file.isUploading&&haveSecurityInfo\"\n style=\"text-align: center; width: 100px; vertical-align: middle;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"securityInfoList\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"securityChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </td>\n\n <td *ngIf=\"!file.isUploading\" style=\"text-align: center; width: 140px; vertical-align: middle;\">\n <!-- <button *ngIf=\"file.uploadResult\" class=\"btn-link btn ng-star-inserted\" (click)=\"retryUploadFile(file.name)\">\u91CD\u8BD5</button> -->\n <button class=\"btn-link btn ng-star-inserted\" style=\"margin: 0 auto\"\n (click)=\"listDeleteFile(file)\">{{'delete' | locale}}</button>\n </td>\n\n </tr>\n </table>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"!hasSelectedFile\" class='home_page'>\n <img [src]=\"uploadIconAddress\">\n <div>\n <span class=\"btn btn-primary btn-lg\">{{'uploadFile' | locale}} </span>\n <input type=\"file\" (change)=\"fileSelected($event)\" id=\"file\" multiple=\"multiple\" title=\"\" [accept]=\"fileType\">\n <!-- <input type=\"file\" (focus)=\"showLoading()\" (change)=\"fileSelected($event)\" id=\"file\" multiple=\"multiple\" title=\"\" [accept]=\"fileType\"> -->\n </div>\n</div>",
1531
- styles: [".home_page{text-align:center}.home_page img{position:absolute;top:180px;margin-left:-35px;width:70px;height:56px}.home_page div{position:absolute;left:50%;top:255px;margin-left:-75px;width:150px;height:32px;overflow:hidden}.home_page div span{width:150px;height:32px;position:absolute;z-index:10;left:0}.home_page div input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)';z-index:11}.upload_button{width:110px;height:32px;overflow:hidden}.upload_button span{position:relative;right:-4px;top:4px;width:56px;height:22px;font-size:14px}.upload_button input{height:32px;width:110px;position:absolute;left:22px;top:12px;opacity:0;filter:'alpha(opacity=0)';overflow:hidden}.upload_button img{position:relative;left:-6px;top:3px;width:14px;height:14px}.button_group_upload{position:absolute;right:18px;top:12px;height:26px;width:53px}.button_group_upload button{height:26px;width:26px}.fileinput-button{position:absolute;right:60px;bottom:40px;overflow:hidden;width:24px;height:24px;border-radius:12px;transform:scale(2.5);-ms-transform:scale(2.5);-moz-transform:scale(2.5);-webkit-transform:scale(2.5);-o-transform:scale(2.5);color:#0686fd}.fileinput-button input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)'}.pic-droplist{height:24px;color:#e0e1e2;background-color:#e0e1e2}.pic-droplist input-group{display:table-cell;width:100px;text-align:center;border:0}.pic-droplist input-group div{border:0}.pic-droplist input-group div div,.pic-droplist input-group div input{background-color:#e0e1e2}.pic_list{padding:0;height:420px;overflow-y:auto;overflow-x:hidden}.pic_list ul{padding:0;list-style:none;width:100%;margin:20px 0 0 20px}.pic_list ul li{height:180px;width:135px;margin:8px 0 8px 12px;float:left;overflow:hidden;align-items:center;position:relative}.pic_list ul li div{width:135px;height:160px;margin:auto;display:table-cell;vertical-align:middle;text-align:center;position:relative}.pic_list ul li div img{max-width:120px;max-height:118px;align-items:center;margin:auto;vertical-align:middle;text-align:center}.pic_list ul li span.filename{width:100px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue_list{display:block;height:420px;overflow-y:auto}.file_list{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.file_list li{height:50px;line-height:35px;font-size:16px;position:relative}.file_list li button{float:right;top:6px;right:10px;width:20px}.file_list li p.title{padding:0 0 0 6px;margin:0 210px 0 0}.file_list li p.size{position:absolute;width:100px;top:0;right:100px}"]
1574
+ styles: [".home_page{text-align:center}.home_page img{position:absolute;top:180px;margin-left:-35px;width:70px;height:56px}.home_page div{position:absolute;left:50%;top:255px;margin-left:-75px;width:150px;height:32px;overflow:hidden}.home_page div span{width:150px;height:32px;position:absolute;z-index:10;left:0}.home_page div input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)';z-index:11}.upload_button{width:110px;height:32px;overflow:hidden}.upload_button span{position:relative;right:-4px;top:4px;width:56px;height:22px;font-size:14px}.upload_button input{height:32px;width:110px;position:absolute;left:22px;top:12px;opacity:0;filter:'alpha(opacity=0)';overflow:hidden}.upload_button img{position:relative;left:-6px;top:3px;width:14px;height:14px}.button_group_upload{position:absolute;right:18px;top:12px;height:26px;width:53px}.button_group_upload button{height:26px;width:26px}.fileinput-button{position:absolute;right:60px;bottom:40px;overflow:hidden;width:24px;height:24px;border-radius:12px;transform:scale(2.5);-ms-transform:scale(2.5);-moz-transform:scale(2.5);-webkit-transform:scale(2.5);-o-transform:scale(2.5);color:#0686fd}.fileinput-button input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)'}.pic-droplist{height:24px;color:#e0e1e2;background-color:#e0e1e2}.pic-droplist input-group{display:table-cell;width:100px;text-align:center;border:0}.pic-droplist input-group div{border:0}.pic-droplist input-group div div,.pic-droplist input-group div input{background-color:#e0e1e2}.pic_list{padding:0;height:415px;overflow-y:auto;overflow-x:hidden}.pic_list ul{padding:0;list-style:none;width:100%;margin:20px 0 0 20px}.pic_list ul li{height:179px;width:135px;margin:8px 0 8px 12px;float:left;overflow:hidden;align-items:center;position:relative}.pic_list ul li div{width:135px;height:159px;margin:auto;display:table-cell;vertical-align:middle;text-align:center;position:relative}.pic_list ul li div img{max-width:120px;max-height:118px;align-items:center;margin:auto;vertical-align:middle;text-align:center}.pic_list ul li span.filename{width:100px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue_list{display:block;height:420px;overflow-y:auto}.file_list{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.file_list li{height:50px;line-height:35px;font-size:16px;position:relative}.file_list li button{float:right;top:6px;right:10px;width:20px}.file_list li p.title{padding:0 0 0 6px;margin:0 210px 0 0}.file_list li p.size{position:absolute;width:100px;top:0;right:100px}"]
1532
1575
  }] }
1533
1576
  ];
1534
1577
  /** @nocollapse */
@@ -1689,11 +1732,12 @@ UploadModule.decorators = [
1689
1732
  LoadingModule.forRoot(),
1690
1733
  ProgressModule,
1691
1734
  FormsModule,
1692
- ComboListModule
1735
+ ComboListModule,
1736
+ HttpClientModule
1693
1737
  ],
1694
1738
  exports: [FileUploadComponent],
1695
1739
  entryComponents: [FileUploadComponent],
1696
- providers: [UploadService, DownloadService, LanguageService,
1740
+ providers: [UploadService, DownloadService, LanguageService, HttpService, CacheService, SessionService,
1697
1741
  { provide: LOCALE_ID, useValue: ɵ0$1 },]
1698
1742
  },] }
1699
1743
  ];