@rs-pk/asset-management 1.0.24 → 1.0.26

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.
Files changed (176) hide show
  1. package/README.md +24 -24
  2. package/bundles/rs-pk-asset-management.umd.js +6436 -6442
  3. package/bundles/rs-pk-asset-management.umd.js.map +1 -1
  4. package/bundles/rs-pk-asset-management.umd.min.js +2 -2
  5. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
  6. package/esm2015/lib/asset-management.component.js +169 -164
  7. package/esm2015/lib/asset-management.module.js +178 -178
  8. package/esm2015/lib/asset-management.service.js +45 -45
  9. package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +146 -146
  10. package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +398 -398
  11. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +316 -316
  12. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +285 -285
  13. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +110 -123
  14. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +119 -119
  15. package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +121 -121
  16. package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -139
  17. package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +151 -151
  18. package/esm2015/lib/components/partial/file-item/file-item.component.js +181 -181
  19. package/esm2015/lib/components/partial/file-list/file-list.component.js +73 -73
  20. package/esm2015/lib/components/partial/folder-item/folder-item.component.js +126 -126
  21. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +81 -81
  22. package/esm2015/lib/components/partial/node-details/node-details.component.js +417 -417
  23. package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -330
  24. package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -158
  25. package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -99
  26. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +141 -141
  27. package/esm2015/lib/components/partial/upload-file/upload-file.component.js +85 -85
  28. package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -96
  29. package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -49
  30. package/esm2015/lib/components/ui/modal/modal.component.js +34 -34
  31. package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -41
  32. package/esm2015/lib/configs/admin.config.js +22 -22
  33. package/esm2015/lib/contanst/data-image.js +20 -20
  34. package/esm2015/lib/contanst/index.js +6 -6
  35. package/esm2015/lib/datasources/index.js +6 -6
  36. package/esm2015/lib/datasources/node-tree.datasource.js +179 -179
  37. package/esm2015/lib/directives/dialogTrigger.directive.js +47 -47
  38. package/esm2015/lib/directives/directives.module.js +20 -20
  39. package/esm2015/lib/directives/dnd.directive.js +57 -57
  40. package/esm2015/lib/models/asset-file.model.js +57 -57
  41. package/esm2015/lib/models/asset.model.js +151 -149
  42. package/esm2015/lib/models/file-type.enum.js +11 -11
  43. package/esm2015/lib/models/file.model.js +91 -91
  44. package/esm2015/lib/models/index.js +12 -12
  45. package/esm2015/lib/models/node-tree.model.js +32 -32
  46. package/esm2015/lib/models/sort.enum.js +23 -23
  47. package/esm2015/lib/pipes/datetime.pipe.js +79 -79
  48. package/esm2015/lib/pipes/file-size.pipe.js +54 -54
  49. package/esm2015/lib/services/asset.service.js +229 -229
  50. package/esm2015/lib/services/base.service.js +49 -49
  51. package/esm2015/lib/services/env-config.service.js +18 -18
  52. package/esm2015/lib/services/file.service.js +106 -106
  53. package/esm2015/lib/services/index.js +11 -11
  54. package/esm2015/lib/services/node-tree.service.js +212 -212
  55. package/esm2015/lib/services/upload-assets.service.js +178 -178
  56. package/esm2015/lib/store/actions.action.js +125 -125
  57. package/esm2015/lib/store/index.js +7 -7
  58. package/esm2015/lib/store/reducer.js +115 -115
  59. package/esm2015/public-api.js +34 -34
  60. package/esm2015/rs-pk-asset-management.js +16 -16
  61. package/esm5/lib/asset-management.component.js +184 -179
  62. package/esm5/lib/asset-management.module.js +179 -179
  63. package/esm5/lib/asset-management.service.js +54 -54
  64. package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +164 -164
  65. package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +440 -440
  66. package/esm5/lib/components/partial/asset-item/asset-item.component.js +350 -350
  67. package/esm5/lib/components/partial/asset-list/asset-list.component.js +318 -318
  68. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +125 -138
  69. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +137 -137
  70. package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +143 -143
  71. package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -154
  72. package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +169 -169
  73. package/esm5/lib/components/partial/file-item/file-item.component.js +206 -206
  74. package/esm5/lib/components/partial/file-list/file-list.component.js +93 -93
  75. package/esm5/lib/components/partial/folder-item/folder-item.component.js +138 -138
  76. package/esm5/lib/components/partial/folder-list/folder-list.component.js +94 -94
  77. package/esm5/lib/components/partial/node-details/node-details.component.js +458 -458
  78. package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -413
  79. package/esm5/lib/components/partial/search-box/search-box.component.js +184 -184
  80. package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -107
  81. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +156 -156
  82. package/esm5/lib/components/partial/upload-file/upload-file.component.js +102 -102
  83. package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -117
  84. package/esm5/lib/components/ui/input-file/input-file.component.js +55 -55
  85. package/esm5/lib/components/ui/modal/modal.component.js +39 -39
  86. package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -43
  87. package/esm5/lib/configs/admin.config.js +22 -22
  88. package/esm5/lib/contanst/data-image.js +20 -20
  89. package/esm5/lib/contanst/index.js +6 -6
  90. package/esm5/lib/datasources/index.js +6 -6
  91. package/esm5/lib/datasources/node-tree.datasource.js +239 -239
  92. package/esm5/lib/directives/dialogTrigger.directive.js +53 -53
  93. package/esm5/lib/directives/directives.module.js +25 -25
  94. package/esm5/lib/directives/dnd.directive.js +80 -80
  95. package/esm5/lib/models/asset-file.model.js +69 -69
  96. package/esm5/lib/models/asset.model.js +170 -168
  97. package/esm5/lib/models/file-type.enum.js +11 -11
  98. package/esm5/lib/models/file.model.js +99 -99
  99. package/esm5/lib/models/index.js +12 -12
  100. package/esm5/lib/models/node-tree.model.js +37 -37
  101. package/esm5/lib/models/sort.enum.js +23 -23
  102. package/esm5/lib/pipes/datetime.pipe.js +83 -83
  103. package/esm5/lib/pipes/file-size.pipe.js +63 -63
  104. package/esm5/lib/services/asset.service.js +279 -279
  105. package/esm5/lib/services/base.service.js +57 -57
  106. package/esm5/lib/services/env-config.service.js +18 -18
  107. package/esm5/lib/services/file.service.js +127 -127
  108. package/esm5/lib/services/index.js +11 -11
  109. package/esm5/lib/services/node-tree.service.js +278 -278
  110. package/esm5/lib/services/upload-assets.service.js +207 -207
  111. package/esm5/lib/store/actions.action.js +143 -143
  112. package/esm5/lib/store/index.js +7 -7
  113. package/esm5/lib/store/reducer.js +116 -116
  114. package/esm5/public-api.js +34 -34
  115. package/esm5/rs-pk-asset-management.js +16 -16
  116. package/fesm2015/rs-pk-asset-management.js +5636 -5642
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  118. package/fesm5/rs-pk-asset-management.js +6442 -6448
  119. package/fesm5/rs-pk-asset-management.js.map +1 -1
  120. package/lib/asset-management.component.d.ts +25 -25
  121. package/lib/asset-management.module.d.ts +5 -5
  122. package/lib/asset-management.service.d.ts +7 -7
  123. package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -27
  124. package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +65 -65
  125. package/lib/components/partial/asset-item/asset-item.component.d.ts +40 -40
  126. package/lib/components/partial/asset-list/asset-list.component.d.ts +27 -27
  127. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -20
  128. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +23 -23
  129. package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +18 -18
  130. package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -24
  131. package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -28
  132. package/lib/components/partial/file-item/file-item.component.d.ts +36 -36
  133. package/lib/components/partial/file-list/file-list.component.d.ts +15 -15
  134. package/lib/components/partial/folder-item/folder-item.component.d.ts +17 -17
  135. package/lib/components/partial/folder-list/folder-list.component.d.ts +14 -14
  136. package/lib/components/partial/node-details/node-details.component.d.ts +32 -32
  137. package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -34
  138. package/lib/components/partial/search-box/search-box.component.d.ts +18 -18
  139. package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -21
  140. package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +25 -25
  141. package/lib/components/partial/upload-file/upload-file.component.d.ts +16 -16
  142. package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -15
  143. package/lib/components/ui/input-file/input-file.component.d.ts +9 -9
  144. package/lib/components/ui/modal/modal.component.d.ts +7 -7
  145. package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -8
  146. package/lib/configs/admin.config.d.ts +3 -3
  147. package/lib/contanst/data-image.d.ts +6 -6
  148. package/lib/contanst/index.d.ts +1 -1
  149. package/lib/datasources/index.d.ts +1 -1
  150. package/lib/datasources/node-tree.datasource.d.ts +24 -24
  151. package/lib/directives/dialogTrigger.directive.d.ts +7 -7
  152. package/lib/directives/directives.module.d.ts +5 -5
  153. package/lib/directives/dnd.directive.d.ts +7 -7
  154. package/lib/models/asset-file.model.d.ts +26 -26
  155. package/lib/models/asset.model.d.ts +73 -68
  156. package/lib/models/file-type.enum.d.ts +4 -4
  157. package/lib/models/file.model.d.ts +41 -41
  158. package/lib/models/index.d.ts +7 -7
  159. package/lib/models/node-tree.model.d.ts +9 -9
  160. package/lib/models/sort.enum.d.ts +9 -9
  161. package/lib/pipes/datetime.pipe.d.ts +13 -13
  162. package/lib/pipes/file-size.pipe.d.ts +5 -5
  163. package/lib/services/asset.service.d.ts +36 -36
  164. package/lib/services/base.service.d.ts +20 -20
  165. package/lib/services/env-config.service.d.ts +7 -7
  166. package/lib/services/file.service.d.ts +13 -13
  167. package/lib/services/index.d.ts +6 -6
  168. package/lib/services/node-tree.service.d.ts +24 -24
  169. package/lib/services/upload-assets.service.d.ts +34 -34
  170. package/lib/store/actions.action.d.ts +51 -51
  171. package/lib/store/index.d.ts +2 -2
  172. package/lib/store/reducer.d.ts +18 -18
  173. package/package.json +1 -1
  174. package/public-api.d.ts +26 -26
  175. package/rs-pk-asset-management.d.ts +12 -12
  176. package/rs-pk-asset-management.metadata.json +1 -1
