@rs-pk/asset-management 1.0.30 → 1.0.32

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.
@@ -24,6 +24,7 @@ export class AssetListComponent {
24
24
  this.hasAccessPermission = true;
25
25
  this.hasArchivePermission = true;
26
26
  this.backgroundProcessingNum = BackgroudProcessingStatus;
27
+ this.processingCheckDelay = 5000;
27
28
  this.unsubscribe$ = new Subject();
28
29
  this.selectedAssets = [];
29
30
  }
@@ -39,15 +40,7 @@ export class AssetListComponent {
39
40
  */
40
41
  ngOnChanges(changes) {
41
42
  if (changes.assets) {
42
- // Check if asset is uploading
43
- if (this.assets && this.assets.find((/**
44
- * @param {?} x
45
- * @return {?}
46
- */
47
- x => x.BackgroudProcessingStatus === this.backgroundProcessingNum.InProcessing))) {
48
- this._resetUploadingAssets();
49
- }
50
- ;
43
+ this.checkProcessingAssets();
51
44
  this.paginator.pageIndex = this.assetService.pageIndex;
52
45
  this.paginator.pageSize = this.assetService.pageSize;
53
46
  this.paginator.length = this.assetService.fileTotal;
@@ -182,15 +175,8 @@ export class AssetListComponent {
182
175
  * @param {?} res
183
176
  * @return {?}
184
177
  */
185
- (res) => {
186
- /** @type {?} */
187
- const pagination = res && res.Meta || {};
188
- /** @type {?} */
189
- const assets = res && res.Data && res.Data.Children || [];
190
- /** @type {?} */
191
- const totalFile = res && res.Data && res.Data.TotalFile || 0;
192
- this.assetService.setAssetList(assets, pagination, totalFile);
193
- })).add((/**
178
+ (res) => this.setAssetList(res)))
179
+ .add((/**
194
180
  * @return {?}
195
181
  */
196
182
  () => {
@@ -200,31 +186,73 @@ export class AssetListComponent {
200
186
  });
201
187
  }));
202
188
  }
189
+ /**
190
+ * @private
191
+ * @param {?} res
192
+ * @return {?}
193
+ */
194
+ setAssetList(res) {
195
+ /** @type {?} */
196
+ const pagination = res && res.Meta || {};
197
+ /** @type {?} */
198
+ const assets = res && res.Data && res.Data.Children || [];
199
+ /** @type {?} */
200
+ const totalFile = res && res.Data && res.Data.TotalFile || 0;
201
+ this.assetService.setAssetList(assets, pagination, totalFile);
202
+ }
203
+ // Called on every new asset list: while some files are still processed in the background,
204
+ // reload the list once after a delay. The reloaded list calls this again, until nothing is processing.
203
205
  /**
204
206
  * @private
205
207
  * @return {?}
206
208
  */
207
- _resetUploadingAssets() {
209
+ checkProcessingAssets() {
210
+ this.stopProcessingCheck();
208
211
  /** @type {?} */
209
- const reload = setInterval((/**
212
+ const hasProcessingAssets = this.assets && this.assets.some((/**
213
+ * @param {?} asset
210
214
  * @return {?}
211
215
  */
212
- () => {
213
- this.fetchChildrenAssets();
214
- if (this.assets.find((/**
215
- * @param {?} x
216
+ (asset) => asset.BackgroudProcessingStatus === this.backgroundProcessingNum.InProcessing));
217
+ if (hasProcessingAssets) {
218
+ this.processingCheckTimer = setTimeout((/**
216
219
  * @return {?}
217
220
  */
218
- x => x.BackgroudProcessingStatus === this.backgroundProcessingNum.Processed))) {
219
- clearInterval(reload);
220
- }
221
- console.log('Upload Successfully!'); // interval will be cleared after completing this whole block
222
- }), 5000);
221
+ () => this.reloadProcessingAssets()), this.processingCheckDelay);
222
+ }
223
+ }
224
+ // Silent reload, without the global loading bar
225
+ /**
226
+ * @private
227
+ * @return {?}
228
+ */
229
+ reloadProcessingAssets() {
230
+ if (!this.currentFolderId) {
231
+ return;
232
+ }
233
+ this.processingCheckRequest = this.assetService
234
+ .getChildrenAssets({ assetId: this.currentFolderId })
235
+ .subscribe((/**
236
+ * @param {?} res
237
+ * @return {?}
238
+ */
239
+ (res) => this.setAssetList(res)));
240
+ }
241
+ /**
242
+ * @private
243
+ * @return {?}
244
+ */
245
+ stopProcessingCheck() {
246
+ clearTimeout(this.processingCheckTimer);
247
+ if (this.processingCheckRequest) {
248
+ this.processingCheckRequest.unsubscribe();
249
+ }
223
250
  }
224
251
  /**
225
252
  * @return {?}
226
253
  */
227
254
  ngOnDestroy() {
255
+ this.stopProcessingCheck();
228
256
  this.unsubscribe$.next();
229
257
  this.unsubscribe$.complete();
230
258
  }
