@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,143 +1,143 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { ChangeDetectorRef, Component } from '@angular/core';
7
- import { of } from 'rxjs/internal/observable/of';
8
- import { Subject } from 'rxjs/internal/Subject';
9
- import { switchMap, takeUntil } from 'rxjs/operators';
10
- import { AssetManagementService } from '../../../asset-management.service';
11
- import { NodeTreeService } from '../../../services/node-tree.service';
12
- import { ActionTypes, select } from '../../../store';
13
- var BreadcrumbComponent = /** @class */ (function () {
14
- function BreadcrumbComponent(nodeTreeService, svc, changeDetectorRef) {
15
- this.nodeTreeService = nodeTreeService;
16
- this.svc = svc;
17
- this.changeDetectorRef = changeDetectorRef;
18
- this.unsubscribe$ = new Subject();
19
- this.currentFolderHierarchy = [];
20
- this.maximumShownLevel = 3;
21
- this.bindSubscriber();
22
- }
23
- /**
24
- * @return {?}
25
- */
26
- BreadcrumbComponent.prototype.ngOnInit = /**
27
- * @return {?}
28
- */
29
- function () { };
30
- /**
31
- * @return {?}
32
- */
33
- BreadcrumbComponent.prototype.ngOnDestroy = /**
34
- * @return {?}
35
- */
36
- function () {
37
- this.unsubscribe$.next();
38
- this.unsubscribe$.complete();
39
- };
40
- /**
41
- * @private
42
- * @return {?}
43
- */
44
- BreadcrumbComponent.prototype.bindSubscriber = /**
45
- * @private
46
- * @return {?}
47
- */
48
- function () {
49
- var _this = this;
50
- select((/**
51
- * @param {?} state
52
- * @return {?}
53
- */
54
- function (state) { return state.currentFolderHierarchy; }))
55
- .pipe(takeUntil(this.unsubscribe$), switchMap((/**
56
- * @param {?} res
57
- * @return {?}
58
- */
59
- function (res) { return of(res); })))
60
- .subscribe((/**
61
- * @param {?} currentFolderHierarchy
62
- * @return {?}
63
- */
64
- function (currentFolderHierarchy) {
65
- _this.currentFolderHierarchy = currentFolderHierarchy;
66
- }));
67
- };
68
- /**
69
- * @param {?} folder
70
- * @return {?}
71
- */
72
- BreadcrumbComponent.prototype.navigateToFolder = /**
73
- * @param {?} folder
74
- * @return {?}
75
- */
76
- function (folder) {
77
- this.svc.dispatch({
78
- type: ActionTypes.SET_CURRENT_FOLDER_ID,
79
- payload: folder.AssetId,
80
- });
81
- };
82
- /**
83
- * @return {?}
84
- */
85
- BreadcrumbComponent.prototype.backToHome = /**
86
- * @return {?}
87
- */
88
- function () {
89
- return tslib_1.__awaiter(this, void 0, void 0, function () {
90
- return tslib_1.__generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0: return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: true })];
93
- case 1:
94
- _a.sent();
95
- this.changeDetectorRef.detectChanges();
96
- return [2 /*return*/];
97
- }
98
- });
99
- });
100
- };
101
- BreadcrumbComponent.decorators = [
102
- { type: Component, args: [{
103
- selector: 'lib-breadcrumb',
104
- template: "<nav class=\"breadcrumb-wrapper\">\r\n <ul class=\"lib-breadcrumb\">\r\n <li class=\"lib-breadcrumb__item\">\r\n <span class=\"lib-breadcrumb__item--name\" (click)=\"backToHome()\">Home</span>\r\n </li>\r\n <ng-container *ngIf=\"currentFolderHierarchy.length <= maximumShownLevel\">\r\n <li *ngFor=\"let folder of currentFolderHierarchy; let last = last\" class=\"lib-breadcrumb__item\">\r\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\r\n <span class=\"lib-breadcrumb__item--name\" (click)=\"navigateToFolder(folder)\" [ngClass]=\"{ 'current-item' : last }\">\r\n {{folder.OriginalFileName}}\r\n </span>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"currentFolderHierarchy.length> maximumShownLevel\">\r\n <div class=\"lib-breadcrumb__item\">\r\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\r\n <span class=\"lib-breadcrumb__item--name\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <li *ngFor=\"let folder of currentFolderHierarchy; let index= index; let last = last\" class=\"lib-breadcrumb__item\">\r\n <ng-container *ngIf=\"index> currentFolderHierarchy.length -\r\n maximumShownLevel\">\r\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\r\n <span class=\"lib-breadcrumb__item--name\" (click)=\"navigateToFolder(folder)\" [ngClass]=\"{ 'current-item' : last }\">\r\n {{folder.OriginalFileName}}\r\n </span>\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n\r\n </ul>\r\n</nav>\r\n\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let folder of currentFolderHierarchy; let index=\r\n index;\">\r\n <button mat-menu-item *ngIf=\"index<= currentFolderHierarchy.length -\r\n maximumShownLevel\" (click)=\"navigateToFolder(folder)\">\r\n <mat-icon>navigate_next</mat-icon>\r\n <span>{{folder.OriginalFileName}}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>",
105
- styles: [":host::ng-deep .breadcrumb-wrapper{color:#979797;background-color:#fff}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb{display:flex;align-items:center;margin:0;padding:0}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item{height:20px;display:flex;align-items:center;list-style:none}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--icon{color:#c8c8c8;cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:14px;padding:0;font-weight:400;cursor:pointer;transition:.3s;height:20px;line-height:20px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon{color:#979797;height:16px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item{cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item:hover{color:#979797}"]
106
- }] }
107
- ];
108
- /** @nocollapse */
109
- BreadcrumbComponent.ctorParameters = function () { return [
110
- { type: NodeTreeService },
111
- { type: AssetManagementService },
112
- { type: ChangeDetectorRef }
113
- ]; };
114
- return BreadcrumbComponent;
115
- }());
116
- export { BreadcrumbComponent };
117
- if (false) {
118
- /**
119
- * @type {?}
120
- * @private
121
- */
122
- BreadcrumbComponent.prototype.unsubscribe$;
123
- /** @type {?} */
124
- BreadcrumbComponent.prototype.currentFolderHierarchy;
125
- /** @type {?} */
126
- BreadcrumbComponent.prototype.maximumShownLevel;
127
- /**
128
- * @type {?}
129
- * @private
130
- */
131
- BreadcrumbComponent.prototype.nodeTreeService;
132
- /**
133
- * @type {?}
134
- * @private
135
- */
136
- BreadcrumbComponent.prototype.svc;
137
- /**
138
- * @type {?}
139
- * @private
140
- */
141
- BreadcrumbComponent.prototype.changeDetectorRef;
142
- }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRDtJQU1FLDZCQUNVLGVBQWdDLEVBQ2hDLEdBQTJCLEVBQzNCLGlCQUFvQztRQUZwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUl0QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMsMkJBQXNCLEdBQTJCLEVBQUUsQ0FBQztRQUNwRCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFKM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7SUFLRCxzQ0FBUTs7O0lBQVIsY0FBWSxDQUFDOzs7O0lBRWIseUNBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRU8sNENBQWM7Ozs7SUFBdEI7UUFBQSxpQkFTQztRQVJDLE1BQU07Ozs7UUFBQyxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxzQkFBc0IsRUFBNUIsQ0FBNEIsRUFBQzthQUM1QyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDNUIsU0FBUzs7OztRQUFDLFVBQUMsR0FBRyxJQUFLLE9BQUEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFQLENBQU8sRUFBQyxDQUM1QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFDLHNCQUFzQjtZQUNoQyxLQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDdkQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVNLDhDQUFnQjs7OztJQUF2QixVQUF3QixNQUF1QjtRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLHFCQUFxQjtZQUN2QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVZLHdDQUFVOzs7SUFBdkI7Ozs7NEJBQ0UscUJBQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBQTs7d0JBQWhFLFNBQWdFLENBQUM7d0JBQ2pFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7Ozs7S0FDeEM7O2dCQTdDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsMDBFQUEwQzs7aUJBRTNDOzs7O2dCQVBRLGVBQWU7Z0JBRmYsc0JBQXNCO2dCQUp0QixpQkFBaUI7O0lBdUQxQiwwQkFBQztDQUFBLEFBOUNELElBOENDO1NBekNZLG1CQUFtQjs7Ozs7O0lBUTlCLDJDQUEyQzs7SUFDM0MscURBQTJEOztJQUMzRCxnREFBNkI7Ozs7O0lBUjNCLDhDQUF3Qzs7Ozs7SUFDeEMsa0NBQW1DOzs7OztJQUNuQyxnREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9vZic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL1N1YmplY3QnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvbGRlclRyZWVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE5vZGVUcmVlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vZGUtdHJlZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJyZWFkY3J1bWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBub2RlVHJlZVNlcnZpY2U6IE5vZGVUcmVlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIHRoaXMuYmluZFN1YnNjcmliZXIoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHB1YmxpYyBjdXJyZW50Rm9sZGVySGllcmFyY2h5OiBBcnJheTxGb2xkZXJUcmVlTW9kZWw+ID0gW107XHJcbiAgcHVibGljIG1heGltdW1TaG93bkxldmVsID0gMztcclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJpbmRTdWJzY3JpYmVyKCkge1xyXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuY3VycmVudEZvbGRlckhpZXJhcmNoeSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKHJlcykgPT4gb2YocmVzKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySGllcmFyY2h5KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9sZGVySGllcmFyY2h5ID0gY3VycmVudEZvbGRlckhpZXJhcmNoeTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGVUb0ZvbGRlcihmb2xkZXI6IEZvbGRlclRyZWVNb2RlbCkge1xyXG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xyXG4gICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfQ1VSUkVOVF9GT0xERVJfSUQsXHJcbiAgICAgIHBheWxvYWQ6IGZvbGRlci5Bc3NldElkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYmFja1RvSG9tZSgpIHtcclxuICAgIGF3YWl0IHRoaXMubm9kZVRyZWVTZXJ2aWNlLmluaXRpYWxEYXRhKHsgZGlzcGF0Y2hSb290SWQ6IHRydWUgfSk7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { ChangeDetectorRef, Component } from '@angular/core';
7
+ import { of } from 'rxjs/internal/observable/of';
8
+ import { Subject } from 'rxjs/internal/Subject';
9
+ import { switchMap, takeUntil } from 'rxjs/operators';
10
+ import { AssetManagementService } from '../../../asset-management.service';
11
+ import { NodeTreeService } from '../../../services/node-tree.service';
12
+ import { ActionTypes, select } from '../../../store';
13
+ var BreadcrumbComponent = /** @class */ (function () {
14
+ function BreadcrumbComponent(nodeTreeService, svc, changeDetectorRef) {
15
+ this.nodeTreeService = nodeTreeService;
16
+ this.svc = svc;
17
+ this.changeDetectorRef = changeDetectorRef;
18
+ this.unsubscribe$ = new Subject();
19
+ this.currentFolderHierarchy = [];
20
+ this.maximumShownLevel = 3;
21
+ this.bindSubscriber();
22
+ }
23
+ /**
24
+ * @return {?}
25
+ */
26
+ BreadcrumbComponent.prototype.ngOnInit = /**
27
+ * @return {?}
28
+ */
29
+ function () { };
30
+ /**
31
+ * @return {?}
32
+ */
33
+ BreadcrumbComponent.prototype.ngOnDestroy = /**
34
+ * @return {?}
35
+ */
36
+ function () {
37
+ this.unsubscribe$.next();
38
+ this.unsubscribe$.complete();
39
+ };
40
+ /**
41
+ * @private
42
+ * @return {?}
43
+ */
44
+ BreadcrumbComponent.prototype.bindSubscriber = /**
45
+ * @private
46
+ * @return {?}
47
+ */
48
+ function () {
49
+ var _this = this;
50
+ select((/**
51
+ * @param {?} state
52
+ * @return {?}
53
+ */
54
+ function (state) { return state.currentFolderHierarchy; }))
55
+ .pipe(takeUntil(this.unsubscribe$), switchMap((/**
56
+ * @param {?} res
57
+ * @return {?}
58
+ */
59
+ function (res) { return of(res); })))
60
+ .subscribe((/**
61
+ * @param {?} currentFolderHierarchy
62
+ * @return {?}
63
+ */
64
+ function (currentFolderHierarchy) {
65
+ _this.currentFolderHierarchy = currentFolderHierarchy;
66
+ }));
67
+ };
68
+ /**
69
+ * @param {?} folder
70
+ * @return {?}
71
+ */
72
+ BreadcrumbComponent.prototype.navigateToFolder = /**
73
+ * @param {?} folder
74
+ * @return {?}
75
+ */
76
+ function (folder) {
77
+ this.svc.dispatch({
78
+ type: ActionTypes.SET_CURRENT_FOLDER_ID,
79
+ payload: folder.AssetId,
80
+ });
81
+ };
82
+ /**
83
+ * @return {?}
84
+ */
85
+ BreadcrumbComponent.prototype.backToHome = /**
86
+ * @return {?}
87
+ */
88
+ function () {
89
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
90
+ return tslib_1.__generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0: return [4 /*yield*/, this.nodeTreeService.initialData({ dispatchRootId: true })];
93
+ case 1:
94
+ _a.sent();
95
+ this.changeDetectorRef.detectChanges();
96
+ return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ BreadcrumbComponent.decorators = [
102
+ { type: Component, args: [{
103
+ selector: 'lib-breadcrumb',
104
+ template: "<nav class=\"breadcrumb-wrapper\">\n <ul class=\"lib-breadcrumb\">\n <li class=\"lib-breadcrumb__item\">\n <span class=\"lib-breadcrumb__item--name\" (click)=\"backToHome()\">Home</span>\n </li>\n <ng-container *ngIf=\"currentFolderHierarchy.length <= maximumShownLevel\">\n <li *ngFor=\"let folder of currentFolderHierarchy; let last = last\" class=\"lib-breadcrumb__item\">\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\n <span class=\"lib-breadcrumb__item--name\" (click)=\"navigateToFolder(folder)\" [ngClass]=\"{ 'current-item' : last }\">\n {{folder.OriginalFileName}}\n </span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"currentFolderHierarchy.length> maximumShownLevel\">\n <div class=\"lib-breadcrumb__item\">\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\n <span class=\"lib-breadcrumb__item--name\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_horiz</mat-icon>\n </span>\n </div>\n\n <li *ngFor=\"let folder of currentFolderHierarchy; let index= index; let last = last\" class=\"lib-breadcrumb__item\">\n <ng-container *ngIf=\"index> currentFolderHierarchy.length -\n maximumShownLevel\">\n <mat-icon class=\"lib-breadcrumb__item--icon\">navigate_next</mat-icon>\n <span class=\"lib-breadcrumb__item--name\" (click)=\"navigateToFolder(folder)\" [ngClass]=\"{ 'current-item' : last }\">\n {{folder.OriginalFileName}}\n </span>\n </ng-container>\n </li>\n </ng-container>\n\n </ul>\n</nav>\n\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let folder of currentFolderHierarchy; let index=\n index;\">\n <button mat-menu-item *ngIf=\"index<= currentFolderHierarchy.length -\n maximumShownLevel\" (click)=\"navigateToFolder(folder)\">\n <mat-icon>navigate_next</mat-icon>\n <span>{{folder.OriginalFileName}}</span>\n </button>\n </ng-container>\n</mat-menu>",
105
+ styles: [":host::ng-deep .breadcrumb-wrapper{color:#979797;background-color:#fff}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb{display:flex;align-items:center;margin:0;padding:0}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item{height:20px;display:flex;align-items:center;list-style:none}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--icon{color:#c8c8c8;cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:14px;padding:0;font-weight:400;cursor:pointer;transition:.3s;height:20px;line-height:20px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon{color:#979797;height:16px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item{cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item:hover{color:#979797}"]
106
+ }] }
107
+ ];
108
+ /** @nocollapse */
109
+ BreadcrumbComponent.ctorParameters = function () { return [
110
+ { type: NodeTreeService },
111
+ { type: AssetManagementService },
112
+ { type: ChangeDetectorRef }
113
+ ]; };
114
+ return BreadcrumbComponent;
115
+ }());
116
+ export { BreadcrumbComponent };
117
+ if (false) {
118
+ /**
119
+ * @type {?}
120
+ * @private
121
+ */
122
+ BreadcrumbComponent.prototype.unsubscribe$;
123
+ /** @type {?} */
124
+ BreadcrumbComponent.prototype.currentFolderHierarchy;
125
+ /** @type {?} */
126
+ BreadcrumbComponent.prototype.maximumShownLevel;
127
+ /**
128
+ * @type {?}
129
+ * @private
130
+ */
131
+ BreadcrumbComponent.prototype.nodeTreeService;
132
+ /**
133
+ * @type {?}
134
+ * @private
135
+ */
136
+ BreadcrumbComponent.prototype.svc;
137
+ /**
138
+ * @type {?}
139
+ * @private
140
+ */
141
+ BreadcrumbComponent.prototype.changeDetectorRef;
142
+ }
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRDtJQU1FLDZCQUNVLGVBQWdDLEVBQ2hDLEdBQTJCLEVBQzNCLGlCQUFvQztRQUZwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUl0QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMsMkJBQXNCLEdBQTJCLEVBQUUsQ0FBQztRQUNwRCxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFKM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7SUFLRCxzQ0FBUTs7O0lBQVIsY0FBWSxDQUFDOzs7O0lBRWIseUNBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRU8sNENBQWM7Ozs7SUFBdEI7UUFBQSxpQkFTQztRQVJDLE1BQU07Ozs7UUFBQyxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssQ0FBQyxzQkFBc0IsRUFBNUIsQ0FBNEIsRUFBQzthQUM1QyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDNUIsU0FBUzs7OztRQUFDLFVBQUMsR0FBRyxJQUFLLE9BQUEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFQLENBQU8sRUFBQyxDQUM1QjthQUNBLFNBQVM7Ozs7UUFBQyxVQUFDLHNCQUFzQjtZQUNoQyxLQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDdkQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVNLDhDQUFnQjs7OztJQUF2QixVQUF3QixNQUF1QjtRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLHFCQUFxQjtZQUN2QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVZLHdDQUFVOzs7SUFBdkI7Ozs7NEJBQ0UscUJBQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBQTs7d0JBQWhFLFNBQWdFLENBQUM7d0JBQ2pFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7Ozs7S0FDeEM7O2dCQTdDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsa3ZFQUEwQzs7aUJBRTNDOzs7O2dCQVBRLGVBQWU7Z0JBRmYsc0JBQXNCO2dCQUp0QixpQkFBaUI7O0lBdUQxQiwwQkFBQztDQUFBLEFBOUNELElBOENDO1NBekNZLG1CQUFtQjs7Ozs7O0lBUTlCLDJDQUEyQzs7SUFDM0MscURBQTJEOztJQUMzRCxnREFBNkI7Ozs7O0lBUjNCLDhDQUF3Qzs7Ozs7SUFDeEMsa0NBQW1DOzs7OztJQUNuQyxnREFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzL2ludGVybmFsL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9sZGVyVHJlZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE5vZGVUcmVlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vZGUtdHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblR5cGVzLCBzZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbm9kZVRyZWVTZXJ2aWNlOiBOb2RlVHJlZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5iaW5kU3Vic2NyaWJlcigpO1xuICB9XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGN1cnJlbnRGb2xkZXJIaWVyYXJjaHk6IEFycmF5PEZvbGRlclRyZWVNb2RlbD4gPSBbXTtcbiAgcHVibGljIG1heGltdW1TaG93bkxldmVsID0gMztcblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRTdWJzY3JpYmVyKCkge1xuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRGb2xkZXJIaWVyYXJjaHkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySGllcmFyY2h5KSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvbGRlckhpZXJhcmNoeSA9IGN1cnJlbnRGb2xkZXJIaWVyYXJjaHk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRm9sZGVyKGZvbGRlcjogRm9sZGVyVHJlZU1vZGVsKSB7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0NVUlJFTlRfRk9MREVSX0lELFxuICAgICAgcGF5bG9hZDogZm9sZGVyLkFzc2V0SWQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYmFja1RvSG9tZSgpIHtcbiAgICBhd2FpdCB0aGlzLm5vZGVUcmVlU2VydmljZS5pbml0aWFsRGF0YSh7IGRpc3BhdGNoUm9vdElkOiB0cnVlIH0pO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=