@rs-pk/asset-management 1.0.23 → 1.0.25

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 +6438 -6326
  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 -152
  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 -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 +110 -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 +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 -167
  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 -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 +125 -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 +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 +5635 -5526
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  118. package/fesm5/rs-pk-asset-management.js +6441 -6329
  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 +17 -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 +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 +2 -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,152 +1,169 @@
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 { MatDialog } from '@angular/material/dialog';
7
- import { Subject } from 'rxjs';
8
- import { takeUntil } from 'rxjs/operators';
9
- import { AssetManagementService } from './asset-management.service';
10
- import { AssetManagementDialogComponent } from './components/partial/asset-management-dialog/asset-management-dialog.component';
11
- import { AssetService } from './services/asset.service';
12
- import { initialReducer } from './store';
13
- export class AssetManagementComponent {
14
- /**
15
- * @param {?} dialog
16
- * @param {?} svc
17
- * @param {?} assetService
18
- */
19
- constructor(dialog, svc, assetService) {
20
- this.dialog = dialog;
21
- this.svc = svc;
22
- this.assetService = assetService;
23
- this.isDialog = true;
24
- this.assetChange = new EventEmitter();
25
- this.destroy$ = new Subject();
26
- }
27
- /**
28
- * @return {?}
29
- */
30
- ngOnInit() {
31
- this.assetService.maxSize = this.maxSize;
32
- initialReducer(this.svc.getDispatcher());
33
- this.bindSubscriber();
34
- }
35
- /**
36
- * @return {?}
37
- */
38
- bindSubscriber() {
39
- this.assetService
40
- .getDialogOpenStatus()
41
- .pipe(takeUntil(this.destroy$))
42
- .subscribe((/**
43
- * @param {?} res
44
- * @return {?}
45
- */
46
- (res) => {
47
- if (res) {
48
- this.openAssetsDialog();
49
- }
50
- }));
51
- }
52
- /**
53
- * @param {?} assets
54
- * @return {?}
55
- */
56
- onAssetsChange(assets) {
57
- if (!assets) {
58
- return;
59
- }
60
- this.assetChange.emit(assets);
61
- }
62
- /**
63
- * @return {?}
64
- */
65
- openAssetsDialog() {
66
- /** @type {?} */
67
- const config = {
68
- limit: this.limit,
69
- allowedType: this.allowedType,
70
- maxSize: this.maxSize
71
- };
72
- /** @type {?} */
73
- const dialogRef = this.dialog.open(AssetManagementDialogComponent, {
74
- autoFocus: false,
75
- panelClass: 'lib-dialog--large',
76
- data: config,
77
- });
78
- dialogRef
79
- .afterClosed()
80
- .pipe(takeUntil(this.destroy$))
81
- .subscribe((/**
82
- * @param {?} res
83
- * @return {?}
84
- */
85
- (res) => {
86
- if (res) {
87
- this.assetChange.emit(res);
88
- }
89
- }));
90
- }
91
- /**
92
- * @return {?}
93
- */
94
- ngOnDestroy() {
95
- this.destroy$.next(true);
96
- this.destroy$.complete();
97
- }
98
- }
99
- AssetManagementComponent.decorators = [
100
- { type: Component, args: [{
101
- selector: 'lib-asset-management',
102
- template: "<ng-container *ngIf=\"!isDialog\">\n <lib-asset-wrapper (assets)=\"onAssetsChange($event)\"></lib-asset-wrapper>\n</ng-container>\n<ng-content *ngIf=\"isDialog\"></ng-content>",
103
- providers: [AssetService],
104
- styles: ["::ng-deep .custom-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-radius:10px}::ng-deep .custom-scrollbar::-webkit-scrollbar{width:5px;height:5px;background-color:#f5f5f5}::ng-deep .custom-scrollbar::-webkit-scrollbar-thumb{border-radius:10px;background-color:#bdbbbb}"]
105
- }] }
106
- ];
107
- /** @nocollapse */
108
- AssetManagementComponent.ctorParameters = () => [
109
- { type: MatDialog },
110
- { type: AssetManagementService },
111
- { type: AssetService }
112
- ];
113
- AssetManagementComponent.propDecorators = {
114
- isDialog: [{ type: Input }],
115
- limit: [{ type: Input }],
116
- allowedType: [{ type: Input }],
117
- maxSize: [{ type: Input }],
118
- assetChange: [{ type: Output }]
119
- };
120
- if (false) {
121
- /** @type {?} */
122
- AssetManagementComponent.prototype.isDialog;
123
- /** @type {?} */
124
- AssetManagementComponent.prototype.limit;
125
- /** @type {?} */
126
- AssetManagementComponent.prototype.allowedType;
127
- /** @type {?} */
128
- AssetManagementComponent.prototype.maxSize;
129
- /** @type {?} */
130
- AssetManagementComponent.prototype.assetChange;
131
- /**
132
- * @type {?}
133
- * @private
134
- */
135
- AssetManagementComponent.prototype.destroy$;
136
- /**
137
- * @type {?}
138
- * @private
139
- */
140
- AssetManagementComponent.prototype.dialog;
141
- /**
142
- * @type {?}
143
- * @private
144
- */
145
- AssetManagementComponent.prototype.svc;
146
- /**
147
- * @type {?}
148
- * @private
149
- */
150
- AssetManagementComponent.prototype.assetService;
151
- }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFaEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFRekMsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7O0lBU25DLFlBQ1UsTUFBaUIsRUFDakIsR0FBMkIsRUFDM0IsWUFBMEI7UUFGMUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVgzQixhQUFRLEdBQUssSUFBSSxDQUFDO1FBSWpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFakQsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTWhELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZO2FBQ2QsbUJBQW1CLEVBQUU7YUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFFRCxnQkFBZ0I7O2NBQ1IsTUFBTSxHQUFpQjtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0Qjs7Y0FDSyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDakUsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUUsTUFBTTtTQUNiLENBQUM7UUFDRixTQUFTO2FBQ04sV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUFyRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLDRMQUFnRDtnQkFFaEQsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDOzthQUMxQjs7OztZQWRRLFNBQVM7WUFHVCxzQkFBc0I7WUFHdEIsWUFBWTs7O3VCQVVsQixLQUFLO29CQUNMLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLOzBCQUNMLE1BQU07Ozs7SUFKUCw0Q0FBMkI7O0lBQzNCLHlDQUF3Qjs7SUFDeEIsK0NBQThCOztJQUM5QiwyQ0FBMEI7O0lBQzFCLCtDQUF5RDs7Ozs7SUFFekQsNENBQW1EOzs7OztJQUdqRCwwQ0FBeUI7Ozs7O0lBQ3pCLHVDQUFtQzs7Ozs7SUFDbkMsZ0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cvYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFzc2V0TW9kZWwsIERpYWxvZ0NvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBpbml0aWFsUmVkdWNlciB9IGZyb20gJy4vc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtbWFuYWdlbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtBc3NldFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0TWFuYWdlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaXNEaWFsb2cgPyA9IHRydWU7XG4gIEBJbnB1dCgpIGxpbWl0PzogbnVtYmVyO1xuICBASW5wdXQoKSBhbGxvd2VkVHlwZT86IHN0cmluZztcbiAgQElucHV0KCkgbWF4U2l6ZT86IG51bWJlcjtcbiAgQE91dHB1dCgpIGFzc2V0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBc3NldE1vZGVsW10+KCk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHN2YzogQXNzZXRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5tYXhTaXplID0gdGhpcy5tYXhTaXplO1xuICAgIGluaXRpYWxSZWR1Y2VyKHRoaXMuc3ZjLmdldERpc3BhdGNoZXIoKSk7XG4gICAgdGhpcy5iaW5kU3Vic2NyaWJlcigpO1xuICB9XG5cbiAgYmluZFN1YnNjcmliZXIoKSB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXREaWFsb2dPcGVuU3RhdHVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5vcGVuQXNzZXRzRGlhbG9nKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25Bc3NldHNDaGFuZ2UoYXNzZXRzKSB7XG4gICAgaWYgKCFhc3NldHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hc3NldENoYW5nZS5lbWl0KGFzc2V0cyk7XG4gIH1cblxuICBvcGVuQXNzZXRzRGlhbG9nKCkge1xuICAgIGNvbnN0IGNvbmZpZzogRGlhbG9nQ29uZmlnID0ge1xuICAgICAgbGltaXQ6IHRoaXMubGltaXQsXG4gICAgICBhbGxvd2VkVHlwZTogdGhpcy5hbGxvd2VkVHlwZSxcbiAgICAgIG1heFNpemU6IHRoaXMubWF4U2l6ZVxuICAgIH07XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBwYW5lbENsYXNzOiAnbGliLWRpYWxvZy0tbGFyZ2UnLFxuICAgICAgZGF0YTogY29uZmlnLFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZlxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5hc3NldENoYW5nZS5lbWl0KHJlcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
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 { MatDialog } from '@angular/material/dialog';
7
+ import { Subject } from 'rxjs';
8
+ import { takeUntil } from 'rxjs/operators';
9
+ import { AssetManagementService } from './asset-management.service';
10
+ import { AssetManagementDialogComponent } from './components/partial/asset-management-dialog/asset-management-dialog.component';
11
+ import { AssetService } from './services/asset.service';
12
+ import { initialReducer } from './store';
13
+ export class AssetManagementComponent {
14
+ /**
15
+ * @param {?} dialog
16
+ * @param {?} svc
17
+ * @param {?} assetService
18
+ */
19
+ constructor(dialog, svc, assetService) {
20
+ this.dialog = dialog;
21
+ this.svc = svc;
22
+ this.assetService = assetService;
23
+ this.isDialog = true;
24
+ this.hasModifyPermission = true;
25
+ this.hasAccessPermission = true;
26
+ this.hasArchivePermission = true;
27
+ this.assetChange = new EventEmitter();
28
+ this.destroy$ = new Subject();
29
+ }
30
+ /**
31
+ * @return {?}
32
+ */
33
+ ngOnInit() {
34
+ this.assetService.maxSize = this.maxSize;
35
+ initialReducer(this.svc.getDispatcher());
36
+ this.bindSubscriber();
37
+ }
38
+ /**
39
+ * @return {?}
40
+ */
41
+ bindSubscriber() {
42
+ this.assetService
43
+ .getDialogOpenStatus()
44
+ .pipe(takeUntil(this.destroy$))
45
+ .subscribe((/**
46
+ * @param {?} res
47
+ * @return {?}
48
+ */
49
+ (res) => {
50
+ if (res) {
51
+ this.openAssetsDialog();
52
+ }
53
+ }));
54
+ }
55
+ /**
56
+ * @param {?} assets
57
+ * @return {?}
58
+ */
59
+ onAssetsChange(assets) {
60
+ if (!assets) {
61
+ return;
62
+ }
63
+ this.assetChange.emit(assets);
64
+ }
65
+ /**
66
+ * @return {?}
67
+ */
68
+ openAssetsDialog() {
69
+ /** @type {?} */
70
+ const config = {
71
+ limit: this.limit,
72
+ allowedType: this.allowedType,
73
+ maxSize: this.maxSize,
74
+ permission: {
75
+ access: this.hasAccessPermission,
76
+ modify: this.hasModifyPermission,
77
+ archive: this.hasArchivePermission,
78
+ }
79
+ };
80
+ /** @type {?} */
81
+ const dialogRef = this.dialog.open(AssetManagementDialogComponent, {
82
+ autoFocus: false,
83
+ panelClass: 'lib-dialog--large',
84
+ data: config,
85
+ });
86
+ dialogRef
87
+ .afterClosed()
88
+ .pipe(takeUntil(this.destroy$))
89
+ .subscribe((/**
90
+ * @param {?} res
91
+ * @return {?}
92
+ */
93
+ (res) => {
94
+ if (res) {
95
+ this.assetChange.emit(res);
96
+ }
97
+ }));
98
+ }
99
+ /**
100
+ * @return {?}
101
+ */
102
+ ngOnDestroy() {
103
+ this.destroy$.next(true);
104
+ this.destroy$.complete();
105
+ }
106
+ }
107
+ AssetManagementComponent.decorators = [
108
+ { type: Component, args: [{
109
+ selector: 'lib-asset-management',
110
+ template: "<ng-container *ngIf=\"!isDialog\">\r\n <lib-asset-wrapper\r\n [hasModifyPermission]=\"hasModifyPermission\"\r\n [hasAccessPermission]=\"hasAccessPermission\"\r\n [hasArchivePermission]=\"hasArchivePermission\"\r\n (assets)=\"onAssetsChange($event)\"\r\n ></lib-asset-wrapper>\r\n</ng-container>\r\n<ng-content *ngIf=\"isDialog\"></ng-content>",
111
+ providers: [AssetService],
112
+ styles: ["::ng-deep .custom-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-radius:10px}::ng-deep .custom-scrollbar::-webkit-scrollbar{width:5px;height:5px;background-color:#f5f5f5}::ng-deep .custom-scrollbar::-webkit-scrollbar-thumb{border-radius:10px;background-color:#bdbbbb}"]
113
+ }] }
114
+ ];
115
+ /** @nocollapse */
116
+ AssetManagementComponent.ctorParameters = () => [
117
+ { type: MatDialog },
118
+ { type: AssetManagementService },
119
+ { type: AssetService }
120
+ ];
121
+ AssetManagementComponent.propDecorators = {
122
+ isDialog: [{ type: Input }],
123
+ limit: [{ type: Input }],
124
+ allowedType: [{ type: Input }],
125
+ maxSize: [{ type: Input }],
126
+ hasModifyPermission: [{ type: Input }],
127
+ hasAccessPermission: [{ type: Input }],
128
+ hasArchivePermission: [{ type: Input }],
129
+ assetChange: [{ type: Output }]
130
+ };
131
+ if (false) {
132
+ /** @type {?} */
133
+ AssetManagementComponent.prototype.isDialog;
134
+ /** @type {?} */
135
+ AssetManagementComponent.prototype.limit;
136
+ /** @type {?} */
137
+ AssetManagementComponent.prototype.allowedType;
138
+ /** @type {?} */
139
+ AssetManagementComponent.prototype.maxSize;
140
+ /** @type {?} */
141
+ AssetManagementComponent.prototype.hasModifyPermission;
142
+ /** @type {?} */
143
+ AssetManagementComponent.prototype.hasAccessPermission;
144
+ /** @type {?} */
145
+ AssetManagementComponent.prototype.hasArchivePermission;
146
+ /** @type {?} */
147
+ AssetManagementComponent.prototype.assetChange;
148
+ /**
149
+ * @type {?}
150
+ * @private
151
+ */
152
+ AssetManagementComponent.prototype.destroy$;
153
+ /**
154
+ * @type {?}
155
+ * @private
156
+ */
157
+ AssetManagementComponent.prototype.dialog;
158
+ /**
159
+ * @type {?}
160
+ * @private
161
+ */
162
+ AssetManagementComponent.prototype.svc;
163
+ /**
164
+ * @type {?}
165
+ * @private
166
+ */
167
+ AssetManagementComponent.prototype.assetService;
168
+ }
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFaEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFRekMsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7O0lBWW5DLFlBQ1UsTUFBaUIsRUFDakIsR0FBMkIsRUFDM0IsWUFBMEI7UUFGMUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWQzQixhQUFRLEdBQUssSUFBSSxDQUFDO1FBSWxCLHdCQUFtQixHQUFhLElBQUksQ0FBQztRQUNyQyx3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFDckMseUJBQW9CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFakQsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTWhELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZO2FBQ2QsbUJBQW1CLEVBQUU7YUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFFRCxnQkFBZ0I7O2NBQ1IsTUFBTSxHQUFpQjtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQ2hDLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjthQUNuQztTQUNGOztjQUNLLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUNqRSxTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxNQUFNO1NBQ2IsQ0FBQztRQUNGLFNBQVM7YUFDTixXQUFXLEVBQUU7YUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQTdFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsZ1hBQWdEO2dCQUVoRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7O2FBQzFCOzs7O1lBZFEsU0FBUztZQUdULHNCQUFzQjtZQUd0QixZQUFZOzs7dUJBVWxCLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7a0NBQ0wsS0FBSztrQ0FDTCxLQUFLO21DQUNMLEtBQUs7MEJBQ0wsTUFBTTs7OztJQVBQLDRDQUEyQjs7SUFDM0IseUNBQXdCOztJQUN4QiwrQ0FBOEI7O0lBQzlCLDJDQUEwQjs7SUFDMUIsdURBQThDOztJQUM5Qyx1REFBOEM7O0lBQzlDLHdEQUErQzs7SUFDL0MsK0NBQXlEOzs7OztJQUV6RCw0Q0FBbUQ7Ozs7O0lBR2pELDBDQUF5Qjs7Ozs7SUFDekIsdUNBQW1DOzs7OztJQUNuQyxnREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0TW9kZWwsIERpYWxvZ0NvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXNzZXRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hc3NldC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaW5pdGlhbFJlZHVjZXIgfSBmcm9tICcuL3N0b3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFzc2V0LW1hbmFnZW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbQXNzZXRTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNzZXRNYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGlzRGlhbG9nID8gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGxpbWl0PzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRUeXBlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heFNpemU/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaGFzTW9kaWZ5UGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhhc0FjY2Vzc1Blcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoYXNBcmNoaXZlUGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBhc3NldENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXNzZXRNb2RlbFtdPigpO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLm1heFNpemUgPSB0aGlzLm1heFNpemU7XHJcbiAgICBpbml0aWFsUmVkdWNlcih0aGlzLnN2Yy5nZXREaXNwYXRjaGVyKCkpO1xyXG4gICAgdGhpcy5iaW5kU3Vic2NyaWJlcigpO1xyXG4gIH1cclxuXHJcbiAgYmluZFN1YnNjcmliZXIoKSB7XHJcbiAgICB0aGlzLmFzc2V0U2VydmljZVxyXG4gICAgICAuZ2V0RGlhbG9nT3BlblN0YXR1cygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5vcGVuQXNzZXRzRGlhbG9nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQXNzZXRzQ2hhbmdlKGFzc2V0cykge1xyXG4gICAgaWYgKCFhc3NldHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hc3NldENoYW5nZS5lbWl0KGFzc2V0cyk7XHJcbiAgfVxyXG5cclxuICBvcGVuQXNzZXRzRGlhbG9nKCkge1xyXG4gICAgY29uc3QgY29uZmlnOiBEaWFsb2dDb25maWcgPSB7XHJcbiAgICAgIGxpbWl0OiB0aGlzLmxpbWl0LFxyXG4gICAgICBhbGxvd2VkVHlwZTogdGhpcy5hbGxvd2VkVHlwZSxcclxuICAgICAgbWF4U2l6ZTogdGhpcy5tYXhTaXplLFxyXG4gICAgICBwZXJtaXNzaW9uOiB7XHJcbiAgICAgICAgYWNjZXNzOiB0aGlzLmhhc0FjY2Vzc1Blcm1pc3Npb24sXHJcbiAgICAgICAgbW9kaWZ5OiB0aGlzLmhhc01vZGlmeVBlcm1pc3Npb24sXHJcbiAgICAgICAgYXJjaGl2ZTogdGhpcy5oYXNBcmNoaXZlUGVybWlzc2lvbixcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXRNYW5hZ2VtZW50RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdsaWItZGlhbG9nLS1sYXJnZScsXHJcbiAgICAgIGRhdGE6IGNvbmZpZyxcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5hc3NldENoYW5nZS5lbWl0KHJlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=