@rs-pk/asset-management 1.0.23 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +24 -24
  2. package/bundles/rs-pk-asset-management.umd.js +6444 -6326
  3. package/bundles/rs-pk-asset-management.umd.js.map +1 -1
  4. package/bundles/rs-pk-asset-management.umd.min.js +2 -2
  5. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
  6. package/esm2015/lib/asset-management.component.js +164 -152
  7. package/esm2015/lib/asset-management.module.js +178 -178
  8. package/esm2015/lib/asset-management.service.js +45 -45
  9. package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +146 -146
  10. package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +398 -395
  11. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +316 -299
  12. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +285 -273
  13. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +123 -109
  14. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +119 -100
  15. package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +121 -121
  16. package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -139
  17. package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +151 -151
  18. package/esm2015/lib/components/partial/file-item/file-item.component.js +181 -181
  19. package/esm2015/lib/components/partial/file-list/file-list.component.js +73 -73
  20. package/esm2015/lib/components/partial/folder-item/folder-item.component.js +126 -114
  21. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +81 -69
  22. package/esm2015/lib/components/partial/node-details/node-details.component.js +417 -403
  23. package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -330
  24. package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -158
  25. package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -99
  26. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +141 -141
  27. package/esm2015/lib/components/partial/upload-file/upload-file.component.js +85 -85
  28. package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -96
  29. package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -49
  30. package/esm2015/lib/components/ui/modal/modal.component.js +34 -34
  31. package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -41
  32. package/esm2015/lib/configs/admin.config.js +22 -22
  33. package/esm2015/lib/contanst/data-image.js +20 -20
  34. package/esm2015/lib/contanst/index.js +6 -6
  35. package/esm2015/lib/datasources/index.js +6 -6
  36. package/esm2015/lib/datasources/node-tree.datasource.js +179 -179
  37. package/esm2015/lib/directives/dialogTrigger.directive.js +47 -47
  38. package/esm2015/lib/directives/directives.module.js +20 -20
  39. package/esm2015/lib/directives/dnd.directive.js +57 -57
  40. package/esm2015/lib/models/asset-file.model.js +57 -57
  41. package/esm2015/lib/models/asset.model.js +149 -149
  42. package/esm2015/lib/models/file-type.enum.js +11 -11
  43. package/esm2015/lib/models/file.model.js +91 -91
  44. package/esm2015/lib/models/index.js +12 -12
  45. package/esm2015/lib/models/node-tree.model.js +32 -32
  46. package/esm2015/lib/models/sort.enum.js +23 -23
  47. package/esm2015/lib/pipes/datetime.pipe.js +79 -79
  48. package/esm2015/lib/pipes/file-size.pipe.js +54 -54
  49. package/esm2015/lib/services/asset.service.js +229 -229
  50. package/esm2015/lib/services/base.service.js +49 -49
  51. package/esm2015/lib/services/env-config.service.js +18 -18
  52. package/esm2015/lib/services/file.service.js +106 -106
  53. package/esm2015/lib/services/index.js +11 -11
  54. package/esm2015/lib/services/node-tree.service.js +212 -212
  55. package/esm2015/lib/services/upload-assets.service.js +178 -178
  56. package/esm2015/lib/store/actions.action.js +125 -125
  57. package/esm2015/lib/store/index.js +7 -7
  58. package/esm2015/lib/store/reducer.js +115 -115
  59. package/esm2015/public-api.js +34 -34
  60. package/esm2015/rs-pk-asset-management.js +16 -16
  61. package/esm5/lib/asset-management.component.js +179 -167
  62. package/esm5/lib/asset-management.module.js +179 -179
  63. package/esm5/lib/asset-management.service.js +54 -54
  64. package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +164 -164
  65. package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +440 -437
  66. package/esm5/lib/components/partial/asset-item/asset-item.component.js +350 -333
  67. package/esm5/lib/components/partial/asset-list/asset-list.component.js +318 -306
  68. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +138 -124
  69. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +137 -115
  70. package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +143 -143
  71. package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -154
  72. package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +169 -169
  73. package/esm5/lib/components/partial/file-item/file-item.component.js +206 -206
  74. package/esm5/lib/components/partial/file-list/file-list.component.js +93 -93
  75. package/esm5/lib/components/partial/folder-item/folder-item.component.js +138 -126
  76. package/esm5/lib/components/partial/folder-list/folder-list.component.js +94 -82
  77. package/esm5/lib/components/partial/node-details/node-details.component.js +458 -444
  78. package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -413
  79. package/esm5/lib/components/partial/search-box/search-box.component.js +184 -184
  80. package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -107
  81. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +156 -156
  82. package/esm5/lib/components/partial/upload-file/upload-file.component.js +102 -102
  83. package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -117
  84. package/esm5/lib/components/ui/input-file/input-file.component.js +55 -55
  85. package/esm5/lib/components/ui/modal/modal.component.js +39 -39
  86. package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -43
  87. package/esm5/lib/configs/admin.config.js +22 -22
  88. package/esm5/lib/contanst/data-image.js +20 -20
  89. package/esm5/lib/contanst/index.js +6 -6
  90. package/esm5/lib/datasources/index.js +6 -6
  91. package/esm5/lib/datasources/node-tree.datasource.js +239 -239
  92. package/esm5/lib/directives/dialogTrigger.directive.js +53 -53
  93. package/esm5/lib/directives/directives.module.js +25 -25
  94. package/esm5/lib/directives/dnd.directive.js +80 -80
  95. package/esm5/lib/models/asset-file.model.js +69 -69
  96. package/esm5/lib/models/asset.model.js +168 -168
  97. package/esm5/lib/models/file-type.enum.js +11 -11
  98. package/esm5/lib/models/file.model.js +99 -99
  99. package/esm5/lib/models/index.js +12 -12
  100. package/esm5/lib/models/node-tree.model.js +37 -37
  101. package/esm5/lib/models/sort.enum.js +23 -23
  102. package/esm5/lib/pipes/datetime.pipe.js +83 -83
  103. package/esm5/lib/pipes/file-size.pipe.js +63 -63
  104. package/esm5/lib/services/asset.service.js +279 -279
  105. package/esm5/lib/services/base.service.js +57 -57
  106. package/esm5/lib/services/env-config.service.js +18 -18
  107. package/esm5/lib/services/file.service.js +127 -127
  108. package/esm5/lib/services/index.js +11 -11
  109. package/esm5/lib/services/node-tree.service.js +278 -278
  110. package/esm5/lib/services/upload-assets.service.js +207 -207
  111. package/esm5/lib/store/actions.action.js +143 -143
  112. package/esm5/lib/store/index.js +7 -7
  113. package/esm5/lib/store/reducer.js +116 -116
  114. package/esm5/public-api.js +34 -34
  115. package/esm5/rs-pk-asset-management.js +16 -16
  116. package/fesm2015/rs-pk-asset-management.js +5642 -5527
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  118. package/fesm5/rs-pk-asset-management.js +6448 -6330
  119. package/fesm5/rs-pk-asset-management.js.map +1 -1
  120. package/lib/asset-management.component.d.ts +25 -22
  121. package/lib/asset-management.module.d.ts +5 -5
  122. package/lib/asset-management.service.d.ts +7 -7
  123. package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -27
  124. package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +65 -60
  125. package/lib/components/partial/asset-item/asset-item.component.d.ts +40 -37
  126. package/lib/components/partial/asset-list/asset-list.component.d.ts +27 -24
  127. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +20 -17
  128. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +23 -19
  129. package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +18 -18
  130. package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -24
  131. package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -28
  132. package/lib/components/partial/file-item/file-item.component.d.ts +36 -36
  133. package/lib/components/partial/file-list/file-list.component.d.ts +15 -15
  134. package/lib/components/partial/folder-item/folder-item.component.d.ts +17 -14
  135. package/lib/components/partial/folder-list/folder-list.component.d.ts +14 -11
  136. package/lib/components/partial/node-details/node-details.component.d.ts +32 -29
  137. package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -34
  138. package/lib/components/partial/search-box/search-box.component.d.ts +18 -18
  139. package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -21
  140. package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +25 -25
  141. package/lib/components/partial/upload-file/upload-file.component.d.ts +16 -16
  142. package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -15
  143. package/lib/components/ui/input-file/input-file.component.d.ts +9 -9
  144. package/lib/components/ui/modal/modal.component.d.ts +7 -7
  145. package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -8
  146. package/lib/configs/admin.config.d.ts +3 -3
  147. package/lib/contanst/data-image.d.ts +6 -6
  148. package/lib/contanst/index.d.ts +1 -1
  149. package/lib/datasources/index.d.ts +1 -1
  150. package/lib/datasources/node-tree.datasource.d.ts +24 -24
  151. package/lib/directives/dialogTrigger.directive.d.ts +7 -7
  152. package/lib/directives/directives.module.d.ts +5 -5
  153. package/lib/directives/dnd.directive.d.ts +7 -7
  154. package/lib/models/asset-file.model.d.ts +26 -26
  155. package/lib/models/asset.model.d.ts +68 -68
  156. package/lib/models/file-type.enum.d.ts +4 -4
  157. package/lib/models/file.model.d.ts +41 -41
  158. package/lib/models/index.d.ts +7 -7
  159. package/lib/models/node-tree.model.d.ts +9 -9
  160. package/lib/models/sort.enum.d.ts +9 -9
  161. package/lib/pipes/datetime.pipe.d.ts +13 -13
  162. package/lib/pipes/file-size.pipe.d.ts +5 -5
  163. package/lib/services/asset.service.d.ts +36 -36
  164. package/lib/services/base.service.d.ts +20 -20
  165. package/lib/services/env-config.service.d.ts +7 -7
  166. package/lib/services/file.service.d.ts +13 -13
  167. package/lib/services/index.d.ts +6 -6
  168. package/lib/services/node-tree.service.d.ts +24 -24
  169. package/lib/services/upload-assets.service.d.ts +34 -34
  170. package/lib/store/actions.action.d.ts +51 -51
  171. package/lib/store/index.d.ts +2 -2
  172. package/lib/store/reducer.d.ts +18 -18
  173. package/package.json +1 -1
  174. package/public-api.d.ts +26 -26
  175. package/rs-pk-asset-management.d.ts +12 -12
  176. package/rs-pk-asset-management.metadata.json +1 -1
