@alfresco/aca-content 4.0.0-A.2-9984

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 (255) hide show
  1. package/README.md +24 -0
  2. package/assets/app.extensions.json +2496 -0
  3. package/assets/i18n/ar.json +634 -0
  4. package/assets/i18n/cs.json +634 -0
  5. package/assets/i18n/da.json +634 -0
  6. package/assets/i18n/de.json +634 -0
  7. package/assets/i18n/en.json +634 -0
  8. package/assets/i18n/es.json +634 -0
  9. package/assets/i18n/fi.json +634 -0
  10. package/assets/i18n/fr.json +634 -0
  11. package/assets/i18n/it.json +634 -0
  12. package/assets/i18n/ja.json +634 -0
  13. package/assets/i18n/nb.json +634 -0
  14. package/assets/i18n/nl.json +634 -0
  15. package/assets/i18n/pl.json +634 -0
  16. package/assets/i18n/pt-BR.json +634 -0
  17. package/assets/i18n/ru.json +634 -0
  18. package/assets/i18n/sv.json +634 -0
  19. package/assets/i18n/zh-CN.json +634 -0
  20. package/assets/images/Wallpaper-BG-generic.svg +39 -0
  21. package/assets/images/adf-move-file-24px.svg +1 -0
  22. package/assets/images/baseline-library_books-24px.svg +2 -0
  23. package/assets/images/baseline-lock-24px.svg +1 -0
  24. package/assets/images/join-library.svg +32 -0
  25. package/assets/images/mastHead-bg-shapesPattern.svg +53 -0
  26. package/esm2020/alfresco-aca-content.mjs +5 -0
  27. package/esm2020/lib/aca-content.module.mjs +364 -0
  28. package/esm2020/lib/aca-content.routes.mjs +582 -0
  29. package/esm2020/lib/components/common/common.module.mjs +49 -0
  30. package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +58 -0
  31. package/esm2020/lib/components/common/location-link/location-link.component.mjs +178 -0
  32. package/esm2020/lib/components/common/logout/logout.component.mjs +61 -0
  33. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +66 -0
  34. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +59 -0
  35. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +66 -0
  36. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  37. package/esm2020/lib/components/context-menu/context-menu.component.mjs +103 -0
  38. package/esm2020/lib/components/context-menu/context-menu.module.mjs +77 -0
  39. package/esm2020/lib/components/context-menu/context-menu.service.mjs +104 -0
  40. package/esm2020/lib/components/context-menu/direction.token.mjs +30 -0
  41. package/esm2020/lib/components/context-menu/interfaces.mjs +26 -0
  42. package/esm2020/lib/components/create-menu/create-menu.component.mjs +74 -0
  43. package/esm2020/lib/components/create-menu/create-menu.module.mjs +45 -0
  44. package/esm2020/lib/components/details/details.component.mjs +100 -0
  45. package/esm2020/lib/components/dl-custom-components/document-list-custom-components.module.mjs +49 -0
  46. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +93 -0
  47. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +52 -0
  48. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +114 -0
  49. package/esm2020/lib/components/favorites/favorites.component.mjs +99 -0
  50. package/esm2020/lib/components/files/files.component.mjs +312 -0
  51. package/esm2020/lib/components/header/header.component.mjs +98 -0
  52. package/esm2020/lib/components/header/header.module.mjs +46 -0
  53. package/esm2020/lib/components/home/home.component.mjs +50 -0
  54. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +57 -0
  55. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +93 -0
  56. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +144 -0
  57. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +43 -0
  58. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +89 -0
  59. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +96 -0
  60. package/esm2020/lib/components/layout/app-layout/app-layout.component.mjs +147 -0
  61. package/esm2020/lib/components/layout/layout.module.mjs +75 -0
  62. package/esm2020/lib/components/libraries/libraries.component.mjs +71 -0
  63. package/esm2020/lib/components/main-action/main-action.component.mjs +60 -0
  64. package/esm2020/lib/components/main-action/main-action.module.mjs +46 -0
  65. package/esm2020/lib/components/node-version/node-version-form.component.mjs +71 -0
  66. package/esm2020/lib/components/node-version/node-version.module.mjs +79 -0
  67. package/esm2020/lib/components/recent-files/recent-files.component.mjs +82 -0
  68. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +60 -0
  69. package/esm2020/lib/components/search/search-input/search-input.component.mjs +263 -0
  70. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +88 -0
  71. package/esm2020/lib/components/search/search-input.module.mjs +48 -0
  72. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +92 -0
  73. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +140 -0
  74. package/esm2020/lib/components/search/search-results/search-results.component.mjs +218 -0
  75. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +94 -0
  76. package/esm2020/lib/components/search/search-results.module.mjs +86 -0
  77. package/esm2020/lib/components/shared-files/shared-files.component.mjs +79 -0
  78. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +81 -0
  79. package/esm2020/lib/components/shared-link-view/shared-link-view.module.mjs +66 -0
  80. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +58 -0
  81. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +54 -0
  82. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +75 -0
  83. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +93 -0
  84. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +102 -0
  85. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +99 -0
  86. package/esm2020/lib/components/sidenav/sidenav-wrapper/sidenav-wrapper.component.mjs +45 -0
  87. package/esm2020/lib/components/sidenav/sidenav.component.mjs +76 -0
  88. package/esm2020/lib/components/sidenav/sidenav.module.mjs +104 -0
  89. package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +85 -0
  90. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +151 -0
  91. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +80 -0
  92. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +102 -0
  93. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +76 -0
  94. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +99 -0
  95. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +81 -0
  96. package/esm2020/lib/components/toolbar/toolbar.module.mjs +89 -0
  97. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +102 -0
  98. package/esm2020/lib/components/trashcan/trashcan.component.mjs +64 -0
  99. package/esm2020/lib/components/trashcan/trashcan.module.mjs +71 -0
  100. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +34 -0
  101. package/esm2020/lib/components/view-profile/view-profile.component.mjs +158 -0
  102. package/esm2020/lib/components/view-profile/view-profile.guard.mjs +31 -0
  103. package/esm2020/lib/components/view-profile/view-profile.module.mjs +43 -0
  104. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +120 -0
  105. package/esm2020/lib/directives/directives.module.mjs +43 -0
  106. package/esm2020/lib/directives/document-list.directive.mjs +142 -0
  107. package/esm2020/lib/extensions/core.extensions.module.mjs +66 -0
  108. package/esm2020/lib/material.module.mjs +58 -0
  109. package/esm2020/lib/services/content-management.service.mjs +871 -0
  110. package/esm2020/lib/services/content-service-extension.service.mjs +47 -0
  111. package/esm2020/lib/services/content-url.service.mjs +73 -0
  112. package/esm2020/lib/services/node-actions.service.mjs +601 -0
  113. package/esm2020/lib/services/node-template.service.mjs +150 -0
  114. package/esm2020/lib/store/app-store.module.mjs +96 -0
  115. package/esm2020/lib/store/effects/app.effects.mjs +62 -0
  116. package/esm2020/lib/store/effects/contextmenu.effects.mjs +56 -0
  117. package/esm2020/lib/store/effects/download.effects.mjs +160 -0
  118. package/esm2020/lib/store/effects/favorite.effects.mjs +77 -0
  119. package/esm2020/lib/store/effects/library.effects.mjs +112 -0
  120. package/esm2020/lib/store/effects/node.effects.mjs +310 -0
  121. package/esm2020/lib/store/effects/search.effects.mjs +55 -0
  122. package/esm2020/lib/store/effects/template.effects.mjs +122 -0
  123. package/esm2020/lib/store/effects/upload.effects.mjs +169 -0
  124. package/esm2020/lib/store/effects/viewer.effects.mjs +176 -0
  125. package/esm2020/lib/store/effects.mjs +36 -0
  126. package/esm2020/lib/store/initial-state.mjs +66 -0
  127. package/esm2020/lib/store/reducers/app.reducer.mjs +218 -0
  128. package/esm2020/public-api.mjs +9 -0
  129. package/fesm2015/alfresco-aca-content.mjs +9937 -0
  130. package/fesm2015/alfresco-aca-content.mjs.map +1 -0
  131. package/fesm2020/alfresco-aca-content.mjs +10103 -0
  132. package/fesm2020/alfresco-aca-content.mjs.map +1 -0
  133. package/index.d.ts +5 -0
  134. package/lib/aca-content.module.d.ts +49 -0
  135. package/lib/aca-content.routes.d.ts +28 -0
  136. package/lib/components/common/common.module.d.ts +14 -0
  137. package/lib/components/common/language-picker/language-picker.component.d.ts +5 -0
  138. package/lib/components/common/location-link/location-link.component.d.ts +49 -0
  139. package/lib/components/common/logout/logout.component.d.ts +10 -0
  140. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +44 -0
  141. package/lib/components/context-menu/context-menu-item.component.d.ts +13 -0
  142. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +36 -0
  143. package/lib/components/context-menu/context-menu-overlay.d.ts +30 -0
  144. package/lib/components/context-menu/context-menu.component.d.ts +49 -0
  145. package/lib/components/context-menu/context-menu.module.d.ts +18 -0
  146. package/lib/components/context-menu/context-menu.service.d.ts +44 -0
  147. package/lib/components/context-menu/direction.token.d.ts +26 -0
  148. package/lib/components/context-menu/interfaces.d.ts +31 -0
  149. package/lib/components/create-menu/create-menu.component.d.ts +43 -0
  150. package/lib/components/create-menu/create-menu.module.d.ts +10 -0
  151. package/lib/components/details/details.component.d.ts +47 -0
  152. package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +13 -0
  153. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +43 -0
  154. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +17 -0
  155. package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +55 -0
  156. package/lib/components/favorites/favorites.component.d.ts +50 -0
  157. package/lib/components/files/files.component.d.ts +80 -0
  158. package/lib/components/header/header.component.d.ts +59 -0
  159. package/lib/components/header/header.module.d.ts +11 -0
  160. package/lib/components/home/home.component.d.ts +37 -0
  161. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +11 -0
  162. package/lib/components/info-drawer/info.drawer.module.d.ts +19 -0
  163. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +65 -0
  164. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +7 -0
  165. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +50 -0
  166. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +36 -0
  167. package/lib/components/layout/app-layout/app-layout.component.d.ts +63 -0
  168. package/lib/components/layout/layout.module.d.ts +16 -0
  169. package/lib/components/libraries/libraries.component.d.ts +45 -0
  170. package/lib/components/main-action/main-action.component.d.ts +42 -0
  171. package/lib/components/main-action/main-action.module.d.ts +11 -0
  172. package/lib/components/node-version/node-version-form.component.d.ts +47 -0
  173. package/lib/components/node-version/node-version.module.d.ts +16 -0
  174. package/lib/components/recent-files/recent-files.component.d.ts +49 -0
  175. package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +39 -0
  176. package/lib/components/search/search-input/search-input.component.d.ts +82 -0
  177. package/lib/components/search/search-input-control/search-input-control.component.d.ts +51 -0
  178. package/lib/components/search/search-input.module.d.ts +12 -0
  179. package/lib/components/search/search-libraries-results/search-libraries-query-builder.service.d.ts +57 -0
  180. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +58 -0
  181. package/lib/components/search/search-results/search-results.component.d.ts +70 -0
  182. package/lib/components/search/search-results-row/search-results-row.component.d.ts +49 -0
  183. package/lib/components/search/search-results.module.d.ts +21 -0
  184. package/lib/components/shared-files/shared-files.component.d.ts +48 -0
  185. package/lib/components/shared-link-view/shared-link-view.component.d.ts +48 -0
  186. package/lib/components/shared-link-view/shared-link-view.module.d.ts +14 -0
  187. package/lib/components/sidenav/components/button-menu.component.d.ts +38 -0
  188. package/lib/components/sidenav/components/expand-menu.component.d.ts +36 -0
  189. package/lib/components/sidenav/directives/action.directive.d.ts +14 -0
  190. package/lib/components/sidenav/directives/active-link.directive.d.ts +46 -0
  191. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +45 -0
  192. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +43 -0
  193. package/lib/components/sidenav/sidenav-wrapper/sidenav-wrapper.component.d.ts +12 -0
  194. package/lib/components/sidenav/sidenav.component.d.ts +44 -0
  195. package/lib/components/sidenav/sidenav.module.d.ts +21 -0
  196. package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +13 -0
  197. package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +48 -0
  198. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +43 -0
  199. package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +43 -0
  200. package/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.d.ts +11 -0
  201. package/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.d.ts +42 -0
  202. package/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.d.ts +10 -0
  203. package/lib/components/toolbar/toolbar.module.d.ts +20 -0
  204. package/lib/components/toolbar/view-node/view-node.component.d.ts +17 -0
  205. package/lib/components/trashcan/trashcan.component.d.ts +43 -0
  206. package/lib/components/trashcan/trashcan.module.d.ts +15 -0
  207. package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +14 -0
  208. package/lib/components/view-profile/view-profile.component.d.ts +36 -0
  209. package/lib/components/view-profile/view-profile.guard.d.ts +12 -0
  210. package/lib/components/view-profile/view-profile.module.d.ts +9 -0
  211. package/lib/dialogs/node-template/create-from-template.dialog.d.ts +50 -0
  212. package/lib/directives/directives.module.d.ts +9 -0
  213. package/lib/directives/document-list.directive.d.ts +57 -0
  214. package/lib/extensions/core.extensions.module.d.ts +14 -0
  215. package/lib/material.module.d.ts +14 -0
  216. package/lib/services/content-management.service.d.ts +101 -0
  217. package/lib/services/content-service-extension.service.d.ts +11 -0
  218. package/lib/services/content-url.service.d.ts +17 -0
  219. package/lib/services/node-actions.service.d.ts +93 -0
  220. package/lib/services/node-template.service.d.ts +34 -0
  221. package/lib/store/app-store.module.d.ts +10 -0
  222. package/lib/store/effects/app.effects.d.ts +42 -0
  223. package/lib/store/effects/contextmenu.effects.d.ts +12 -0
  224. package/lib/store/effects/download.effects.d.ts +50 -0
  225. package/lib/store/effects/favorite.effects.d.ts +39 -0
  226. package/lib/store/effects/library.effects.d.ts +44 -0
  227. package/lib/store/effects/node.effects.d.ts +57 -0
  228. package/lib/store/effects/search.effects.d.ts +35 -0
  229. package/lib/store/effects/template.effects.d.ts +55 -0
  230. package/lib/store/effects/upload.effects.d.ts +53 -0
  231. package/lib/store/effects/viewer.effects.d.ts +56 -0
  232. package/lib/store/effects.d.ts +35 -0
  233. package/lib/store/initial-state.d.ts +27 -0
  234. package/lib/store/reducers/app.reducer.d.ts +27 -0
  235. package/package.json +34 -0
  236. package/public-api.d.ts +5 -0
  237. package/ui/application.scss +49 -0
  238. package/ui/colors.scss +98 -0
  239. package/ui/custom-theme.scss +28 -0
  240. package/ui/dynamic-theme/custom-background-color.scss +16 -0
  241. package/ui/dynamic-theme/custom-palette-creator.scss +138 -0
  242. package/ui/dynamic-theme/custom-text-color.scss +8 -0
  243. package/ui/dynamic-theme/custom-theme-palettes.scss +29 -0
  244. package/ui/dynamic-theme/custom-theme.scss.tpl +60 -0
  245. package/ui/dynamic-theme/index.scss +1 -0
  246. package/ui/dynamic-theme/theme-configuration.scss.tpl +14 -0
  247. package/ui/dynamic-theme/typography.scss +63 -0
  248. package/ui/mixins.scss +26 -0
  249. package/ui/overrides/adf-about.theme.scss +39 -0
  250. package/ui/overrides/adf-pagination.theme.scss +47 -0
  251. package/ui/overrides/adf-style-fixes.theme.scss +18 -0
  252. package/ui/overrides/ay11.scss +204 -0
  253. package/ui/theme.scss +57 -0
  254. package/ui/variables/font-family.scss +1 -0
  255. package/ui/variables/variables.scss +83 -0
