@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,169 +1,169 @@
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 { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
7
- import { takeUntil } from 'rxjs/operators';
8
- import { Subject } from 'rxjs';
9
- import { FileService } from '../../../services/file.service';
10
- import { FormBuilder, FormControl, Validators, } from '@angular/forms';
11
- /**
12
- * @record
13
- */
14
- function IData() { }
15
- if (false) {
16
- /** @type {?} */
17
- IData.prototype.assetId;
18
- /** @type {?} */
19
- IData.prototype.name;
20
- }
21
- var EditFolderDialogComponent = /** @class */ (function () {
22
- function EditFolderDialogComponent(fb, data, dialogRef, fileService) {
23
- this.fb = fb;
24
- this.data = data;
25
- this.dialogRef = dialogRef;
26
- this.fileService = fileService;
27
- this.isLoading = false;
28
- this.errorMessage = '';
29
- this.value = '';
30
- this.destroy$ = new Subject();
31
- this.form = new FormControl();
32
- this.formGroup = this.fb.group({
33
- name: [this.data.name, [
34
- Validators.maxLength(200),
35
- Validators.required
36
- ]],
37
- });
38
- }
39
- /**
40
- * @return {?}
41
- */
42
- EditFolderDialogComponent.prototype.ngOnInit = /**
43
- * @return {?}
44
- */
45
- function () { };
46
- Object.defineProperty(EditFolderDialogComponent.prototype, "disabled", {
47
- get: /**
48
- * @return {?}
49
- */
50
- function () {
51
- var name = this.formGroup.controls.name.value;
52
- return (!name ||
53
- !!this.errorMessage ||
54
- name.toLowerCase().trim() === this.data.name.toLowerCase() ||
55
- this.isLoading);
56
- },
57
- enumerable: true,
58
- configurable: true
59
- });
60
- /**
61
- * @param {?} _event
62
- * @return {?}
63
- */
64
- EditFolderDialogComponent.prototype.onChange = /**
65
- * @param {?} _event
66
- * @return {?}
67
- */
68
- function (_event) {
69
- this.errorMessage = '';
70
- };
71
- /**
72
- * @return {?}
73
- */
74
- EditFolderDialogComponent.prototype.editFolder = /**
75
- * @return {?}
76
- */
77
- function () {
78
- var _this = this;
79
- var name = this.formGroup.controls.name.value;
80
- this.isLoading = true;
81
- this.fileService
82
- .updateFile({
83
- assetId: this.data.assetId,
84
- fileName: name.trim(),
85
- })
86
- .pipe(takeUntil(this.destroy$))
87
- .subscribe((/**
88
- * @param {?} _res
89
- * @return {?}
90
- */
91
- function (_res) { return _this.closeDialog(true); }), (/**
92
- * @param {?} err
93
- * @return {?}
94
- */
95
- function (err) {
96
- _this.isLoading = false;
97
- _this.errorMessage = err.ResponseMessage;
98
- }));
99
- };
100
- /**
101
- * @param {?=} res
102
- * @return {?}
103
- */
104
- EditFolderDialogComponent.prototype.closeDialog = /**
105
- * @param {?=} res
106
- * @return {?}
107
- */
108
- function (res) {
109
- this.dialogRef.close(res);
110
- };
111
- /**
112
- * @return {?}
113
- */
114
- EditFolderDialogComponent.prototype.ngOnDestroy = /**
115
- * @return {?}
116
- */
117
- function () {
118
- this.destroy$.next(true);
119
- this.destroy$.complete();
120
- };
121
- EditFolderDialogComponent.decorators = [
122
- { type: Component, args: [{
123
- selector: 'lib-edit-folder-dialog',
124
- template: "<lib-modal heading=\"Rename folder\">\r\n <ng-container content>\r\n <form (ngSubmit)=\"editFolder()\" [formGroup]=\"formGroup\" #form=\"ngForm\">\r\n <input\r\n matInput\r\n required\r\n autocomplete=\"off\"\r\n formControlName=\"name\"\r\n (input)=\"onChange($event)\"\r\n placeholder=\"Enter your folder name\"\r\n pattern=\".*\\S+.*\"\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)=\"editFolder()\"\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>Update</span>\r\n </button>\r\n </ng-container>\r\n</lib-modal>\r\n",
125
- 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}"]
126
- }] }
127
- ];
128
- /** @nocollapse */
129
- EditFolderDialogComponent.ctorParameters = function () { return [
130
- { type: FormBuilder },
131
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
132
- { type: MatDialogRef },
133
- { type: FileService }
134
- ]; };
135
- return EditFolderDialogComponent;
136
- }());
137
- export { EditFolderDialogComponent };
138
- if (false) {
139
- /** @type {?} */
140
- EditFolderDialogComponent.prototype.isLoading;
141
- /** @type {?} */
142
- EditFolderDialogComponent.prototype.errorMessage;
143
- /** @type {?} */
144
- EditFolderDialogComponent.prototype.value;
145
- /**
146
- * @type {?}
147
- * @private
148
- */
149
- EditFolderDialogComponent.prototype.destroy$;
150
- /** @type {?} */
151
- EditFolderDialogComponent.prototype.formGroup;
152
- /** @type {?} */
153
- EditFolderDialogComponent.prototype.form;
154
- /**
155
- * @type {?}
156
- * @private
157
- */
158
- EditFolderDialogComponent.prototype.fb;
159
- /** @type {?} */
160
- EditFolderDialogComponent.prototype.data;
161
- /** @type {?} */
162
- EditFolderDialogComponent.prototype.dialogRef;
163
- /**
164
- * @type {?}
165
- * @private
166
- */
167
- EditFolderDialogComponent.prototype.fileService;
168
- }
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9lZGl0LWZvbGRlci1kaWFsb2cvZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXhCLG9CQUdDOzs7SUFGQyx3QkFBZ0I7O0lBQ2hCLHFCQUFhOztBQUdmO0lBWUUsbUNBQ1UsRUFBZSxFQUNTLElBQVcsRUFDcEMsU0FBa0QsRUFDakQsV0FBd0I7UUFIeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNTLFNBQUksR0FBSixJQUFJLENBQU87UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBeUM7UUFDakQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFWM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1YsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTVDLFNBQUksR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQU8zQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNyQixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztvQkFDekIsVUFBVSxDQUFDLFFBQVE7aUJBQ3BCLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsNENBQVE7OztJQUFSLGNBQVksQ0FBQztJQUViLHNCQUFJLCtDQUFROzs7O1FBQVo7WUFDVSxJQUFBLHlDQUFXO1lBQ25CLE9BQU8sQ0FDTCxDQUFDLElBQUk7Z0JBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO2dCQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7UUFDSixDQUFDOzs7T0FBQTs7Ozs7SUFFRCw0Q0FBUTs7OztJQUFSLFVBQVMsTUFBYTtRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsOENBQVU7OztJQUFWO1FBQUEsaUJBZ0JDO1FBZlMsSUFBQSx5Q0FBVztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVzthQUNiLFVBQVUsQ0FBQztZQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVM7Ozs7UUFDUixVQUFDLElBQXNCLElBQUssT0FBQSxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUF0QixDQUFzQjs7OztRQUNsRCxVQUFBLEdBQUc7WUFDRCxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixLQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDMUMsQ0FBQyxFQUNGLENBQUM7SUFDTixDQUFDOzs7OztJQUVELCtDQUFXOzs7O0lBQVgsVUFBWSxHQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCwrQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dCQW5FRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsMHpDQUFrRDs7aUJBRW5EOzs7O2dCQWZDLFdBQVc7Z0RBeUJSLE1BQU0sU0FBQyxlQUFlO2dCQS9CbEIsWUFBWTtnQkFHWixXQUFXOztJQWtGcEIsZ0NBQUM7Q0FBQSxBQXBFRCxJQW9FQztTQS9EWSx5QkFBeUI7OztJQUNwQyw4Q0FBeUI7O0lBQ3pCLGlEQUF5Qjs7SUFDekIsMENBQWtCOzs7OztJQUNsQiw2Q0FBbUQ7O0lBQ25ELDhDQUE0Qjs7SUFDNUIseUNBQTZDOzs7OztJQUUzQyx1Q0FBdUI7O0lBQ3ZCLHlDQUEyQzs7SUFDM0MsOENBQXlEOzs7OztJQUN6RCxnREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQXNzZXRVcGRhdGVkUmVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9ycyxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbnRlcmZhY2UgSURhdGEge1xyXG4gIGFzc2V0SWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkaXQtZm9sZGVyLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZm9sZGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0Rm9sZGVyRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgcHVibGljIHZhbHVlID0gJyc7XHJcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBmb3JtOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IElEYXRhLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBmaWxlU2VydmljZTogRmlsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IFt0aGlzLmRhdGEubmFtZSwgW1xyXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwMCksXHJcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxyXG4gICAgICBdXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBnZXQgZGlzYWJsZWQoKSB7XHJcbiAgICBjb25zdCB7IHZhbHVlOiBuYW1lIH0gPSB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5uYW1lO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgIW5hbWUgfHxcclxuICAgICAgISF0aGlzLmVycm9yTWVzc2FnZSB8fFxyXG4gICAgICBuYW1lLnRvTG93ZXJDYXNlKCkudHJpbSgpID09PSB0aGlzLmRhdGEubmFtZS50b0xvd2VyQ2FzZSgpIHx8XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcclxuICB9XHJcblxyXG4gIGVkaXRGb2xkZXIoKSB7XHJcbiAgICBjb25zdCB7IHZhbHVlOiBuYW1lIH0gPSB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5uYW1lO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWxlU2VydmljZVxyXG4gICAgICAudXBkYXRlRmlsZSh7XHJcbiAgICAgICAgYXNzZXRJZDogdGhpcy5kYXRhLmFzc2V0SWQsXHJcbiAgICAgICAgZmlsZU5hbWU6IG5hbWUudHJpbSgpLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKF9yZXM6IElBc3NldFVwZGF0ZWRSZXMpID0+IHRoaXMuY2xvc2VEaWFsb2codHJ1ZSksXHJcbiAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVyci5SZXNwb25zZU1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2cocmVzPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
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 { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
7
+ import { takeUntil } from 'rxjs/operators';
8
+ import { Subject } from 'rxjs';
9
+ import { FileService } from '../../../services/file.service';
10
+ import { FormBuilder, FormControl, Validators, } from '@angular/forms';
11
+ /**
12
+ * @record
13
+ */
14
+ function IData() { }
15
+ if (false) {
16
+ /** @type {?} */
17
+ IData.prototype.assetId;
18
+ /** @type {?} */
19
+ IData.prototype.name;
20
+ }
21
+ var EditFolderDialogComponent = /** @class */ (function () {
22
+ function EditFolderDialogComponent(fb, data, dialogRef, fileService) {
23
+ this.fb = fb;
24
+ this.data = data;
25
+ this.dialogRef = dialogRef;
26
+ this.fileService = fileService;
27
+ this.isLoading = false;
28
+ this.errorMessage = '';
29
+ this.value = '';
30
+ this.destroy$ = new Subject();
31
+ this.form = new FormControl();
32
+ this.formGroup = this.fb.group({
33
+ name: [this.data.name, [
34
+ Validators.maxLength(200),
35
+ Validators.required
36
+ ]],
37
+ });
38
+ }
39
+ /**
40
+ * @return {?}
41
+ */
42
+ EditFolderDialogComponent.prototype.ngOnInit = /**
43
+ * @return {?}
44
+ */
45
+ function () { };
46
+ Object.defineProperty(EditFolderDialogComponent.prototype, "disabled", {
47
+ get: /**
48
+ * @return {?}
49
+ */
50
+ function () {
51
+ var name = this.formGroup.controls.name.value;
52
+ return (!name ||
53
+ !!this.errorMessage ||
54
+ name.toLowerCase().trim() === this.data.name.toLowerCase() ||
55
+ this.isLoading);
56
+ },
57
+ enumerable: true,
58
+ configurable: true
59
+ });
60
+ /**
61
+ * @param {?} _event
62
+ * @return {?}
63
+ */
64
+ EditFolderDialogComponent.prototype.onChange = /**
65
+ * @param {?} _event
66
+ * @return {?}
67
+ */
68
+ function (_event) {
69
+ this.errorMessage = '';
70
+ };
71
+ /**
72
+ * @return {?}
73
+ */
74
+ EditFolderDialogComponent.prototype.editFolder = /**
75
+ * @return {?}
76
+ */
77
+ function () {
78
+ var _this = this;
79
+ var name = this.formGroup.controls.name.value;
80
+ this.isLoading = true;
81
+ this.fileService
82
+ .updateFile({
83
+ assetId: this.data.assetId,
84
+ fileName: name.trim(),
85
+ })
86
+ .pipe(takeUntil(this.destroy$))
87
+ .subscribe((/**
88
+ * @param {?} _res
89
+ * @return {?}
90
+ */
91
+ function (_res) { return _this.closeDialog(true); }), (/**
92
+ * @param {?} err
93
+ * @return {?}
94
+ */
95
+ function (err) {
96
+ _this.isLoading = false;
97
+ _this.errorMessage = err.ResponseMessage;
98
+ }));
99
+ };
100
+ /**
101
+ * @param {?=} res
102
+ * @return {?}
103
+ */
104
+ EditFolderDialogComponent.prototype.closeDialog = /**
105
+ * @param {?=} res
106
+ * @return {?}
107
+ */
108
+ function (res) {
109
+ this.dialogRef.close(res);
110
+ };
111
+ /**
112
+ * @return {?}
113
+ */
114
+ EditFolderDialogComponent.prototype.ngOnDestroy = /**
115
+ * @return {?}
116
+ */
117
+ function () {
118
+ this.destroy$.next(true);
119
+ this.destroy$.complete();
120
+ };
121
+ EditFolderDialogComponent.decorators = [
122
+ { type: Component, args: [{
123
+ selector: 'lib-edit-folder-dialog',
124
+ template: "<lib-modal heading=\"Rename folder\">\n <ng-container content>\n <form (ngSubmit)=\"editFolder()\" [formGroup]=\"formGroup\" #form=\"ngForm\">\n <input\n matInput\n required\n autocomplete=\"off\"\n formControlName=\"name\"\n (input)=\"onChange($event)\"\n placeholder=\"Enter your folder name\"\n pattern=\".*\\S+.*\"\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)=\"editFolder()\"\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>Update</span>\n </button>\n </ng-container>\n</lib-modal>\n",
125
+ 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}"]
126
+ }] }
127
+ ];
128
+ /** @nocollapse */
129
+ EditFolderDialogComponent.ctorParameters = function () { return [
130
+ { type: FormBuilder },
131
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
132
+ { type: MatDialogRef },
133
+ { type: FileService }
134
+ ]; };
135
+ return EditFolderDialogComponent;
136
+ }());
137
+ export { EditFolderDialogComponent };
138
+ if (false) {
139
+ /** @type {?} */
140
+ EditFolderDialogComponent.prototype.isLoading;
141
+ /** @type {?} */
142
+ EditFolderDialogComponent.prototype.errorMessage;
143
+ /** @type {?} */
144
+ EditFolderDialogComponent.prototype.value;
145
+ /**
146
+ * @type {?}
147
+ * @private
148
+ */
149
+ EditFolderDialogComponent.prototype.destroy$;
150
+ /** @type {?} */
151
+ EditFolderDialogComponent.prototype.formGroup;
152
+ /** @type {?} */
153
+ EditFolderDialogComponent.prototype.form;
154
+ /**
155
+ * @type {?}
156
+ * @private
157
+ */
158
+ EditFolderDialogComponent.prototype.fb;
159
+ /** @type {?} */
160
+ EditFolderDialogComponent.prototype.data;
161
+ /** @type {?} */
162
+ EditFolderDialogComponent.prototype.dialogRef;
163
+ /**
164
+ * @type {?}
165
+ * @private
166
+ */
167
+ EditFolderDialogComponent.prototype.fileService;
168
+ }
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGFydGlhbC9lZGl0LWZvbGRlci1kaWFsb2cvZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUVYLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXhCLG9CQUdDOzs7SUFGQyx3QkFBZ0I7O0lBQ2hCLHFCQUFhOztBQUdmO0lBWUUsbUNBQ1UsRUFBZSxFQUNTLElBQVcsRUFDcEMsU0FBa0QsRUFDakQsV0FBd0I7UUFIeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNTLFNBQUksR0FBSixJQUFJLENBQU87UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBeUM7UUFDakQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFWM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1YsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTVDLFNBQUksR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQU8zQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNyQixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztvQkFDekIsVUFBVSxDQUFDLFFBQVE7aUJBQ3BCLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsNENBQVE7OztJQUFSLGNBQVksQ0FBQztJQUViLHNCQUFJLCtDQUFROzs7O1FBQVo7WUFDVSxJQUFBLHlDQUFXO1lBQ25CLE9BQU8sQ0FDTCxDQUFDLElBQUk7Z0JBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO2dCQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7UUFDSixDQUFDOzs7T0FBQTs7Ozs7SUFFRCw0Q0FBUTs7OztJQUFSLFVBQVMsTUFBYTtRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsOENBQVU7OztJQUFWO1FBQUEsaUJBZ0JDO1FBZlMsSUFBQSx5Q0FBVztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVzthQUNiLFVBQVUsQ0FBQztZQUNWLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVM7Ozs7UUFDUixVQUFDLElBQXNCLElBQUssT0FBQSxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUF0QixDQUFzQjs7OztRQUNsRCxVQUFBLEdBQUc7WUFDRCxLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixLQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDMUMsQ0FBQyxFQUNGLENBQUM7SUFDTixDQUFDOzs7OztJQUVELCtDQUFXOzs7O0lBQVgsVUFBWSxHQUFhO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCwrQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dCQW5FRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsZ3ZDQUFrRDs7aUJBRW5EOzs7O2dCQWZDLFdBQVc7Z0RBeUJSLE1BQU0sU0FBQyxlQUFlO2dCQS9CbEIsWUFBWTtnQkFHWixXQUFXOztJQWtGcEIsZ0NBQUM7Q0FBQSxBQXBFRCxJQW9FQztTQS9EWSx5QkFBeUI7OztJQUNwQyw4Q0FBeUI7O0lBQ3pCLGlEQUF5Qjs7SUFDekIsMENBQWtCOzs7OztJQUNsQiw2Q0FBbUQ7O0lBQ25ELDhDQUE0Qjs7SUFDNUIseUNBQTZDOzs7OztJQUUzQyx1Q0FBdUI7O0lBQ3ZCLHlDQUEyQzs7SUFDM0MsOENBQXlEOzs7OztJQUN6RCxnREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IElBc3NldFVwZGF0ZWRSZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW50ZXJmYWNlIElEYXRhIHtcbiAgYXNzZXRJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1lZGl0LWZvbGRlci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgdmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgcHVibGljIGZvcm06IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSURhdGEsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBuYW1lOiBbdGhpcy5kYXRhLm5hbWUsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjAwKSxcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXV0sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIGNvbnN0IHsgdmFsdWU6IG5hbWUgfSA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLm5hbWU7XG4gICAgcmV0dXJuIChcbiAgICAgICFuYW1lIHx8XG4gICAgICAhIXRoaXMuZXJyb3JNZXNzYWdlIHx8XG4gICAgICBuYW1lLnRvTG93ZXJDYXNlKCkudHJpbSgpID09PSB0aGlzLmRhdGEubmFtZS50b0xvd2VyQ2FzZSgpIHx8XG4gICAgICB0aGlzLmlzTG9hZGluZ1xuICAgICk7XG4gIH1cblxuICBvbkNoYW5nZShfZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgfVxuXG4gIGVkaXRGb2xkZXIoKSB7XG4gICAgY29uc3QgeyB2YWx1ZTogbmFtZSB9ID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHMubmFtZTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5maWxlU2VydmljZVxuICAgICAgLnVwZGF0ZUZpbGUoe1xuICAgICAgICBhc3NldElkOiB0aGlzLmRhdGEuYXNzZXRJZCxcbiAgICAgICAgZmlsZU5hbWU6IG5hbWUudHJpbSgpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChfcmVzOiBJQXNzZXRVcGRhdGVkUmVzKSA9PiB0aGlzLmNsb3NlRGlhbG9nKHRydWUpLFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnIuUmVzcG9uc2VNZXNzYWdlO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgY2xvc2VEaWFsb2cocmVzPzogYm9vbGVhbikge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=