@rs-pk/asset-management 1.0.0

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 -0
  2. package/bundles/rs-pk-asset-management.umd.js +6474 -0
  3. package/bundles/rs-pk-asset-management.umd.js.map +1 -0
  4. package/bundles/rs-pk-asset-management.umd.min.js +16 -0
  5. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -0
  6. package/esm2015/lib/asset-management.component.js +147 -0
  7. package/esm2015/lib/asset-management.module.js +179 -0
  8. package/esm2015/lib/asset-management.service.js +45 -0
  9. package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +143 -0
  10. package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +373 -0
  11. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +165 -0
  12. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +239 -0
  13. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +108 -0
  14. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +100 -0
  15. package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +115 -0
  16. package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -0
  17. package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +148 -0
  18. package/esm2015/lib/components/partial/file-item/file-item.component.js +136 -0
  19. package/esm2015/lib/components/partial/file-list/file-list.component.js +72 -0
  20. package/esm2015/lib/components/partial/folder-item/folder-item.component.js +114 -0
  21. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +69 -0
  22. package/esm2015/lib/components/partial/node-details/node-details.component.js +402 -0
  23. package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -0
  24. package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -0
  25. package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -0
  26. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +136 -0
  27. package/esm2015/lib/components/partial/upload-file/upload-file.component.js +102 -0
  28. package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -0
  29. package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -0
  30. package/esm2015/lib/components/ui/modal/modal.component.js +34 -0
  31. package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -0
  32. package/esm2015/lib/configs/admin.config.js +22 -0
  33. package/esm2015/lib/contanst/data-image.js +12 -0
  34. package/esm2015/lib/contanst/index.js +6 -0
  35. package/esm2015/lib/datasources/index.js +6 -0
  36. package/esm2015/lib/datasources/node-tree.datasource.js +179 -0
  37. package/esm2015/lib/directives/dialogTrigger.directive.js +47 -0
  38. package/esm2015/lib/directives/directives.module.js +20 -0
  39. package/esm2015/lib/directives/dnd.directive.js +57 -0
  40. package/esm2015/lib/models/asset-file.model.js +57 -0
  41. package/esm2015/lib/models/asset.model.js +135 -0
  42. package/esm2015/lib/models/file-type.enum.js +11 -0
  43. package/esm2015/lib/models/file.model.js +91 -0
  44. package/esm2015/lib/models/index.js +12 -0
  45. package/esm2015/lib/models/node-tree.model.js +32 -0
  46. package/esm2015/lib/models/sort.enum.js +23 -0
  47. package/esm2015/lib/pipes/datetime.pipe.js +79 -0
  48. package/esm2015/lib/pipes/file-size.pipe.js +54 -0
  49. package/esm2015/lib/services/asset.service.js +224 -0
  50. package/esm2015/lib/services/base.service.js +49 -0
  51. package/esm2015/lib/services/env-config.service.js +18 -0
  52. package/esm2015/lib/services/file.service.js +106 -0
  53. package/esm2015/lib/services/index.js +11 -0
  54. package/esm2015/lib/services/node-tree.service.js +212 -0
  55. package/esm2015/lib/services/upload-assets.service.js +203 -0
  56. package/esm2015/lib/store/actions.action.js +125 -0
  57. package/esm2015/lib/store/index.js +7 -0
  58. package/esm2015/lib/store/reducer.js +115 -0
  59. package/esm2015/public-api.js +34 -0
  60. package/esm2015/rs-pk-asset-management.js +17 -0
  61. package/esm5/lib/asset-management.component.js +162 -0
  62. package/esm5/lib/asset-management.module.js +180 -0
  63. package/esm5/lib/asset-management.service.js +54 -0
  64. package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +161 -0
  65. package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +417 -0
  66. package/esm5/lib/components/partial/asset-item/asset-item.component.js +184 -0
  67. package/esm5/lib/components/partial/asset-list/asset-list.component.js +266 -0
  68. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +123 -0
  69. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +115 -0
  70. package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +138 -0
  71. package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -0
  72. package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +166 -0
  73. package/esm5/lib/components/partial/file-item/file-item.component.js +151 -0
  74. package/esm5/lib/components/partial/file-list/file-list.component.js +93 -0
  75. package/esm5/lib/components/partial/folder-item/folder-item.component.js +126 -0
  76. package/esm5/lib/components/partial/folder-list/folder-list.component.js +82 -0
  77. package/esm5/lib/components/partial/node-details/node-details.component.js +443 -0
  78. package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -0
  79. package/esm5/lib/components/partial/search-box/search-box.component.js +184 -0
  80. package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -0
  81. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +151 -0
  82. package/esm5/lib/components/partial/upload-file/upload-file.component.js +130 -0
  83. package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -0
  84. package/esm5/lib/components/ui/input-file/input-file.component.js +55 -0
  85. package/esm5/lib/components/ui/modal/modal.component.js +39 -0
  86. package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -0
  87. package/esm5/lib/configs/admin.config.js +22 -0
  88. package/esm5/lib/contanst/data-image.js +12 -0
  89. package/esm5/lib/contanst/index.js +6 -0
  90. package/esm5/lib/datasources/index.js +6 -0
  91. package/esm5/lib/datasources/node-tree.datasource.js +239 -0
  92. package/esm5/lib/directives/dialogTrigger.directive.js +53 -0
  93. package/esm5/lib/directives/directives.module.js +25 -0
  94. package/esm5/lib/directives/dnd.directive.js +80 -0
  95. package/esm5/lib/models/asset-file.model.js +69 -0
  96. package/esm5/lib/models/asset.model.js +154 -0
  97. package/esm5/lib/models/file-type.enum.js +11 -0
  98. package/esm5/lib/models/file.model.js +99 -0
  99. package/esm5/lib/models/index.js +12 -0
  100. package/esm5/lib/models/node-tree.model.js +37 -0
  101. package/esm5/lib/models/sort.enum.js +23 -0
  102. package/esm5/lib/pipes/datetime.pipe.js +83 -0
  103. package/esm5/lib/pipes/file-size.pipe.js +63 -0
  104. package/esm5/lib/services/asset.service.js +274 -0
  105. package/esm5/lib/services/base.service.js +57 -0
  106. package/esm5/lib/services/env-config.service.js +18 -0
  107. package/esm5/lib/services/file.service.js +127 -0
  108. package/esm5/lib/services/index.js +11 -0
  109. package/esm5/lib/services/node-tree.service.js +278 -0
  110. package/esm5/lib/services/upload-assets.service.js +260 -0
  111. package/esm5/lib/store/actions.action.js +143 -0
  112. package/esm5/lib/store/index.js +7 -0
  113. package/esm5/lib/store/reducer.js +116 -0
  114. package/esm5/public-api.js +34 -0
  115. package/esm5/rs-pk-asset-management.js +17 -0
  116. package/fesm2015/rs-pk-asset-management.js +5429 -0
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -0
  118. package/fesm5/rs-pk-asset-management.js +6244 -0
  119. package/fesm5/rs-pk-asset-management.js.map +1 -0
  120. package/lib/asset-management.component.d.ts +21 -0
  121. package/lib/asset-management.module.d.ts +5 -0
  122. package/lib/asset-management.service.d.ts +7 -0
  123. package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -0
  124. package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +52 -0
  125. package/lib/components/partial/asset-item/asset-item.component.d.ts +25 -0
  126. package/lib/components/partial/asset-list/asset-list.component.d.ts +22 -0
  127. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -0
  128. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +19 -0
  129. package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +17 -0
  130. package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -0
  131. package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -0
  132. package/lib/components/partial/file-item/file-item.component.d.ts +27 -0
  133. package/lib/components/partial/file-list/file-list.component.d.ts +12 -0
  134. package/lib/components/partial/folder-item/folder-item.component.d.ts +14 -0
  135. package/lib/components/partial/folder-list/folder-list.component.d.ts +11 -0
  136. package/lib/components/partial/node-details/node-details.component.d.ts +29 -0
  137. package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -0
  138. package/lib/components/partial/search-box/search-box.component.d.ts +18 -0
  139. package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -0
  140. package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +24 -0
  141. package/lib/components/partial/upload-file/upload-file.component.d.ts +18 -0
  142. package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -0
  143. package/lib/components/ui/input-file/input-file.component.d.ts +9 -0
  144. package/lib/components/ui/modal/modal.component.d.ts +7 -0
  145. package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -0
  146. package/lib/configs/admin.config.d.ts +3 -0
  147. package/lib/contanst/data-image.d.ts +3 -0
  148. package/lib/contanst/index.d.ts +1 -0
  149. package/lib/datasources/index.d.ts +1 -0
  150. package/lib/datasources/node-tree.datasource.d.ts +24 -0
  151. package/lib/directives/dialogTrigger.directive.d.ts +7 -0
  152. package/lib/directives/directives.module.d.ts +5 -0
  153. package/lib/directives/dnd.directive.d.ts +7 -0
  154. package/lib/models/asset-file.model.d.ts +26 -0
  155. package/lib/models/asset.model.d.ts +61 -0
  156. package/lib/models/file-type.enum.d.ts +4 -0
  157. package/lib/models/file.model.d.ts +41 -0
  158. package/lib/models/index.d.ts +7 -0
  159. package/lib/models/node-tree.model.d.ts +9 -0
  160. package/lib/models/sort.enum.d.ts +9 -0
  161. package/lib/pipes/datetime.pipe.d.ts +13 -0
  162. package/lib/pipes/file-size.pipe.d.ts +5 -0
  163. package/lib/services/asset.service.d.ts +35 -0
  164. package/lib/services/base.service.d.ts +20 -0
  165. package/lib/services/env-config.service.d.ts +7 -0
  166. package/lib/services/file.service.d.ts +13 -0
  167. package/lib/services/index.d.ts +6 -0
  168. package/lib/services/node-tree.service.d.ts +24 -0
  169. package/lib/services/upload-assets.service.d.ts +42 -0
  170. package/lib/store/actions.action.d.ts +51 -0
  171. package/lib/store/index.d.ts +2 -0
  172. package/lib/store/reducer.d.ts +18 -0
  173. package/package.json +28 -0
  174. package/public-api.d.ts +26 -0
  175. package/rs-pk-asset-management.d.ts +12 -0
  176. package/rs-pk-asset-management.metadata.json +1 -0