@@ -1,178 +1,178 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { APP_INITIALIZER, NgModule } from '@angular/core';
6
- import { CommonModule } from '@angular/common';
7
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
- import { MatDialogModule } from '@angular/material/dialog';
9
- import { MatButtonModule } from '@angular/material/button';
10
- import { MatInputModule } from '@angular/material/input';
11
- import { MatIconModule } from '@angular/material/icon';
12
- import { MatTooltipModule } from '@angular/material/tooltip';
13
- import { MatTreeModule } from '@angular/material/tree';
14
- import { MatPaginatorModule } from '@angular/material/paginator';
15
- import { MatTableModule } from '@angular/material/table';
16
- import { MatProgressBarModule } from '@angular/material/progress-bar';
17
- import { MatMenuModule } from '@angular/material/menu';
18
- import { MatCheckboxModule } from '@angular/material/checkbox';
19
- import { MatSelectModule } from '@angular/material/select';
20
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
21
- import { UploadAssetsService, AssetService, FileService, NodeTreeService, BaseHttpClient } from './services/index';
22
- import { AssetManagementComponent } from './asset-management.component';
23
- import { DirectivesModule } from './directives/directives.module';
24
- // UI
25
- import { InputFileComponent } from './components/ui//input-file/input-file.component';
26
- import { ModalComponent } from './components/ui//modal/modal.component';
27
- import { SearchNotFoundComponent } from './components/ui//search-not-found/search-not-found.component';
28
- // Partials
29
- import { FileItemComponent } from './components/partial/file-item/file-item.component';
30
- import { FileListComponent } from './components/partial/file-list/file-list.component';
31
- import { UploadFileComponent } from './components/partial/upload-file/upload-file.component';
32
- import { AddFolderDialogComponent } from './components/partial/add-folder-dialog/add-folder-dialog.component';
33
- import { EditFolderDialogComponent } from './components/partial/edit-folder-dialog/edit-folder-dialog.component';
34
- import { DeleteDialogComponent } from './components/partial/delete-dialog/delete-dialog.component';
35
- import { UploadDialogComponent } from './components/partial/upload-dialog/upload-dialog.component';
36
- import { FolderItemComponent } from './components/partial/folder-item/folder-item.component';
37
- import { FolderListComponent } from './components/partial/folder-list/folder-list.component';
38
- import { AssetListComponent } from './components/partial/asset-list/asset-list.component';
39
- import { AssetItemComponent } from './components/partial/asset-item/asset-item.component';
40
- import { AssetManagementDialogComponent } from './components/partial/asset-management-dialog/asset-management-dialog.component';
41
- import { NodeTreeComponent } from './components/partial/node-tree/node-tree.component';
42
- import { AssetDialogComponent } from './components/partial/asset-dialog/asset-dialog.component';
43
- import { BreadcrumbComponent } from './components/partial/breadcrumb/breadcrumb.component';
44
- import { SearchBoxComponent } from './components/partial/search-box/search-box.component';
45
- import { SortItemsComponent } from './components/partial/sort-items/sort-items.component';
46
- import { AssetWrapperComponent } from './components/partial/asset-wrapper/asset-wrapper.component';
47
- import { NodeDetailsComponent } from './components/partial/node-details/node-details.component';
48
- import { DragToResizeComponent } from './components/ui/drag-to-resize/drag-to-resize.component';
49
- // Pipes
50
- import { FileSizePipe } from './pipes/file-size.pipe';
51
- import { LocalDatePipe, LocalDateTimePipe } from './pipes/datetime.pipe';
52
- // SERVICES
53
- /** @type {?} */
54
- const SERVICES = [
55
- UploadAssetsService,
56
- AssetService,
57
- FileService,
58
- NodeTreeService,
59
- BaseHttpClient
60
- ];
61
- /** @type {?} */
62
- const COMPONENTS = [
63
- // UI
64
- InputFileComponent,
65
- ModalComponent,
66
- SearchNotFoundComponent,
67
- DragToResizeComponent,
68
- // Partials
69
- UploadFileComponent,
70
- FileItemComponent,
71
- FileListComponent,
72
- UploadDialogComponent,
73
- AddFolderDialogComponent,
74
- EditFolderDialogComponent,
75
- DeleteDialogComponent,
76
- AssetDialogComponent,
77
- FolderListComponent,
78
- NodeDetailsComponent,
79
- FolderItemComponent,
80
- AssetListComponent,
81
- AssetItemComponent,
82
- NodeTreeComponent,
83
- BreadcrumbComponent,
84
- SearchBoxComponent,
85
- SortItemsComponent,
86
- AssetWrapperComponent,
87
- AssetManagementDialogComponent,
88
- ];
89
- /** @type {?} */
90
- const ENTRY_COMPONENTS = [
91
- ModalComponent,
92
- UploadDialogComponent,
93
- AddFolderDialogComponent,
94
- EditFolderDialogComponent,
95
- DeleteDialogComponent,
96
- AssetDialogComponent,
97
- AssetManagementDialogComponent,
98
- ];
99
- /**
100
- * @param {?} config
101
- * @return {?}
102
- */
103
- export function AMFactory(config) {
104
- /** @type {?} */
105
- const fn = (/**
106
- * @return {?}
107
- */
108
- () => {
109
- return new Promise((/**
110
- * @param {?} res
111
- * @return {?}
112
- */
113
- res => {
114
- return setTimeout((/**
115
- * @return {?}
116
- */
117
- () => res(config)));
118
- }));
119
- });
120
- return fn;
121
- }
122
- export class AssetManagementModule {
123
- constructor() { }
124
- }
125
- AssetManagementModule.decorators = [
126
- { type: NgModule, args: [{
127
- declarations: [
128
- ...COMPONENTS,
129
- AssetManagementComponent,
130
- FileSizePipe,
131
- LocalDatePipe,
132
- LocalDateTimePipe,
133
- ],
134
- imports: [
135
- DirectivesModule,
136
- CommonModule,
137
- FormsModule,
138
- ReactiveFormsModule,
139
- MatDialogModule,
140
- MatButtonModule,
141
- MatInputModule,
142
- MatIconModule,
143
- MatDialogModule,
144
- MatButtonModule,
145
- MatInputModule,
146
- MatTooltipModule,
147
- MatPaginatorModule,
148
- MatTableModule,
149
- MatProgressBarModule,
150
- MatMenuModule,
151
- MatCheckboxModule,
152
- MatTreeModule,
153
- MatSelectModule,
154
- MatProgressSpinnerModule,
155
- ],
156
- exports: [
157
- ...COMPONENTS,
158
- AssetManagementComponent,
159
- DirectivesModule,
160
- FileSizePipe,
161
- LocalDatePipe,
162
- LocalDateTimePipe,
163
- ],
164
- providers: [
165
- ...SERVICES,
166
- {
167
- provide: APP_INITIALIZER,
168
- useFactory: AMFactory,
169
- deps: SERVICES,
170
- multi: true,
171
- }
172
- ],
173
- entryComponents: [...ENTRY_COMPONENTS],
174
- },] }
175
- ];
176
- /** @nocollapse */
177
- AssetManagementModule.ctorParameters = () => [];
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hc3NldC1tYW5hZ2VtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFDTCxt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WjtpQkFDRjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5pbXBvcnQge1xuICBVcGxvYWRBc3NldHNTZXJ2aWNlLFxuICBBc3NldFNlcnZpY2UsXG4gIEZpbGVTZXJ2aWNlLFxuICBOb2RlVHJlZVNlcnZpY2UsXG4gIEJhc2VIdHRwQ2xpZW50XG59IGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xuXG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2Fzc2V0LW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xuXG4vLyBVSVxuaW1wb3J0IHsgSW5wdXRGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VpLy9pbnB1dC1maWxlL2lucHV0LWZpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VpLy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdWkvL3NlYXJjaC1ub3QtZm91bmQvc2VhcmNoLW5vdC1mb3VuZC5jb21wb25lbnQnO1xuXG4vLyBQYXJ0aWFsc1xuaW1wb3J0IHsgRmlsZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9maWxlLWl0ZW0vZmlsZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2ZpbGUtbGlzdC9maWxlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkRm9sZGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvYWRkLWZvbGRlci1kaWFsb2cvYWRkLWZvbGRlci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9lZGl0LWZvbGRlci1kaWFsb2cvZWRpdC1mb2xkZXItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWxldGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL3VwbG9hZC1kaWFsb2cvdXBsb2FkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9sZGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2ZvbGRlci1pdGVtL2ZvbGRlci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb2xkZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvZm9sZGVyLWxpc3QvZm9sZGVyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFzc2V0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LWxpc3QvYXNzZXQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXNzZXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtaXRlbS9hc3NldC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZVRyZWVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9ub2RlLXRyZWUvbm9kZS10cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3NldERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LWRpYWxvZy9hc3NldC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL3NlYXJjaC1ib3gvc2VhcmNoLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydEl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvc29ydC1pdGVtcy9zb3J0LWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3NldFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hc3NldC13cmFwcGVyL2Fzc2V0LXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvbm9kZS1kZXRhaWxzL25vZGUtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhZ1RvUmVzaXplQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VpL2RyYWctdG8tcmVzaXplL2RyYWctdG8tcmVzaXplLmNvbXBvbmVudCc7XG5cblxuLy8gUGlwZXNcbmltcG9ydCB7IEZpbGVTaXplUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgQU1Db25maWcgfSBmcm9tICcuL3NlcnZpY2VzL2Vudi1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbERhdGVQaXBlLCBMb2NhbERhdGVUaW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZXRpbWUucGlwZSc7XG5cbi8vIFNFUlZJQ0VTXG5jb25zdCBTRVJWSUNFUyA9IFtcbiAgVXBsb2FkQXNzZXRzU2VydmljZSxcbiAgQXNzZXRTZXJ2aWNlLFxuICBGaWxlU2VydmljZSxcbiAgTm9kZVRyZWVTZXJ2aWNlLFxuICBCYXNlSHR0cENsaWVudFxuXTtcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgLy8gVUlcbiAgSW5wdXRGaWxlQ29tcG9uZW50LFxuICBNb2RhbENvbXBvbmVudCxcbiAgU2VhcmNoTm90Rm91bmRDb21wb25lbnQsXG4gIERyYWdUb1Jlc2l6ZUNvbXBvbmVudCxcblxuICAvLyBQYXJ0aWFsc1xuICBVcGxvYWRGaWxlQ29tcG9uZW50LFxuICBGaWxlSXRlbUNvbXBvbmVudCxcbiAgRmlsZUxpc3RDb21wb25lbnQsXG4gIFVwbG9hZERpYWxvZ0NvbXBvbmVudCxcbiAgQWRkRm9sZGVyRGlhbG9nQ29tcG9uZW50LFxuICBFZGl0Rm9sZGVyRGlhbG9nQ29tcG9uZW50LFxuICBEZWxldGVEaWFsb2dDb21wb25lbnQsXG4gIEFzc2V0RGlhbG9nQ29tcG9uZW50LFxuICBGb2xkZXJMaXN0Q29tcG9uZW50LFxuICBOb2RlRGV0YWlsc0NvbXBvbmVudCxcbiAgRm9sZGVySXRlbUNvbXBvbmVudCxcbiAgQXNzZXRMaXN0Q29tcG9uZW50LFxuICBBc3NldEl0ZW1Db21wb25lbnQsXG4gIE5vZGVUcmVlQ29tcG9uZW50LFxuICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICBTZWFyY2hCb3hDb21wb25lbnQsXG4gIFNvcnRJdGVtc0NvbXBvbmVudCxcbiAgQXNzZXRXcmFwcGVyQ29tcG9uZW50LFxuICBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQsXG5dO1xuXG5jb25zdCBFTlRSWV9DT01QT05FTlRTID0gW1xuICBNb2RhbENvbXBvbmVudCxcbiAgVXBsb2FkRGlhbG9nQ29tcG9uZW50LFxuICBBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQsXG4gIEVkaXRGb2xkZXJEaWFsb2dDb21wb25lbnQsXG4gIERlbGV0ZURpYWxvZ0NvbXBvbmVudCxcbiAgQXNzZXREaWFsb2dDb21wb25lbnQsXG4gIEFzc2V0TWFuYWdlbWVudERpYWxvZ0NvbXBvbmVudCxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBBTUZhY3RvcnkoY29uZmlnOiBBTUNvbmZpZykge1xuICBjb25zdCBmbiA9ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzID0+IHtcbiAgICAgIHJldHVybiBzZXRUaW1lb3V0KCgpID0+IHJlcyhjb25maWcpKTtcbiAgICB9KTtcbiAgfTtcbiAgcmV0dXJuIGZuO1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAuLi5DT01QT05FTlRTLFxuICAgIEFzc2V0TWFuYWdlbWVudENvbXBvbmVudCxcbiAgICBGaWxlU2l6ZVBpcGUsXG4gICAgTG9jYWxEYXRlUGlwZSxcbiAgICBMb2NhbERhdGVUaW1lUGlwZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBNYXRUcmVlTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5DT01QT05FTlRTLFxuICAgIEFzc2V0TWFuYWdlbWVudENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmVzTW9kdWxlLFxuICAgIEZpbGVTaXplUGlwZSxcbiAgICBMb2NhbERhdGVQaXBlLFxuICAgIExvY2FsRGF0ZVRpbWVQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICAuLi5TRVJWSUNFUyxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VGYWN0b3J5OiBBTUZhY3RvcnksXG4gICAgICBkZXBzOiBTRVJWSUNFUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH1cbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbLi4uRU5UUllfQ09NUE9ORU5UU10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0TWFuYWdlbWVudE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
6
+ import { CommonModule } from '@angular/common';
7
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
+ import { MatDialogModule } from '@angular/material/dialog';
9
+ import { MatButtonModule } from '@angular/material/button';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatIconModule } from '@angular/material/icon';
12
+ import { MatTooltipModule } from '@angular/material/tooltip';
13
+ import { MatTreeModule } from '@angular/material/tree';
14
+ import { MatPaginatorModule } from '@angular/material/paginator';
15
+ import { MatTableModule } from '@angular/material/table';
16
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
17
+ import { MatMenuModule } from '@angular/material/menu';
18
+ import { MatCheckboxModule } from '@angular/material/checkbox';
19
+ import { MatSelectModule } from '@angular/material/select';
20
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
21
+ import { UploadAssetsService, AssetService, FileService, NodeTreeService, BaseHttpClient } from './services/index';
22
+ import { AssetManagementComponent } from './asset-management.component';
23
+ import { DirectivesModule } from './directives/directives.module';
24
+ // UI
25
+ import { InputFileComponent } from './components/ui//input-file/input-file.component';
26
+ import { ModalComponent } from './components/ui//modal/modal.component';
27
+ import { SearchNotFoundComponent } from './components/ui//search-not-found/search-not-found.component';
28
+ // Partials
29
+ import { FileItemComponent } from './components/partial/file-item/file-item.component';
30
+ import { FileListComponent } from './components/partial/file-list/file-list.component';
31
+ import { UploadFileComponent } from './components/partial/upload-file/upload-file.component';
32
+ import { AddFolderDialogComponent } from './components/partial/add-folder-dialog/add-folder-dialog.component';
33
+ import { EditFolderDialogComponent } from './components/partial/edit-folder-dialog/edit-folder-dialog.component';
34
+ import { DeleteDialogComponent } from './components/partial/delete-dialog/delete-dialog.component';
35
+ import { UploadDialogComponent } from './components/partial/upload-dialog/upload-dialog.component';
36
+ import { FolderItemComponent } from './components/partial/folder-item/folder-item.component';
37
+ import { FolderListComponent } from './components/partial/folder-list/folder-list.component';
38
+ import { AssetListComponent } from './components/partial/asset-list/asset-list.component';
39
+ import { AssetItemComponent } from './components/partial/asset-item/asset-item.component';
40
+ import { AssetManagementDialogComponent } from './components/partial/asset-management-dialog/asset-management-dialog.component';
41
+ import { NodeTreeComponent } from './components/partial/node-tree/node-tree.component';
42
+ import { AssetDialogComponent } from './components/partial/asset-dialog/asset-dialog.component';
43
+ import { BreadcrumbComponent } from './components/partial/breadcrumb/breadcrumb.component';
44
+ import { SearchBoxComponent } from './components/partial/search-box/search-box.component';
45
+ import { SortItemsComponent } from './components/partial/sort-items/sort-items.component';
46
+ import { AssetWrapperComponent } from './components/partial/asset-wrapper/asset-wrapper.component';
47
+ import { NodeDetailsComponent } from './components/partial/node-details/node-details.component';
48
+ import { DragToResizeComponent } from './components/ui/drag-to-resize/drag-to-resize.component';
49
+ // Pipes
50
+ import { FileSizePipe } from './pipes/file-size.pipe';
51
+ import { LocalDatePipe, LocalDateTimePipe } from './pipes/datetime.pipe';
52
+ // SERVICES
53
+ /** @type {?} */
54
+ const SERVICES = [
55
+ UploadAssetsService,
56
+ AssetService,
57
+ FileService,
58
+ NodeTreeService,
59
+ BaseHttpClient
60
+ ];
61
+ /** @type {?} */
62
+ const COMPONENTS = [
63
+ // UI
64
+ InputFileComponent,
65
+ ModalComponent,
66
+ SearchNotFoundComponent,
67
+ DragToResizeComponent,
68
+ // Partials
69
+ UploadFileComponent,
70
+ FileItemComponent,
71
+ FileListComponent,
72
+ UploadDialogComponent,
73
+ AddFolderDialogComponent,
74
+ EditFolderDialogComponent,
75
+ DeleteDialogComponent,
76
+ AssetDialogComponent,
77
+ FolderListComponent,
78
+ NodeDetailsComponent,
79
+ FolderItemComponent,
80
+ AssetListComponent,
81
+ AssetItemComponent,
82
+ NodeTreeComponent,
83
+ BreadcrumbComponent,
84
+ SearchBoxComponent,
85
+ SortItemsComponent,
86
+ AssetWrapperComponent,
87
+ AssetManagementDialogComponent,
88
+ ];
89
+ /** @type {?} */
90
+ const ENTRY_COMPONENTS = [
91
+ ModalComponent,
92
+ UploadDialogComponent,
93
+ AddFolderDialogComponent,
94
+ EditFolderDialogComponent,
95
+ DeleteDialogComponent,
96
+ AssetDialogComponent,
97
+ AssetManagementDialogComponent,
98
+ ];
99
+ /**
100
+ * @param {?} config
101
+ * @return {?}
102
+ */
103
+ export function AMFactory(config) {
104
+ /** @type {?} */
105
+ const fn = (/**
106
+ * @return {?}
107
+ */
108
+ () => {
109
+ return new Promise((/**
110
+ * @param {?} res
111
+ * @return {?}
112
+ */
113
+ res => {
114
+ return setTimeout((/**
115
+ * @return {?}
116
+ */
117
+ () => res(config)));
118
+ }));
119
+ });
120
+ return fn;
121
+ }
122
+ export class AssetManagementModule {
123
+ constructor() { }
124
+ }
125
+ AssetManagementModule.decorators = [
126
+ { type: NgModule, args: [{
127
+ declarations: [
128
+ ...COMPONENTS,
129
+ AssetManagementComponent,
130
+ FileSizePipe,
131
+ LocalDatePipe,
132
+ LocalDateTimePipe,
133
+ ],
134
+ imports: [
135
+ DirectivesModule,
136
+ CommonModule,
137
+ FormsModule,
138
+ ReactiveFormsModule,
139
+ MatDialogModule,
140
+ MatButtonModule,
141
+ MatInputModule,
142
+ MatIconModule,
143
+ MatDialogModule,
144
+ MatButtonModule,
145
+ MatInputModule,
146
+ MatTooltipModule,
147
+ MatPaginatorModule,
148
+ MatTableModule,
149
+ MatProgressBarModule,
150
+ MatMenuModule,
151
+ MatCheckboxModule,
152
+ MatTreeModule,
153
+ MatSelectModule,
154
+ MatProgressSpinnerModule,
155
+ ],
156
+ exports: [
157
+ ...COMPONENTS,
158
+ AssetManagementComponent,
159
+ DirectivesModule,
160
+ FileSizePipe,
161
+ LocalDatePipe,
162
+ LocalDateTimePipe,
163
+ ],
164
+ providers: [
165
+ ...SERVICES,
166
+ {
167
+ provide: APP_INITIALIZER,
168
+ useFactory: AMFactory,
169
+ deps: SERVICES,
170
+ multi: true,
171
+ }
172
+ ],
173
+ entryComponents: [...ENTRY_COMPONENTS],
174
+ },] }
175
+ ];
176
+ /** @nocollapse */
177
+ AssetManagementModule.ctorParameters = () => [];
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcnMtcGsvYXNzZXQtbWFuYWdlbWVudC8iLCJzb3VyY2VzIjpbImxpYi9hc3NldC1tYW5hZ2VtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFDTCxt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WjtpQkFDRjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5cclxuaW1wb3J0IHtcclxuICBVcGxvYWRBc3NldHNTZXJ2aWNlLFxyXG4gIEFzc2V0U2VydmljZSxcclxuICBGaWxlU2VydmljZSxcclxuICBOb2RlVHJlZVNlcnZpY2UsXHJcbiAgQmFzZUh0dHBDbGllbnRcclxufSBmcm9tICcuL3NlcnZpY2VzL2luZGV4JztcclxuXHJcbmltcG9ydCB7IEFzc2V0TWFuYWdlbWVudENvbXBvbmVudCB9IGZyb20gJy4vYXNzZXQtbWFuYWdlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcclxuXHJcbi8vIFVJXHJcbmltcG9ydCB7IElucHV0RmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91aS8vaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VpLy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91aS8vc2VhcmNoLW5vdC1mb3VuZC9zZWFyY2gtbm90LWZvdW5kLmNvbXBvbmVudCc7XHJcblxyXG4vLyBQYXJ0aWFsc1xyXG5pbXBvcnQgeyBGaWxlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2ZpbGUtaXRlbS9maWxlLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9maWxlLWxpc3QvZmlsZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZEZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hZGQtZm9sZGVyLWRpYWxvZy9hZGQtZm9sZGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFZGl0Rm9sZGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvZWRpdC1mb2xkZXItZGlhbG9nL2VkaXQtZm9sZGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZWxldGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvbGRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9mb2xkZXItaXRlbS9mb2xkZXItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb2xkZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvZm9sZGVyLWxpc3QvZm9sZGVyLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvYXNzZXQtbGlzdC9hc3NldC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL2Fzc2V0LWl0ZW0vYXNzZXQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy9hc3NldC1tYW5hZ2VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb2RlVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL25vZGUtdHJlZS9ub2RlLXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hc3NldC1kaWFsb2cvYXNzZXQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoQm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhcnRpYWwvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvcnRJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXJ0aWFsL3NvcnQtaXRlbXMvc29ydC1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9hc3NldC13cmFwcGVyL2Fzc2V0LXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9kZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFydGlhbC9ub2RlLWRldGFpbHMvbm9kZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYWdUb1Jlc2l6ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91aS9kcmFnLXRvLXJlc2l6ZS9kcmFnLXRvLXJlc2l6ZS5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8vIFBpcGVzXHJcbmltcG9ydCB7IEZpbGVTaXplUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xyXG5pbXBvcnQgeyBBTUNvbmZpZyB9IGZyb20gJy4vc2VydmljZXMvZW52LWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxEYXRlUGlwZSwgTG9jYWxEYXRlVGltZVBpcGUgfSBmcm9tICcuL3BpcGVzL2RhdGV0aW1lLnBpcGUnO1xyXG5cclxuLy8gU0VSVklDRVNcclxuY29uc3QgU0VSVklDRVMgPSBbXHJcbiAgVXBsb2FkQXNzZXRzU2VydmljZSxcclxuICBBc3NldFNlcnZpY2UsXHJcbiAgRmlsZVNlcnZpY2UsXHJcbiAgTm9kZVRyZWVTZXJ2aWNlLFxyXG4gIEJhc2VIdHRwQ2xpZW50XHJcbl07XHJcblxyXG5jb25zdCBDT01QT05FTlRTID0gW1xyXG4gIC8vIFVJXHJcbiAgSW5wdXRGaWxlQ29tcG9uZW50LFxyXG4gIE1vZGFsQ29tcG9uZW50LFxyXG4gIFNlYXJjaE5vdEZvdW5kQ29tcG9uZW50LFxyXG4gIERyYWdUb1Jlc2l6ZUNvbXBvbmVudCxcclxuXHJcbiAgLy8gUGFydGlhbHNcclxuICBVcGxvYWRGaWxlQ29tcG9uZW50LFxyXG4gIEZpbGVJdGVtQ29tcG9uZW50LFxyXG4gIEZpbGVMaXN0Q29tcG9uZW50LFxyXG4gIFVwbG9hZERpYWxvZ0NvbXBvbmVudCxcclxuICBBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQsXHJcbiAgRWRpdEZvbGRlckRpYWxvZ0NvbXBvbmVudCxcclxuICBEZWxldGVEaWFsb2dDb21wb25lbnQsXHJcbiAgQXNzZXREaWFsb2dDb21wb25lbnQsXHJcbiAgRm9sZGVyTGlzdENvbXBvbmVudCxcclxuICBOb2RlRGV0YWlsc0NvbXBvbmVudCxcclxuICBGb2xkZXJJdGVtQ29tcG9uZW50LFxyXG4gIEFzc2V0TGlzdENvbXBvbmVudCxcclxuICBBc3NldEl0ZW1Db21wb25lbnQsXHJcbiAgTm9kZVRyZWVDb21wb25lbnQsXHJcbiAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICBTZWFyY2hCb3hDb21wb25lbnQsXHJcbiAgU29ydEl0ZW1zQ29tcG9uZW50LFxyXG4gIEFzc2V0V3JhcHBlckNvbXBvbmVudCxcclxuICBBc3NldE1hbmFnZW1lbnREaWFsb2dDb21wb25lbnQsXHJcbl07XHJcblxyXG5jb25zdCBFTlRSWV9DT01QT05FTlRTID0gW1xyXG4gIE1vZGFsQ29tcG9uZW50LFxyXG4gIFVwbG9hZERpYWxvZ0NvbXBvbmVudCxcclxuICBBZGRGb2xkZXJEaWFsb2dDb21wb25lbnQsXHJcbiAgRWRpdEZvbGRlckRpYWxvZ0NvbXBvbmVudCxcclxuICBEZWxldGVEaWFsb2dDb21wb25lbnQsXHJcbiAgQXNzZXREaWFsb2dDb21wb25lbnQsXHJcbiAgQXNzZXRNYW5hZ2VtZW50RGlhbG9nQ29tcG9uZW50LFxyXG5dO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEFNRmFjdG9yeShjb25maWc6IEFNQ29uZmlnKSB7XHJcbiAgY29uc3QgZm4gPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzID0+IHtcclxuICAgICAgcmV0dXJuIHNldFRpbWVvdXQoKCkgPT4gcmVzKGNvbmZpZykpO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuICByZXR1cm4gZm47XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAuLi5DT01QT05FTlRTLFxyXG4gICAgQXNzZXRNYW5hZ2VtZW50Q29tcG9uZW50LFxyXG4gICAgRmlsZVNpemVQaXBlLFxyXG4gICAgTG9jYWxEYXRlUGlwZSxcclxuICAgIExvY2FsRGF0ZVRpbWVQaXBlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRGlyZWN0aXZlc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRUcmVlTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgLi4uQ09NUE9ORU5UUyxcclxuICAgIEFzc2V0TWFuYWdlbWVudENvbXBvbmVudCxcclxuICAgIERpcmVjdGl2ZXNNb2R1bGUsXHJcbiAgICBGaWxlU2l6ZVBpcGUsXHJcbiAgICBMb2NhbERhdGVQaXBlLFxyXG4gICAgTG9jYWxEYXRlVGltZVBpcGUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIC4uLlNFUlZJQ0VTLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IEFNRmFjdG9yeSxcclxuICAgICAgZGVwczogU0VSVklDRVMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfVxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbLi4uRU5UUllfQ09NUE9ORU5UU10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3NldE1hbmFnZW1lbnRNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iXX0=
@@ -1,45 +1,45 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from '@angular/core';
6
- import { Subject } from 'rxjs';
7
- import * as i0 from "@angular/core";
8
- /** @type {?} */
9
- const eventDispatcher = new Subject();
10
- export class AssetManagementService {
11
- constructor() {
12
- }
13
- /**
14
- * @return {?}
15
- */
16
- getDispatcher() {
17
- if (!this._dispatcher) {
18
- this._dispatcher = eventDispatcher;
19
- }
20
- return this._dispatcher;
21
- }
22
- /**
23
- * @param {?} action
24
- * @return {?}
25
- */
26
- dispatch(action) {
27
- this.getDispatcher().next(action);
28
- }
29
- }
30
- AssetManagementService.decorators = [
31
- { type: Injectable, args: [{
32
- providedIn: 'root'
33
- },] }
34
- ];
35
- /** @nocollapse */
36
- AssetManagementService.ctorParameters = () => [];
37
- /** @nocollapse */ AssetManagementService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AssetManagementService_Factory() { return new AssetManagementService(); }, token: AssetManagementService, providedIn: "root" });
38
- if (false) {
39
- /**
40
- * @type {?}
41
- * @private
42
- */
43
- AssetManagementService.prototype._dispatcher;
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztNQUd6QixlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQW1CO0FBS3RELE1BQU0sT0FBTyxzQkFBc0I7SUFJakM7SUFDQSxDQUFDOzs7O0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLE1BQXVCO1FBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBcEJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7Ozs7Ozs7OztJQUdDLDZDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIEFDVElPTlMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zLmFjdGlvbic7XG5cbmNvbnN0IGV2ZW50RGlzcGF0Y2hlciA9IG5ldyBTdWJqZWN0PEFDVElPTlMuQWN0aW9ucz4oKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGdldERpc3BhdGNoZXIoKSB7XG4gICAgaWYgKCF0aGlzLl9kaXNwYXRjaGVyKSB7XG4gICAgICB0aGlzLl9kaXNwYXRjaGVyID0gZXZlbnREaXNwYXRjaGVyO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kaXNwYXRjaGVyO1xuICB9XG5cbiAgZGlzcGF0Y2goYWN0aW9uOiBBQ1RJT05TLkFjdGlvbnMpIHtcbiAgICB0aGlzLmdldERpc3BhdGNoZXIoKS5uZXh0KGFjdGlvbik7XG4gIH1cbn1cbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { Subject } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ /** @type {?} */
9
+ const eventDispatcher = new Subject();
10
+ export class AssetManagementService {
11
+ constructor() {
12
+ }
13
+ /**
14
+ * @return {?}
15
+ */
16
+ getDispatcher() {
17
+ if (!this._dispatcher) {
18
+ this._dispatcher = eventDispatcher;
19
+ }
20
+ return this._dispatcher;
21
+ }
22
+ /**
23
+ * @param {?} action
24
+ * @return {?}
25
+ */
26
+ dispatch(action) {
27
+ this.getDispatcher().next(action);
28
+ }
29
+ }
30
+ AssetManagementService.decorators = [
31
+ { type: Injectable, args: [{
32
+ providedIn: 'root'
33
+ },] }
34
+ ];
35
+ /** @nocollapse */
36
+ AssetManagementService.ctorParameters = () => [];
37
+ /** @nocollapse */ AssetManagementService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AssetManagementService_Factory() { return new AssetManagementService(); }, token: AssetManagementService, providedIn: "root" });
38
+ if (false) {
39
+ /**
40
+ * @type {?}
41
+ * @private
42
+ */
43
+ AssetManagementService.prototype._dispatcher;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJzLXBrL2Fzc2V0LW1hbmFnZW1lbnQvIiwic291cmNlcyI6WyJsaWIvYXNzZXQtbWFuYWdlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztNQUd6QixlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQW1CO0FBS3RELE1BQU0sT0FBTyxzQkFBc0I7SUFJakM7SUFDQSxDQUFDOzs7O0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLE1BQXVCO1FBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBcEJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7Ozs7Ozs7OztJQUdDLDZDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBBQ1RJT05TIGZyb20gJy4vc3RvcmUvYWN0aW9ucy5hY3Rpb24nO1xyXG5cclxuY29uc3QgZXZlbnREaXNwYXRjaGVyID0gbmV3IFN1YmplY3Q8QUNUSU9OUy5BY3Rpb25zPigpO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNzZXRNYW5hZ2VtZW50U2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgX2Rpc3BhdGNoZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgZ2V0RGlzcGF0Y2hlcigpIHtcclxuICAgIGlmICghdGhpcy5fZGlzcGF0Y2hlcikge1xyXG4gICAgICB0aGlzLl9kaXNwYXRjaGVyID0gZXZlbnREaXNwYXRjaGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9kaXNwYXRjaGVyO1xyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2goYWN0aW9uOiBBQ1RJT05TLkFjdGlvbnMpIHtcclxuICAgIHRoaXMuZ2V0RGlzcGF0Y2hlcigpLm5leHQoYWN0aW9uKTtcclxuICB9XHJcbn1cclxuIl19