@@ -1,146 +1,146 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, Inject } from '@angular/core';
6
- import { FormBuilder, FormControl, Validators, } from '@angular/forms';
7
- import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
8
- import { Subject } from 'rxjs';
9
- import { takeUntil } from 'rxjs/operators';
10
- import { FileService } from '../../../services/file.service';
11
- /**
12
- * @record
13
- */
14
- function IData() { }
15
- if (false) {
16
- /** @type {?} */
17
- IData.prototype.currentAssetId;
18
- }
19
- export class AddFolderDialogComponent {
20
- /**
21
- * @param {?} fb
22
- * @param {?} data
23
- * @param {?} dialogRef
24
- * @param {?} fileService
25
- */
26
- constructor(fb, data, dialogRef, fileService) {
27
- this.fb = fb;
28
- this.data = data;
29
- this.dialogRef = dialogRef;
30
- this.fileService = fileService;
31
- this.isLoading = false;
32
- this.errorMessage = '';
33
- this.value = '';
34
- this.destroy$ = new Subject();
35
- this.form = new FormControl();
36
- this.formGroup = this.fb.group({
37
- name: ['', [
38
- Validators.maxLength(200),
39
- Validators.required
40
- ]],
41
- });
42
- }
43
- /**
44
- * @return {?}
45
- */
46
- ngOnInit() { }
47
- /**
48
- * @return {?}
49
- */
50
- get disabled() {
51
- const { value: name } = this.formGroup.controls.name;
52
- return !name || !!this.errorMessage || this.isLoading;
53
- }
54
- /**
55
- * @param {?} _event
56
- * @return {?}
57
- */
58
- onChange(_event) {
59
- this.errorMessage = '';
60
- }
61
- /**
62
- * @return {?}
63
- */
64
- addFolder() {
65
- const { value: name } = this.formGroup.controls.name;
66
- this.isLoading = true;
67
- this.fileService
68
- .addFolder({
69
- parentAssetId: this.data.currentAssetId,
70
- folderName: name.trim(),
71
- })
72
- .pipe(takeUntil(this.destroy$))
73
- .subscribe((/**
74
- * @param {?} _res
75
- * @return {?}
76
- */
77
- (_res) => this.closeDialog(true)), (/**
78
- * @param {?} err
79
- * @return {?}
80
- */
81
- err => {
82
- this.isLoading = false;
83
- this.errorMessage = err.ResponseMessage;
84
- }));
85
- }
86
- /**
87
- * @param {?=} res
88
- * @return {?}
89
- */
90
- closeDialog(res) {
91
- this.dialogRef.close(res);
92
- }
93
- /**
94
- * @return {?}
95
- */
96
- ngOnDestroy() {
97
- this.destroy$.next(true);
98
- this.destroy$.complete();
99
- }
100
- }
101
- AddFolderDialogComponent.decorators = [
102
- { type: Component, args: [{
103
- selector: 'lib-add-folder-dialog',
104
- template: "<lib-modal heading=\"Add a folder\">\r\n <ng-container content>\r\n <form (ngSubmit)=\"addFolder()\" [formGroup]=\"formGroup\" #form=\"ngForm\">\r\n <input\r\n (input)=\"onChange($event)\"\r\n matInput\r\n placeholder=\"Enter your folder name\"\r\n autocomplete=\"off\"\r\n required\r\n pattern=\".*\\S+.*\"\r\n formControlName=\"name\"\r\n />\r\n <mat-error *ngIf=\"formGroup?.controls?.name?.errors?.pattern\">\r\n This field does not allow only whitespace\r\n </mat-error>\r\n <mat-error *ngIf=\"formGroup?.controls?.name?.errors?.maxlength\">\r\n The character limit is 200 characters\r\n </mat-error>\r\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage }}</mat-error>\r\n </form>\r\n </ng-container>\r\n <ng-container actions>\r\n <button mat-raised-button mat-dialog-close>Cancel</button>\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"addFolder()\"\r\n [class.loading]=\"isLoading\"\r\n [disabled]=\"disabled || !formGroup?.valid\"\r\n >\r\n <ng-container *ngIf=\"isLoading\">\r\n <mat-spinner [diameter]=\"20\"></mat-spinner>\r\n </ng-container>\r\n <span>Add</span>\r\n </button>\r\n </ng-container>\r\n</lib-modal>\r\n",
105
- styles: [":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]
106
- }] }
107
- ];
108
- /** @nocollapse */
109
- AddFolderDialogComponent.ctorParameters = () => [
110
- { type: FormBuilder },
111
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
112
- { type: MatDialogRef },
113
- { type: FileService }
114
- ];
115
- if (false) {
116
- /** @type {?} */
117
- AddFolderDialogComponent.prototype.isLoading;
118
- /** @type {?} */
119
- AddFolderDialogComponent.prototype.errorMessage;
120
- /** @type {?} */
121
- AddFolderDialogComponent.prototype.value;
122
- /**
123
- * @type {?}
124
- * @private
125
- */
126
- AddFolderDialogComponent.prototype.destroy$;
127
- /** @type {?} */
128
- AddFolderDialogComponent.prototype.formGroup;
129
- /** @type {?} */
130
- AddFolderDialogComponent.prototype.form;
131
- /**
132
- * @type {?}
133
- * @private
134
- */
135
- AddFolderDialogComponent.prototype.fb;
136
- /** @type {?} */
137
- AddFolderDialogComponent.prototype.data;
138
- /** @type {?} */
139
- AddFolderDialogComponent.prototype.dialogRef;
140
- /**
141
- * @type {?}
142
- * @private
143
- */
144
- AddFolderDialogComponent.prototype.fileService;
145
- }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvbGRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYXJ0aWFsL2FkZC1mb2xkZXItZGlhbG9nL2FkZC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBRTdELG9CQUVDOzs7SUFEQywrQkFBdUI7O0FBUXpCLE1BQU0sT0FBTyx3QkFBd0I7Ozs7Ozs7SUFPbkMsWUFDVSxFQUFlLEVBQ1MsSUFBVyxFQUNwQyxTQUFpRCxFQUNoRCxXQUF3QjtRQUh4QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ1MsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUF3QztRQUNoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVYzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFNUMsU0FBSSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBTzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNULFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO29CQUN6QixVQUFVLENBQUMsUUFBUTtpQkFDcEIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxRQUFRLEtBQUksQ0FBQzs7OztJQUViLElBQUksUUFBUTtjQUNKLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDcEQsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLE1BQWE7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELFNBQVM7Y0FDRCxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXO2FBQ2IsU0FBUyxDQUFDO1lBQ1QsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUN4QixDQUFDO2FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUNSLENBQUMsSUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Ozs7UUFDL0MsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDMUMsQ0FBQyxFQUNGLENBQUM7SUFDTixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxHQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLG96Q0FBaUQ7O2FBRWxEOzs7O1lBbkJDLFdBQVc7NENBNkJSLE1BQU0sU0FBQyxlQUFlO1lBeEJsQixZQUFZO1lBSVosV0FBVzs7OztJQVlsQiw2Q0FBeUI7O0lBQ3pCLGdEQUF5Qjs7SUFDekIseUNBQWtCOzs7OztJQUNsQiw0Q0FBbUQ7O0lBQ25ELDZDQUE0Qjs7SUFDNUIsd0NBQTZDOzs7OztJQUUzQyxzQ0FBdUI7O0lBQ3ZCLHdDQUEyQzs7SUFDM0MsNkNBQXdEOzs7OztJQUN4RCwrQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElBZGRGb2xkZXJSZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpbGUuc2VydmljZSc7XHJcblxyXG5pbnRlcmZhY2UgSURhdGEge1xyXG4gIGN1cnJlbnRBc3NldElkOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFkZC1mb2xkZXItZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWZvbGRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBlcnJvck1lc3NhZ2UgPSAnJztcclxuICBwdWJsaWMgdmFsdWUgPSAnJztcclxuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSURhdGEsXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkRm9sZGVyRGlhbG9nQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBuYW1lOiBbJycsIFtcclxuICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgyMDApLFxyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcclxuICAgICAgXV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgY29uc3QgeyB2YWx1ZTogbmFtZSB9ID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHMubmFtZTtcclxuICAgIHJldHVybiAhbmFtZSB8fCAhIXRoaXMuZXJyb3JNZXNzYWdlIHx8IHRoaXMuaXNMb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcclxuICB9XHJcblxyXG4gIGFkZEZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgdmFsdWU6IG5hbWUgfSA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLm5hbWU7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmZpbGVTZXJ2aWNlXHJcbiAgICAgIC5hZGRGb2xkZXIoe1xyXG4gICAgICAgIHBhcmVudEFzc2V0SWQ6IHRoaXMuZGF0YS5jdXJyZW50QXNzZXRJZCxcclxuICAgICAgICBmb2xkZXJOYW1lOiBuYW1lLnRyaW0oKSxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChfcmVzOiBJQWRkRm9sZGVyUmVzKSA9PiB0aGlzLmNsb3NlRGlhbG9nKHRydWUpLFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnIuUmVzcG9uc2VNZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGNsb3NlRGlhbG9nKHJlcz86IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlcyk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Inject } from '@angular/core';
6
+ import { FormBuilder, FormControl, Validators, } from '@angular/forms';
7
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
8
+ import { Subject } from 'rxjs';
9
+ import { takeUntil } from 'rxjs/operators';
10
+ import { FileService } from '../../../services/file.service';
11
+ /**
12
+ * @record
13
+ */
14
+ function IData() { }
15
+ if (false) {
16
+ /** @type {?} */
17
+ IData.prototype.currentAssetId;
18
+ }
19
+ export class AddFolderDialogComponent {
20
+ /**
21
+ * @param {?} fb
22
+ * @param {?} data
23
+ * @param {?} dialogRef
24
+ * @param {?} fileService
25
+ */
26
+ constructor(fb, data, dialogRef, fileService) {
27
+ this.fb = fb;
28
+ this.data = data;
29
+ this.dialogRef = dialogRef;
30
+ this.fileService = fileService;
31
+ this.isLoading = false;
32
+ this.errorMessage = '';
33
+ this.value = '';
34
+ this.destroy$ = new Subject();
35
+ this.form = new FormControl();
36
+ this.formGroup = this.fb.group({
37
+ name: ['', [
38
+ Validators.maxLength(200),
39
+ Validators.required
40
+ ]],
41
+ });
42
+ }
43
+ /**
44
+ * @return {?}
45
+ */
46
+ ngOnInit() { }
47
+ /**
48
+ * @return {?}
49
+ */
50
+ get disabled() {
51
+ const { value: name } = this.formGroup.controls.name;
52
+ return !name || !!this.errorMessage || this.isLoading;
53
+ }
54
+ /**
55
+ * @param {?} _event
56
+ * @return {?}
57
+ */
58
+ onChange(_event) {
59
+ this.errorMessage = '';
60
+ }
61
+ /**
62
+ * @return {?}
63
+ */
64
+ addFolder() {
65
+ const { value: name } = this.formGroup.controls.name;
66
+ this.isLoading = true;
67
+ this.fileService
68
+ .addFolder({
69
+ parentAssetId: this.data.currentAssetId,
70
+ folderName: name.trim(),
71
+ })
72
+ .pipe(takeUntil(this.destroy$))
73
+ .subscribe((/**
74
+ * @param {?} _res
75
+ * @return {?}
76
+ */
77
+ (_res) => this.closeDialog(true)), (/**
78
+ * @param {?} err
79
+ * @return {?}
80
+ */
81
+ err => {
82
+ this.isLoading = false;
83
+ this.errorMessage = err.ResponseMessage;
84
+ }));
85
+ }
86
+ /**
87
+ * @param {?=} res
88
+ * @return {?}
89
+ */
90
+ closeDialog(res) {
91
+ this.dialogRef.close(res);
92
+ }
93
+ /**
94
+ * @return {?}
95
+ */
96
+ ngOnDestroy() {
97
+ this.destroy$.next(true);
98
+ this.destroy$.complete();
99
+ }
100
+ }
101
+ AddFolderDialogComponent.decorators = [
102
+ { type: Component, args: [{
103
+ selector: 'lib-add-folder-dialog',
104
+ template: "<lib-modal heading=\"Add a folder\">\n <ng-container content>\n <form (ngSubmit)=\"addFolder()\" [formGroup]=\"formGroup\" #form=\"ngForm\">\n <input\n (input)=\"onChange($event)\"\n matInput\n placeholder=\"Enter your folder name\"\n autocomplete=\"off\"\n required\n pattern=\".*\\S+.*\"\n formControlName=\"name\"\n />\n <mat-error *ngIf=\"formGroup?.controls?.name?.errors?.pattern\">\n This field does not allow only whitespace\n </mat-error>\n <mat-error *ngIf=\"formGroup?.controls?.name?.errors?.maxlength\">\n The character limit is 200 characters\n </mat-error>\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage }}</mat-error>\n </form>\n </ng-container>\n <ng-container actions>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"addFolder()\"\n [class.loading]=\"isLoading\"\n [disabled]=\"disabled || !formGroup?.valid\"\n >\n <ng-container *ngIf=\"isLoading\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </ng-container>\n <span>Add</span>\n </button>\n </ng-container>\n</lib-modal>\n",
105
+ styles: [":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]
106
+ }] }
107
+ ];
108
+ /** @nocollapse */
109
+ AddFolderDialogComponent.ctorParameters = () => [
110
+ { type: FormBuilder },
111
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
112
+ { type: MatDialogRef },
113
+ { type: FileService }
114
+ ];
115
+ if (false) {
116
+ /** @type {?} */
117
+ AddFolderDialogComponent.prototype.isLoading;
118
+ /** @type {?} */
119
+ AddFolderDialogComponent.prototype.errorMessage;
120
+ /** @type {?} */
121
+ AddFolderDialogComponent.prototype.value;
122
+ /**
123
+ * @type {?}
124
+ * @private
125
+ */
126
+ AddFolderDialogComponent.prototype.destroy$;
127
+ /** @type {?} */
128
+ AddFolderDialogComponent.prototype.formGroup;
129
+ /** @type {?} */
130
+ AddFolderDialogComponent.prototype.form;
131
+ /**
132
+ * @type {?}
133
+ * @private
134
+ */
135
+ AddFolderDialogComponent.prototype.fb;
136
+ /** @type {?} */
137
+ AddFolderDialogComponent.prototype.data;
138
+ /** @type {?} */
139
+ AddFolderDialogComponent.prototype.dialogRef;
140
+ /**
141
+ * @type {?}
142
+ * @private
143
+ */
144
+ AddFolderDialogComponent.prototype.fileService;
145
+ }
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvbGRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYXJ0aWFsL2FkZC1mb2xkZXItZGlhbG9nL2FkZC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBRTdELG9CQUVDOzs7SUFEQywrQkFBdUI7O0FBUXpCLE1BQU0sT0FBTyx3QkFBd0I7Ozs7Ozs7SUFPbkMsWUFDVSxFQUFlLEVBQ1MsSUFBVyxFQUNwQyxTQUFpRCxFQUNoRCxXQUF3QjtRQUh4QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ1MsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUF3QztRQUNoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVYzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFNUMsU0FBSSxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBTzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNULFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO29CQUN6QixVQUFVLENBQUMsUUFBUTtpQkFDcEIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxRQUFRLEtBQUksQ0FBQzs7OztJQUViLElBQUksUUFBUTtjQUNKLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDcEQsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLE1BQWE7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OztJQUVELFNBQVM7Y0FDRCxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXO2FBQ2IsU0FBUyxDQUFDO1lBQ1QsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUN4QixDQUFDO2FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUNSLENBQUMsSUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Ozs7UUFDL0MsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDMUMsQ0FBQyxFQUNGLENBQUM7SUFDTixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxHQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDB1Q0FBaUQ7O2FBRWxEOzs7O1lBbkJDLFdBQVc7NENBNkJSLE1BQU0sU0FBQyxlQUFlO1lBeEJsQixZQUFZO1lBSVosV0FBVzs7OztJQVlsQiw2Q0FBeUI7O0lBQ3pCLGdEQUF5Qjs7SUFDekIseUNBQWtCOzs7OztJQUNsQiw0Q0FBbUQ7O0lBQ25ELDZDQUE0Qjs7SUFDNUIsd0NBQTZDOzs7OztJQUUzQyxzQ0FBdUI7O0lBQ3ZCLHdDQUEyQzs7SUFDM0MsNkNBQXdEOzs7OztJQUN4RCwrQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJQWRkRm9sZGVyUmVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElEYXRhIHtcbiAgY3VycmVudEFzc2V0SWQ6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFkZC1mb2xkZXItZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWZvbGRlci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWRkRm9sZGVyRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIHZhbHVlID0gJyc7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBmb3JtOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IElEYXRhLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbJycsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjAwKSxcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXV0sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIGNvbnN0IHsgdmFsdWU6IG5hbWUgfSA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLm5hbWU7XG4gICAgcmV0dXJuICFuYW1lIHx8ICEhdGhpcy5lcnJvck1lc3NhZ2UgfHwgdGhpcy5pc0xvYWRpbmc7XG4gIH1cblxuICBvbkNoYW5nZShfZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgfVxuXG4gIGFkZEZvbGRlcigpIHtcbiAgICBjb25zdCB7IHZhbHVlOiBuYW1lIH0gPSB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5uYW1lO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmZpbGVTZXJ2aWNlXG4gICAgICAuYWRkRm9sZGVyKHtcbiAgICAgICAgcGFyZW50QXNzZXRJZDogdGhpcy5kYXRhLmN1cnJlbnRBc3NldElkLFxuICAgICAgICBmb2xkZXJOYW1lOiBuYW1lLnRyaW0oKSxcbiAgICAgIH0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoX3JlczogSUFkZEZvbGRlclJlcykgPT4gdGhpcy5jbG9zZURpYWxvZyh0cnVlKSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyLlJlc3BvbnNlTWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKHJlcz86IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19