@@ -264,6 +292,21 @@ if (false) {
264
292
  AssetListComponent.prototype.assets;
265
293
  /** @type {?} */
266
294
  AssetListComponent.prototype.backgroundProcessingNum;
295
+ /**
296
+ * @type {?}
297
+ * @private
298
+ */
299
+ AssetListComponent.prototype.processingCheckDelay;
300
+ /**
301
+ * @type {?}
302
+ * @private
303
+ */
304
+ AssetListComponent.prototype.processingCheckTimer;
305
+ /**
306
+ * @type {?}
307
+ * @private
308
+ */
309
+ AssetListComponent.prototype.processingCheckRequest;
267
310
  /**
268
311
  * @type {?}
269
312
  * @private
@@ -290,4 +333,4 @@ if (false) {
290
333
  */
291
334
  AssetListComponent.prototype.svc;
292
335
  }
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtbGlzdC9hc3NldC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQWMseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU9oRCxNQUFNLE9BQU8sa0JBQWtCOzs7OztJQU03QixZQUNVLFlBQTBCLEVBQzFCLEdBQTJCO1FBRDNCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFFBQUcsR0FBSCxHQUFHLENBQXdCO1FBTjVCLHdCQUFtQixHQUFhLElBQUksQ0FBQztRQUNyQyx3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFDckMseUJBQW9CLEdBQWEsSUFBSSxDQUFDO1FBVXhDLDRCQUF1QixHQUFHLHlCQUF5QixDQUFDO1FBRW5ELGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuQyxtQkFBYyxHQUFzQixFQUFF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SUFDVixDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7WUE5SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLGtxQ0FBMEM7O2FBRTNDOzs7O1lBUlEsWUFBWTtZQUZaLHNCQUFzQjs7O3VCQVk1QixLQUFLO2tDQUNMLEtBQUs7a0NBQ0wsS0FBSzttQ0FDTCxLQUFLO3dCQU9MLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3FCQUN4QyxLQUFLOzs7O0lBWE4sc0NBQTRCOztJQUM1QixpREFBOEM7O0lBQzlDLGlEQUE4Qzs7SUFDOUMsa0RBQStDOztJQU8vQyx1Q0FBbUU7O0lBQ25FLG9DQUE4Qjs7SUFFOUIscURBQTJEOzs7OztJQUUzRCwwQ0FBMkM7Ozs7O0lBQzNDLDZDQUFnQzs7Ozs7SUFDaEMsNENBQStDOzs7OztJQVg3QywwQ0FBa0M7Ozs7O0lBQ2xDLGlDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0TW9kZWwsIEJhY2tncm91ZFByb2Nlc3NpbmdTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlcyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMuYWN0aW9uJztcbmltcG9ydCB7IHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaXNEaWFsb2c/OiBib29sZWFuO1xuICBASW5wdXQoKSBoYXNNb2RpZnlQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGhhc0FjY2Vzc1Blcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzQXJjaGl2ZVBlcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBJbnB1dCgpIGFzc2V0czogQXNzZXRNb2RlbFtdO1xuXG4gIHB1YmxpYyBiYWNrZ3JvdW5kUHJvY2Vzc2luZ051bSA9IEJhY2tncm91ZFByb2Nlc3NpbmdTdGF0dXM7XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGN1cnJlbnRGb2xkZXJJZDogc3RyaW5nO1xuICBwcml2YXRlIHNlbGVjdGVkQXNzZXRzOiBBcnJheTxBc3NldE1vZGVsPiA9IFtdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYmluZFN1YnNjcmliZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5hc3NldHMpIHtcbiAgICAgIC8vIENoZWNrIGlmIGFzc2V0IGlzIHVwbG9hZGluZ1xuICAgICAgaWYgKHRoaXMuYXNzZXRzICYmIHRoaXMuYXNzZXRzLmZpbmQoeCA9PiB4LkJhY2tncm91ZFByb2Nlc3NpbmdTdGF0dXMgPT09IHRoaXMuYmFja2dyb3VuZFByb2Nlc3NpbmdOdW0uSW5Qcm9jZXNzaW5nKSkge1xuICAgICAgICB0aGlzLl9yZXNldFVwbG9hZGluZ0Fzc2V0cygpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ID0gdGhpcy5hc3NldFNlcnZpY2UucGFnZUluZGV4O1xuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUgPSB0aGlzLmFzc2V0U2VydmljZS5wYWdlU2l6ZTtcbiAgICAgIHRoaXMucGFnaW5hdG9yLmxlbmd0aCA9IHRoaXMuYXNzZXRTZXJ2aWNlLmZpbGVUb3RhbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RBc3NldChldmVudDogQXNzZXRNb2RlbCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEFzc2V0cy5maW5kSW5kZXgoXG4gICAgICAoYXNzZXQpID0+IGFzc2V0LkFzc2V0SWQgPT09IGV2ZW50LkFzc2V0SWRcbiAgICApO1xuICAgIGNvbnN0IG5ld1NlbGVjdGVkQXNzZXRzOiBBc3NldE1vZGVsW10gPVxuICAgICAgaW5kZXggPiAtMVxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRBc3NldHMuZmlsdGVyKChhc3NldCwgaSkgPT4gaW5kZXggIT09IGkpXG4gICAgICAgIDogWy4uLnRoaXMuc2VsZWN0ZWRBc3NldHMsIGV2ZW50XTtcblxuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9TRUxFQ1RFRF9BU1NFVFMsXG4gICAgICBwYXlsb2FkOiBuZXdTZWxlY3RlZEFzc2V0cyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFN1YnNjcmliZXIoKSB7XG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuZGVsZXRlZEFzc2V0SWQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBc3NldHMgJiYgdGhpcy5zZWxlY3RlZEFzc2V0cy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZEFzc2V0cyA9IHRoaXMuc2VsZWN0ZWRBc3NldHMuZmlsdGVyKFxuICAgICAgICAgICAgKGFzc2V0KSA9PiBhc3NldC5Bc3NldElkICE9PSBpZFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0FTU0VUUyxcbiAgICAgICAgICAgIHBheWxvYWQ6IG5ld1NlbGVjdGVkQXNzZXRzLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRGb2xkZXJJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySWQpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9sZGVySWQgPSBjdXJyZW50Rm9sZGVySWQ7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQVNTRVRTLFxuICAgICAgICAgIHBheWxvYWQ6IFtdLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRBc3NldHMpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2V0cyA9IHNlbGVjdGVkQXNzZXRzO1xuICAgICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5yZWxvYWRDdXJyZW50QXNzZXRzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICAgIHN3aXRjaE1hcCgocmVzKSA9PiBvZihyZXMpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZmV0Y2hDaGlsZHJlbkFzc2V0cygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcGFnZUNoYW5nZShldmVudD86IFBhZ2VFdmVudCkge1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VTaXplID0gZXZlbnQucGFnZVNpemU7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xuICAgIHRoaXMuZmV0Y2hDaGlsZHJlbkFzc2V0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaENoaWxkcmVuQXNzZXRzKCkge1xuICAgIGlmICghdGhpcy5jdXJyZW50Rm9sZGVySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgcGF5bG9hZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXNzZXRTZXJ2aWNlXG4gICAgICAuZ2V0Q2hpbGRyZW5Bc3NldHMoeyBhc3NldElkOiB0aGlzLmN1cnJlbnRGb2xkZXJJZCB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gcmVzICYmIHJlcy5NZXRhIHx8IHt9O1xuICAgICAgICBjb25zdCBhc3NldHMgPSByZXMgJiYgcmVzLkRhdGEgJiYgcmVzLkRhdGEuQ2hpbGRyZW4gfHwgW107XG4gICAgICAgIGNvbnN0IHRvdGFsRmlsZSA9IHJlcyAmJiByZXMuRGF0YSAmJiByZXMuRGF0YS5Ub3RhbEZpbGUgfHwgMDtcbiAgICAgICAgdGhpcy5hc3NldFNlcnZpY2Uuc2V0QXNzZXRMaXN0KGFzc2V0cywgcGFnaW5hdGlvbiwgdG90YWxGaWxlKTtcbiAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICAgICAgcGF5bG9hZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldFVwbG9hZGluZ0Fzc2V0cyAoKSB7XG4gICAgY29uc3QgcmVsb2FkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaENoaWxkcmVuQXNzZXRzKCk7XG4gICAgICBpZiAodGhpcy5hc3NldHMuZmluZCh4ID0+IHguQmFja2dyb3VkUHJvY2Vzc2luZ1N0YXR1cyA9PT0gdGhpcy5iYWNrZ3JvdW5kUHJvY2Vzc2luZ051bS5Qcm9jZXNzZWQpKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwocmVsb2FkKTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKCdVcGxvYWQgU3VjY2Vzc2Z1bGx5IScpOyAvLyBpbnRlcnZhbCB3aWxsIGJlIGNsZWFyZWQgYWZ0ZXIgY29tcGxldGluZyB0aGlzIHdob2xlIGJsb2NrXG4gICAgfSwgNTAwMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtbGlzdC9hc3NldC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFjLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPaEQsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFNN0IsWUFDVSxZQUEwQixFQUMxQixHQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQU41Qix3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFDckMsd0JBQW1CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLHlCQUFvQixHQUFhLElBQUksQ0FBQztRQVV4Qyw0QkFBdUIsR0FBRyx5QkFBeUIsQ0FBQztRQUUxQyx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFHckMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFB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MENBQWtDOzs7OztJQUNsQyxpQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0TW9kZWwsIEJhY2tncm91ZFByb2Nlc3NpbmdTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlcyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMuYWN0aW9uJztcbmltcG9ydCB7IHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaXNEaWFsb2c/OiBib29sZWFuO1xuICBASW5wdXQoKSBoYXNNb2RpZnlQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGhhc0FjY2Vzc1Blcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzQXJjaGl2ZVBlcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBJbnB1dCgpIGFzc2V0czogQXNzZXRNb2RlbFtdO1xuXG4gIHB1YmxpYyBiYWNrZ3JvdW5kUHJvY2Vzc2luZ051bSA9IEJhY2tncm91ZFByb2Nlc3NpbmdTdGF0dXM7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzaW5nQ2hlY2tEZWxheSA9IDUwMDA7XG4gIHByaXZhdGUgcHJvY2Vzc2luZ0NoZWNrVGltZXI7XG4gIHByaXZhdGUgcHJvY2Vzc2luZ0NoZWNrUmVxdWVzdDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgY3VycmVudEZvbGRlcklkOiBzdHJpbmc7XG4gIHByaXZhdGUgc2VsZWN0ZWRBc3NldHM6IEFycmF5PEFzc2V0TW9kZWw+ID0gW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5iaW5kU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmFzc2V0cykge1xuICAgICAgdGhpcy5jaGVja1Byb2Nlc3NpbmdBc3NldHMoKTtcblxuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ID0gdGhpcy5hc3NldFNlcnZpY2UucGFnZUluZGV4O1xuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUgPSB0aGlzLmFzc2V0U2VydmljZS5wYWdlU2l6ZTtcbiAgICAgIHRoaXMucGFnaW5hdG9yLmxlbmd0aCA9IHRoaXMuYXNzZXRTZXJ2aWNlLmZpbGVUb3RhbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RBc3NldChldmVudDogQXNzZXRNb2RlbCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEFzc2V0cy5maW5kSW5kZXgoXG4gICAgICAoYXNzZXQpID0+IGFzc2V0LkFzc2V0SWQgPT09IGV2ZW50LkFzc2V0SWRcbiAgICApO1xuICAgIGNvbnN0IG5ld1NlbGVjdGVkQXNzZXRzOiBBc3NldE1vZGVsW10gPVxuICAgICAgaW5kZXggPiAtMVxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRBc3NldHMuZmlsdGVyKChhc3NldCwgaSkgPT4gaW5kZXggIT09IGkpXG4gICAgICAgIDogWy4uLnRoaXMuc2VsZWN0ZWRBc3NldHMsIGV2ZW50XTtcblxuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9TRUxFQ1RFRF9BU1NFVFMsXG4gICAgICBwYXlsb2FkOiBuZXdTZWxlY3RlZEFzc2V0cyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFN1YnNjcmliZXIoKSB7XG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuZGVsZXRlZEFzc2V0SWQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBc3NldHMgJiYgdGhpcy5zZWxlY3RlZEFzc2V0cy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZEFzc2V0cyA9IHRoaXMuc2VsZWN0ZWRBc3NldHMuZmlsdGVyKFxuICAgICAgICAgICAgKGFzc2V0KSA9PiBhc3NldC5Bc3NldElkICE9PSBpZFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0FTU0VUUyxcbiAgICAgICAgICAgIHBheWxvYWQ6IG5ld1NlbGVjdGVkQXNzZXRzLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRGb2xkZXJJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySWQpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9sZGVySWQgPSBjdXJyZW50Rm9sZGVySWQ7XG4gICAgICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQVNTRVRTLFxuICAgICAgICAgIHBheWxvYWQ6IFtdLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRBc3NldHMpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2V0cyA9IHNlbGVjdGVkQXNzZXRzO1xuICAgICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5yZWxvYWRDdXJyZW50QXNzZXRzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICAgIHN3aXRjaE1hcCgocmVzKSA9PiBvZihyZXMpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZmV0Y2hDaGlsZHJlbkFzc2V0cygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcGFnZUNoYW5nZShldmVudD86IFBhZ2VFdmVudCkge1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VTaXplID0gZXZlbnQucGFnZVNpemU7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xuICAgIHRoaXMuZmV0Y2hDaGlsZHJlbkFzc2V0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaENoaWxkcmVuQXNzZXRzKCkge1xuICAgIGlmICghdGhpcy5jdXJyZW50Rm9sZGVySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgcGF5bG9hZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYXNzZXRTZXJ2aWNlXG4gICAgICAuZ2V0Q2hpbGRyZW5Bc3NldHMoeyBhc3NldElkOiB0aGlzLmN1cnJlbnRGb2xkZXJJZCB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4gdGhpcy5zZXRBc3NldExpc3QocmVzKSlcbiAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgICAgIHBheWxvYWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBc3NldExpc3QocmVzKSB7XG4gICAgY29uc3QgcGFnaW5hdGlvbiA9IHJlcyAmJiByZXMuTWV0YSB8fCB7fTtcbiAgICBjb25zdCBhc3NldHMgPSByZXMgJiYgcmVzLkRhdGEgJiYgcmVzLkRhdGEuQ2hpbGRyZW4gfHwgW107XG4gICAgY29uc3QgdG90YWxGaWxlID0gcmVzICYmIHJlcy5EYXRhICYmIHJlcy5EYXRhLlRvdGFsRmlsZSB8fCAwO1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNldEFzc2V0TGlzdChhc3NldHMsIHBhZ2luYXRpb24sIHRvdGFsRmlsZSk7XG4gIH1cblxuICAvLyBDYWxsZWQgb24gZXZlcnkgbmV3IGFzc2V0IGxpc3Q6IHdoaWxlIHNvbWUgZmlsZXMgYXJlIHN0aWxsIHByb2Nlc3NlZCBpbiB0aGUgYmFja2dyb3VuZCxcbiAgLy8gcmVsb2FkIHRoZSBsaXN0IG9uY2UgYWZ0ZXIgYSBkZWxheS4gVGhlIHJlbG9hZGVkIGxpc3QgY2FsbHMgdGhpcyBhZ2FpbiwgdW50aWwgbm90aGluZyBpcyBwcm9jZXNzaW5nLlxuICBwcml2YXRlIGNoZWNrUHJvY2Vzc2luZ0Fzc2V0cygpIHtcbiAgICB0aGlzLnN0b3BQcm9jZXNzaW5nQ2hlY2soKTtcblxuICAgIGNvbnN0IGhhc1Byb2Nlc3NpbmdBc3NldHMgPSB0aGlzLmFzc2V0cyAmJiB0aGlzLmFzc2V0cy5zb21lKFxuICAgICAgKGFzc2V0KSA9PiBhc3NldC5CYWNrZ3JvdWRQcm9jZXNzaW5nU3RhdHVzID09PSB0aGlzLmJhY2tncm91bmRQcm9jZXNzaW5nTnVtLkluUHJvY2Vzc2luZ1xuICAgICk7XG4gICAgaWYgKGhhc1Byb2Nlc3NpbmdBc3NldHMpIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZ0NoZWNrVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVsb2FkUHJvY2Vzc2luZ0Fzc2V0cygpLCB0aGlzLnByb2Nlc3NpbmdDaGVja0RlbGF5KTtcbiAgICB9XG4gIH1cblxuICAvLyBTaWxlbnQgcmVsb2FkLCB3aXRob3V0IHRoZSBnbG9iYWwgbG9hZGluZyBiYXJcbiAgcHJpdmF0ZSByZWxvYWRQcm9jZXNzaW5nQXNzZXRzKCkge1xuICAgIGlmICghdGhpcy5jdXJyZW50Rm9sZGVySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcm9jZXNzaW5nQ2hlY2tSZXF1ZXN0ID0gdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRDaGlsZHJlbkFzc2V0cyh7IGFzc2V0SWQ6IHRoaXMuY3VycmVudEZvbGRlcklkIH0pXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHRoaXMuc2V0QXNzZXRMaXN0KHJlcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUHJvY2Vzc2luZ0NoZWNrKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnByb2Nlc3NpbmdDaGVja1RpbWVyKTtcbiAgICBpZiAodGhpcy5wcm9jZXNzaW5nQ2hlY2tSZXF1ZXN0KSB7XG4gICAgICB0aGlzLnByb2Nlc3NpbmdDaGVja1JlcXVlc3QudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3BQcm9jZXNzaW5nQ2hlY2soKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -42,6 +42,12 @@ export class FileItemComponent {
42
42
  ngOnInit() {
43
43
  this.initDataFile();
44
44
  }
45
+ /**
46
+ * @return {?}
47
+ */
48
+ get uploadErrors() {
49
+ return this.uploadAssetService.uploadErrors.get(this.file);
50
+ }
45
51
  /**
46
52
  * @private
47
53
  * @return {?}
@@ -141,8 +147,8 @@ export class FileItemComponent {
141
147
  FileItemComponent.decorators = [
142
148
  { type: Component, args: [{
143
149
  selector: 'lib-file-item',
144
- template: "<div class=\"file-item__img\">\n <ng-container\n *ngIf=\"\n file.type.indexOf('image') > -1 || documentExts.indexOf(dataFile.ext) > -1;\n else defaultFile\n \"\n >\n <img\n [class.image]=\"file.type.indexOf('image') > -1\"\n *ngIf=\"documentExts.indexOf(dataFile.ext) > -1 || dataFile.data\"\n [src]=\"documentExts.indexOf(dataFile.ext) > -1 ? base64PNG[dataFile.ext] : dataFile.data\"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n</div>\n<div class=\"file-item__content\">\n <input\n class=\"file-item__content--name\"\n matInput\n placeholder=\"Enter file name\"\n [value]=\"dataFile.name\"\n required\n (input)=\"onChange($event)\"\n />\n <div class=\"file-item__content--info\">\n <div class=\"file-item__content--info__item\">\n Extension: <span>{{ dataFile.ext }}</span>\n </div>\n <div class=\"file-item__content--info__item\">\n Size: <span>{{ dataFile.size | fileSize }}</span>\n </div>\n </div>\n <div *ngIf=\"dataFile.errors.ext\" class=\"file-item__error\">\n {{ uploadAssetService.messageErrors['ext'] }}\n {{ uploadAssetService.supportedTypes.join(', ') }}\n </div>\n <div *ngIf=\"dataFile.errors.size\" class=\"file-item__error\">\n {{ uploadAssetService.messageErrors['size'] }}\n {{ uploadAssetService.supportedSize | fileSize: 0 }}\n </div>\n <div *ngIf=\"dataFile.errors.maxLength\" class=\"file-item__error\">\n {{ uploadAssetService.messageErrors['maxLength'] }}\n </div>\n</div>\n<div class=\"file-item__action\">\n <mat-icon (click)=\"onRemove()\">delete_outline</mat-icon>\n</div>\n",
145
- styles: [":host::ng-deep{padding:10px 5%;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9;border-radius:10px}:host::ng-deep .file-item__img{display:flex;justify-content:center;align-items:center;width:250px;height:150px;border-radius:10px}:host::ng-deep .file-item__img img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}:host::ng-deep .file-item__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-item__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-item__content{flex:1;padding-left:5%;padding-right:5%}:host::ng-deep .file-item__content--name{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .file-item__content--info{margin-top:10px;display:flex}:host::ng-deep .file-item__content--info__item:not(:last-child){margin-right:50px}:host::ng-deep .file-item__content--info__item span{color:#000;text-transform:uppercase}:host::ng-deep .file-item__error{margin-top:10px;color:#f44336}:host::ng-deep .file-item__action{color:#f44336;cursor:pointer}"]
150
+ template: "<div class=\"file-item__img\">\n <ng-container\n *ngIf=\"\n file.type.indexOf('image') > -1 || documentExts.indexOf(dataFile.ext) > -1;\n else defaultFile\n \"\n >\n <img\n [class.image]=\"file.type.indexOf('image') > -1\"\n *ngIf=\"documentExts.indexOf(dataFile.ext) > -1 || dataFile.data\"\n [src]=\"documentExts.indexOf(dataFile.ext) > -1 ? base64PNG[dataFile.ext] : dataFile.data\"\n />\n </ng-container>\n <ng-template #defaultFile>\n <mat-icon>attach_file</mat-icon>\n </ng-template>\n</div>\n<div class=\"file-item__content\">\n <input\n class=\"file-item__content--name\"\n matInput\n placeholder=\"Enter file name\"\n [value]=\"dataFile.name\"\n required\n (input)=\"onChange($event)\"\n />\n <div class=\"file-item__content--info\">\n <div class=\"file-item__content--info__item\">\n Extension: <span>{{ dataFile.ext }}</span>\n </div>\n <div class=\"file-item__content--info__item\">\n Size: <span>{{ dataFile.size | fileSize }}</span>\n </div>\n </div>\n <div *ngIf=\"dataFile.errors.ext\" class=\"file-item__error\">\n <mat-icon class=\"file-item__error--icon\">error_outline</mat-icon>\n <span>\n {{ uploadAssetService.messageErrors['ext'] }}\n {{ uploadAssetService.supportedTypes.join(', ') }}\n </span>\n </div>\n <div *ngIf=\"dataFile.errors.size\" class=\"file-item__error\">\n <mat-icon class=\"file-item__error--icon\">error_outline</mat-icon>\n <span>\n {{ uploadAssetService.messageErrors['size'] }}\n {{ uploadAssetService.supportedSize | fileSize: 0 }}\n </span>\n </div>\n <div *ngIf=\"dataFile.errors.maxLength\" class=\"file-item__error\">\n <mat-icon class=\"file-item__error--icon\">error_outline</mat-icon>\n <span>{{ uploadAssetService.messageErrors['maxLength'] }}</span>\n </div>\n <div *ngFor=\"let message of uploadErrors\" class=\"file-item__error\" role=\"alert\">\n <mat-icon class=\"file-item__error--icon\">error_outline</mat-icon>\n <span>{{ message }}</span>\n </div>\n</div>\n<div class=\"file-item__action\">\n <mat-icon (click)=\"onRemove()\">delete_outline</mat-icon>\n</div>\n",
151
+ styles: [":host::ng-deep{padding:10px 5%;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9;border-radius:10px}:host::ng-deep .file-item__img{display:flex;justify-content:center;align-items:center;width:250px;height:150px;border-radius:10px}:host::ng-deep .file-item__img img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}:host::ng-deep .file-item__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-item__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-item__content{flex:1;padding-left:5%;padding-right:5%}:host::ng-deep .file-item__content--name{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .file-item__content--info{margin-top:10px;display:flex}:host::ng-deep .file-item__content--info__item:not(:last-child){margin-right:50px}:host::ng-deep .file-item__content--info__item span{color:#000;text-transform:uppercase}:host::ng-deep .file-item__error{display:flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:8px;padding:4px 10px;border-radius:6px;background-color:#fdecea;color:#d32f2f;font-size:13px;line-height:18px;word-break:break-word}:host::ng-deep .file-item__error--icon{flex-shrink:0;margin-right:6px;font-size:16px;width:16px;height:16px}:host::ng-deep .file-item__action{color:#f44336;cursor:pointer}"]
146
152
  }] }
147
153
  ];
148
154
  /** @nocollapse */
@@ -179,4 +185,4 @@ if (false) {
179
185
  /** @type {?} */
180
186
  FileItemComponent.prototype.uploadAssetService;
181
187
  }
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9maWxlLWl0ZW0vZmlsZS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTXpELE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBdUI1QixZQUNVLFlBQTBCLEVBQzNCLGtCQUF1QztRQUR0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBeEJ6QyxpQkFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxjQUFTLEdBQUc7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDO1lBQ3ZELEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztZQUN2RCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7U0FDeEQsQ0FBQztRQUVRLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGFB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Qzs7O1lBdkdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIseXBEQUF5Qzs7YUFFMUM7Ozs7WUFMUSxZQUFZO1lBRlosbUJBQW1COzs7bUJBZXpCLEtBQUs7eUJBQ0wsTUFBTTt5QkFDTixNQUFNO3lCQUNOLE1BQU07Ozs7SUFUUCx5Q0FBNEM7O0lBQzVDLHNDQUlFOztJQUNGLGlDQUFvQjs7SUFDcEIsdUNBQTBDOztJQUMxQyx1Q0FBMEM7O0lBQzFDLHVDQUEwQzs7SUFDMUMscUNBVUU7Ozs7O0lBR0EseUNBQWtDOztJQUNsQywrQ0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBJbnB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXBsb2FkLWFzc2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IGltYWdlUGRmLCBpbWFnZVppcCwgaW1hZ2VDc3YgfSBmcm9tICcuLi8uLi8uLi9jb250YW5zdCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1maWxlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGRvY3VtZW50RXh0cyA9IFsncGRmJywgJ3ppcCcsICdjc3YnXTtcbiAgcHVibGljIGJhc2U2NFBORyA9IHtcbiAgICBwZGY6IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoaW1hZ2VQZGYpLFxuICAgIHppcDogdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChpbWFnZVppcCksXG4gICAgY3N2OiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKGltYWdlQ3N2KSxcbiAgfTtcbiAgQElucHV0KCkgZmlsZTogRmlsZTtcbiAgQE91dHB1dCgpIGNoZWNrRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBmaWxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZmlsZVJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHVibGljIGRhdGFGaWxlID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHNpemU6IDAsXG4gICAgZXh0OiAnJyxcbiAgICBkYXRhOiBudWxsLFxuICAgIGVycm9yczoge1xuICAgICAgbWF4TGVuZ3RoOiBmYWxzZSxcbiAgICAgIGV4dDogZmFsc2UsXG4gICAgICBzaXplOiBmYWxzZSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHVibGljIHVwbG9hZEFzc2V0U2VydmljZTogVXBsb2FkQXNzZXRzU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0RGF0YUZpbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERhdGFGaWxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGV0YWlsc0ZpbGUoKTtcbiAgICB0aGlzLnNldEVycm9yRmlsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZXRhaWxzRmlsZSgpIHtcbiAgICBjb25zdCB7IG5hbWUsIHNpemUgfSA9IHRoaXMuZmlsZTtcbiAgICBjb25zdCB7IGdldEZpbGVzOiBmaWxlcyB9ID0gdGhpcy51cGxvYWRBc3NldFNlcnZpY2U7XG4gICAgY29uc3QgbmFtZXMgPSBmaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlLm5hbWUgPT09IG5hbWUpO1xuICAgIGNvbnN0IG5hbWVTcGxpdCA9IG5hbWUuc3BsaXQoJy4nKTtcbiAgICBpZiAobmFtZXMubGVuZ3RoID4gMSkge1xuICAgICAgbmFtZVNwbGl0WzBdID0gYCR7bmFtZVNwbGl0WzBdfSgke25hbWVzLmxlbmd0aCAtIDF9KWA7XG4gICAgfVxuICAgIHRoaXMuZGF0YUZpbGUuZXh0ID0gbmFtZVNwbGl0LnNwbGljZShuYW1lU3BsaXQubGVuZ3RoIC0gMSwgMSlbMF07XG4gICAgdGhpcy5kYXRhRmlsZS5uYW1lID0gbmFtZVNwbGl0LmpvaW4oJy4nKTtcbiAgICB0aGlzLmRhdGFGaWxlLnNpemUgPSBzaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFcnJvckZpbGUoKSB7XG4gICAgY29uc3QgeyBzdXBwb3J0ZWRUeXBlcywgc3VwcG9ydGVkU2l6ZSwgZmlsZU5hbWVzIH0gPSB0aGlzLnVwbG9hZEFzc2V0U2VydmljZTtcbiAgICBjb25zdCB7IG5hbWUsIGV4dDogZXh0RmlsZSwgc2l6ZTogc2l6ZUZpbGUgfSA9IHRoaXMuZGF0YUZpbGU7XG4gICAgdGhpcy5kYXRhRmlsZS5lcnJvcnMgPSB7XG4gICAgICBtYXhMZW5ndGg6IG5hbWUubGVuZ3RoICsgZXh0RmlsZS5sZW5ndGggPiAxOTksXG4gICAgICBleHQ6IHN1cHBvcnRlZFR5cGVzLmluZGV4T2YoYC4ke2V4dEZpbGV9YCkgPCAwLFxuICAgICAgc2l6ZTogc3VwcG9ydGVkU2l6ZSA8IHNpemVGaWxlLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5maWxlLnR5cGUuaW5kZXhPZignaW1hZ2UnKSA+IC0xKSB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwodGhpcy5maWxlKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAocmVhZGVyRXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICAgICAgaW1nLnNyYyA9IHJlYWRlckV2ZW50LnRhcmdldC5yZXN1bHQgYXMgc3RyaW5nO1xuXG4gICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRhRmlsZS5kYXRhID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChcbiAgICAgICAgICAgIHJlYWRlckV2ZW50LnRhcmdldC5yZXN1bHRcbiAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBmaWxlTmFtZXMucHVzaCh7XG4gICAgICBuYW1lLFxuICAgICAgdmFsaWQ6IHRoaXMuY2hlY2tFcnJvcnMoKVxuICAgIH0pO1xuICAgIHRoaXMudXBsb2FkQXNzZXRTZXJ2aWNlLnNldEVycm9yT2JzKHRoaXMudXBsb2FkQXNzZXRTZXJ2aWNlLmVycm9yRmlsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0Vycm9ycygpIHtcbiAgICBjb25zdCB7IGV4dCwgc2l6ZSwgbWF4TGVuZ3RoIH0gPSB0aGlzLmRhdGFGaWxlLmVycm9ycztcbiAgICByZXR1cm4gKGV4dCB8fCBzaXplIHx8IG1heExlbmd0aCkgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmRhdGFGaWxlLm5hbWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlLnRyaW0oKTtcbiAgICBjb25zdCB7IG5hbWUsIGV4dCB9ID0gdGhpcy5kYXRhRmlsZTtcbiAgICB0aGlzLmRhdGFGaWxlLmVycm9ycy5tYXhMZW5ndGggPSBuYW1lLmxlbmd0aCArIGV4dC5sZW5ndGggPiAxOTk7XG4gICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoe1xuICAgICAgbmFtZTogdGhpcy5kYXRhRmlsZS5uYW1lLFxuICAgICAgdmFsaWQ6IHRoaXMuY2hlY2tFcnJvcnMoKVxuICAgIH0pO1xuICB9XG5cbiAgb25SZW1vdmUoKSB7XG4gICAgdGhpcy5maWxlUmVtb3ZlLmVtaXQodHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9maWxlLWl0ZW0vZmlsZS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTXpELE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBdUI1QixZQUNVLFlBQTBCLEVBQzNCLGtCQUF1QztRQUR0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBeEJ6QyxpQkFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxjQUFTLEdBQUc7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDO1lBQ3ZELEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztZQUN2RCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7U0FDeEQsQ0FBQztRQUVRLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGFB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QVcsRUFBRTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7OztZQTNHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHdvRUFBeUM7O2FBRTFDOzs7O1lBTFEsWUFBWTtZQUZaLG1CQUFtQjs7O21CQWV6QixLQUFLO3lCQUNMLE1BQU07eUJBQ04sTUFBTTt5QkFDTixNQUFNOzs7O0lBVFAseUNBQTRDOztJQUM1QyxzQ0FJRTs7SUFDRixpQ0FBb0I7O0lBQ3BCLHVDQUEwQzs7SUFDMUMsdUNBQTBDOztJQUMxQyx1Q0FBMEM7O0lBQzFDLHFDQVVFOzs7OztJQUdBLHlDQUFrQzs7SUFDbEMsK0NBQThDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXBsb2FkQXNzZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VwbG9hZC1hc3NldHMuc2VydmljZSc7XG5pbXBvcnQgeyBpbWFnZVBkZiwgaW1hZ2VaaXAsIGltYWdlQ3N2IH0gZnJvbSAnLi4vLi4vLi4vY29udGFuc3QnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZmlsZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBkb2N1bWVudEV4dHMgPSBbJ3BkZicsICd6aXAnLCAnY3N2J107XG4gIHB1YmxpYyBiYXNlNjRQTkcgPSB7XG4gICAgcGRmOiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKGltYWdlUGRmKSxcbiAgICB6aXA6IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoaW1hZ2VaaXApLFxuICAgIGNzdjogdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChpbWFnZUNzdiksXG4gIH07XG4gIEBJbnB1dCgpIGZpbGU6IEZpbGU7XG4gIEBPdXRwdXQoKSBjaGVja0Vycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZmlsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBkYXRhRmlsZSA9IHtcbiAgICBuYW1lOiAnJyxcbiAgICBzaXplOiAwLFxuICAgIGV4dDogJycsXG4gICAgZGF0YTogbnVsbCxcbiAgICBlcnJvcnM6IHtcbiAgICAgIG1heExlbmd0aDogZmFsc2UsXG4gICAgICBleHQ6IGZhbHNlLFxuICAgICAgc2l6ZTogZmFsc2UsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHB1YmxpYyB1cGxvYWRBc3NldFNlcnZpY2U6IFVwbG9hZEFzc2V0c1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdERhdGFGaWxlKCk7XG4gIH1cblxuICBnZXQgdXBsb2FkRXJyb3JzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRBc3NldFNlcnZpY2UudXBsb2FkRXJyb3JzLmdldCh0aGlzLmZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RGF0YUZpbGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXREZXRhaWxzRmlsZSgpO1xuICAgIHRoaXMuc2V0RXJyb3JGaWxlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldERldGFpbHNGaWxlKCkge1xuICAgIGNvbnN0IHsgbmFtZSwgc2l6ZSB9ID0gdGhpcy5maWxlO1xuICAgIGNvbnN0IHsgZ2V0RmlsZXM6IGZpbGVzIH0gPSB0aGlzLnVwbG9hZEFzc2V0U2VydmljZTtcbiAgICBjb25zdCBuYW1lcyA9IGZpbGVzLmZpbHRlcihmaWxlID0+IGZpbGUubmFtZSA9PT0gbmFtZSk7XG4gICAgY29uc3QgbmFtZVNwbGl0ID0gbmFtZS5zcGxpdCgnLicpO1xuICAgIGlmIChuYW1lcy5sZW5ndGggPiAxKSB7XG4gICAgICBuYW1lU3BsaXRbMF0gPSBgJHtuYW1lU3BsaXRbMF19KCR7bmFtZXMubGVuZ3RoIC0gMX0pYDtcbiAgICB9XG4gICAgdGhpcy5kYXRhRmlsZS5leHQgPSBuYW1lU3BsaXQuc3BsaWNlKG5hbWVTcGxpdC5sZW5ndGggLSAxLCAxKVswXTtcbiAgICB0aGlzLmRhdGFGaWxlLm5hbWUgPSBuYW1lU3BsaXQuam9pbignLicpO1xuICAgIHRoaXMuZGF0YUZpbGUuc2l6ZSA9IHNpemU7XG4gIH1cblxuICBwcml2YXRlIHNldEVycm9yRmlsZSgpIHtcbiAgICBjb25zdCB7IHN1cHBvcnRlZFR5cGVzLCBzdXBwb3J0ZWRTaXplLCBmaWxlTmFtZXMgfSA9IHRoaXMudXBsb2FkQXNzZXRTZXJ2aWNlO1xuICAgIGNvbnN0IHsgbmFtZSwgZXh0OiBleHRGaWxlLCBzaXplOiBzaXplRmlsZSB9ID0gdGhpcy5kYXRhRmlsZTtcbiAgICB0aGlzLmRhdGFGaWxlLmVycm9ycyA9IHtcbiAgICAgIG1heExlbmd0aDogbmFtZS5sZW5ndGggKyBleHRGaWxlLmxlbmd0aCA+IDE5OSxcbiAgICAgIGV4dDogc3VwcG9ydGVkVHlwZXMuaW5kZXhPZihgLiR7ZXh0RmlsZX1gKSA8IDAsXG4gICAgICBzaXplOiBzdXBwb3J0ZWRTaXplIDwgc2l6ZUZpbGUsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmZpbGUudHlwZS5pbmRleE9mKCdpbWFnZScpID4gLTEpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLmZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9IChyZWFkZXJFdmVudDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgICAgICBpbWcuc3JjID0gcmVhZGVyRXZlbnQudGFyZ2V0LnJlc3VsdCBhcyBzdHJpbmc7XG5cbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmRhdGFGaWxlLmRhdGEgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxuICAgICAgICAgICAgcmVhZGVyRXZlbnQudGFyZ2V0LnJlc3VsdFxuICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH1cblxuICAgIGZpbGVOYW1lcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWxpZDogdGhpcy5jaGVja0Vycm9ycygpXG4gICAgfSk7XG4gICAgdGhpcy51cGxvYWRBc3NldFNlcnZpY2Uuc2V0RXJyb3JPYnModGhpcy51cGxvYWRBc3NldFNlcnZpY2UuZXJyb3JGaWxlcyk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRXJyb3JzKCkge1xuICAgIGNvbnN0IHsgZXh0LCBzaXplLCBtYXhMZW5ndGggfSA9IHRoaXMuZGF0YUZpbGUuZXJyb3JzO1xuICAgIHJldHVybiAoZXh0IHx8IHNpemUgfHwgbWF4TGVuZ3RoKSA/IGZhbHNlIDogdHJ1ZTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZGF0YUZpbGUubmFtZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUudHJpbSgpO1xuICAgIGNvbnN0IHsgbmFtZSwgZXh0IH0gPSB0aGlzLmRhdGFGaWxlO1xuICAgIHRoaXMuZGF0YUZpbGUuZXJyb3JzLm1heExlbmd0aCA9IG5hbWUubGVuZ3RoICsgZXh0Lmxlbmd0aCA+IDE5OTtcbiAgICB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh7XG4gICAgICBuYW1lOiB0aGlzLmRhdGFGaWxlLm5hbWUsXG4gICAgICB2YWxpZDogdGhpcy5jaGVja0Vycm9ycygpXG4gICAgfSk7XG4gIH1cblxuICBvblJlbW92ZSgpIHtcbiAgICB0aGlzLmZpbGVSZW1vdmUuZW1pdCh0cnVlKTtcbiAgfVxufVxuIl19
@@ -35,6 +35,9 @@ export class UploadDialogComponent {
35
35
  this.uploadAssetsService = uploadAssetsService;
36
36
  this.isLoading = false;
37
37
  this.disabled = true;
38
+ this.errorMessages = [];
39
+ this.defaultErrorMessage = 'Something went wrong while uploading. Please try again.';
40
+ this.isDestroyed = false;
38
41
  this.destroy$ = new Subject();
39
42
  if (this.data.fileType) {
40
43
  this.uploadAssetsService.supportedTypes =
@@ -59,6 +62,7 @@ export class UploadDialogComponent {
59
62
  */
60
63
  error => {
61
64
  this.disabled = error;
65
+ this.clearErrors();
62
66
  this.changeDetectorRef.detectChanges();
63
67
  }));
64
68
  }
@@ -68,12 +72,15 @@ export class UploadDialogComponent {
68
72
  */
69
73
  onValidate(hasError) {
70
74
  this.disabled = hasError;
75
+ this.clearErrors();
71
76
  }
72
77
  /**
73
78
  * @return {?}
74
79
  */
75
80
  uploadFiles() {
76
81
  this.isLoading = true;
82
+ this.clearErrors();
83
+ this.dialogRef.disableClose = true;
77
84
  this.uploadAssetsService
78
85
  .uploadMultipleAssets(this.data.currentAssetId)
79
86
  .pipe(takeUntil(this.destroy$))
@@ -85,8 +92,106 @@ export class UploadDialogComponent {
85
92
  if (res) {
86
93
  this.closeDialog(true);
87
94
  }
95
+ }), (/**
96
+ * @param {?} err
97
+ * @return {?}
98
+ */
99
+ err => {
100
+ this.setUploadErrors(this.getErrorMessages(err));
101
+ this.stopLoading();
102
+ }), (
103
+ // the request can complete without a truthy response (or be swallowed by an interceptor)
104
+ /**
105
+ * @return {?}
106
+ */
107
+ () => this.stopLoading()));
108
+ }
109
+ /**
110
+ * @private
111
+ * @return {?}
112
+ */
113
+ stopLoading() {
114
+ // takeUntil also completes the upload when the dialog is destroyed, its view can't be checked anymore
115
+ if (this.isDestroyed) {
116
+ return;
117
+ }
118
+ this.isLoading = false;
119
+ this.dialogRef.disableClose = false;
120
+ this.changeDetectorRef.detectChanges();
121
+ }
122
+ /**
123
+ * @private
124
+ * @return {?}
125
+ */
126
+ clearErrors() {
127
+ this.errorMessages = [];
128
+ this.uploadAssetsService.uploadErrors.clear();
129
+ }
130
+ // show each message on the file it mentions, the rest stay under the list
131
+ /**
132
+ * @private
133
+ * @param {?} messages
134
+ * @return {?}
135
+ */
136
+ setUploadErrors(messages) {
137
+ const { getFiles: files, uploadErrors } = this.uploadAssetsService;
138
+ /** @type {?} */
139
+ const uploadNames = files.map((/**
140
+ * @param {?} file
141
+ * @param {?} index
142
+ * @return {?}
143
+ */
144
+ (file, index) => this.uploadAssetsService.getUploadName(index)));
145
+ this.errorMessages = messages.filter((/**
146
+ * @param {?} message
147
+ * @return {?}
148
+ */
149
+ message => {
150
+ /** @type {?} */
151
+ let index = uploadNames.findIndex((/**
152
+ * @param {?} name
153
+ * @return {?}
154
+ */
155
+ name => message.indexOf(name) > -1));
156
+ if (index < 0 && files.length === 1) {
157
+ index = 0;
158
+ }
159
+ if (index < 0) {
160
+ return true;
161
+ }
162
+ uploadErrors.set(files[index], [...(uploadErrors.get(files[index]) || []), message]);
163
+ return false;
88
164
  }));
89
165
  }
