@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,164 +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.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
- };
75
- /** @type {?} */
76
- const dialogRef = this.dialog.open(AssetManagementDialogComponent, {
77
- autoFocus: false,
78
- panelClass: 'lib-dialog--large',
79
- data: config,
80
- });
81
- dialogRef
82
- .afterClosed()
83
- .pipe(takeUntil(this.destroy$))
84
- .subscribe((/**
85
- * @param {?} res
86
- * @return {?}
87
- */
88
- (res) => {
89
- if (res) {
90
- this.assetChange.emit(res);
91
- }
92
- }));
93
- }
94
- /**
95
- * @return {?}
96
- */
97
- ngOnDestroy() {
98
- this.destroy$.next(true);
99
- this.destroy$.complete();
100
- }
101
- }
102
- AssetManagementComponent.decorators = [
103
- { type: Component, args: [{
104
- selector: 'lib-asset-management',
105
- 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>",
106
- providers: [AssetService],
107
- 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}"]
108
- }] }
109
- ];
110
- /** @nocollapse */
111
- AssetManagementComponent.ctorParameters = () => [
112
- { type: MatDialog },
113
- { type: AssetManagementService },
114
- { type: AssetService }
115
- ];
116
- AssetManagementComponent.propDecorators = {
117
- isDialog: [{ type: Input }],
118
- limit: [{ type: Input }],
119
- allowedType: [{ type: Input }],
120
- maxSize: [{ type: Input }],
121
- hasModifyPermission: [{ type: Input }],
122
- hasAccessPermission: [{ type: Input }],
123
- hasArchivePermission: [{ type: Input }],
124
- assetChange: [{ type: Output }]
125
- };
126
- if (false) {
127
- /** @type {?} */
128
- AssetManagementComponent.prototype.isDialog;
129
- /** @type {?} */
130
- AssetManagementComponent.prototype.limit;
131
- /** @type {?} */
132
- AssetManagementComponent.prototype.allowedType;
133
- /** @type {?} */
134
- AssetManagementComponent.prototype.maxSize;
135
- /** @type {?} */
136
- AssetManagementComponent.prototype.hasModifyPermission;
137
- /** @type {?} */
138
- AssetManagementComponent.prototype.hasAccessPermission;
139
- /** @type {?} */
140
- AssetManagementComponent.prototype.hasArchivePermission;
141
- /** @type {?} */
142
- AssetManagementComponent.prototype.assetChange;
143
- /**
144
- * @type {?}
145
- * @private
146
- */
147
- AssetManagementComponent.prototype.destroy$;
148
- /**
149
- * @type {?}
150
- * @private
151
- */
152
- AssetManagementComponent.prototype.dialog;
153
- /**
154
- * @type {?}
155
- * @private
156
- */
157
- AssetManagementComponent.prototype.svc;
158
- /**
159
- * @type {?}
160
- * @private
161
- */
162
- AssetManagementComponent.prototype.assetService;
163
- }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFaEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFRekMsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7O0lBWW5DLFlBQ1UsTUFBaUIsRUFDakIsR0FBMkIsRUFDM0IsWUFBMEI7UUFGMUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWQzQixhQUFRLEdBQUssSUFBSSxDQUFDO1FBSWxCLHdCQUFtQixHQUFhLElBQUksQ0FBQztRQUNyQyx3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFDckMseUJBQW9CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFakQsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTWhELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZO2FBQ2QsbUJBQW1CLEVBQUU7YUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFFRCxnQkFBZ0I7O2NBQ1IsTUFBTSxHQUFpQjtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0Qjs7Y0FDSyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDakUsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUUsTUFBTTtTQUNiLENBQUM7UUFDRixTQUFTO2FBQ04sV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDNUI7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUF4RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLGdYQUFnRDtnQkFFaEQsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDOzthQUMxQjs7OztZQWRRLFNBQVM7WUFHVCxzQkFBc0I7WUFHdEIsWUFBWTs7O3VCQVVsQixLQUFLO29CQUNMLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLO2tDQUNMLEtBQUs7a0NBQ0wsS0FBSzttQ0FDTCxLQUFLOzBCQUNMLE1BQU07Ozs7SUFQUCw0Q0FBMkI7O0lBQzNCLHlDQUF3Qjs7SUFDeEIsK0NBQThCOztJQUM5QiwyQ0FBMEI7O0lBQzFCLHVEQUE4Qzs7SUFDOUMsdURBQThDOztJQUM5Qyx3REFBK0M7O0lBQy9DLCtDQUF5RDs7Ozs7SUFFekQsNENBQW1EOzs7OztJQUdqRCwwQ0FBeUI7Ozs7O0lBQ3pCLHVDQUFtQzs7Ozs7SUFDbkMsZ0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldE1vZGVsLCBEaWFsb2dDb25maWcgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNzZXQuc2VydmljZSc7XHJcbmltcG9ydCB7IGluaXRpYWxSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hc3NldC1tYW5hZ2VtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0Fzc2V0U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2V0TWFuYWdlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpc0RpYWxvZyA/ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsaW1pdD86IG51bWJlcjtcclxuICBASW5wdXQoKSBhbGxvd2VkVHlwZT86IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhTaXplPzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGhhc01vZGlmeVBlcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBoYXNBY2Nlc3NQZXJtaXNzaW9uPzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgaGFzQXJjaGl2ZVBlcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgYXNzZXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0TW9kZWxbXT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFzc2V0U2VydmljZS5tYXhTaXplID0gdGhpcy5tYXhTaXplO1xyXG4gICAgaW5pdGlhbFJlZHVjZXIodGhpcy5zdmMuZ2V0RGlzcGF0Y2hlcigpKTtcclxuICAgIHRoaXMuYmluZFN1YnNjcmliZXIoKTtcclxuICB9XHJcblxyXG4gIGJpbmRTdWJzY3JpYmVyKCkge1xyXG4gICAgdGhpcy5hc3NldFNlcnZpY2VcclxuICAgICAgLmdldERpYWxvZ09wZW5TdGF0dXMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIHRoaXMub3BlbkFzc2V0c0RpYWxvZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkFzc2V0c0NoYW5nZShhc3NldHMpIHtcclxuICAgIGlmICghYXNzZXRzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYXNzZXRDaGFuZ2UuZW1pdChhc3NldHMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkFzc2V0c0RpYWxvZygpIHtcclxuICAgIGNvbnN0IGNvbmZpZzogRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcclxuICAgICAgYWxsb3dlZFR5cGU6IHRoaXMuYWxsb3dlZFR5cGUsXHJcbiAgICAgIG1heFNpemU6IHRoaXMubWF4U2l6ZVxyXG4gICAgfTtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXRNYW5hZ2VtZW50RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdsaWItZGlhbG9nLS1sYXJnZScsXHJcbiAgICAgIGRhdGE6IGNvbmZpZyxcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5hc3NldENoYW5nZS5lbWl0KHJlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
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\">\n <lib-asset-wrapper\n [hasModifyPermission]=\"hasModifyPermission\"\n [hasAccessPermission]=\"hasAccessPermission\"\n [hasArchivePermission]=\"hasArchivePermission\"\n (assets)=\"onAssetsChange($event)\"\n ></lib-asset-wrapper>\n</ng-container>\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hc3NldC1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFaEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFRekMsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7O0lBWW5DLFlBQ1UsTUFBaUIsRUFDakIsR0FBMkIsRUFDM0IsWUFBMEI7UUFGMUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWQzQixhQUFRLEdBQUssSUFBSSxDQUFDO1FBSWxCLHdCQUFtQixHQUFhLElBQUksQ0FBQztRQUNyQyx3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFDckMseUJBQW9CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFakQsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBTWhELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZO2FBQ2QsbUJBQW1CLEVBQUU7YUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFFRCxnQkFBZ0I7O2NBQ1IsTUFBTSxHQUFpQjtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQ2hDLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjthQUNuQztTQUNGOztjQUNLLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUNqRSxTQUFTLEVBQUUsS0FBSztZQUNoQixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxNQUFNO1NBQ2IsQ0FBQztRQUNGLFNBQVM7YUFDTixXQUFXLEVBQUU7YUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQTdFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsZ1dBQWdEO2dCQUVoRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7O2FBQzFCOzs7O1lBZFEsU0FBUztZQUdULHNCQUFzQjtZQUd0QixZQUFZOzs7dUJBVWxCLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7a0NBQ0wsS0FBSztrQ0FDTCxLQUFLO21DQUNMLEtBQUs7MEJBQ0wsTUFBTTs7OztJQVBQLDRDQUEyQjs7SUFDM0IseUNBQXdCOztJQUN4QiwrQ0FBOEI7O0lBQzlCLDJDQUEwQjs7SUFDMUIsdURBQThDOztJQUM5Qyx1REFBOEM7O0lBQzlDLHdEQUErQzs7SUFDL0MsK0NBQXlEOzs7OztJQUV6RCw0Q0FBbUQ7Ozs7O0lBR2pELDBDQUF5Qjs7Ozs7SUFDekIsdUNBQW1DOzs7OztJQUNuQyxnREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3NldE1vZGVsLCBEaWFsb2dDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBBc3NldFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgaW5pdGlhbFJlZHVjZXIgfSBmcm9tICcuL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFzc2V0LW1hbmFnZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2V0LW1hbmFnZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbQXNzZXRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBBc3NldE1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGlzRGlhbG9nID8gPSB0cnVlO1xuICBASW5wdXQoKSBsaW1pdD86IG51bWJlcjtcbiAgQElucHV0KCkgYWxsb3dlZFR5cGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heFNpemU/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhhc01vZGlmeVBlcm1pc3Npb24/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzQWNjZXNzUGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBoYXNBcmNoaXZlUGVybWlzc2lvbj86IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgYXNzZXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0TW9kZWxbXT4oKTtcblxuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXNzZXRTZXJ2aWNlOiBBc3NldFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlLm1heFNpemUgPSB0aGlzLm1heFNpemU7XG4gICAgaW5pdGlhbFJlZHVjZXIodGhpcy5zdmMuZ2V0RGlzcGF0Y2hlcigpKTtcbiAgICB0aGlzLmJpbmRTdWJzY3JpYmVyKCk7XG4gIH1cblxuICBiaW5kU3Vic2NyaWJlcigpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZVxuICAgICAgLmdldERpYWxvZ09wZW5TdGF0dXMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB0aGlzLm9wZW5Bc3NldHNEaWFsb2coKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvbkFzc2V0c0NoYW5nZShhc3NldHMpIHtcbiAgICBpZiAoIWFzc2V0cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0Q2hhbmdlLmVtaXQoYXNzZXRzKTtcbiAgfVxuXG4gIG9wZW5Bc3NldHNEaWFsb2coKSB7XG4gICAgY29uc3QgY29uZmlnOiBEaWFsb2dDb25maWcgPSB7XG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcbiAgICAgIGFsbG93ZWRUeXBlOiB0aGlzLmFsbG93ZWRUeXBlLFxuICAgICAgbWF4U2l6ZTogdGhpcy5tYXhTaXplLFxuICAgICAgcGVybWlzc2lvbjoge1xuICAgICAgICBhY2Nlc3M6IHRoaXMuaGFzQWNjZXNzUGVybWlzc2lvbixcbiAgICAgICAgbW9kaWZ5OiB0aGlzLmhhc01vZGlmeVBlcm1pc3Npb24sXG4gICAgICAgIGFyY2hpdmU6IHRoaXMuaGFzQXJjaGl2ZVBlcm1pc3Npb24sXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdsaWItZGlhbG9nLS1sYXJnZScsXG4gICAgICBkYXRhOiBjb25maWcsXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB0aGlzLmFzc2V0Q2hhbmdlLmVtaXQocmVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=