@rs-pk/asset-management 1.0.22 → 1.0.24

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 +6444 -6327
  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 +164 -152
  7. package/esm2015/lib/asset-management.module.js +178 -179
  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 -395
  11. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +316 -299
  12. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +285 -273
  13. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +123 -109
  14. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +119 -100
  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 -114
  21. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +81 -69
  22. package/esm2015/lib/components/partial/node-details/node-details.component.js +417 -403
  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 +149 -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 +179 -167
  62. package/esm5/lib/asset-management.module.js +179 -180
  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 -437
  66. package/esm5/lib/components/partial/asset-item/asset-item.component.js +350 -333
  67. package/esm5/lib/components/partial/asset-list/asset-list.component.js +318 -306
  68. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +138 -124
  69. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +137 -115
  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 -126
  76. package/esm5/lib/components/partial/folder-list/folder-list.component.js +94 -82
  77. package/esm5/lib/components/partial/node-details/node-details.component.js +458 -444
  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 +168 -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 +5642 -5528
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  118. package/fesm5/rs-pk-asset-management.js +6448 -6331
  119. package/fesm5/rs-pk-asset-management.js.map +1 -1
  120. package/lib/asset-management.component.d.ts +25 -22
  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 -60
  125. package/lib/components/partial/asset-item/asset-item.component.d.ts +40 -37
  126. package/lib/components/partial/asset-list/asset-list.component.d.ts +27 -24
  127. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +20 -17
  128. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +23 -19
  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 -14
  135. package/lib/components/partial/folder-list/folder-list.component.d.ts +14 -11
  136. package/lib/components/partial/node-details/node-details.component.d.ts +32 -29
  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 +68 -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,109 +1,123 @@
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 { Subject } from 'rxjs/internal/Subject';
8
- import { takeUntil } from 'rxjs/operators';
9
- import { DialogConfig } from '../../../models';
10
- import { AssetService } from '../../../services/asset.service';
11
- import { select } from '../../../store';
12
- export class AssetManagementDialogComponent {
13
- /**
14
- * @param {?} data
15
- * @param {?} dialogRef
16
- * @param {?} assetService
17
- */
18
- constructor(data, dialogRef, assetService) {
19
- this.data = data;
20
- this.dialogRef = dialogRef;
21
- this.assetService = assetService;
22
- this.destroy$ = new Subject();
23
- this.selectedAssets = [];
24
- }
25
- /**
26
- * @return {?}
27
- */
28
- ngOnInit() {
29
- this.initDialogConfig(this.data);
30
- select((/**
31
- * @param {?} state
32
- * @return {?}
33
- */
34
- (state) => state.selectedAssets))
35
- .pipe(takeUntil(this.destroy$))
36
- .subscribe((/**
37
- * @param {?} selectedAssets
38
- * @return {?}
39
- */
40
- (selectedAssets) => {
41
- this.selectedAssets = selectedAssets;
42
- }));
43
- }
44
- /**
45
- * @return {?}
46
- */
47
- get disabled() {
48
- const { limit } = this.data;
49
- return ((!this.selectedAssets || !this.selectedAssets.length) ||
50
- (limit && this.selectedAssets.length > limit));
51
- }
52
- /**
53
- * @return {?}
54
- */
55
- selectAssets() {
56
- this.dialogRef.close(this.selectedAssets);
57
- }
58
- /**
59
- * @param {?} data
60
- * @return {?}
61
- */
62
- initDialogConfig(data) {
63
- if (!data) {
64
- return;
65
- }
66
- this.assetService.dialogConfig = data;
67
- this.assetService.maxSize = data.maxSize;
68
- }
69
- /**
70
- * @return {?}
71
- */
72
- ngOnDestroy() {
73
- this.assetService.dialogConfig = new DialogConfig();
74
- this.destroy$.next(true);
75
- this.destroy$.complete();
76
- }
77
- }
78
- AssetManagementDialogComponent.decorators = [
79
- { type: Component, args: [{
80
- selector: 'lib-asset-management-dialog',
81
- template: "<lib-modal heading=\"Asset management\" [customHeader]=\"true\">\n <ng-container subtitle>\n <lib-breadcrumb></lib-breadcrumb>\n </ng-container>\n <ng-container headerActions>\n <lib-search-box></lib-search-box>\n </ng-container>\n <ng-container content>\n <lib-asset-wrapper [header]=\"false\"></lib-asset-wrapper>\n </ng-container>\n <ng-container actions>\n <div class=\"asset-management-dialog__footer\">\n <div class=\"selected-assets\">\n <ng-container *ngIf=\"data?.limit\">\n <span>Selected{{' '}}</span>\n <span class=\"count\" [ngClass]=\"{'error': selectedAssets?.length && disabled}\">\n {{selectedAssets?.length}}/{{data?.limit}}\n </span>\n <span>\n {{data?.limit > 1 ? \"assets\": \"asset\"}}\n </span>\n </ng-container>\n\n </div>\n <div>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"selectAssets()\" [disabled]=\"disabled\">Done</button>\n </div>\n </div>\n </ng-container>\n</lib-modal>",
82
- styles: [":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]
83
- }] }
84
- ];
85
- /** @nocollapse */
86
- AssetManagementDialogComponent.ctorParameters = () => [
87
- { type: DialogConfig, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
88
- { type: MatDialogRef },
89
- { type: AssetService }
90
- ];
91
- if (false) {
92
- /**
93
- * @type {?}
94
- * @private
95
- */
96
- AssetManagementDialogComponent.prototype.destroy$;
97
- /** @type {?} */
98
- AssetManagementDialogComponent.prototype.selectedAssets;
99
- /** @type {?} */
100
- AssetManagementDialogComponent.prototype.data;
101
- /** @type {?} */
102
- AssetManagementDialogComponent.prototype.dialogRef;
103
- /**
104
- * @type {?}
105
- * @private
106
- */
107
- AssetManagementDialogComponent.prototype.assetService;
108
- }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU94QyxNQUFNLE9BQU8sOEJBQThCOzs7Ozs7SUFDekMsWUFDa0MsSUFBa0IsRUFDM0MsU0FBdUQsRUFDdEQsWUFBMEI7UUFGRixTQUFJLEdBQUosSUFBSSxDQUFjO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQ3RELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRTVCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxtQkFBYyxHQUFzQixFQUFFLENBQUM7SUFGMUMsQ0FBQzs7OztJQUlMLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTOzs7O1FBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUN2QyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxJQUFJLFFBQVE7Y0FDSixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQzNCLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3JELENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQzs7OztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFrQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDM0MsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxzbUNBQXVEOzthQUV4RDs7OztZQVJvQixZQUFZLHVCQVc1QixNQUFNLFNBQUMsZUFBZTtZQWRsQixZQUFZO1lBSVosWUFBWTs7Ozs7OztJQWNuQixrREFBbUQ7O0lBQ25ELHdEQUE4Qzs7SUFMNUMsOENBQWtEOztJQUNsRCxtREFBOEQ7Ozs7O0lBQzlELHNEQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1vZGVsLCBEaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBzZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hc3NldC1tYW5hZ2VtZW50LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEaWFsb2dDb25maWcsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZVxuICApIHsgfVxuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHNlbGVjdGVkQXNzZXRzOiBBcnJheTxBc3NldE1vZGVsPiA9IFtdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdERpYWxvZ0NvbmZpZyh0aGlzLmRhdGEpO1xuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkQXNzZXRzKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFzc2V0cyA9IHNlbGVjdGVkQXNzZXRzO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyBsaW1pdCB9ID0gdGhpcy5kYXRhO1xuICAgIHJldHVybiAoXG4gICAgICAoIXRoaXMuc2VsZWN0ZWRBc3NldHMgfHwgIXRoaXMuc2VsZWN0ZWRBc3NldHMubGVuZ3RoKSB8fFxuICAgICAgKGxpbWl0ICYmIHRoaXMuc2VsZWN0ZWRBc3NldHMubGVuZ3RoID4gbGltaXQpXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdEFzc2V0cygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnNlbGVjdGVkQXNzZXRzKTtcbiAgfVxuXG4gIGluaXREaWFsb2dDb25maWcoZGF0YTogRGlhbG9nQ29uZmlnKSB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hc3NldFNlcnZpY2UuZGlhbG9nQ29uZmlnID0gZGF0YTtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5tYXhTaXplID0gZGF0YS5tYXhTaXplO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UuZGlhbG9nQ29uZmlnID0gbmV3IERpYWxvZ0NvbmZpZygpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Inject, Input } from '@angular/core';
6
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
7
+ import { Subject } from 'rxjs/internal/Subject';
8
+ import { takeUntil } from 'rxjs/operators';
9
+ import { DialogConfig } from '../../../models';
10
+ import { AssetService } from '../../../services/asset.service';
11
+ import { select } from '../../../store';
12
+ export class AssetManagementDialogComponent {
13
+ /**
14
+ * @param {?} data
15
+ * @param {?} dialogRef
16
+ * @param {?} assetService
17
+ */
18
+ constructor(data, dialogRef, assetService) {
19
+ this.data = data;
20
+ this.dialogRef = dialogRef;
21
+ this.assetService = assetService;
22
+ this.hasModifyPermission = true;
23
+ this.hasAccessPermission = true;
24
+ this.hasArchivePermission = true;
25
+ this.destroy$ = new Subject();
26
+ this.selectedAssets = [];
27
+ }
28
+ /**
29
+ * @return {?}
30
+ */
31
+ ngOnInit() {
32
+ this.initDialogConfig(this.data);
33
+ select((/**
34
+ * @param {?} state
35
+ * @return {?}
36
+ */
37
+ (state) => state.selectedAssets))
38
+ .pipe(takeUntil(this.destroy$))
39
+ .subscribe((/**
40
+ * @param {?} selectedAssets
41
+ * @return {?}
42
+ */
43
+ (selectedAssets) => {
44
+ this.selectedAssets = selectedAssets;
45
+ }));
46
+ }
47
+ /**
48
+ * @return {?}
49
+ */
50
+ get disabled() {
51
+ const { limit } = this.data;
52
+ return ((!this.selectedAssets || !this.selectedAssets.length) ||
53
+ (limit && this.selectedAssets.length > limit));
54
+ }
55
+ /**
56
+ * @return {?}
57
+ */
58
+ selectAssets() {
59
+ this.dialogRef.close(this.selectedAssets);
60
+ }
61
+ /**
62
+ * @param {?} data
63
+ * @return {?}
64
+ */
65
+ initDialogConfig(data) {
66
+ if (!data) {
67
+ return;
68
+ }
69
+ this.assetService.dialogConfig = data;
70
+ this.assetService.maxSize = data.maxSize;
71
+ }
72
+ /**
73
+ * @return {?}
74
+ */
75
+ ngOnDestroy() {
76
+ this.assetService.dialogConfig = new DialogConfig();
77
+ this.destroy$.next(true);
78
+ this.destroy$.complete();
79
+ }
80
+ }
81
+ AssetManagementDialogComponent.decorators = [
82
+ { type: Component, args: [{
83
+ selector: 'lib-asset-management-dialog',
84
+ template: "<lib-modal heading=\"Asset management\" [customHeader]=\"true\">\r\n <ng-container subtitle>\r\n <lib-breadcrumb></lib-breadcrumb>\r\n </ng-container>\r\n <ng-container headerActions>\r\n <lib-search-box></lib-search-box>\r\n </ng-container>\r\n <ng-container content>\r\n <lib-asset-wrapper \r\n [header]=\"false\"\r\n [hasModifyPermission]=\"hasModifyPermission\"\r\n [hasAccessPermission]=\"hasAccessPermission\"\r\n [hasArchivePermission]=\"hasArchivePermission\"\r\n ></lib-asset-wrapper>\r\n </ng-container>\r\n <ng-container actions>\r\n <div class=\"asset-management-dialog__footer\">\r\n <div class=\"selected-assets\">\r\n <ng-container *ngIf=\"data?.limit\">\r\n <span>Selected{{' '}}</span>\r\n <span class=\"count\" [ngClass]=\"{'error': selectedAssets?.length && disabled}\">\r\n {{selectedAssets?.length}}/{{data?.limit}}\r\n </span>\r\n <span>\r\n {{data?.limit > 1 ? \"assets\": \"asset\"}}\r\n </span>\r\n </ng-container>\r\n\r\n </div>\r\n <div>\r\n <button mat-raised-button mat-dialog-close>Cancel</button>\r\n <button mat-raised-button color=\"primary\" (click)=\"selectAssets()\" [disabled]=\"disabled\">Done</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</lib-modal>",
85
+ styles: [":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]
86
+ }] }
87
+ ];
88
+ /** @nocollapse */
89
+ AssetManagementDialogComponent.ctorParameters = () => [
90
+ { type: DialogConfig, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
91
+ { type: MatDialogRef },
92
+ { type: AssetService }
93
+ ];
94
+ AssetManagementDialogComponent.propDecorators = {
95
+ hasModifyPermission: [{ type: Input }],
96
+ hasAccessPermission: [{ type: Input }],
97
+ hasArchivePermission: [{ type: Input }]
98
+ };
99
+ if (false) {
100
+ /** @type {?} */
101
+ AssetManagementDialogComponent.prototype.hasModifyPermission;
102
+ /** @type {?} */
103
+ AssetManagementDialogComponent.prototype.hasAccessPermission;
104
+ /** @type {?} */
105
+ AssetManagementDialogComponent.prototype.hasArchivePermission;
106
+ /**
107
+ * @type {?}
108
+ * @private
109
+ */
110
+ AssetManagementDialogComponent.prototype.destroy$;
111
+ /** @type {?} */
112
+ AssetManagementDialogComponent.prototype.selectedAssets;
113
+ /** @type {?} */
114
+ AssetManagementDialogComponent.prototype.data;
115
+ /** @type {?} */
116
+ AssetManagementDialogComponent.prototype.dialogRef;
117
+ /**
118
+ * @type {?}
119
+ * @private
120
+ */
121
+ AssetManagementDialogComponent.prototype.assetService;
122
+ }
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEMsTUFBTSxPQUFPLDhCQUE4Qjs7Ozs7O0lBS3pDLFlBQ2tDLElBQWtCLEVBQzNDLFNBQXVELEVBQ3RELFlBQTBCO1FBRkYsU0FBSSxHQUFKLElBQUksQ0FBYztRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQUE4QztRQUN0RCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVAzQix3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFDckMsd0JBQW1CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLHlCQUFvQixHQUFhLElBQUksQ0FBQztRQU92QyxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUMsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO0lBRjFDLENBQUM7Ozs7SUFJTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxNQUFNOzs7O1FBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUM7YUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDdkMsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsSUFBSSxRQUFRO2NBQ0osRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSTtRQUMzQixPQUFPLENBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUNyRCxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7Ozs7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsSUFBa0I7UUFDakMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNDLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQXBERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsMjFDQUF1RDs7YUFFeEQ7Ozs7WUFSb0IsWUFBWSx1QkFlNUIsTUFBTSxTQUFDLGVBQWU7WUFsQmxCLFlBQVk7WUFJWixZQUFZOzs7a0NBU2xCLEtBQUs7a0NBQ0wsS0FBSzttQ0FDTCxLQUFLOzs7O0lBRk4sNkRBQThDOztJQUM5Qyw2REFBOEM7O0lBQzlDLDhEQUErQzs7Ozs7SUFPL0Msa0RBQW1EOztJQUNuRCx3REFBOEM7O0lBTDVDLDhDQUFrRDs7SUFDbEQsbURBQThEOzs7OztJQUM5RCxzREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXNzZXRNb2RlbCwgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XHJcbmltcG9ydCB7IHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFzc2V0LW1hbmFnZW1lbnQtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaGFzTW9kaWZ5UGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhhc0FjY2Vzc1Blcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoYXNBcmNoaXZlUGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRGlhbG9nQ29uZmlnLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlXHJcbiAgKSB7IH1cclxuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBc3NldHM6IEFycmF5PEFzc2V0TW9kZWw+ID0gW107XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0RGlhbG9nQ29uZmlnKHRoaXMuZGF0YSk7XHJcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZEFzc2V0cykgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3NldHMgPSBzZWxlY3RlZEFzc2V0cztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB7IGxpbWl0IH0gPSB0aGlzLmRhdGE7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAoIXRoaXMuc2VsZWN0ZWRBc3NldHMgfHwgIXRoaXMuc2VsZWN0ZWRBc3NldHMubGVuZ3RoKSB8fFxyXG4gICAgICAobGltaXQgJiYgdGhpcy5zZWxlY3RlZEFzc2V0cy5sZW5ndGggPiBsaW1pdClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBc3NldHMoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnNlbGVjdGVkQXNzZXRzKTtcclxuICB9XHJcblxyXG4gIGluaXREaWFsb2dDb25maWcoZGF0YTogRGlhbG9nQ29uZmlnKSB7XHJcbiAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLmRpYWxvZ0NvbmZpZyA9IGRhdGE7XHJcbiAgICB0aGlzLmFzc2V0U2VydmljZS5tYXhTaXplID0gZGF0YS5tYXhTaXplO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmFzc2V0U2VydmljZS5kaWFsb2dDb25maWcgPSBuZXcgRGlhbG9nQ29uZmlnKCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,100 +1,119 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
6
- import { Subject } from 'rxjs/internal/Subject';
7
- import { takeUntil } from 'rxjs/operators';
8
- import { AssetService } from '../../../services/asset.service';
9
- import { select } from '../../../store';
10
- export class AssetWrapperComponent {
11
- /**
12
- * @param {?} assetService
13
- */
14
- constructor(assetService) {
15
- this.assetService = assetService;
16
- this.header = true;
17
- this.assets = new EventEmitter();
18
- this.unsubscribe$ = new Subject();
19
- this.nodeTreeMinWidth = 250;
20
- this.nodeTreeMaxWidth = 700;
21
- }
22
- /**
23
- * @return {?}
24
- */
25
- ngOnInit() {
26
- this.nodeTreeWidth = this.nodeTreeMinWidth;
27
- select((/**
28
- * @param {?} state
29
- * @return {?}
30
- */
31
- (state) => state.selectedAssets))
32
- .pipe(takeUntil(this.unsubscribe$))
33
- .subscribe((/**
34
- * @param {?} selectedAssets
35
- * @return {?}
36
- */
37
- (selectedAssets) => {
38
- this.assets.emit(selectedAssets);
39
- }));
40
- }
41
- /**
42
- * @param {?} __0
43
- * @return {?}
44
- */
45
- onResize({ width }) {
46
- this.nodeTreeWidth = width;
47
- }
48
- /**
49
- * @return {?}
50
- */
51
- get nodeDetailsWidth() {
52
- return `calc(100% - ${this.nodeTreeWidth}px)`;
53
- }
54
- /**
55
- * @return {?}
56
- */
57
- ngOnDestroy() {
58
- this.assetService.resetAsset();
59
- this.unsubscribe$.next();
60
- this.unsubscribe$.complete();
61
- }
62
- }
63
- AssetWrapperComponent.decorators = [
64
- { type: Component, args: [{
65
- selector: 'lib-asset-wrapper',
66
- template: "<div class=\"asset-wrapper\">\n <div class=\"asset-header\" *ngIf=\"header\">\n <div class=\"asset-header__left asset-header__title\" #title>\n <lib-breadcrumb></lib-breadcrumb>\n </div>\n <div class=\"asset-header__right asset-header__actions\" #actions>\n <lib-search-box></lib-search-box>\n </div>\n </div>\n <div class=\"asset-body\">\n <lib-drag-to-resize (resizeCompleted)=\"onResize($event)\" class=\"asset-body__node-tree\" [minWidth]=\"nodeTreeMinWidth\" [maxWidth]=\"nodeTreeMaxWidth\">\n <lib-node-tree [width]=\"nodeTreeWidth\"></lib-node-tree>\n </lib-drag-to-resize>\n <lib-node-details class=\"asset-body__node-details\" [style.maxWidth]=\"nodeDetailsWidth\"></lib-node-details>\n </div>\n</div>",
67
- styles: [":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]
68
- }] }
69
- ];
70
- /** @nocollapse */
71
- AssetWrapperComponent.ctorParameters = () => [
72
- { type: AssetService }
73
- ];
74
- AssetWrapperComponent.propDecorators = {
75
- header: [{ type: Input }],
76
- assets: [{ type: Output }]
77
- };
78
- if (false) {
79
- /** @type {?} */
80
- AssetWrapperComponent.prototype.header;
81
- /** @type {?} */
82
- AssetWrapperComponent.prototype.assets;
83
- /**
84
- * @type {?}
85
- * @private
86
- */
87
- AssetWrapperComponent.prototype.unsubscribe$;
88
- /** @type {?} */
89
- AssetWrapperComponent.prototype.nodeTreeMinWidth;
90
- /** @type {?} */
91
- AssetWrapperComponent.prototype.nodeTreeMaxWidth;
92
- /** @type {?} */
93
- AssetWrapperComponent.prototype.nodeTreeWidth;
94
- /**
95
- * @type {?}
96
- * @private
97
- */
98
- AssetWrapperComponent.prototype.assetService;
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtd3JhcHBlci9hc3NldC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEMsTUFBTSxPQUFPLHFCQUFxQjs7OztJQVNoQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVJyQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRTVDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO0lBR21CLENBQUM7Ozs7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzNDLE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTOzs7O1FBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLGVBQWUsSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDO0lBQ2hELENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwwdkJBQTZDOzthQUU5Qzs7OztZQVBRLFlBQVk7OztxQkFTbEIsS0FBSztxQkFDTCxNQUFNOzs7O0lBRFAsdUNBQXVCOztJQUN2Qix1Q0FBb0Q7Ozs7O0lBRXBELDZDQUEyQzs7SUFDM0MsaURBQThCOztJQUM5QixpREFBOEI7O0lBQzlCLDhDQUFxQjs7Ozs7SUFFVCw2Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGhlYWRlciA9IHRydWU7XG4gIEBPdXRwdXQoKSBhc3NldHMgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0TW9kZWxbXT4oKTtcblxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyBub2RlVHJlZU1pbldpZHRoID0gMjUwO1xuICBwdWJsaWMgbm9kZVRyZWVNYXhXaWR0aCA9IDcwMDtcbiAgcHVibGljIG5vZGVUcmVlV2lkdGg7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5vZGVUcmVlV2lkdGggPSB0aGlzLm5vZGVUcmVlTWluV2lkdGg7XG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRBc3NldHMpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcbiAgICAgICAgdGhpcy5hc3NldHMuZW1pdChzZWxlY3RlZEFzc2V0cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUmVzaXplKHsgd2lkdGggfSkge1xuICAgIHRoaXMubm9kZVRyZWVXaWR0aCA9IHdpZHRoO1xuICB9XG5cbiAgZ2V0IG5vZGVEZXRhaWxzV2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7dGhpcy5ub2RlVHJlZVdpZHRofXB4KWA7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5yZXNldEFzc2V0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
6
+ import { Subject } from 'rxjs/internal/Subject';
7
+ import { takeUntil } from 'rxjs/operators';
8
+ import { AssetService } from '../../../services/asset.service';
9
+ import { select } from '../../../store';
10
+ export class AssetWrapperComponent {
11
+ /**
12
+ * @param {?} assetService
13
+ */
14
+ constructor(assetService) {
15
+ this.assetService = assetService;
16
+ this.header = true;
17
+ this.hasModifyPermission = true;
18
+ this.hasAccessPermission = true;
19
+ this.hasArchivePermission = true;
20
+ this.assets = new EventEmitter();
21
+ this.unsubscribe$ = new Subject();
22
+ this.nodeTreeMinWidth = 250;
23
+ this.nodeTreeMaxWidth = 700;
24
+ }
25
+ /**
26
+ * @return {?}
27
+ */
28
+ ngOnChanges() {
29
+ console.log('modify', this.hasModifyPermission);
30
+ console.log('archive', this.hasArchivePermission);
31
+ }
32
+ /**
33
+ * @return {?}
34
+ */
35
+ ngOnInit() {
36
+ this.nodeTreeWidth = this.nodeTreeMinWidth;
37
+ select((/**
38
+ * @param {?} state
39
+ * @return {?}
40
+ */
41
+ (state) => state.selectedAssets))
42
+ .pipe(takeUntil(this.unsubscribe$))
43
+ .subscribe((/**
44
+ * @param {?} selectedAssets
45
+ * @return {?}
46
+ */
47
+ (selectedAssets) => {
48
+ this.assets.emit(selectedAssets);
49
+ }));
50
+ }
51
+ /**
52
+ * @param {?} __0
53
+ * @return {?}
54
+ */
55
+ onResize({ width }) {
56
+ this.nodeTreeWidth = width;
57
+ }
58
+ /**
59
+ * @return {?}
60
+ */
61
+ get nodeDetailsWidth() {
62
+ return `calc(100% - ${this.nodeTreeWidth}px)`;
63
+ }
64
+ /**
65
+ * @return {?}
66
+ */
67
+ ngOnDestroy() {
68
+ this.assetService.resetAsset();
69
+ this.unsubscribe$.next();
70
+ this.unsubscribe$.complete();
71
+ }
72
+ }
73
+ AssetWrapperComponent.decorators = [
74
+ { type: Component, args: [{
75
+ selector: 'lib-asset-wrapper',
76
+ template: "<div class=\"asset-wrapper\">\r\n <div class=\"asset-header\" *ngIf=\"header\">\r\n <div class=\"asset-header__left asset-header__title\" #title>\r\n <lib-breadcrumb></lib-breadcrumb>\r\n </div>\r\n <div class=\"asset-header__right asset-header__actions\" #actions>\r\n <lib-search-box></lib-search-box>\r\n </div>\r\n </div>\r\n <div class=\"asset-body\">\r\n <lib-drag-to-resize (resizeCompleted)=\"onResize($event)\" class=\"asset-body__node-tree\" [minWidth]=\"nodeTreeMinWidth\" [maxWidth]=\"nodeTreeMaxWidth\">\r\n <lib-node-tree [width]=\"nodeTreeWidth\"></lib-node-tree>\r\n </lib-drag-to-resize>\r\n <lib-node-details \r\n class=\"asset-body__node-details\" \r\n [style.maxWidth]=\"nodeDetailsWidth\"\r\n [hasModifyPermission]=\"hasModifyPermission\"\r\n [hasAccessPermission]=\"hasAccessPermission\"\r\n [hasArchivePermission]=\"hasArchivePermission\"\r\n ></lib-node-details>\r\n </div>\r\n</div>",
77
+ styles: [":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]
78
+ }] }
79
+ ];
80
+ /** @nocollapse */
81
+ AssetWrapperComponent.ctorParameters = () => [
82
+ { type: AssetService }
83
+ ];
84
+ AssetWrapperComponent.propDecorators = {
85
+ header: [{ type: Input }],
86
+ hasModifyPermission: [{ type: Input }],
87
+ hasAccessPermission: [{ type: Input }],
88
+ hasArchivePermission: [{ type: Input }],
89
+ assets: [{ type: Output }]
90
+ };
91
+ if (false) {
92
+ /** @type {?} */
93
+ AssetWrapperComponent.prototype.header;
94
+ /** @type {?} */
95
+ AssetWrapperComponent.prototype.hasModifyPermission;
96
+ /** @type {?} */
97
+ AssetWrapperComponent.prototype.hasAccessPermission;
98
+ /** @type {?} */
99
+ AssetWrapperComponent.prototype.hasArchivePermission;
100
+ /** @type {?} */
101
+ AssetWrapperComponent.prototype.assets;
102
+ /**
103
+ * @type {?}
104
+ * @private
105
+ */
106
+ AssetWrapperComponent.prototype.unsubscribe$;
107
+ /** @type {?} */
108
+ AssetWrapperComponent.prototype.nodeTreeMinWidth;
109
+ /** @type {?} */
110
+ AssetWrapperComponent.prototype.nodeTreeMaxWidth;
111
+ /** @type {?} */
112
+ AssetWrapperComponent.prototype.nodeTreeWidth;
113
+ /**
114
+ * @type {?}
115
+ * @private
116
+ */
117
+ AssetWrapperComponent.prototype.assetService;
118
+ }
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtd3JhcHBlci9hc3NldC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEMsTUFBTSxPQUFPLHFCQUFxQjs7OztJQVloQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVhyQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2Qsd0JBQW1CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLHdCQUFtQixHQUFhLElBQUksQ0FBQztRQUNyQyx5QkFBb0IsR0FBYSxJQUFJLENBQUM7UUFDckMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRTVDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO0lBR21CLENBQUM7Ozs7SUFFbEQsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDM0MsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFDO2FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVM7Ozs7UUFBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUU7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQzs7OztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZUFBZSxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7WUE3Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDI5QkFBNkM7O2FBRTlDOzs7O1lBUFEsWUFBWTs7O3FCQVNsQixLQUFLO2tDQUNMLEtBQUs7a0NBQ0wsS0FBSzttQ0FDTCxLQUFLO3FCQUNMLE1BQU07Ozs7SUFKUCx1Q0FBdUI7O0lBQ3ZCLG9EQUE4Qzs7SUFDOUMsb0RBQThDOztJQUM5QyxxREFBK0M7O0lBQy9DLHVDQUFvRDs7Ozs7SUFFcEQsNkNBQTJDOztJQUMzQyxpREFBOEI7O0lBQzlCLGlEQUE4Qjs7SUFDOUIsOENBQXFCOzs7OztJQUVULDZDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9TdWJqZWN0JztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBc3NldE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XHJcbmltcG9ydCB7IHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFzc2V0LXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hc3NldC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3NldFdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaGVhZGVyID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoYXNNb2RpZnlQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgaGFzQWNjZXNzUGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhhc0FyY2hpdmVQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGFzc2V0cyA9IG5ldyBFdmVudEVtaXR0ZXI8QXNzZXRNb2RlbFtdPigpO1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIG5vZGVUcmVlTWluV2lkdGggPSAyNTA7XHJcbiAgcHVibGljIG5vZGVUcmVlTWF4V2lkdGggPSA3MDA7XHJcbiAgcHVibGljIG5vZGVUcmVlV2lkdGg7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXNzZXRTZXJ2aWNlOiBBc3NldFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgY29uc29sZS5sb2coJ21vZGlmeScsIHRoaXMuaGFzTW9kaWZ5UGVybWlzc2lvbik7XHJcbiAgICBjb25zb2xlLmxvZygnYXJjaGl2ZScsIHRoaXMuaGFzQXJjaGl2ZVBlcm1pc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm5vZGVUcmVlV2lkdGggPSB0aGlzLm5vZGVUcmVlTWluV2lkdGg7XHJcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcclxuICAgICAgICB0aGlzLmFzc2V0cy5lbWl0KHNlbGVjdGVkQXNzZXRzKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblJlc2l6ZSh7IHdpZHRoIH0pIHtcclxuICAgIHRoaXMubm9kZVRyZWVXaWR0aCA9IHdpZHRoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5vZGVEZXRhaWxzV2lkdGgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgY2FsYygxMDAlIC0gJHt0aGlzLm5vZGVUcmVlV2lkdGh9cHgpYDtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5hc3NldFNlcnZpY2UucmVzZXRBc3NldCgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19