166
+ /**
167
+ * @private
168
+ * @param {?} err
169
+ * @return {?}
170
+ */
171
+ getErrorMessages(err) {
172
+ // HttpErrorResponse keeps the API body in `error`, an interceptor may already unwrap it
173
+ /** @type {?} */
174
+ const body = err && err.error && typeof err.error === 'object' ? err.error : err || {};
175
+ /** @type {?} */
176
+ const messages = (body.Messages || [])
177
+ .map((/**
178
+ * @param {?} message
179
+ * @return {?}
180
+ */
181
+ message => (typeof message === 'string' ? message : message && message.Text)))
182
+ .filter(Boolean);
183
+ if (!messages.length && body.ResponseMessage) {
184
+ messages.push(body.ResponseMessage);
185
+ }
186
+ return messages.length
187
+ ? messages.filter((/**
188
+ * @param {?} message
189
+ * @param {?} index
190
+ * @return {?}
191
+ */
192
+ (message, index) => messages.indexOf(message) === index))
193
+ : [this.defaultErrorMessage];
194
+ }
90
195
  /**
91
196
  * @param {?=} res
92
197
  * @return {?}
@@ -98,6 +203,7 @@ export class UploadDialogComponent {
98
203
  * @return {?}
99
204
  */
100
205
  ngOnDestroy() {
206
+ this.isDestroyed = true;
101
207
  this.destroy$.next(true);
102
208
  this.destroy$.complete();
103
209
  }