@@ -0,0 +1,45 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { NgModule } from '@angular/core';
26
+ import { CreateMenuComponent } from './create-menu.component';
27
+ import { CommonModule } from '@angular/common';
28
+ import { CoreModule } from '@alfresco/adf-core';
29
+ import { AppToolbarModule } from '../toolbar/toolbar.module';
30
+ import * as i0 from "@angular/core";
31
+ import * as i1 from "@alfresco/adf-core";
32
+ export class AppCreateMenuModule {
33
+ }
34
+ AppCreateMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppCreateMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
+ AppCreateMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AppCreateMenuModule, declarations: [CreateMenuComponent], imports: [CommonModule, i1.CoreModule, AppToolbarModule], exports: [CreateMenuComponent] });
36
+ AppCreateMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppCreateMenuModule, imports: [CommonModule, CoreModule.forChild(), AppToolbarModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppCreateMenuModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [CommonModule, CoreModule.forChild(), AppToolbarModule],
41
+ declarations: [CreateMenuComponent],
42
+ exports: [CreateMenuComponent]
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS1tZW51L2NyZWF0ZS1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU83RCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBSGYsbUJBQW1CLGFBRHhCLFlBQVksaUJBQXlCLGdCQUFnQixhQUVyRCxtQkFBbUI7aUhBRWxCLG1CQUFtQixZQUpwQixZQUFZLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQjsyRkFJcEQsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2hFLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQXBwVG9vbGJhck1vZHVsZSB9IGZyb20gJy4uL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb3JlTW9kdWxlLmZvckNoaWxkKCksIEFwcFRvb2xiYXJNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDcmVhdGVNZW51Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0NyZWF0ZU1lbnVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEFwcENyZWF0ZU1lbnVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,100 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { Component, ViewEncapsulation } from '@angular/core';
26
+ import { ActivatedRoute } from '@angular/router';
27
+ import { AppExtensionService, ContentApiService, PageComponent } from '@alfresco/aca-shared';
28
+ import { NavigateToPreviousPage, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
29
+ import { Store } from '@ngrx/store';
30
+ import { ContentManagementService } from '../../services/content-management.service';
31
+ import { Subject } from 'rxjs';
32
+ import * as i0 from "@angular/core";
33
+ import * as i1 from "@angular/router";
34
+ import * as i2 from "@alfresco/aca-shared";
35
+ import * as i3 from "@ngrx/store";
36
+ import * as i4 from "../../services/content-management.service";
37
+ import * as i5 from "@angular/common";
38
+ import * as i6 from "@alfresco/adf-content-services";
39
+ import * as i7 from "@angular/material/button";
40
+ import * as i8 from "@angular/material/icon";
41
+ import * as i9 from "@angular/material/tabs";
42
+ import * as i10 from "@angular/material/progress-bar";
43
+ import * as i11 from "@alfresco/adf-core";
44
+ import * as i12 from "../info-drawer/metadata-tab/metadata-tab.component";
45
+ import * as i13 from "../info-drawer/comments-tab/comments-tab.component";
46
+ import * as i14 from "@ngx-translate/core";
47
+ export class DetailsComponent extends PageComponent {
48
+ constructor(route, contentApi, store, content, extensions) {
49
+ super(store, extensions, content);
50
+ this.route = route;
51
+ this.contentApi = contentApi;
52
+ this.onDestroy$ = new Subject();
53
+ this.activeTab = 1;
54
+ }
55
+ ngOnInit() {
56
+ super.ngOnInit();
57
+ this.isLoading = true;
58
+ const { route } = this;
59
+ const { data } = route.snapshot;
60
+ this.title = data.title;
61
+ this.route.params.subscribe((params) => {
62
+ this.isLoading = true;
63
+ this.setActiveTab(params.activeTab);
64
+ this.nodeId = params.nodeId;
65
+ this.contentApi.getNode(this.nodeId).subscribe((node) => {
66
+ this.node = node.entry;
67
+ this.isLoading = false;
68
+ this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));
69
+ });
70
+ });
71
+ }
72
+ setActiveTab(tabName) {
73
+ switch (tabName) {
74
+ case 'comments':
75
+ this.activeTab = 1;
76
+ break;
77
+ case 'permissions':
78
+ this.activeTab = 2;
79
+ break;
80
+ case 'metadata':
81
+ default:
82
+ this.activeTab = 0;
83
+ }
84
+ }
85
+ goBack() {
86
+ this.store.dispatch(new NavigateToPreviousPage());
87
+ }
88
+ ngOnDestroy() {
89
+ this.store.dispatch(new SetSelectedNodesAction([]));
90
+ this.onDestroy$.next();
91
+ this.onDestroy$.complete();
92
+ }
93
+ }
94
+ DetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DetailsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ContentApiService }, { token: i3.Store }, { token: i4.ContentManagementService }, { token: i2.AppExtensionService }], target: i0.ɵɵFactoryTarget.Component });
95
+ DetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DetailsComponent, selector: "app-details-manager", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" (navigate)=\"goBack()\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"acs-details-container\">\n <div class=\"acs-details-title\">\n <div class=\"acs-details-breadcrumb\" role=\"heading\" aria-level=\"2\" *ngIf=\"node\">\n <span class=\"acs-details-breadcrumb-library\"> {{ node.name }} </span>\n -\n <span class=\"acs-details-breadcrumb-item\">{{ 'APP.INFO_DRAWER.TITLE' | translate }}</span>\n </div>\n <div class=\"acs-close-members-container\">\n <button mat-icon-button data-automation-id=\"close-library\" title=\"{{ 'APP.INFO_DRAWER.CLOSE_LIBRARY' | translate }}\" (click)=\"goBack()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n\n <mat-tab-group [selectedIndex]=\"activeTab\" class=\"adw-details-tabs\">\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.PROPERTIES' | translate }}\">\n <app-metadata-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\"> </app-metadata-tab>\n </mat-tab>\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.COMMENTS' | translate }}\">\n <app-comments-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\"> </app-comments-tab>\n </mat-tab>\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.PERMISSIONS' | translate }}\">\n <adf-permission-list *ngIf=\"node && !isLoading; else loading\" [nodeId]=\"node.id\"></adf-permission-list>\n </mat-tab>\n </mat-tab-group>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n\n<ng-template #loading>\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"> </mat-progress-bar>\n</ng-template>\n", styles: [".acs-details-container{background-color:var(--theme-card-background-color);width:100%}.adw-details-tabs{margin-top:40px;height:calc(100% - 80px)}.adw-details-tabs .mat-tab-body-wrapper{height:100%}.adw-details-tabs .mat-tab-labels{text-transform:uppercase}.acs-details-title{width:100%;display:flex;align-items:center;justify-content:space-between}.acs-details-title .acs-close-members-container{margin-right:15px}.acs-details-breadcrumb{font-size:18px;margin-left:20px}.acs-details-breadcrumb .acs-details-breadcrumb-library{font-weight:900}.acs-details-breadcrumb .acs-details-breadcrumb-item{font-weight:100}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: i6.PermissionListComponent, selector: "adf-permission-list", inputs: ["nodeId"], outputs: ["update", "error"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i9.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i11.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: i2.PageLayoutContentComponent, selector: "aca-page-layout-content", inputs: ["scrollable"] }, { kind: "component", type: i2.PageLayoutHeaderComponent, selector: "aca-page-layout-header" }, { kind: "component", type: i2.PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: i12.MetadataTabComponent, selector: "app-metadata-tab", inputs: ["node"] }, { kind: "component", type: i13.CommentsTabComponent, selector: "app-comments-tab", inputs: ["node"] }, { kind: "component", type: i2.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DetailsComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ selector: 'app-details-manager', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" (navigate)=\"goBack()\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"acs-details-container\">\n <div class=\"acs-details-title\">\n <div class=\"acs-details-breadcrumb\" role=\"heading\" aria-level=\"2\" *ngIf=\"node\">\n <span class=\"acs-details-breadcrumb-library\"> {{ node.name }} </span>\n -\n <span class=\"acs-details-breadcrumb-item\">{{ 'APP.INFO_DRAWER.TITLE' | translate }}</span>\n </div>\n <div class=\"acs-close-members-container\">\n <button mat-icon-button data-automation-id=\"close-library\" title=\"{{ 'APP.INFO_DRAWER.CLOSE_LIBRARY' | translate }}\" (click)=\"goBack()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n\n <mat-tab-group [selectedIndex]=\"activeTab\" class=\"adw-details-tabs\">\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.PROPERTIES' | translate }}\">\n <app-metadata-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\"> </app-metadata-tab>\n </mat-tab>\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.COMMENTS' | translate }}\">\n <app-comments-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\"> </app-comments-tab>\n </mat-tab>\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.PERMISSIONS' | translate }}\">\n <adf-permission-list *ngIf=\"node && !isLoading; else loading\" [nodeId]=\"node.id\"></adf-permission-list>\n </mat-tab>\n </mat-tab-group>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n\n<ng-template #loading>\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"> </mat-progress-bar>\n</ng-template>\n", styles: [".acs-details-container{background-color:var(--theme-card-background-color);width:100%}.adw-details-tabs{margin-top:40px;height:calc(100% - 80px)}.adw-details-tabs .mat-tab-body-wrapper{height:100%}.adw-details-tabs .mat-tab-labels{text-transform:uppercase}.acs-details-title{width:100%;display:flex;align-items:center;justify-content:space-between}.acs-details-title .acs-close-members-container{margin-right:15px}.acs-details-breadcrumb{font-size:18px;margin-left:20px}.acs-details-breadcrumb .acs-details-breadcrumb-library{font-weight:900}.acs-details-breadcrumb .acs-details-breadcrumb-item{font-weight:100}\n"] }]
99
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ContentApiService }, { type: i3.Store }, { type: i4.ContentManagementService }, { type: i2.AppExtensionService }]; } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBWSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVEvQixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBYTtJQU1qRCxZQUNVLEtBQXFCLEVBQ3JCLFVBQTZCLEVBQ3JDLEtBQXNCLEVBQ3RCLE9BQWlDLEVBQ2pDLFVBQStCO1FBRS9CLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTjFCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBTHZDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxDQUFDLENBQUM7SUFVZCxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsUUFBUSxPQUFPLEVBQUU7WUFDZixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLGFBQWE7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUM7WUFDaEI7Z0JBQ0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs2R0F6RFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isa0ZDdkM3QixzaUVBNENBOzJGRExhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBcHBFeHRlbnNpb25TZXJ2aWNlLCBDb250ZW50QXBpU2VydmljZSwgUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IEFwcFN0b3JlLCBOYXZpZ2F0ZVRvUHJldmlvdXNQYWdlLCBTZXRTZWxlY3RlZE5vZGVzQWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZW50LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kZXRhaWxzLW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEZXRhaWxzQ29tcG9uZW50IGV4dGVuZHMgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbm9kZUlkOiBzdHJpbmc7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIGFjdGl2ZVRhYiA9IDE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBjb250ZW50QXBpOiBDb250ZW50QXBpU2VydmljZSxcbiAgICBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIGNvbnRlbnQ6IENvbnRlbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBleHRlbnNpb25zLCBjb250ZW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHsgcm91dGUgfSA9IHRoaXM7XG4gICAgY29uc3QgeyBkYXRhIH0gPSByb3V0ZS5zbmFwc2hvdDtcbiAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcblxuICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnNldEFjdGl2ZVRhYihwYXJhbXMuYWN0aXZlVGFiKTtcbiAgICAgIHRoaXMubm9kZUlkID0gcGFyYW1zLm5vZGVJZDtcbiAgICAgIHRoaXMuY29udGVudEFwaS5nZXROb2RlKHRoaXMubm9kZUlkKS5zdWJzY3JpYmUoKG5vZGUpID0+IHtcbiAgICAgICAgdGhpcy5ub2RlID0gbm9kZS5lbnRyeTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U2VsZWN0ZWROb2Rlc0FjdGlvbihbeyBlbnRyeTogdGhpcy5ub2RlIH1dKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldEFjdGl2ZVRhYih0YWJOYW1lOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHRhYk5hbWUpIHtcbiAgICAgIGNhc2UgJ2NvbW1lbnRzJzpcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAxO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Blcm1pc3Npb25zJzpcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21ldGFkYXRhJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gMDtcbiAgICB9XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGVUb1ByZXZpb3VzUGFnZSgpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldFNlbGVjdGVkTm9kZXNBY3Rpb24oW10pKTtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8YWNhLXBhZ2UtbGF5b3V0PlxuICA8YWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cbiAgICA8YWRmLWJyZWFkY3J1bWIgW3Jvb3RdPVwidGl0bGVcIiBbZm9sZGVyTm9kZV09XCJub2RlXCIgKG5hdmlnYXRlKT1cImdvQmFjaygpXCI+IDwvYWRmLWJyZWFkY3J1bWI+XG5cbiAgICA8YWRmLXRvb2xiYXIgY2xhc3M9XCJhZGYtdG9vbGJhci0taW5saW5lXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBhY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICAgICAgPGFjYS10b29sYmFyLWFjdGlvbiBbYWN0aW9uUmVmXT1cImVudHJ5XCI+PC9hY2EtdG9vbGJhci1hY3Rpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FkZi10b29sYmFyPlxuICA8L2FjYS1wYWdlLWxheW91dC1oZWFkZXI+XG5cbiAgPGFjYS1wYWdlLWxheW91dC1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJhY3MtZGV0YWlscy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3MtZGV0YWlscy10aXRsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNzLWRldGFpbHMtYnJlYWRjcnVtYlwiIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIiAqbmdJZj1cIm5vZGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjcy1kZXRhaWxzLWJyZWFkY3J1bWItbGlicmFyeVwiPiB7eyBub2RlLm5hbWUgfX0gPC9zcGFuPlxuICAgICAgICAgIC1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjcy1kZXRhaWxzLWJyZWFkY3J1bWItaXRlbVwiPnt7ICdBUFAuSU5GT19EUkFXRVIuVElUTEUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjcy1jbG9zZS1tZW1iZXJzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImNsb3NlLWxpYnJhcnlcIiB0aXRsZT1cInt7ICdBUFAuSU5GT19EUkFXRVIuQ0xPU0VfTElCUkFSWScgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtdGFiLWdyb3VwIFtzZWxlY3RlZEluZGV4XT1cImFjdGl2ZVRhYlwiIGNsYXNzPVwiYWR3LWRldGFpbHMtdGFic1wiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cInt7ICdBUFAuSU5GT19EUkFXRVIuVEFCUy5QUk9QRVJUSUVTJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgICAgICAgIDxhcHAtbWV0YWRhdGEtdGFiICpuZ0lmPVwibm9kZSAmJiAhaXNMb2FkaW5nOyBlbHNlIGxvYWRpbmdcIiBbbm9kZV09XCJub2RlXCI+IDwvYXBwLW1ldGFkYXRhLXRhYj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cInt7ICdBUFAuSU5GT19EUkFXRVIuVEFCUy5DT01NRU5UUycgfCB0cmFuc2xhdGUgfX1cIj5cbiAgICAgICAgICA8YXBwLWNvbW1lbnRzLXRhYiAqbmdJZj1cIm5vZGUgJiYgIWlzTG9hZGluZzsgZWxzZSBsb2FkaW5nXCIgW25vZGVdPVwibm9kZVwiPiA8L2FwcC1jb21tZW50cy10YWI+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJ7eyAnQVBQLklORk9fRFJBV0VSLlRBQlMuUEVSTUlTU0lPTlMnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAgPGFkZi1wZXJtaXNzaW9uLWxpc3QgKm5nSWY9XCJub2RlICYmICFpc0xvYWRpbmc7IGVsc2UgbG9hZGluZ1wiIFtub2RlSWRdPVwibm9kZS5pZFwiPjwvYWRmLXBlcm1pc3Npb24tbGlzdD5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgIDwvZGl2PlxuICA8L2FjYS1wYWdlLWxheW91dC1jb250ZW50PlxuPC9hY2EtcGFnZS1sYXlvdXQ+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPG1hdC1wcm9ncmVzcy1iYXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj4gPC9tYXQtcHJvZ3Jlc3MtYmFyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { BrowserModule } from '@angular/platform-browser';
26
+ import { NgModule } from '@angular/core';
27
+ import { CustomNameColumnComponent } from './name-column/name-column.component';
28
+ import { LockedByModule } from '@alfresco/aca-shared';
29
+ import { ContentModule } from '@alfresco/adf-content-services';
30
+ import { MaterialModule } from '../../material.module';
31
+ import { CoreModule } from '@alfresco/adf-core';
32
+ import { ThumbnailColumnComponent } from './thumbnail-column/thumbnail-column.component';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "@alfresco/adf-core";
35
+ import * as i2 from "@alfresco/adf-content-services";
36
+ export class DocumentListCustomComponentsModule {
37
+ }
38
+ DocumentListCustomComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DocumentListCustomComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
39
+ DocumentListCustomComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DocumentListCustomComponentsModule, declarations: [CustomNameColumnComponent, ThumbnailColumnComponent], imports: [BrowserModule, i1.CoreModule, i2.ContentModule, MaterialModule, LockedByModule], exports: [CustomNameColumnComponent, ThumbnailColumnComponent] });
40
+ DocumentListCustomComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DocumentListCustomComponentsModule, imports: [BrowserModule, CoreModule.forChild(), ContentModule.forChild(), MaterialModule, LockedByModule] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DocumentListCustomComponentsModule, decorators: [{
42
+ type: NgModule,
43
+ args: [{
44
+ imports: [BrowserModule, CoreModule.forChild(), ContentModule.forChild(), MaterialModule, LockedByModule],
45
+ declarations: [CustomNameColumnComponent, ThumbnailColumnComponent],
46
+ exports: [CustomNameColumnComponent, ThumbnailColumnComponent]
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbGlzdC1jdXN0b20tY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvZGwtY3VzdG9tLWNvbXBvbmVudHMvZG9jdW1lbnQtbGlzdC1jdXN0b20tY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7O0FBT3pGLE1BQU0sT0FBTyxrQ0FBa0M7OytIQUFsQyxrQ0FBa0M7Z0lBQWxDLGtDQUFrQyxpQkFIOUIseUJBQXlCLEVBQUUsd0JBQXdCLGFBRHhELGFBQWEsbUNBQW1ELGNBQWMsRUFBRSxjQUFjLGFBRTlGLHlCQUF5QixFQUFFLHdCQUF3QjtnSUFFbEQsa0NBQWtDLFlBSm5DLGFBQWEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsRUFBRSxjQUFjOzJGQUk3RixrQ0FBa0M7a0JBTDlDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQztvQkFDekcsWUFBWSxFQUFFLENBQUMseUJBQXlCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixFQUFFLHdCQUF3QixDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1c3RvbU5hbWVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL25hbWUtY29sdW1uL25hbWUtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2NrZWRCeU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IENvbnRlbnRNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBUaHVtYm5haWxDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL3RodW1ibmFpbC1jb2x1bW4vdGh1bWJuYWlsLWNvbHVtbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgQ29yZU1vZHVsZS5mb3JDaGlsZCgpLCBDb250ZW50TW9kdWxlLmZvckNoaWxkKCksIE1hdGVyaWFsTW9kdWxlLCBMb2NrZWRCeU1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0N1c3RvbU5hbWVDb2x1bW5Db21wb25lbnQsIFRodW1ibmFpbENvbHVtbkNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtDdXN0b21OYW1lQ29sdW1uQ29tcG9uZW50LCBUaHVtYm5haWxDb2x1bW5Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50TGlzdEN1c3RvbUNvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,93 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { NameColumnComponent } from '@alfresco/adf-content-services';
26
+ import { NodesApiService } from '@alfresco/adf-core';
27
+ import { ChangeDetectorRef, Component, ElementRef, ViewEncapsulation } from '@angular/core';
28
+ import { Actions, ofType } from '@ngrx/effects';
29
+ import { Subject } from 'rxjs';
30
+ import { filter, takeUntil } from 'rxjs/operators';
31
+ import { NodeActionTypes } from '@alfresco/aca-shared/store';
32
+ import { isLocked } from '@alfresco/aca-shared';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "@ngrx/effects";
35
+ import * as i2 from "@alfresco/adf-core";
36
+ import * as i3 from "@angular/common";
37
+ import * as i4 from "@alfresco/aca-shared";
38
+ import * as i5 from "@ngx-translate/core";
39
+ import * as i6 from "@alfresco/adf-content-services";
40
+ export class CustomNameColumnComponent extends NameColumnComponent {
41
+ constructor(element, cd, actions$, nodesService) {
42
+ super(element, nodesService);
43
+ this.cd = cd;
44
+ this.actions$ = actions$;
45
+ this.nodesService = nodesService;
46
+ this.onDestroy$$ = new Subject();
47
+ }
48
+ ngOnInit() {
49
+ this.updateValue();
50
+ this.nodesService.nodeUpdated.pipe(takeUntil(this.onDestroy$$)).subscribe((node) => {
51
+ const row = this.context.row;
52
+ if (row) {
53
+ const { entry } = row.node;
54
+ const currentId = entry.nodeId || entry.id;
55
+ const updatedId = node.nodeId || node.id;
56
+ if (currentId === updatedId) {
57
+ entry.name = node.name;
58
+ row.node = { entry };
59
+ this.updateValue();
60
+ }
61
+ }
62
+ });
63
+ this.actions$
64
+ .pipe(ofType(NodeActionTypes.EditOffline), filter((val) => this.node.entry.id === val.payload.entry.id), takeUntil(this.onDestroy$$))
65
+ .subscribe(() => {
66
+ this.cd.detectChanges();
67
+ });
68
+ }
69
+ onLinkClick(event) {
70
+ event.stopPropagation();
71
+ this.onClick();
72
+ }
73
+ ngOnDestroy() {
74
+ super.ngOnDestroy();
75
+ this.onDestroy$$.next(true);
76
+ this.onDestroy$$.complete();
77
+ }
78
+ get isFile() {
79
+ return this.node && this.node.entry && !this.node.entry.isFolder;
80
+ }
81
+ get isFileWriteLocked() {
82
+ return isLocked(this.node);
83
+ }
84
+ }
85
+ CustomNameColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: CustomNameColumnComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Actions }, { token: i2.NodesApiService }], target: i0.ɵɵFactoryTarget.Component });
86
+ CustomNameColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: CustomNameColumnComponent, selector: "aca-custom-name-column", host: { classAttribute: "adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column" }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"aca-custom-name-column\"\n [ngClass]=\"{\n 'aca-name-column-container': isFile && isFileWriteLocked\n }\"\n>\n <span\n role=\"link\"\n [attr.aria-label]=\"\n (isFile ? 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FILE_LINK_ARIA_LABEL' : 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FOLDER_LINK_ARIA_LABEL')\n | translate: { name: displayText$ | async }\n \"\n class=\"adf-datatable-cell-value\"\n title=\"{{ node | adfNodeNameTooltip }}\"\n (click)=\"onLinkClick($event)\"\n (keyup.enter)=\"onLinkClick($event)\"\n >\n {{ displayText$ | async }}\n </span>\n\n <ng-container *ngIf=\"isFile && isFileWriteLocked\">\n <aca-locked-by [node]=\"context.row.node\"></aca-locked-by>\n </ng-container>\n</div>\n", styles: [".aca-custom-name-column{display:block;align-items:center}.aca-custom-name-column .aca-name-column-container aca-locked-by{display:flex;align-items:center;color:#0000008a;max-width:100%;padding:0 10px}.aca-custom-name-column .aca-name-column-container aca-locked-by .locked_by--name{overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.LockedByComponent, selector: "aca-locked-by", inputs: ["node"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.NodeNameTooltipPipe, name: "adfNodeNameTooltip" }], encapsulation: i0.ViewEncapsulation.None });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: CustomNameColumnComponent, decorators: [{
88
+ type: Component,
89
+ args: [{ selector: 'aca-custom-name-column', encapsulation: ViewEncapsulation.None, host: {
90
+ class: 'adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column'
91
+ }, template: "<div\n class=\"aca-custom-name-column\"\n [ngClass]=\"{\n 'aca-name-column-container': isFile && isFileWriteLocked\n }\"\n>\n <span\n role=\"link\"\n [attr.aria-label]=\"\n (isFile ? 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FILE_LINK_ARIA_LABEL' : 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FOLDER_LINK_ARIA_LABEL')\n | translate: { name: displayText$ | async }\n \"\n class=\"adf-datatable-cell-value\"\n title=\"{{ node | adfNodeNameTooltip }}\"\n (click)=\"onLinkClick($event)\"\n (keyup.enter)=\"onLinkClick($event)\"\n >\n {{ displayText$ | async }}\n </span>\n\n <ng-container *ngIf=\"isFile && isFileWriteLocked\">\n <aca-locked-by [node]=\"context.row.node\"></aca-locked-by>\n </ng-container>\n</div>\n", styles: [".aca-custom-name-column{display:block;align-items:center}.aca-custom-name-column .aca-name-column-container aca-locked-by{display:flex;align-items:center;color:#0000008a;max-width:100%;padding:0 10px}.aca-custom-name-column .aca-name-column-container aca-locked-by .locked_by--name{overflow:hidden;text-overflow:ellipsis}\n"] }]
92
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Actions }, { type: i2.NodesApiService }]; } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2RsLWN1c3RvbS1jb21wb25lbnRzL25hbWUtY29sdW1uL25hbWUtY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVdoRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0lBR2hFLFlBQVksT0FBbUIsRUFBVSxFQUFxQixFQUFVLFFBQWlCLEVBQVUsWUFBNkI7UUFDOUgsS0FBSyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUZ4SCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFJN0MsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUN0RixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM3QixJQUFJLEdBQUcsRUFBRTtnQkFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDM0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBRXpDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtvQkFDM0IsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUN2QixHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVE7YUFDVixJQUFJLENBQ0gsTUFBTSxDQUFNLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFDeEMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQzVELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzVCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztzSEF0RFUseUJBQXlCOzBHQUF6Qix5QkFBeUIsdU1DM0N0QywydUJBd0JBOzJGRG1CYSx5QkFBeUI7a0JBVHJDLFNBQVM7K0JBQ0Usd0JBQXdCLGlCQUduQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxzRkFBc0Y7cUJBQzlGIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDA1IC0gMjAyMCBBbGZyZXNjbyBTb2Z0d2FyZSBMaW1pdGVkXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWxmcmVzY28uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBOYW1lQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IE5vZGVzQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOb2RlQWN0aW9uVHlwZXMgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBpc0xvY2tlZCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNhLWN1c3RvbS1uYW1lLWNvbHVtbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYW1lLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hbWUtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2FkZi1kYXRhdGFibGUtY29udGVudC1jZWxsIGFkZi1kYXRhdGFibGUtbGluayBhZGYtbmFtZS1jb2x1bW4gYWNhLWN1c3RvbS1uYW1lLWNvbHVtbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21OYW1lQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgTmFtZUNvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgbm9kZXNTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UpIHtcbiAgICBzdXBlcihlbGVtZW50LCBub2Rlc1NlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuXG4gICAgdGhpcy5ub2Rlc1NlcnZpY2Uubm9kZVVwZGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkJCkpLnN1YnNjcmliZSgobm9kZTogYW55KSA9PiB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLmNvbnRleHQucm93O1xuICAgICAgaWYgKHJvdykge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSByb3cubm9kZTtcbiAgICAgICAgY29uc3QgY3VycmVudElkID0gZW50cnkubm9kZUlkIHx8IGVudHJ5LmlkO1xuICAgICAgICBjb25zdCB1cGRhdGVkSWQgPSBub2RlLm5vZGVJZCB8fCBub2RlLmlkO1xuXG4gICAgICAgIGlmIChjdXJyZW50SWQgPT09IHVwZGF0ZWRJZCkge1xuICAgICAgICAgIGVudHJ5Lm5hbWUgPSBub2RlLm5hbWU7XG4gICAgICAgICAgcm93Lm5vZGUgPSB7IGVudHJ5IH07XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZUeXBlPGFueT4oTm9kZUFjdGlvblR5cGVzLkVkaXRPZmZsaW5lKSxcbiAgICAgICAgZmlsdGVyKCh2YWwpID0+IHRoaXMubm9kZS5lbnRyeS5pZCA9PT0gdmFsLnBheWxvYWQuZW50cnkuaWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25MaW5rQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vbkNsaWNrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuXG4gICAgdGhpcy5vbkRlc3Ryb3kkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBpc0ZpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubm9kZSAmJiB0aGlzLm5vZGUuZW50cnkgJiYgIXRoaXMubm9kZS5lbnRyeS5pc0ZvbGRlcjtcbiAgfVxuXG4gIGdldCBpc0ZpbGVXcml0ZUxvY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNMb2NrZWQodGhpcy5ub2RlKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFjYS1jdXN0b20tbmFtZS1jb2x1bW5cIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2FjYS1uYW1lLWNvbHVtbi1jb250YWluZXInOiBpc0ZpbGUgJiYgaXNGaWxlV3JpdGVMb2NrZWRcbiAgfVwiXG4+XG4gIDxzcGFuXG4gICAgcm9sZT1cImxpbmtcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAoaXNGaWxlID8gJ0NVU1RPTV9OQU1FX0NPTFVNTi5BQ0NFU1NJQklMSVRZLkZJTEVfTElOS19BUklBX0xBQkVMJyA6ICdDVVNUT01fTkFNRV9DT0xVTU4uQUNDRVNTSUJJTElUWS5GT0xERVJfTElOS19BUklBX0xBQkVMJylcbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgbmFtZTogZGlzcGxheVRleHQkIHwgYXN5bmMgfVxuICAgIFwiXG4gICAgY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWVcIlxuICAgIHRpdGxlPVwie3sgbm9kZSB8IGFkZk5vZGVOYW1lVG9vbHRpcCB9fVwiXG4gICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJvbkxpbmtDbGljaygkZXZlbnQpXCJcbiAgPlxuICAgIHt7IGRpc3BsYXlUZXh0JCB8IGFzeW5jIH19XG4gIDwvc3Bhbj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlICYmIGlzRmlsZVdyaXRlTG9ja2VkXCI+XG4gICAgPGFjYS1sb2NrZWQtYnkgW25vZGVdPVwiY29udGV4dC5yb3cubm9kZVwiPjwvYWNhLWxvY2tlZC1ieT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
26
+ import { TranslationService } from '@alfresco/adf-core';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@alfresco/adf-core";
29
+ import * as i2 from "@angular/common";
30
+ import * as i3 from "@angular/material/icon";
31
+ import * as i4 from "@angular/material/tooltip";
32
+ export class ThumbnailColumnComponent {
33
+ constructor(translation) {
34
+ this.translation = translation;
35
+ }
36
+ getThumbnail({ data, row, col }) {
37
+ return data.getValue(row, col);
38
+ }
39
+ getToolTip({ row }) {
40
+ const user = row.node?.entry?.properties && row.node.entry.properties['cm:lockOwner'] && row.node.entry.properties['cm:lockOwner'].displayName;
41
+ return user ? `${this.translation.instant('APP.LOCKED_BY')} ${user}` : '';
42
+ }
43
+ }
44
+ ThumbnailColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ThumbnailColumnComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
45
+ ThumbnailColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ThumbnailColumnComponent, selector: "aca-custom-thumbnail-column", inputs: { context: "context" }, ngImport: i0, template: "<mat-icon class=\"adf-datatable-selected\" *ngIf=\"context.row.isSelected\" svgIcon=\"selected\"></mat-icon>\n\n<img *ngIf=\"!context.row.isSelected\"\n class=\"adf-datatable-center-img-ie\"\n src=\"{{ getThumbnail(context) }}\"\n [alt]=\"getToolTip(context)\"\n [matTooltip]=\"getToolTip(context)\">\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ThumbnailColumnComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'aca-custom-thumbnail-column', encapsulation: ViewEncapsulation.None, template: "<mat-icon class=\"adf-datatable-selected\" *ngIf=\"context.row.isSelected\" svgIcon=\"selected\"></mat-icon>\n\n<img *ngIf=\"!context.row.isSelected\"\n class=\"adf-datatable-center-img-ie\"\n src=\"{{ getThumbnail(context) }}\"\n [alt]=\"getToolTip(context)\"\n [matTooltip]=\"getToolTip(context)\">\n" }]
49
+ }], ctorParameters: function () { return [{ type: i1.TranslationService }]; }, propDecorators: { context: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvZGwtY3VzdG9tLWNvbXBvbmVudHMvdGh1bWJuYWlsLWNvbHVtbi90aHVtYm5haWwtY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy90aHVtYm5haWwtY29sdW1uL3RodW1ibmFpbC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQU94RCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQW9CLFdBQStCO1FBQS9CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUFHLENBQUM7SUFFdkQsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUMvSSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzVFLENBQUM7O3FIQWJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLG1HQ2pDckMsZ1VBT0E7MkZEMEJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSw2QkFBNkIsaUJBRXhCLGlCQUFpQixDQUFDLElBQUk7eUdBSXJDLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjYS1jdXN0b20tdGh1bWJuYWlsLWNvbHVtbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aHVtYm5haWwtY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBUaHVtYm5haWxDb2x1bW5Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBjb250ZXh0OiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGdldFRodW1ibmFpbCh7IGRhdGEsIHJvdywgY29sIH0pOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRhLmdldFZhbHVlKHJvdywgY29sKTtcbiAgfVxuXG4gIGdldFRvb2xUaXAoeyByb3cgfSk6IHN0cmluZyB7XG4gICAgY29uc3QgdXNlciA9IHJvdy5ub2RlPy5lbnRyeT8ucHJvcGVydGllcyAmJiByb3cubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydjbTpsb2NrT3duZXInXSAmJiByb3cubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydjbTpsb2NrT3duZXInXS5kaXNwbGF5TmFtZTtcbiAgICByZXR1cm4gdXNlciA/IGAke3RoaXMudHJhbnNsYXRpb24uaW5zdGFudCgnQVBQLkxPQ0tFRF9CWScpfSAke3VzZXJ9YCA6ICcnO1xuICB9XG59XG4iLCI8bWF0LWljb24gY2xhc3M9XCJhZGYtZGF0YXRhYmxlLXNlbGVjdGVkXCIgKm5nSWY9XCJjb250ZXh0LnJvdy5pc1NlbGVjdGVkXCIgc3ZnSWNvbj1cInNlbGVjdGVkXCI+PC9tYXQtaWNvbj5cblxuPGltZyAqbmdJZj1cIiFjb250ZXh0LnJvdy5pc1NlbGVjdGVkXCJcbiAgICAgY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbnRlci1pbWctaWVcIlxuICAgICBzcmM9XCJ7eyBnZXRUaHVtYm5haWwoY29udGV4dCkgfX1cIlxuICAgICBbYWx0XT1cImdldFRvb2xUaXAoY29udGV4dClcIlxuICAgICBbbWF0VG9vbHRpcF09XCJnZXRUb29sVGlwKGNvbnRleHQpXCI+XG4iXX0=
@@ -0,0 +1,114 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
26
+ import { Component, ChangeDetectorRef } from '@angular/core';
27
+ import { Store } from '@ngrx/store';
28
+ import { Pagination } from '@alfresco/js-api';
29
+ import { ContentManagementService } from '../../services/content-management.service';
30
+ import { AppExtensionService, AppHookService, ContentApiService, PageComponent } from '@alfresco/aca-shared';
31
+ import { NavigateLibraryAction } from '@alfresco/aca-shared/store';
32
+ import { UserPreferencesService } from '@alfresco/adf-core';
33
+ import * as i0 from "@angular/core";
34
+ import * as i1 from "../../services/content-management.service";
35
+ import * as i2 from "@ngrx/store";
36
+ import * as i3 from "@alfresco/aca-shared";
37
+ import * as i4 from "@angular/cdk/layout";
38
+ import * as i5 from "@alfresco/adf-core";
39
+ import * as i6 from "@angular/common";
40
+ import * as i7 from "@alfresco/adf-content-services";
41
+ import * as i8 from "@alfresco/adf-extensions";
42
+ import * as i9 from "../../directives/document-list.directive";
43
+ export class FavoriteLibrariesComponent extends PageComponent {
44
+ constructor(content, store, extensions, appHookService, contentApiService, breakpointObserver, preferences, changeDetectorRef) {
45
+ super(store, extensions, content);
46
+ this.appHookService = appHookService;
47
+ this.contentApiService = contentApiService;
48
+ this.breakpointObserver = breakpointObserver;
49
+ this.preferences = preferences;
50
+ this.changeDetectorRef = changeDetectorRef;
51
+ this.pagination = new Pagination({
52
+ skipCount: 0,
53
+ maxItems: 25,
54
+ totalItems: 0
55
+ });
56
+ this.isLoading = false;
57
+ this.isSmallScreen = false;
58
+ this.columns = [];
59
+ }
60
+ ngOnInit() {
61
+ super.ngOnInit();
62
+ this.getList({ maxItems: this.preferences.paginationSize });
63
+ this.subscriptions = this.subscriptions.concat([
64
+ this.appHookService.libraryDeleted.subscribe(() => this.reloadList()),
65
+ this.appHookService.libraryUpdated.subscribe(() => this.reloadList()),
66
+ this.appHookService.libraryJoined.subscribe(() => this.reloadList()),
67
+ this.appHookService.libraryLeft.subscribe(() => this.reloadList()),
68
+ this.appHookService.favoriteLibraryToggle.subscribe(() => this.reloadList()),
69
+ this.breakpointObserver.observe([Breakpoints.HandsetPortrait, Breakpoints.HandsetLandscape]).subscribe((result) => {
70
+ this.isSmallScreen = result.matches;
71
+ })
72
+ ]);
73
+ this.columns = this.extensions.documentListPresets.favoriteLibraries || [];
74
+ }
75
+ navigateTo(node) {
76
+ if (node && node.entry && node.entry.guid) {
77
+ this.store.dispatch(new NavigateLibraryAction(node.entry.guid, 'favorite/libraries'));
78
+ }
79
+ }
80
+ handleNodeClick(event) {
81
+ this.navigateTo(event.detail?.node);
82
+ }
83
+ onChangePageSize(pagination) {
84
+ this.preferences.paginationSize = pagination.maxItems;
85
+ this.getList(pagination);
86
+ }
87
+ onChange(pagination) {
88
+ this.getList(pagination);
89
+ }
90
+ getList(pagination) {
91
+ this.isLoading = true;
92
+ this.contentApiService.getFavoriteLibraries('-me-', pagination).subscribe((favoriteLibraries) => {
93
+ this.list = favoriteLibraries;
94
+ this.pagination = favoriteLibraries.list.pagination;
95
+ this.isLoading = false;
96
+ this.changeDetectorRef.detectChanges();
97
+ }, () => {
98
+ this.list = null;
99
+ this.pagination = null;
100
+ this.isLoading = false;
101
+ });
102
+ }
103
+ reloadList() {
104
+ this.reload();
105
+ this.getList(this.pagination);
106
+ }
107
+ }
108
+ FavoriteLibrariesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: FavoriteLibrariesComponent, deps: [{ token: i1.ContentManagementService }, { token: i2.Store }, { token: i3.AppExtensionService }, { token: i3.AppHookService }, { token: i3.ContentApiService }, { token: i4.BreakpointObserver }, { token: i5.UserPreferencesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
109
+ FavoriteLibrariesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: FavoriteLibrariesComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb root=\"APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [display]=\"documentDisplayMode$ | async\"\n [node]=\"$any(list)\"\n [loading]=\"isLoading\"\n selectionMode=\"single\"\n [navigate]=\"false\"\n [sorting]=\"['title', 'asc']\"\n sortingMode=\"client\"\n (node-dblclick)=\"handleNodeClick($event)\"\n [imageResolver]=\"imageResolver\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <adf-custom-empty-content-template>\n <adf-empty-content\n icon=\"library_books\"\n [title]=\"'APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TITLE'\"\n subtitle=\"APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TEXT\"\n >\n </adf-empty-content>\n </adf-custom-empty-content-template>\n\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\"> </adf-dynamic-column>\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n >\n </data-column>\n </ng-container>\n </ng-container>\n </data-columns>\n </adf-document-list>\n\n <adf-pagination\n [target]=\"documentList\"\n [pagination]=\"pagination\"\n (changePageSize)=\"onChangePageSize($event)\"\n (changePageNumber)=\"onChange($event)\"\n (nextPage)=\"onChange($event)\"\n (prevPage)=\"onChange($event)\"\n >\n </adf-pagination>\n </div>\n\n <div class=\"sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "display", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection"] }, { kind: "component", type: i7.BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: i5.PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: i5.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "directive", type: i5.CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: i5.DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey"] }, { kind: "component", type: i5.DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: i5.EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: i8.DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "directive", type: i3.ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable"], exportAs: ["acaContextActions"] }, { kind: "component", type: i3.PageLayoutContentComponent, selector: "aca-page-layout-content", inputs: ["scrollable"] }, { kind: "component", type: i3.PageLayoutHeaderComponent, selector: "aca-page-layout-header" }, { kind: "component", type: i3.PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "directive", type: i9.DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "component", type: i3.InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: i3.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: FavoriteLibrariesComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ template: "<aca-page-layout>\n <aca-page-layout-header>\n <adf-breadcrumb root=\"APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE\"> </adf-breadcrumb>\n\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [display]=\"documentDisplayMode$ | async\"\n [node]=\"$any(list)\"\n [loading]=\"isLoading\"\n selectionMode=\"single\"\n [navigate]=\"false\"\n [sorting]=\"['title', 'asc']\"\n sortingMode=\"client\"\n (node-dblclick)=\"handleNodeClick($event)\"\n [imageResolver]=\"imageResolver\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <adf-custom-empty-content-template>\n <adf-empty-content\n icon=\"library_books\"\n [title]=\"'APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TITLE'\"\n subtitle=\"APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TEXT\"\n >\n </adf-empty-content>\n </adf-custom-empty-content-template>\n\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\"> </adf-dynamic-column>\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n >\n </data-column>\n </ng-container>\n </ng-container>\n </data-columns>\n </adf-document-list>\n\n <adf-pagination\n [target]=\"documentList\"\n [pagination]=\"pagination\"\n (changePageSize)=\"onChangePageSize($event)\"\n (changePageNumber)=\"onChange($event)\"\n (nextPage)=\"onChange($event)\"\n (prevPage)=\"onChange($event)\"\n >\n </adf-pagination>\n </div>\n\n <div class=\"sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n" }]
113
+ }], ctorParameters: function () { return [{ type: i1.ContentManagementService }, { type: i2.Store }, { type: i3.AppExtensionService }, { type: i3.AppHookService }, { type: i3.ContentApiService }, { type: i4.BreakpointObserver }, { type: i5.UserPreferencesService }, { type: i0.ChangeDetectorRef }]; } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtbGlicmFyaWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9mYXZvcml0ZS1saWJyYXJpZXMvZmF2b3JpdGUtbGlicmFyaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9mYXZvcml0ZS1saWJyYXJpZXMvZmF2b3JpdGUtbGlicmFyaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUE2QixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7OztBQU01RCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsYUFBYTtJQVczRCxZQUNFLE9BQWlDLEVBQ2pDLEtBQWlCLEVBQ2pCLFVBQStCLEVBQ3ZCLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsV0FBbUMsRUFDbkMsaUJBQW9DO1FBRTVDLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTjFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ25DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsQjlDLGVBQVUsR0FBZSxJQUFJLFVBQVUsQ0FBQztZQUN0QyxTQUFTLEVBQUUsQ0FBQztZQUNaLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLENBQUM7U0FDZCxDQUFDLENBQUM7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFlBQU8sR0FBNEIsRUFBRSxDQUFDO0lBYXRDLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFNUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDaEgsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3RDLENBQUMsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7SUFDN0UsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFlO1FBQ3hCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBRSxLQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBc0I7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsVUFBc0I7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sT0FBTyxDQUFDLFVBQXNCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDLGlCQUFpQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLENBQUMsRUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O3VIQWxGVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwyRUN0Q3ZDLDZtR0FxRkE7MkZEL0NhLDBCQUEwQjtrQkFIdEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFNpdGVFbnRyeSwgRmF2b3JpdGVQYWdpbmcsIFBhZ2luYXRpb24gfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbnRlbnRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRlbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UsIEFwcEhvb2tTZXJ2aWNlLCBDb250ZW50QXBpU2VydmljZSwgUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IE5hdmlnYXRlTGlicmFyeUFjdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgRG9jdW1lbnRMaXN0UHJlc2V0UmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9mYXZvcml0ZS1saWJyYXJpZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlTGlicmFyaWVzQ29tcG9uZW50IGV4dGVuZHMgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb24gPSBuZXcgUGFnaW5hdGlvbih7XG4gICAgc2tpcENvdW50OiAwLFxuICAgIG1heEl0ZW1zOiAyNSxcbiAgICB0b3RhbEl0ZW1zOiAwXG4gIH0pO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgbGlzdDogRmF2b3JpdGVQYWdpbmc7XG4gIGlzU21hbGxTY3JlZW4gPSBmYWxzZTtcbiAgY29sdW1uczogRG9jdW1lbnRMaXN0UHJlc2V0UmVmW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb250ZW50OiBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFwcEhvb2tTZXJ2aWNlOiBBcHBIb29rU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRlbnRBcGlTZXJ2aWNlOiBDb250ZW50QXBpU2VydmljZSxcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgIHByaXZhdGUgcHJlZmVyZW5jZXM6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUsIGV4dGVuc2lvbnMsIGNvbnRlbnQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMuZ2V0TGlzdCh7IG1heEl0ZW1zOiB0aGlzLnByZWZlcmVuY2VzLnBhZ2luYXRpb25TaXplIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gdGhpcy5zdWJzY3JpcHRpb25zLmNvbmNhdChbXG4gICAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLmxpYnJhcnlEZWxldGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbG9hZExpc3QoKSksXG4gICAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLmxpYnJhcnlVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbG9hZExpc3QoKSksXG4gICAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLmxpYnJhcnlKb2luZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVsb2FkTGlzdCgpKSxcbiAgICAgIHRoaXMuYXBwSG9va1NlcnZpY2UubGlicmFyeUxlZnQuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVsb2FkTGlzdCgpKSxcbiAgICAgIHRoaXMuYXBwSG9va1NlcnZpY2UuZmF2b3JpdGVMaWJyYXJ5VG9nZ2xlLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbG9hZExpc3QoKSksXG5cbiAgICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXRQb3J0cmFpdCwgQnJlYWtwb2ludHMuSGFuZHNldExhbmRzY2FwZV0pLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXNTbWFsbFNjcmVlbiA9IHJlc3VsdC5tYXRjaGVzO1xuICAgICAgfSlcbiAgICBdKTtcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmV4dGVuc2lvbnMuZG9jdW1lbnRMaXN0UHJlc2V0cy5mYXZvcml0ZUxpYnJhcmllcyB8fCBbXTtcbiAgfVxuXG4gIG5hdmlnYXRlVG8obm9kZTogU2l0ZUVudHJ5KSB7XG4gICAgaWYgKG5vZGUgJiYgbm9kZS5lbnRyeSAmJiBub2RlLmVudHJ5Lmd1aWQpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlTGlicmFyeUFjdGlvbihub2RlLmVudHJ5Lmd1aWQsICdmYXZvcml0ZS9saWJyYXJpZXMnKSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTm9kZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMubmF2aWdhdGVUbygoZXZlbnQgYXMgQ3VzdG9tRXZlbnQpLmRldGFpbD8ubm9kZSk7XG4gIH1cblxuICBvbkNoYW5nZVBhZ2VTaXplKHBhZ2luYXRpb246IFBhZ2luYXRpb24pIHtcbiAgICB0aGlzLnByZWZlcmVuY2VzLnBhZ2luYXRpb25TaXplID0gcGFnaW5hdGlvbi5tYXhJdGVtcztcbiAgICB0aGlzLmdldExpc3QocGFnaW5hdGlvbik7XG4gIH1cblxuICBvbkNoYW5nZShwYWdpbmF0aW9uOiBQYWdpbmF0aW9uKSB7XG4gICAgdGhpcy5nZXRMaXN0KHBhZ2luYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaXN0KHBhZ2luYXRpb246IFBhZ2luYXRpb24pIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5jb250ZW50QXBpU2VydmljZS5nZXRGYXZvcml0ZUxpYnJhcmllcygnLW1lLScsIHBhZ2luYXRpb24pLnN1YnNjcmliZShcbiAgICAgIChmYXZvcml0ZUxpYnJhcmllczogRmF2b3JpdGVQYWdpbmcpID0+IHtcbiAgICAgICAgdGhpcy5saXN0ID0gZmF2b3JpdGVMaWJyYXJpZXM7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IGZhdm9yaXRlTGlicmFyaWVzLmxpc3QucGFnaW5hdGlvbjtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QgPSBudWxsO1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSBudWxsO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbG9hZExpc3QoKSB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgICB0aGlzLmdldExpc3QodGhpcy5wYWdpbmF0aW9uKTtcbiAgfVxufVxuIiwiPGFjYS1wYWdlLWxheW91dD5cbiAgPGFjYS1wYWdlLWxheW91dC1oZWFkZXI+XG4gICAgPGFkZi1icmVhZGNydW1iIHJvb3Q9XCJBUFAuQlJPV1NFLkxJQlJBUklFUy5NRU5VLkZBVk9SSVRFX0xJQlJBUklFUy5USVRMRVwiPiA8L2FkZi1icmVhZGNydW1iPlxuXG4gICAgPGFkZi10b29sYmFyIGNsYXNzPVwiYWRmLXRvb2xiYXItLWlubGluZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZW50cnkgb2YgYWN0aW9uczsgdHJhY2tCeTogdHJhY2tCeUFjdGlvbklkXCI+XG4gICAgICAgIDxhY2EtdG9vbGJhci1hY3Rpb24gW2FjdGlvblJlZl09XCJlbnRyeVwiPjwvYWNhLXRvb2xiYXItYWN0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hZGYtdG9vbGJhcj5cbiAgPC9hY2EtcGFnZS1sYXlvdXQtaGVhZGVyPlxuXG4gIDxhY2EtcGFnZS1sYXlvdXQtY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gICAgICA8YWRmLWRvY3VtZW50LWxpc3RcbiAgICAgICAgI2RvY3VtZW50TGlzdFxuICAgICAgICBhY2FEb2N1bWVudExpc3RcbiAgICAgICAgYWNhQ29udGV4dEFjdGlvbnNcbiAgICAgICAgW2Rpc3BsYXldPVwiZG9jdW1lbnREaXNwbGF5TW9kZSQgfCBhc3luY1wiXG4gICAgICAgIFtub2RlXT1cIiRhbnkobGlzdClcIlxuICAgICAgICBbbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBzZWxlY3Rpb25Nb2RlPVwic2luZ2xlXCJcbiAgICAgICAgW25hdmlnYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW3NvcnRpbmddPVwiWyd0aXRsZScsICdhc2MnXVwiXG4gICAgICAgIHNvcnRpbmdNb2RlPVwiY2xpZW50XCJcbiAgICAgICAgKG5vZGUtZGJsY2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuICAgICAgICBbaW1hZ2VSZXNvbHZlcl09XCJpbWFnZVJlc29sdmVyXCJcbiAgICAgICAgKG5hbWUtY2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8YWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgIDxhZGYtZW1wdHktY29udGVudFxuICAgICAgICAgICAgaWNvbj1cImxpYnJhcnlfYm9va3NcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidBUFAuQlJPV1NFLkxJQlJBUklFUy5FTVBUWV9TVEFURS5GQVZPUklURV9MSUJSQVJJRVMuVElUTEUnXCJcbiAgICAgICAgICAgIHN1YnRpdGxlPVwiQVBQLkJST1dTRS5MSUJSQVJJRVMuRU1QVFlfU1RBVEUuRkFWT1JJVEVfTElCUkFSSUVTLlRFWFRcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2FkZi1lbXB0eS1jb250ZW50PlxuICAgICAgICA8L2FkZi1jdXN0b20tZW1wdHktY29udGVudC10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGF0YS1jb2x1bW5zPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5OiB0cmFja0J5Q29sdW1uSWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGVtcGxhdGUgJiYgIShjb2x1bW4uZGVza3RvcE9ubHkgJiYgaXNTbWFsbFNjcmVlbilcIj5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uXG4gICAgICAgICAgICAgICAgW2tleV09XCJjb2x1bW4ua2V5XCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY29sdW1uLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJjb2x1bW4udHlwZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJjb2x1bW4uZm9ybWF0XCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiY29sdW1uLmNsYXNzXCJcbiAgICAgICAgICAgICAgICBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgIDxhZGYtZHluYW1pYy1jb2x1bW4gW2lkXT1cImNvbHVtbi50ZW1wbGF0ZVwiIFtjb250ZXh0XT1cImNvbnRleHRcIj4gPC9hZGYtZHluYW1pYy1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbi50ZW1wbGF0ZSAmJiAhKGNvbHVtbi5kZXNrdG9wT25seSAmJiBpc1NtYWxsU2NyZWVuKVwiPlxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW5cbiAgICAgICAgICAgICAgICBba2V5XT1cImNvbHVtbi5rZXlcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJjb2x1bW4udGl0bGVcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcbiAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImNvbHVtbi5mb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJjb2x1bW4uY2xhc3NcIlxuICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kYXRhLWNvbHVtbnM+XG4gICAgICA8L2FkZi1kb2N1bWVudC1saXN0PlxuXG4gICAgICA8YWRmLXBhZ2luYXRpb25cbiAgICAgICAgW3RhcmdldF09XCJkb2N1bWVudExpc3RcIlxuICAgICAgICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgICAgICAgKGNoYW5nZVBhZ2VTaXplKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXG4gICAgICAgIChjaGFuZ2VQYWdlTnVtYmVyKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAobmV4dFBhZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChwcmV2UGFnZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvYWRmLXBhZ2luYXRpb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhclwiICpuZ0lmPVwiaW5mb0RyYXdlck9wZW5lZCQgfCBhc3luY1wiPlxuICAgICAgPGFjYS1pbmZvLWRyYXdlciBbbm9kZV09XCJzZWxlY3Rpb24ubGFzdFwiPjwvYWNhLWluZm8tZHJhd2VyPlxuICAgIDwvZGl2PlxuICA8L2FjYS1wYWdlLWxheW91dC1jb250ZW50PlxuPC9hY2EtcGFnZS1sYXlvdXQ+XG4iXX0=