@@ -0,0 +1,239 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Input, ViewChild, } from '@angular/core';
6
+ import { MatPaginator } from '@angular/material/paginator';
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 { AssetService } from '../../../services/asset.service';
12
+ import { ActionTypes } from '../../../store/actions.action';
13
+ import { select } from '../../../store/reducer';
14
+ export class AssetListComponent {
15
+ /**
16
+ * @param {?} assetService
17
+ * @param {?} svc
18
+ */
19
+ constructor(assetService, svc) {
20
+ this.assetService = assetService;
21
+ this.svc = svc;
22
+ this.unsubscribe$ = new Subject();
23
+ this.selectedAssets = [];
24
+ }
25
+ /**
26
+ * @return {?}
27
+ */
28
+ ngOnInit() {
29
+ this.bindSubscriber();
30
+ }
31
+ /**
32
+ * @param {?} changes
33
+ * @return {?}
34
+ */
35
+ ngOnChanges(changes) {
36
+ if (changes.assets) {
37
+ this.paginator.pageIndex = this.assetService.pageIndex;
38
+ this.paginator.pageSize = this.assetService.pageSize;
39
+ this.paginator.length = this.assetService.fileTotal;
40
+ }
41
+ }
42
+ /**
43
+ * @param {?} event
44
+ * @return {?}
45
+ */
46
+ onSelectAsset(event) {
47
+ /** @type {?} */
48
+ const index = this.selectedAssets.findIndex((/**
49
+ * @param {?} asset
50
+ * @return {?}
51
+ */
52
+ (asset) => asset.AssetId === event.AssetId));
53
+ /** @type {?} */
54
+ const newSelectedAssets = index > -1
55
+ ? this.selectedAssets.filter((/**
56
+ * @param {?} asset
57
+ * @param {?} i
58
+ * @return {?}
59
+ */
60
+ (asset, i) => index !== i))
61
+ : [...this.selectedAssets, event];
62
+ this.svc.dispatch({
63
+ type: ActionTypes.SET_SELECTED_ASSETS,
64
+ payload: newSelectedAssets,
65
+ });
66
+ }
67
+ /**
68
+ * @private
69
+ * @return {?}
70
+ */
71
+ bindSubscriber() {
72
+ select((/**
73
+ * @param {?} state
74
+ * @return {?}
75
+ */
76
+ (state) => state.deletedAssetId))
77
+ .pipe(takeUntil(this.unsubscribe$))
78
+ .subscribe((/**
79
+ * @param {?} id
80
+ * @return {?}
81
+ */
82
+ (id) => {
83
+ if (this.selectedAssets && this.selectedAssets.length) {
84
+ /** @type {?} */
85
+ const newSelectedAssets = this.selectedAssets.filter((/**
86
+ * @param {?} asset
87
+ * @return {?}
88
+ */
89
+ (asset) => asset.AssetId !== id));
90
+ this.svc.dispatch({
91
+ type: ActionTypes.SET_SELECTED_ASSETS,
92
+ payload: newSelectedAssets,
93
+ });
94
+ }
95
+ }));
96
+ select((/**
97
+ * @param {?} state
98
+ * @return {?}
99
+ */
100
+ (state) => state.currentFolderId))
101
+ .pipe(takeUntil(this.unsubscribe$))
102
+ .subscribe((/**
103
+ * @param {?} currentFolderId
104
+ * @return {?}
105
+ */
106
+ (currentFolderId) => {
107
+ this.currentFolderId = currentFolderId;
108
+ this.svc.dispatch({
109
+ type: ActionTypes.SET_SELECTED_ASSETS,
110
+ payload: [],
111
+ });
112
+ }));
113
+ select((/**
114
+ * @param {?} state
115
+ * @return {?}
116
+ */
117
+ (state) => state.selectedAssets))
118
+ .pipe(takeUntil(this.unsubscribe$))
119
+ .subscribe((/**
120
+ * @param {?} selectedAssets
121
+ * @return {?}
122
+ */
123
+ (selectedAssets) => {
124
+ this.selectedAssets = selectedAssets;
125
+ }));
126
+ select((/**
127
+ * @param {?} state
128
+ * @return {?}
129
+ */
130
+ (state) => state.reloadCurrentAssets))
131
+ .pipe(takeUntil(this.unsubscribe$), switchMap((/**
132
+ * @param {?} res
133
+ * @return {?}
134
+ */
135
+ (res) => of(res))))
136
+ .subscribe((/**
137
+ * @return {?}
138
+ */
139
+ () => {
140
+ this.fetchChildrenAssets();
141
+ }));
142
+ }
143
+ /**
144
+ * @param {?=} event
145
+ * @return {?}
146
+ */
147
+ pageChange(event) {
148
+ this.assetService.pageSize = event.pageSize;
149
+ this.assetService.pageIndex = event.pageIndex;
150
+ this.fetchChildrenAssets();
151
+ }
152
+ /**
153
+ * @private
154
+ * @return {?}
155
+ */
156
+ fetchChildrenAssets() {
157
+ if (!this.currentFolderId) {
158
+ return;
159
+ }
160
+ this.svc.dispatch({
161
+ type: ActionTypes.SET_GLOBAL_LOADING,
162
+ payload: true,
163
+ });
164
+ this.assetService
165
+ .getChildrenAssets({ assetId: this.currentFolderId })
166
+ .pipe(takeUntil(this.unsubscribe$))
167
+ .subscribe((/**
168
+ * @param {?} res
169
+ * @return {?}
170
+ */
171
+ (res) => {
172
+ this.assetService.setAssetList(res.Data.Children, res.Meta);
173
+ }))
174
+ .add((/**
175
+ * @return {?}
176
+ */
177
+ () => {
178
+ this.svc.dispatch({
179
+ type: ActionTypes.SET_GLOBAL_LOADING,
180
+ payload: false,
181
+ });
182
+ }));
183
+ }
184
+ /**
185
+ * @return {?}
186
+ */
187
+ ngOnDestroy() {
188
+ this.unsubscribe$.next();
189
+ this.unsubscribe$.complete();
190
+ }
191
+ }
192
+ AssetListComponent.decorators = [
193
+ { type: Component, args: [{
194
+ selector: 'lib-asset-list',
195
+ template: "<div class=\"asset-container\">\n <div class=\"asset-heading\">\n <h6 class=\"asset-heading__title\">Files</h6>\n <lib-sort-items\n [hidden]=\"!assets?.length\"\n class=\"asset-heading__sort\"\n ></lib-sort-items>\n </div>\n <ng-container *ngIf=\"assets && !assets.length; else assetsTemplate\">\n <div class=\"asset-empty\">\n <span>This asset is empty.</span>\n </div>\n </ng-container>\n <ng-template #assetsTemplate>\n <div class=\"asset-list\">\n <lib-asset-item\n class=\"asset-list__item\"\n *ngFor=\"let asset of assets\"\n [asset]=\"asset\"\n (selectAsset)=\"onSelectAsset($event)\"\n >\n </lib-asset-item>\n </div>\n </ng-template>\n <div [hidden]=\"!assets?.length\">\n <mat-paginator\n #paginator\n [pageSizeOptions]=\"[12, 24, 60, 120]\"\n (page)=\"pageChange($event)\"\n [showFirstLastButtons]=\"true\"\n >\n </mat-paginator>\n </div>\n</div>\n",
196
+ styles: [":host::ng-deep .asset-container .asset-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}:host::ng-deep .asset-container .asset-heading__title{margin-bottom:0;color:#979797}:host::ng-deep .asset-container .asset-list{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;margin:0 -5px}:host::ng-deep .asset-container .asset-list__item{width:25%}@media only screen and (max-width:1200px){:host::ng-deep .asset-container .asset-list__item{width:calc(100% / 3)}}@media only screen and (max-width:960px){:host::ng-deep .asset-container .asset-list__item{width:50%}}:host::ng-deep .asset-container .asset-empty{text-align:center;color:#979797;font-size:14px}"]
197
+ }] }
198
+ ];
199
+ /** @nocollapse */
200
+ AssetListComponent.ctorParameters = () => [
201
+ { type: AssetService },
202
+ { type: AssetManagementService }
203
+ ];
204
+ AssetListComponent.propDecorators = {
205
+ paginator: [{ type: ViewChild, args: [MatPaginator, { static: true },] }],
206
+ assets: [{ type: Input }]
207
+ };
208
+ if (false) {
209
+ /** @type {?} */
210
+ AssetListComponent.prototype.paginator;
211
+ /** @type {?} */
212
+ AssetListComponent.prototype.assets;
213
+ /**
214
+ * @type {?}
215
+ * @private
216
+ */
217
+ AssetListComponent.prototype.unsubscribe$;
218
+ /**
219
+ * @type {?}
220
+ * @private
221
+ */
222
+ AssetListComponent.prototype.currentFolderId;
223
+ /**
224
+ * @type {?}
225
+ * @private
226
+ */
227
+ AssetListComponent.prototype.selectedAssets;
228
+ /**
229
+ * @type {?}
230
+ * @private
231
+ */
232
+ AssetListComponent.prototype.assetService;
233
+ /**
234
+ * @type {?}
235
+ * @private
236
+ */
237
+ AssetListComponent.prototype.svc;
238
+ }
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtbGlzdC9hc3NldC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPaEQsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsWUFDVSxZQUEwQixFQUMxQixHQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQU03QixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbkMsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO0lBUDVDLENBQUM7Ozs7SUFTSixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFB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Q2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7WUF0SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLDA5QkFBMEM7O2FBRTNDOzs7O1lBUlEsWUFBWTtZQUZaLHNCQUFzQjs7O3dCQWlCNUIsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7cUJBQ3hDLEtBQUs7Ozs7SUFETix1Q0FBbUU7O0lBQ25FLG9DQUE4Qjs7Ozs7SUFFOUIsMENBQTJDOzs7OztJQUMzQyw2Q0FBZ0M7Ozs7O0lBQ2hDLDRDQUErQzs7Ozs7SUFUN0MsMENBQWtDOzs7OztJQUNsQyxpQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzL2ludGVybmFsL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hc3NldC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXNzZXRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBc3NldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hc3NldC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWN0aW9ucy5hY3Rpb24nO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hc3NldC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NldC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFzc2V0U2VydmljZTogQXNzZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3ZjOiBBc3NldE1hbmFnZW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBJbnB1dCgpIGFzc2V0czogQXNzZXRNb2RlbFtdO1xuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBjdXJyZW50Rm9sZGVySWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzZWxlY3RlZEFzc2V0czogQXJyYXk8QXNzZXRNb2RlbD4gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJpbmRTdWJzY3JpYmVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYXNzZXRzKSB7XG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXggPSB0aGlzLmFzc2V0U2VydmljZS5wYWdlSW5kZXg7XG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSA9IHRoaXMuYXNzZXRTZXJ2aWNlLnBhZ2VTaXplO1xuICAgICAgdGhpcy5wYWdpbmF0b3IubGVuZ3RoID0gdGhpcy5hc3NldFNlcnZpY2UuZmlsZVRvdGFsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFzc2V0KGV2ZW50OiBBc3NldE1vZGVsKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkQXNzZXRzLmZpbmRJbmRleChcbiAgICAgIChhc3NldCkgPT4gYXNzZXQuQXNzZXRJZCA9PT0gZXZlbnQuQXNzZXRJZFxuICAgICk7XG4gICAgY29uc3QgbmV3U2VsZWN0ZWRBc3NldHM6IEFzc2V0TW9kZWxbXSA9XG4gICAgICBpbmRleCA+IC0xXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZEFzc2V0cy5maWx0ZXIoKGFzc2V0LCBpKSA9PiBpbmRleCAhPT0gaSlcbiAgICAgICAgOiBbLi4udGhpcy5zZWxlY3RlZEFzc2V0cywgZXZlbnRdO1xuXG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0FTU0VUUyxcbiAgICAgIHBheWxvYWQ6IG5ld1NlbGVjdGVkQXNzZXRzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kU3Vic2NyaWJlcigpIHtcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5kZWxldGVkQXNzZXRJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChpZCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEFzc2V0cyAmJiB0aGlzLnNlbGVjdGVkQXNzZXRzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IG5ld1NlbGVjdGVkQXNzZXRzID0gdGhpcy5zZWxlY3RlZEFzc2V0cy5maWx0ZXIoXG4gICAgICAgICAgICAoYXNzZXQpID0+IGFzc2V0LkFzc2V0SWQgIT09IGlkXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfQVNTRVRTLFxuICAgICAgICAgICAgcGF5bG9hZDogbmV3U2VsZWN0ZWRBc3NldHMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuY3VycmVudEZvbGRlcklkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGN1cnJlbnRGb2xkZXJJZCkgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRGb2xkZXJJZCA9IGN1cnJlbnRGb2xkZXJJZDtcbiAgICAgICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlNFVF9TRUxFQ1RFRF9BU1NFVFMsXG4gICAgICAgICAgcGF5bG9hZDogW10sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZEFzc2V0cykgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXNzZXRzID0gc2VsZWN0ZWRBc3NldHM7XG4gICAgICB9KTtcblxuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnJlbG9hZEN1cnJlbnRBc3NldHMpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5mZXRjaENoaWxkcmVuQXNzZXRzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwYWdlQ2hhbmdlKGV2ZW50PzogUGFnZUV2ZW50KSB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UucGFnZVNpemUgPSBldmVudC5wYWdlU2l6ZTtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5wYWdlSW5kZXggPSBldmVudC5wYWdlSW5kZXg7XG4gICAgdGhpcy5mZXRjaENoaWxkcmVuQXNzZXRzKCk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoQ2hpbGRyZW5Bc3NldHMoKSB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRGb2xkZXJJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICB0eXBlOiBBY3Rpb25UeXBlcy5TRVRfR0xPQkFMX0xPQURJTkcsXG4gICAgICBwYXlsb2FkOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hc3NldFNlcnZpY2VcbiAgICAgIC5nZXRDaGlsZHJlbkFzc2V0cyh7IGFzc2V0SWQ6IHRoaXMuY3VycmVudEZvbGRlcklkIH0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuYXNzZXRTZXJ2aWNlLnNldEFzc2V0TGlzdChyZXMuRGF0YS5DaGlsZHJlbiwgcmVzLk1ldGEpO1xuICAgICAgfSlcbiAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN2Yy5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0dMT0JBTF9MT0FESU5HLFxuICAgICAgICAgIHBheWxvYWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Inject } from '@angular/core';
6
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
7
+ import { Subject } from 'rxjs/internal/Subject';
8
+ import { takeUntil } from 'rxjs/operators';
9
+ import { DialogConfig } from '../../../models';
10
+ import { AssetService } from '../../../services/asset.service';
11
+ import { select } from '../../../store';
12
+ export class AssetManagementDialogComponent {
13
+ /**
14
+ * @param {?} data
15
+ * @param {?} dialogRef
16
+ * @param {?} assetService
17
+ */
18
+ constructor(data, dialogRef, assetService) {
19
+ this.data = data;
20
+ this.dialogRef = dialogRef;
21
+ this.assetService = assetService;
22
+ this.destroy$ = new Subject();
23
+ this.selectedAssets = [];
24
+ }
25
+ /**
26
+ * @return {?}
27
+ */
28
+ ngOnInit() {
29
+ this.initDialogConfig(this.data);
30
+ select((/**
31
+ * @param {?} state
32
+ * @return {?}
33
+ */
34
+ (state) => state.selectedAssets))
35
+ .pipe(takeUntil(this.destroy$))
36
+ .subscribe((/**
37
+ * @param {?} selectedAssets
38
+ * @return {?}
39
+ */
40
+ (selectedAssets) => {
41
+ this.selectedAssets = selectedAssets;
42
+ }));
43
+ }
44
+ /**
45
+ * @return {?}
46
+ */
47
+ get disabled() {
48
+ const { limit } = this.data;
49
+ return ((!this.selectedAssets || !this.selectedAssets.length) ||
50
+ (limit && this.selectedAssets.length > limit));
51
+ }
52
+ /**
53
+ * @return {?}
54
+ */
55
+ selectAssets() {
56
+ this.dialogRef.close(this.selectedAssets);
57
+ }
58
+ /**
59
+ * @param {?} data
60
+ * @return {?}
61
+ */
62
+ initDialogConfig(data) {
63
+ if (!data) {
64
+ return;
65
+ }
66
+ this.assetService.dialogConfig = data;
67
+ }
68
+ /**
69
+ * @return {?}
70
+ */
71
+ ngOnDestroy() {
72
+ this.assetService.dialogConfig = new DialogConfig();
73
+ this.destroy$.next(true);
74
+ this.destroy$.complete();
75
+ }
76
+ }
77
+ AssetManagementDialogComponent.decorators = [
78
+ { type: Component, args: [{
79
+ selector: 'lib-asset-management-dialog',
80
+ template: "<lib-modal heading=\"Asset management\" [customHeader]=\"true\">\n <ng-container subtitle>\n <lib-breadcrumb></lib-breadcrumb>\n </ng-container>\n <ng-container headerActions>\n <lib-search-box></lib-search-box>\n </ng-container>\n <ng-container content>\n <lib-asset-wrapper [header]=\"false\"></lib-asset-wrapper>\n </ng-container>\n <ng-container actions>\n <div class=\"asset-management-dialog__footer\">\n <div class=\"selected-assets\">\n <ng-container *ngIf=\"data?.limit\">\n <span>Selected{{' '}}</span>\n <span class=\"count\" [ngClass]=\"{'error': selectedAssets?.length && disabled}\">\n {{selectedAssets?.length}}/{{data?.limit}}\n </span>\n <span>\n {{data?.limit > 1 ? \"assets\": \"asset\"}}\n </span>\n </ng-container>\n\n </div>\n <div>\n <button mat-raised-button mat-dialog-close>Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"selectAssets()\" [disabled]=\"disabled\">Done</button>\n </div>\n </div>\n </ng-container>\n</lib-modal>",
81
+ styles: [":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]
82
+ }] }
83
+ ];
84
+ /** @nocollapse */
85
+ AssetManagementDialogComponent.ctorParameters = () => [
86
+ { type: DialogConfig, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
87
+ { type: MatDialogRef },
88
+ { type: AssetService }
89
+ ];
90
+ if (false) {
91
+ /**
92
+ * @type {?}
93
+ * @private
94
+ */
95
+ AssetManagementDialogComponent.prototype.destroy$;
96
+ /** @type {?} */
97
+ AssetManagementDialogComponent.prototype.selectedAssets;
98
+ /** @type {?} */
99
+ AssetManagementDialogComponent.prototype.data;
100
+ /** @type {?} */
101
+ AssetManagementDialogComponent.prototype.dialogRef;
102
+ /**
103
+ * @type {?}
104
+ * @private
105
+ */
106
+ AssetManagementDialogComponent.prototype.assetService;
107
+ }
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nL2Fzc2V0LW1hbmFnZW1lbnQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU94QyxNQUFNLE9BQU8sOEJBQThCOzs7Ozs7SUFDekMsWUFDa0MsSUFBa0IsRUFDM0MsU0FBdUQsRUFDdEQsWUFBMEI7UUFGRixTQUFJLEdBQUosSUFBSSxDQUFjO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQ3RELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRTVCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxtQkFBYyxHQUFzQixFQUFFLENBQUM7SUFGMUMsQ0FBQzs7OztJQUlMLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTOzs7O1FBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUN2QyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7SUFFRCxJQUFJLFFBQVE7Y0FDSixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQzNCLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3JELENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQzs7OztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFrQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3hDLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQTlDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsc21DQUF1RDs7YUFFeEQ7Ozs7WUFSb0IsWUFBWSx1QkFXNUIsTUFBTSxTQUFDLGVBQWU7WUFkbEIsWUFBWTtZQUlaLFlBQVk7Ozs7Ozs7SUFjbkIsa0RBQW1EOztJQUNuRCx3REFBOEM7O0lBTDVDLDhDQUFrRDs7SUFDbEQsbURBQThEOzs7OztJQUM5RCxzREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL1N1YmplY3QnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNzZXRNb2RlbCwgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtbWFuYWdlbWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRGlhbG9nQ29uZmlnLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgYXNzZXRTZXJ2aWNlOiBBc3NldFNlcnZpY2VcbiAgKSB7IH1cbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBzZWxlY3RlZEFzc2V0czogQXJyYXk8QXNzZXRNb2RlbD4gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXREaWFsb2dDb25maWcodGhpcy5kYXRhKTtcbiAgICBzZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZEFzc2V0cylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkQXNzZXRzKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBc3NldHMgPSBzZWxlY3RlZEFzc2V0cztcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgbGltaXQgfSA9IHRoaXMuZGF0YTtcbiAgICByZXR1cm4gKFxuICAgICAgKCF0aGlzLnNlbGVjdGVkQXNzZXRzIHx8ICF0aGlzLnNlbGVjdGVkQXNzZXRzLmxlbmd0aCkgfHxcbiAgICAgIChsaW1pdCAmJiB0aGlzLnNlbGVjdGVkQXNzZXRzLmxlbmd0aCA+IGxpbWl0KVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RBc3NldHMoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5zZWxlY3RlZEFzc2V0cyk7XG4gIH1cblxuICBpbml0RGlhbG9nQ29uZmlnKGRhdGE6IERpYWxvZ0NvbmZpZykge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFzc2V0U2VydmljZS5kaWFsb2dDb25maWcgPSBkYXRhO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2UuZGlhbG9nQ29uZmlnID0gbmV3IERpYWxvZ0NvbmZpZygpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
6
+ import { Subject } from 'rxjs/internal/Subject';
7
+ import { takeUntil } from 'rxjs/operators';
8
+ import { AssetService } from '../../../services/asset.service';
9
+ import { select } from '../../../store';
10
+ export class AssetWrapperComponent {
11
+ /**
12
+ * @param {?} assetService
13
+ */
14
+ constructor(assetService) {
15
+ this.assetService = assetService;
16
+ this.header = true;
17
+ this.assets = new EventEmitter();
18
+ this.unsubscribe$ = new Subject();
19
+ this.nodeTreeMinWidth = 250;
20
+ this.nodeTreeMaxWidth = 700;
21
+ }
22
+ /**
23
+ * @return {?}
24
+ */
25
+ ngOnInit() {
26
+ this.nodeTreeWidth = this.nodeTreeMinWidth;
27
+ select((/**
28
+ * @param {?} state
29
+ * @return {?}
30
+ */
31
+ (state) => state.selectedAssets))
32
+ .pipe(takeUntil(this.unsubscribe$))
33
+ .subscribe((/**
34
+ * @param {?} selectedAssets
35
+ * @return {?}
36
+ */
37
+ (selectedAssets) => {
38
+ this.assets.emit(selectedAssets);
39
+ }));
40
+ }
41
+ /**
42
+ * @param {?} __0
43
+ * @return {?}
44
+ */
45
+ onResize({ width }) {
46
+ this.nodeTreeWidth = width;
47
+ }
48
+ /**
49
+ * @return {?}
50
+ */
51
+ get nodeDetailsWidth() {
52
+ return `calc(100% - ${this.nodeTreeWidth}px)`;
53
+ }
54
+ /**
55
+ * @return {?}
56
+ */
57
+ ngOnDestroy() {
58
+ this.assetService.resetAsset();
59
+ this.unsubscribe$.next();
60
+ this.unsubscribe$.complete();
61
+ }
62
+ }
63
+ AssetWrapperComponent.decorators = [
64
+ { type: Component, args: [{
65
+ selector: 'lib-asset-wrapper',
66
+ template: "<div class=\"asset-wrapper\">\n <div class=\"asset-header\" *ngIf=\"header\">\n <div class=\"asset-header__left asset-header__title\" #title>\n <lib-breadcrumb></lib-breadcrumb>\n </div>\n <div class=\"asset-header__right asset-header__actions\" #actions>\n <lib-search-box></lib-search-box>\n </div>\n </div>\n <div class=\"asset-body\">\n <lib-drag-to-resize (resizeCompleted)=\"onResize($event)\" class=\"asset-body__node-tree\" [minWidth]=\"nodeTreeMinWidth\" [maxWidth]=\"nodeTreeMaxWidth\">\n <lib-node-tree [width]=\"nodeTreeWidth\"></lib-node-tree>\n </lib-drag-to-resize>\n <lib-node-details class=\"asset-body__node-details\" [style.maxWidth]=\"nodeDetailsWidth\"></lib-node-details>\n </div>\n</div>",
67
+ styles: [":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]
68
+ }] }
69
+ ];
70
+ /** @nocollapse */
71
+ AssetWrapperComponent.ctorParameters = () => [
72
+ { type: AssetService }
73
+ ];
74
+ AssetWrapperComponent.propDecorators = {
75
+ header: [{ type: Input }],
76
+ assets: [{ type: Output }]
77
+ };
78
+ if (false) {
79
+ /** @type {?} */
80
+ AssetWrapperComponent.prototype.header;
81
+ /** @type {?} */
82
+ AssetWrapperComponent.prototype.assets;
83
+ /**
84
+ * @type {?}
85
+ * @private
86
+ */
87
+ AssetWrapperComponent.prototype.unsubscribe$;
88
+ /** @type {?} */
89
+ AssetWrapperComponent.prototype.nodeTreeMinWidth;
90
+ /** @type {?} */
91
+ AssetWrapperComponent.prototype.nodeTreeMaxWidth;
92
+ /** @type {?} */
93
+ AssetWrapperComponent.prototype.nodeTreeWidth;
94
+ /**
95
+ * @type {?}
96
+ * @private
97
+ */
98
+ AssetWrapperComponent.prototype.assetService;
99
+ }
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtd3JhcHBlci9hc3NldC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPeEMsTUFBTSxPQUFPLHFCQUFxQjs7OztJQVNoQyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVJyQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRTVDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO0lBR21CLENBQUM7Ozs7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzNDLE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBQzthQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTOzs7O1FBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLGVBQWUsSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDO0lBQ2hELENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwwdkJBQTZDOzthQUU5Qzs7OztZQVBRLFlBQVk7OztxQkFTbEIsS0FBSztxQkFDTCxNQUFNOzs7O0lBRFAsdUNBQXVCOztJQUN2Qix1Q0FBb0Q7Ozs7O0lBRXBELDZDQUEyQzs7SUFDM0MsaURBQThCOztJQUM5QixpREFBOEI7O0lBQzlCLDhDQUFxQjs7Ozs7SUFFVCw2Q0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3ViamVjdCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBc3NldE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFzc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXNzZXQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGhlYWRlciA9IHRydWU7XG4gIEBPdXRwdXQoKSBhc3NldHMgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0TW9kZWxbXT4oKTtcblxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyBub2RlVHJlZU1pbldpZHRoID0gMjUwO1xuICBwdWJsaWMgbm9kZVRyZWVNYXhXaWR0aCA9IDcwMDtcbiAgcHVibGljIG5vZGVUcmVlV2lkdGg7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhc3NldFNlcnZpY2U6IEFzc2V0U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5vZGVUcmVlV2lkdGggPSB0aGlzLm5vZGVUcmVlTWluV2lkdGg7XG4gICAgc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRBc3NldHMpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRBc3NldHMpID0+IHtcbiAgICAgICAgdGhpcy5hc3NldHMuZW1pdChzZWxlY3RlZEFzc2V0cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUmVzaXplKHsgd2lkdGggfSkge1xuICAgIHRoaXMubm9kZVRyZWVXaWR0aCA9IHdpZHRoO1xuICB9XG5cbiAgZ2V0IG5vZGVEZXRhaWxzV2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7dGhpcy5ub2RlVHJlZVdpZHRofXB4KWA7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmFzc2V0U2VydmljZS5yZXNldEFzc2V0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,115 @@
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 { 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
+ export class BreadcrumbComponent {
14
+ /**
15
+ * @param {?} nodeTreeService
16
+ * @param {?} svc
17
+ */
18
+ constructor(nodeTreeService, svc) {
19
+ this.nodeTreeService = nodeTreeService;
20
+ this.svc = svc;
21
+ this.unsubscribe$ = new Subject();
22
+ this.currentFolderHierarchy = [];
23
+ this.maximumShownLevel = 3;
24
+ this.bindSubscriber();
25
+ }
26
+ /**
27
+ * @return {?}
28
+ */
29
+ ngOnInit() { }
30
+ /**
31
+ * @return {?}
32
+ */
33
+ ngOnDestroy() {
34
+ this.unsubscribe$.next();
35
+ this.unsubscribe$.complete();
36
+ }
37
+ /**
38
+ * @private
39
+ * @return {?}
40
+ */
41
+ bindSubscriber() {
42
+ select((/**
43
+ * @param {?} state
44
+ * @return {?}
45
+ */
46
+ (state) => state.currentFolderHierarchy))
47
+ .pipe(takeUntil(this.unsubscribe$), switchMap((/**
48
+ * @param {?} res
49
+ * @return {?}
50
+ */
51
+ (res) => of(res))))
52
+ .subscribe((/**
53
+ * @param {?} currentFolderHierarchy
54
+ * @return {?}
55
+ */
56
+ (currentFolderHierarchy) => {
57
+ this.currentFolderHierarchy = currentFolderHierarchy;
58
+ }));
59
+ }
60
+ /**
61
+ * @param {?} folder
62
+ * @return {?}
63
+ */
64
+ navigateToFolder(folder) {
65
+ this.svc.dispatch({
66
+ type: ActionTypes.SET_CURRENT_FOLDER_ID,
67
+ payload: folder.AssetId,
68
+ });
69
+ }
70
+ /**
71
+ * @return {?}
72
+ */
73
+ backToHome() {
74
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
75
+ yield this.nodeTreeService.initialData({ dispatchRootId: true });
76
+ this.svc.dispatch({
77
+ type: ActionTypes.RELOAD_CURRENT_NODE,
78
+ });
79
+ });
80
+ }
81
+ }
82
+ BreadcrumbComponent.decorators = [
83
+ { type: Component, args: [{
84
+ selector: 'lib-breadcrumb',
85
+ 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>",
86
+ 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}"]
87
+ }] }
88
+ ];
89
+ /** @nocollapse */
90
+ BreadcrumbComponent.ctorParameters = () => [
91
+ { type: NodeTreeService },
92
+ { type: AssetManagementService }
93
+ ];
94
+ if (false) {
95
+ /**
96
+ * @type {?}
97
+ * @private
98
+ */
99
+ BreadcrumbComponent.prototype.unsubscribe$;
100
+ /** @type {?} */
101
+ BreadcrumbComponent.prototype.currentFolderHierarchy;
102
+ /** @type {?} */
103
+ BreadcrumbComponent.prototype.maximumShownLevel;
104
+ /**
105
+ * @type {?}
106
+ * @private
107
+ */
108
+ BreadcrumbComponent.prototype.nodeTreeService;
109
+ /**
110
+ * @type {?}
111
+ * @private
112
+ */
113
+ BreadcrumbComponent.prototype.svc;
114
+ }
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3BhcnRpYWwvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yRCxNQUFNLE9BQU8sbUJBQW1COzs7OztJQUM5QixZQUFvQixlQUFnQyxFQUFVLEdBQTJCO1FBQXJFLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQXdCO1FBR2pGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQywyQkFBc0IsR0FBMkIsRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUozQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OztJQUtELFFBQVEsS0FBSyxDQUFDOzs7O0lBRWQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7OztJQUVPLGNBQWM7UUFDcEIsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUM7YUFDNUMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzVCLFNBQVM7Ozs7UUFBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQzVCO2FBQ0EsU0FBUzs7OztRQUFDLENBQUMsc0JBQXNCLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDdkQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVNLGdCQUFnQixDQUFDLE1BQXVCO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2hCLElBQUksRUFBRSxXQUFXLENBQUMscUJBQXFCO1lBQ3ZDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRVksVUFBVTs7WUFDckIsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLG1CQUFtQjthQUN0QyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7OztZQTNDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsa3ZFQUEwQzs7YUFFM0M7Ozs7WUFQUSxlQUFlO1lBRmYsc0JBQXNCOzs7Ozs7O0lBYzdCLDJDQUEyQzs7SUFDM0MscURBQTJEOztJQUMzRCxnREFBNkI7Ozs7O0lBTGpCLDhDQUF3Qzs7Ozs7SUFBRSxrQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9vZic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9TdWJqZWN0JztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Fzc2V0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2xkZXJUcmVlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgTm9kZVRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm9kZS10cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZXMsIHNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub2RlVHJlZVNlcnZpY2U6IE5vZGVUcmVlU2VydmljZSwgcHJpdmF0ZSBzdmM6IEFzc2V0TWFuYWdlbWVudFNlcnZpY2UpIHtcbiAgICB0aGlzLmJpbmRTdWJzY3JpYmVyKCk7XG4gIH1cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgY3VycmVudEZvbGRlckhpZXJhcmNoeTogQXJyYXk8Rm9sZGVyVHJlZU1vZGVsPiA9IFtdO1xuICBwdWJsaWMgbWF4aW11bVNob3duTGV2ZWwgPSAzO1xuXG4gIG5nT25Jbml0KCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRTdWJzY3JpYmVyKCkge1xuICAgIHNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmN1cnJlbnRGb2xkZXJIaWVyYXJjaHkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgc3dpdGNoTWFwKChyZXMpID0+IG9mKHJlcykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Rm9sZGVySGllcmFyY2h5KSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvbGRlckhpZXJhcmNoeSA9IGN1cnJlbnRGb2xkZXJIaWVyYXJjaHk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRm9sZGVyKGZvbGRlcjogRm9sZGVyVHJlZU1vZGVsKSB7XG4gICAgdGhpcy5zdmMuZGlzcGF0Y2goe1xuICAgICAgdHlwZTogQWN0aW9uVHlwZXMuU0VUX0NVUlJFTlRfRk9MREVSX0lELFxuICAgICAgcGF5bG9hZDogZm9sZGVyLkFzc2V0SWQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYmFja1RvSG9tZSgpIHtcbiAgICBhd2FpdCB0aGlzLm5vZGVUcmVlU2VydmljZS5pbml0aWFsRGF0YSh7IGRpc3BhdGNoUm9vdElkOiB0cnVlIH0pO1xuICAgIHRoaXMuc3ZjLmRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IEFjdGlvblR5cGVzLlJFTE9BRF9DVVJSRU5UX05PREUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==