@@ -105,9 +211,9 @@ export class UploadDialogComponent {
105
211
  UploadDialogComponent.decorators = [
106
212
  { type: Component, args: [{
107
213
  selector: 'lib-upload-dialog',
108
- template: "<lib-modal heading=\"Add new assets\">\n <ng-container content>\n <lib-upload-file\n *ngIf=\"!uploadAssetsService?.getFiles?.length\"\n (revalidate)=\"onValidate($event)\"\n ></lib-upload-file>\n <lib-file-list\n *ngIf=\"uploadAssetsService?.getFiles?.length\"\n (revalidate)=\"onValidate($event)\"\n ></lib-file-list>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n class=\"upload__action\"\n [class.loading]=\"isLoading\"\n mat-raised-button\n color=\"primary\"\n (click)=\"uploadFiles()\"\n [disabled]=\"disabled || isLoading\"\n >\n <ng-container *ngIf=\"isLoading\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </ng-container>\n <span>Upload</span>\n </button>\n </ng-container>\n</lib-modal>\n",
214
+ template: "<lib-modal heading=\"Add new assets\">\n <ng-container content>\n <lib-upload-file\n *ngIf=\"!uploadAssetsService?.getFiles?.length\"\n (revalidate)=\"onValidate($event)\"\n ></lib-upload-file>\n <lib-file-list\n *ngIf=\"uploadAssetsService?.getFiles?.length\"\n (revalidate)=\"onValidate($event)\"\n ></lib-file-list>\n <div *ngFor=\"let message of errorMessages\" class=\"upload__error\" role=\"alert\">\n <mat-icon class=\"upload__error--icon\">error_outline</mat-icon>\n <span>{{ message }}</span>\n </div>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close [disabled]=\"isLoading\">Cancel</button>\n <button\n class=\"upload__action\"\n [class.loading]=\"isLoading\"\n mat-raised-button\n color=\"primary\"\n (click)=\"uploadFiles()\"\n [disabled]=\"disabled || isLoading\"\n >\n <ng-container *ngIf=\"isLoading\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </ng-container>\n <span>Upload</span>\n </button>\n </ng-container>\n</lib-modal>\n",
109
215
  providers: [UploadAssetsService],
110
- styles: [":host::ng-deep{display:block;width:1200px;max-width:100%;font-size:14px;line-height:16px;color:#979797;letter-spacing:.15px}:host::ng-deep .mat-dialog-title{position:relative;margin-bottom:0;padding-bottom:24px;color:#000}:host::ng-deep .mat-dialog-actions{justify-content:flex-end;padding:24px 0 0}:host::ng-deep .upload__action{min-width:100px}:host::ng-deep .upload__action.loading{padding:0 5px}:host::ng-deep .upload__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .upload__action.loading .mat-spinner{margin-right:10px}"]
216
+ styles: [":host::ng-deep{display:block;width:1200px;max-width:100%;font-size:14px;line-height:16px;color:#979797;letter-spacing:.15px}:host::ng-deep .mat-dialog-title{position:relative;margin-bottom:0;padding-bottom:24px;color:#000}:host::ng-deep .mat-dialog-actions{justify-content:flex-end;padding:24px 0 0}:host::ng-deep .upload__error{display:flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:8px;padding:4px 10px;border-radius:6px;background-color:#fdecea;color:#d32f2f;font-size:13px;line-height:18px;word-break:break-word}:host::ng-deep .upload__error--icon{flex-shrink:0;margin-right:6px;font-size:16px;width:16px;height:16px}:host::ng-deep .upload__action{min-width:100px}:host::ng-deep .upload__action.loading{padding:0 5px}:host::ng-deep .upload__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .upload__action.loading .mat-spinner{margin-right:10px}"]
111
217
  }] }
112
218
  ];
113
219
  /** @nocollapse */
@@ -122,6 +228,18 @@ if (false) {
122
228
  UploadDialogComponent.prototype.isLoading;
123
229
  /** @type {?} */
124
230
  UploadDialogComponent.prototype.disabled;
231
+ /** @type {?} */
232
+ UploadDialogComponent.prototype.errorMessages;
233
+ /**
234
+ * @type {?}
235
+ * @private
236
+ */
237
+ UploadDialogComponent.prototype.defaultErrorMessage;
238
+ /**
239
+ * @type {?}
240
+ * @private
241
+ */
242
+ UploadDialogComponent.prototype.isDestroyed;
125
243
  /**
126
244
  * @type {?}
127
245
  * @private
@@ -139,4 +257,4 @@ if (false) {
139
257
  /** @type {?} */
140
258
  UploadDialogComponent.prototype.uploadAssetsService;
141
259
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQUU5RSxvQkFJQzs7O0lBSEMsK0JBQXVCOztJQUN2Qix5QkFBa0I7O0lBQ2xCLHdCQUFpQjs7QUFTbkIsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7OztJQUloQyxZQUNrQyxJQUFXLEVBQ3BDLFNBQThDLEVBQzdDLGlCQUFvQyxFQUNyQyxtQkFBd0M7UUFIZixTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVAxQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFPakQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYztnQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTztvQkFDNUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDO29CQUM5QyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7U0FDMUU7SUFFSCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLFFBQWlCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQjthQUNyQixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxHQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLHEzQkFBNkM7Z0JBRTdDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzthQUNqQzs7Ozs0Q0FNSSxNQUFNLFNBQUMsZUFBZTtZQXZCbEIsWUFBWTtZQUdaLGlCQUFpQjtZQUNqQixtQkFBbUI7Ozs7SUFlMUIsMENBQXlCOztJQUN6Qix5Q0FBdUI7Ozs7O0lBQ3ZCLHlDQUFtRDs7SUFFakQscUNBQTJDOztJQUMzQywwQ0FBcUQ7Ozs7O0lBQ3JELGtEQUE0Qzs7SUFDNUMsb0RBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXBsb2FkQXNzZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VwbG9hZC1hc3NldHMuc2VydmljZSc7XG5cbmludGVyZmFjZSBJRGF0YSB7XG4gIGN1cnJlbnRBc3NldElkOiBzdHJpbmc7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICBtYXhTaXplPzogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXBsb2FkLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtVcGxvYWRBc3NldHNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IHRydWU7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IElEYXRhLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVcGxvYWREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyB1cGxvYWRBc3NldHNTZXJ2aWNlOiBVcGxvYWRBc3NldHNTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmRhdGEuZmlsZVR5cGUpIHtcbiAgICAgIHRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5zdXBwb3J0ZWRUeXBlcyA9XG4gICAgICAgIHRoaXMuZGF0YS5maWxlVHlwZSA9PT0gJ0ltYWdlJ1xuICAgICAgICAgID8gWy4uLnRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5pbWFnZUV4dGVuc2lvbl1cbiAgICAgICAgICA6IFsuLi50aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UuZG9jdW1lbnRFeHRlbnNpb25dO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGEubWF4U2l6ZSkge1xuICAgICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLnN1cHBvcnRlZFNpemUgPSB0aGlzLmRhdGEubWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xuICAgIH1cblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlXG4gICAgICAuZ2V0RXJyb3JPYnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uVmFsaWRhdGUoaGFzRXJyb3I6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaGFzRXJyb3I7XG4gIH1cblxuICB1cGxvYWRGaWxlcygpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlXG4gICAgICAudXBsb2FkTXVsdGlwbGVBc3NldHModGhpcy5kYXRhLmN1cnJlbnRBc3NldElkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZURpYWxvZyh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjbG9zZURpYWxvZyhyZXM/OiBib29sZWFuKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7OztBQUU5RSxvQkFJQzs7O0lBSEMsK0JBQXVCOztJQUN2Qix5QkFBa0I7O0lBQ2xCLHdCQUFpQjs7QUFTbkIsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7OztJQU9oQyxZQUNrQyxJQUFXLEVBQ3BDLFNBQThDLEVBQzdDLGlCQUFvQyxFQUNyQyxtQkFBd0M7UUFIZixTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVYxQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDbkIsd0JBQW1CLEdBQUcseURBQXlELENBQUM7UUFDekYsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFB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QUFxRDs7Ozs7SUFDckQsa0RBQTRDOztJQUM1QyxvREFBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRBc3NldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXBsb2FkLWFzc2V0cy5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElEYXRhIHtcbiAgY3VycmVudEFzc2V0SWQ6IHN0cmluZztcbiAgZmlsZVR5cGU/OiBzdHJpbmc7XG4gIG1heFNpemU/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11cGxvYWQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1VwbG9hZEFzc2V0c1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGRpc2FibGVkID0gdHJ1ZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEVycm9yTWVzc2FnZSA9ICdTb21ldGhpbmcgd2VudCB3cm9uZyB3aGlsZSB1cGxvYWRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uJztcbiAgcHJpdmF0ZSBpc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBJRGF0YSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VXBsb2FkRGlhbG9nQ29tcG9uZW50PixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgdXBsb2FkQXNzZXRzU2VydmljZTogVXBsb2FkQXNzZXRzU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5kYXRhLmZpbGVUeXBlKSB7XG4gICAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2Uuc3VwcG9ydGVkVHlwZXMgPVxuICAgICAgICB0aGlzLmRhdGEuZmlsZVR5cGUgPT09ICdJbWFnZSdcbiAgICAgICAgICA/IFsuLi50aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UuaW1hZ2VFeHRlbnNpb25dXG4gICAgICAgICAgOiBbLi4udGhpcy51cGxvYWRBc3NldHNTZXJ2aWNlLmRvY3VtZW50RXh0ZW5zaW9uXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRhLm1heFNpemUpIHtcbiAgICAgIHRoaXMudXBsb2FkQXNzZXRzU2VydmljZS5zdXBwb3J0ZWRTaXplID0gdGhpcy5kYXRhLm1heFNpemUgKiAxMDI0ICogMTAyNDtcbiAgICB9XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBsb2FkQXNzZXRzU2VydmljZVxuICAgICAgLmdldEVycm9yT2JzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZXJyb3I7XG4gICAgICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uVmFsaWRhdGUoaGFzRXJyb3I6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaGFzRXJyb3I7XG4gICAgdGhpcy5jbGVhckVycm9ycygpO1xuICB9XG5cbiAgdXBsb2FkRmlsZXMoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgIHRoaXMudXBsb2FkQXNzZXRzU2VydmljZVxuICAgICAgLnVwbG9hZE11bHRpcGxlQXNzZXRzKHRoaXMuZGF0YS5jdXJyZW50QXNzZXRJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURpYWxvZyh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRVcGxvYWRFcnJvcnModGhpcy5nZXRFcnJvck1lc3NhZ2VzKGVycikpO1xuICAgICAgICAgIHRoaXMuc3RvcExvYWRpbmcoKTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gdGhlIHJlcXVlc3QgY2FuIGNvbXBsZXRlIHdpdGhvdXQgYSB0cnV0aHkgcmVzcG9uc2UgKG9yIGJlIHN3YWxsb3dlZCBieSBhbiBpbnRlcmNlcHRvcilcbiAgICAgICAgKCkgPT4gdGhpcy5zdG9wTG9hZGluZygpXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wTG9hZGluZygpIHtcbiAgICAvLyB0YWtlVW50aWwgYWxzbyBjb21wbGV0ZXMgdGhlIHVwbG9hZCB3aGVuIHRoZSBkaWFsb2cgaXMgZGVzdHJveWVkLCBpdHMgdmlldyBjYW4ndCBiZSBjaGVja2VkIGFueW1vcmVcbiAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckVycm9ycygpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UudXBsb2FkRXJyb3JzLmNsZWFyKCk7XG4gIH1cblxuICAvLyBzaG93IGVhY2ggbWVzc2FnZSBvbiB0aGUgZmlsZSBpdCBtZW50aW9ucywgdGhlIHJlc3Qgc3RheSB1bmRlciB0aGUgbGlzdFxuICBwcml2YXRlIHNldFVwbG9hZEVycm9ycyhtZXNzYWdlczogc3RyaW5nW10pIHtcbiAgICBjb25zdCB7IGdldEZpbGVzOiBmaWxlcywgdXBsb2FkRXJyb3JzIH0gPSB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2U7XG4gICAgY29uc3QgdXBsb2FkTmFtZXMgPSBmaWxlcy5tYXAoKGZpbGUsIGluZGV4KSA9PiB0aGlzLnVwbG9hZEFzc2V0c1NlcnZpY2UuZ2V0VXBsb2FkTmFtZShpbmRleCkpO1xuXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gbWVzc2FnZXMuZmlsdGVyKG1lc3NhZ2UgPT4ge1xuICAgICAgbGV0IGluZGV4ID0gdXBsb2FkTmFtZXMuZmluZEluZGV4KG5hbWUgPT4gbWVzc2FnZS5pbmRleE9mKG5hbWUpID4gLTEpO1xuICAgICAgaWYgKGluZGV4IDwgMCAmJiBmaWxlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgaW5kZXggPSAwO1xuICAgICAgfVxuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHVwbG9hZEVycm9ycy5zZXQoZmlsZXNbaW5kZXhdLCBbLi4uKHVwbG9hZEVycm9ycy5nZXQoZmlsZXNbaW5kZXhdKSB8fCBbXSksIG1lc3NhZ2VdKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXJyb3JNZXNzYWdlcyhlcnIpOiBzdHJpbmdbXSB7XG4gICAgLy8gSHR0cEVycm9yUmVzcG9uc2Uga2VlcHMgdGhlIEFQSSBib2R5IGluIGBlcnJvcmAsIGFuIGludGVyY2VwdG9yIG1heSBhbHJlYWR5IHVud3JhcCBpdFxuICAgIGNvbnN0IGJvZHkgPSBlcnIgJiYgZXJyLmVycm9yICYmIHR5cGVvZiBlcnIuZXJyb3IgPT09ICdvYmplY3QnID8gZXJyLmVycm9yIDogZXJyIHx8IHt9O1xuICAgIGNvbnN0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IChib2R5Lk1lc3NhZ2VzIHx8IFtdKVxuICAgICAgLm1hcChtZXNzYWdlID0+ICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycgPyBtZXNzYWdlIDogbWVzc2FnZSAmJiBtZXNzYWdlLlRleHQpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmICghbWVzc2FnZXMubGVuZ3RoICYmIGJvZHkuUmVzcG9uc2VNZXNzYWdlKSB7XG4gICAgICBtZXNzYWdlcy5wdXNoKGJvZHkuUmVzcG9uc2VNZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZXMubGVuZ3RoXG4gICAgICA/IG1lc3NhZ2VzLmZpbHRlcigobWVzc2FnZSwgaW5kZXgpID0+IG1lc3NhZ2VzLmluZGV4T2YobWVzc2FnZSkgPT09IGluZGV4KVxuICAgICAgOiBbdGhpcy5kZWZhdWx0RXJyb3JNZXNzYWdlXTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKHJlcz86IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -20,6 +20,7 @@ export class UploadAssetsService {
20
20
  this._api = _api;
21
21
  this.files = [];
22
22
  this.fileNames = [];
23
+ this.uploadErrors = new Map();
23
24
  this.supportedSize = 10 * 1024 * 1024; // 10MB
24
25
  // 10MB
25
26
  this.documentExtension = ['.pdf', '.csv'];
@@ -95,9 +96,21 @@ export class UploadAssetsService {
95
96
  * @return {?}
96
97
  */
97
98
  deleteFile(index) {
99
+ this.uploadErrors.delete(this.files[index]);
98
100
  this.files.splice(index, 1);
99
101
  this.fileNames.splice(index, 1);
100
102
  }
103
+ /**
104
+ * @param {?} index
105
+ * @return {?}
106
+ */
107
+ getUploadName(index) {
108
+ /** @type {?} */
109
+ const nameSplit = this.files[index].name.split('.');
110
+ /** @type {?} */
111
+ const ext = `.${nameSplit.splice(nameSplit.length - 1, 1)[0]}`;
112
+ return `${this.fileNames[index].name}${ext}`;
113
+ }
101
114
  /**
102
115
  * @param {?} parentAssetId
103
116
  * @return {?}
@@ -105,21 +118,11 @@ export class UploadAssetsService {
105
118
  uploadMultipleAssets(parentAssetId) {
106
119
  const { files } = this;
107
120
  /** @type {?} */
108
- const fileNames = this.fileNames.map((/**
109
- * @param {?} file
110
- * @return {?}
111
- */
112
- file => file.name));
113
- /** @type {?} */
114
121
  const formData = new FormData();
115
122
  formData.append('parentAssetId', parentAssetId);
116
123
  formData.append('companyId', '732DA8D2-04EC-4BE0-A168-63EE0DCF50D8');
117
124
  for (let i = 0; i < files.length; i++) {
118
- /** @type {?} */
119
- const nameSplit = files[i].name.split('.');
120
- /** @type {?} */
121
- const ext = `.${nameSplit.splice(nameSplit.length - 1, 1)[0]}`;
122
- formData.append('files', files[i], `${fileNames[i]}${ext}`);
125
+ formData.append('files', files[i], this.getUploadName(i));
123
126
  }
124
127
  return this._api.post(`${this.baseUrl}/File/Upload`, formData);
125
128
  }
@@ -142,6 +145,8 @@ if (false) {
142
145
  /** @type {?} */
143
146
  UploadAssetsService.prototype.fileNames;
144
147
  /** @type {?} */
148
+ UploadAssetsService.prototype.uploadErrors;
149
+ /** @type {?} */
145
150
  UploadAssetsService.prototype.supportedSize;
146
151
  /** @type {?} */
147
152
  UploadAssetsService.prototype.documentExtension;
@@ -176,4 +181,4 @@ if (false) {
176
181
  */
177
182
  UploadAssetsService.prototype._api;
178
183
  }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWFzc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXBsb2FkLWFzc2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRCxNQUFNLE9BQU8sbUJBQW1COzs7Ozs7SUF5QjlCLFlBQzZCLElBQUksRUFDeEIsTUFBaUIsRUFDaEIsSUFBb0I7UUFGRCxTQUFJLEdBQUosSUFBSSxDQUFBO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUEzQnRCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUEwQyxFQUFFLENBQUM7UUFDdEQsa0JBQWEsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU87O1FBQ2hDLHNCQUFpQixHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLHdCQUFtQixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsbUJBQWMsR0FBRztZQUMvQixNQUFNO1lBQ04sTUFBTTtZQUNOLE9BQU87WUFDUCxNQUFNO1lBQ04sTUFBTTtZQUNOLFVBQVU7U0FDWCxDQUFDO1FBQ0ssbUJBQWMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxH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QUFVOzs7OzRDQTJCTixNQUFNLFNBQUMsU0FBUztZQWhDWixTQUFTO1lBRVQsY0FBYzs7Ozs7OztJQUtyQixvQ0FBMkI7O0lBQzNCLHdDQUE2RDs7SUFDN0QsNENBQXdDOztJQUN4QyxnREFBcUQ7O0lBQ3JELGtEQUErQzs7SUFDL0MsNkNBT0U7O0lBQ0YsNkNBQXlHOztJQUN6Ryw0Q0FLRTs7Ozs7SUFFRix3Q0FBb0U7Ozs7O0lBQ3BFLHNDQUF3Qjs7Ozs7SUFHdEIsbUNBQStCOztJQUMvQixxQ0FBd0I7Ozs7O0lBQ3hCLG1DQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUh0dHBDbGllbnQgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBTV9DT05GSUcgfSBmcm9tICcuL2Vudi1jb25maWcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGxvYWRBc3NldHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBmaWxlczogRmlsZVtdID0gW107XG4gIHB1YmxpYyBmaWxlTmFtZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbiB9W10gPSBbXTtcbiAgcHVibGljIHN1cHBvcnRlZFNpemUgPSAxMCAqIDEwMjQgKiAxMDI0OyAvLyAxME1CXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudEV4dGVuc2lvbiA9IFsnLnBkZicsICcuY3N2J107XG4gIHB1YmxpYyByZWFkb25seSBjb21wcmVzc2VkRXh0ZW5zaW9uID0gWycuemlwJ107XG4gIHB1YmxpYyByZWFkb25seSBpbWFnZUV4dGVuc2lvbiA9IFtcbiAgICAnLnBuZycsXG4gICAgJy5naWYnLFxuICAgICcuanBlZycsXG4gICAgJy5qcGcnLFxuICAgICcuc3ZnJyxcbiAgICAnLnN2Zyt4bWwnLFxuICBdO1xuICBwdWJsaWMgc3VwcG9ydGVkVHlwZXMgPSBbLi4udGhpcy5pbWFnZUV4dGVuc2lvbiwgLi4udGhpcy5jb21wcmVzc2VkRXh0ZW5zaW9uLCAuLi50aGlzLmRvY3VtZW50RXh0ZW5zaW9uXTtcbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VFcnJvcnMgPSB7XG4gICAgc2l6ZTogYEZpbGUgc2l6ZSBzaG91bGQgYmUgdXB0b2AsXG4gICAgZXh0OiBgT25seSBzdXBwb3J0ZWQgZmlsZSBleHRlbnNpb246YCxcbiAgICByZXBsYWNlOiBgVGhlIHJlcGxhY2VtZW50IGZpbGUgc2hvdWxkIGJlIHRoZSBzYW1lIGV4dGVuc2lvbiB3aXRoIG9sZCBvbmU6YCxcbiAgICBtYXhMZW5ndGg6IGBUaGUgY2hhcmFjdGVyIGxpbWl0IGlzIDIwMCBjaGFyYWN0ZXJzYCxcbiAgfTtcblxuICBwcml2YXRlIGVycm9yT2JzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuICBwcml2YXRlIGJhc2VVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFNX0NPTkZJRykgcHJpdmF0ZSBfZW52LFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9hcGk6IEJhc2VIdHRwQ2xpZW50XG4gICkge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuX2Vudi5hc3NldDJVcmw7XG4gIH1cblxuICBnZXRFcnJvck9icygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yT2JzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldEVycm9yT2JzKGVycm9yOiBib29sZWFuKSB7XG4gICAgdGhpcy5lcnJvck9icyQubmV4dChlcnJvcik7XG4gIH1cblxuICBnZXQgZ2V0RmlsZXMoKTogRmlsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5maWxlcztcbiAgfVxuXG4gIHNldCBzZXRGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgdGhpcy5maWxlcyA9IGZpbGVzO1xuICB9XG5cbiAgZ2V0IGVycm9yRmlsZXMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW52YWxpZEZpbGVzID0gdGhpcy5maWxlTmFtZXMuZmlsdGVyKGZpbGUgPT4gIWZpbGUudmFsaWQpO1xuICAgIHJldHVybiB0aGlzLmZpbGVOYW1lcy5sZW5ndGggJiYgaW52YWxpZEZpbGVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgZXJyb3JMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZU5hbWVzLmZpbHRlcihmaWxlID0+ICFmaWxlLnZhbGlkKS5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlRmlsZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZmlsZU5hbWVzLnNwbGljZShpbmRleCwgMSk7XG4gIH1cblxuICB1cGxvYWRNdWx0aXBsZUFzc2V0cyhwYXJlbnRBc3NldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGZpbGVzIH0gPSB0aGlzO1xuICAgIGNvbnN0IGZpbGVOYW1lcyA9IHRoaXMuZmlsZU5hbWVzLm1hcChmaWxlID0+IGZpbGUubmFtZSk7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhcmVudEFzc2V0SWQnLCBwYXJlbnRBc3NldElkKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvbXBhbnlJZCcsICc3MzJEQThEMi0wNEVDLTRCRTAtQTE2OC02M0VFMERDRjUwRDgnKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5hbWVTcGxpdCA9IGZpbGVzW2ldLm5hbWUuc3BsaXQoJy4nKTtcbiAgICAgIGNvbnN0IGV4dCA9IGAuJHtuYW1lU3BsaXQuc3BsaWNlKG5hbWVTcGxpdC5sZW5ndGggLSAxLCAxKVswXX1gO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlcycsIGZpbGVzW2ldLCBgJHtmaWxlTmFtZXNbaV19JHtleHR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FwaS5wb3N0PGFueT4oYCR7dGhpcy5iYXNlVXJsfS9GaWxlL1VwbG9hZGAsIGZvcm1EYXRhKTtcbiAgfVxufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWFzc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXBsb2FkLWFzc2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRCxNQUFNLE9BQU8sbUJBQW1COzs7Ozs7SUEwQjlCLFlBQzZCLElBQUksRUFDeEIsTUFBaUIsRUFDaEIsSUFBb0I7UUFGRCxTQUFJLEdBQUosSUFBSSxDQUFBO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUE1QnRCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUEwQyxFQUFFLENBQUM7UUFDdEQsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTzs7UUFDaEMsc0JBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckMsd0JBQW1CLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixtQkFBYyxHQUFHO1lBQy9CLE1BQU07WUFDTixNQUFNO1lBQ04sT0FBTztZQUNQLE1BQU07WUFDTixNQUFNO1lBQ04sVUFBVTtTQUNYLENBQUM7UUFDSyxtQkFBYyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMs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QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7WUFuRkYsVUFBVTs7Ozs0Q0E0Qk4sTUFBTSxTQUFDLFNBQVM7WUFqQ1osU0FBUztZQUVULGNBQWM7Ozs7Ozs7SUFLckIsb0NBQTJCOztJQUMzQix3Q0FBNkQ7O0lBQzdELDJDQUFnRDs7SUFDaEQsNENBQXdDOztJQUN4QyxnREFBcUQ7O0lBQ3JELGtEQUErQzs7SUFDL0MsNkNBT0U7O0lBQ0YsNkNBQXlHOztJQUN6Ryw0Q0FLRTs7Ozs7SUFFRix3Q0FBb0U7Ozs7O0lBQ3BFLHNDQUF3Qjs7Ozs7SUFHdEIsbUNBQStCOztJQUMvQixxQ0FBd0I7Ozs7O0lBQ3hCLG1DQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUh0dHBDbGllbnQgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBTV9DT05GSUcgfSBmcm9tICcuL2Vudi1jb25maWcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGxvYWRBc3NldHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBmaWxlczogRmlsZVtdID0gW107XG4gIHB1YmxpYyBmaWxlTmFtZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYm9vbGVhbiB9W10gPSBbXTtcbiAgcHVibGljIHVwbG9hZEVycm9ycyA9IG5ldyBNYXA8RmlsZSwgc3RyaW5nW10+KCk7XG4gIHB1YmxpYyBzdXBwb3J0ZWRTaXplID0gMTAgKiAxMDI0ICogMTAyNDsgLy8gMTBNQlxuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRFeHRlbnNpb24gPSBbJy5wZGYnLCAnLmNzdiddO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcHJlc3NlZEV4dGVuc2lvbiA9IFsnLnppcCddO1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VFeHRlbnNpb24gPSBbXG4gICAgJy5wbmcnLFxuICAgICcuZ2lmJyxcbiAgICAnLmpwZWcnLFxuICAgICcuanBnJyxcbiAgICAnLnN2ZycsXG4gICAgJy5zdmcreG1sJyxcbiAgXTtcbiAgcHVibGljIHN1cHBvcnRlZFR5cGVzID0gWy4uLnRoaXMuaW1hZ2VFeHRlbnNpb24sIC4uLnRoaXMuY29tcHJlc3NlZEV4dGVuc2lvbiwgLi4udGhpcy5kb2N1bWVudEV4dGVuc2lvbl07XG4gIHB1YmxpYyByZWFkb25seSBtZXNzYWdlRXJyb3JzID0ge1xuICAgIHNpemU6IGBGaWxlIHNpemUgc2hvdWxkIGJlIHVwdG9gLFxuICAgIGV4dDogYE9ubHkgc3VwcG9ydGVkIGZpbGUgZXh0ZW5zaW9uOmAsXG4gICAgcmVwbGFjZTogYFRoZSByZXBsYWNlbWVudCBmaWxlIHNob3VsZCBiZSB0aGUgc2FtZSBleHRlbnNpb24gd2l0aCBvbGQgb25lOmAsXG4gICAgbWF4TGVuZ3RoOiBgVGhlIGNoYXJhY3RlciBsaW1pdCBpcyAyMDAgY2hhcmFjdGVyc2AsXG4gIH07XG5cbiAgcHJpdmF0ZSBlcnJvck9icyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBTV9DT05GSUcpIHByaXZhdGUgX2VudixcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBfYXBpOiBCYXNlSHR0cENsaWVudFxuICApIHtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLl9lbnYuYXNzZXQyVXJsO1xuICB9XG5cbiAgZ2V0RXJyb3JPYnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck9icyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRFcnJvck9icyhlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMuZXJyb3JPYnMkLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgZ2V0IGdldEZpbGVzKCk6IEZpbGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZXM7XG4gIH1cblxuICBzZXQgc2V0RmlsZXMoZmlsZXM6IEZpbGVbXSkge1xuICAgIHRoaXMuZmlsZXMgPSBmaWxlcztcbiAgfVxuXG4gIGdldCBlcnJvckZpbGVzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGludmFsaWRGaWxlcyA9IHRoaXMuZmlsZU5hbWVzLmZpbHRlcihmaWxlID0+ICFmaWxlLnZhbGlkKTtcbiAgICByZXR1cm4gdGhpcy5maWxlTmFtZXMubGVuZ3RoICYmIGludmFsaWRGaWxlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IGVycm9yTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVOYW1lcy5maWx0ZXIoZmlsZSA9PiAhZmlsZS52YWxpZCkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUZpbGUoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudXBsb2FkRXJyb3JzLmRlbGV0ZSh0aGlzLmZpbGVzW2luZGV4XSk7XG4gICAgdGhpcy5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZmlsZU5hbWVzLnNwbGljZShpbmRleCwgMSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXBsb2FkTmFtZShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lU3BsaXQgPSB0aGlzLmZpbGVzW2luZGV4XS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgZXh0ID0gYC4ke25hbWVTcGxpdC5zcGxpY2UobmFtZVNwbGl0Lmxlbmd0aCAtIDEsIDEpWzBdfWA7XG4gICAgcmV0dXJuIGAke3RoaXMuZmlsZU5hbWVzW2luZGV4XS5uYW1lfSR7ZXh0fWA7XG4gIH1cblxuICB1cGxvYWRNdWx0aXBsZUFzc2V0cyhwYXJlbnRBc3NldElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGZpbGVzIH0gPSB0aGlzO1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwYXJlbnRBc3NldElkJywgcGFyZW50QXNzZXRJZCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdjb21wYW55SWQnLCAnNzMyREE4RDItMDRFQy00QkUwLUExNjgtNjNFRTBEQ0Y1MEQ4Jyk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGVzJywgZmlsZXNbaV0sIHRoaXMuZ2V0VXBsb2FkTmFtZShpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FwaS5wb3N0PGFueT4oYCR7dGhpcy5iYXNlVXJsfS9GaWxlL1VwbG9hZGAsIGZvcm1EYXRhKTtcbiAgfVxufVxuIl19