@alfresco/aca-content 4.0.0-4895233349

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 (264) hide show
  1. package/README.md +24 -0
  2. package/about/about.component.d.ts +45 -0
  3. package/about/aca-about.module.d.ts +39 -0
  4. package/about/dev-mode.tokens.d.ts +25 -0
  5. package/about/index.d.ts +5 -0
  6. package/about/package-json.token.d.ts +25 -0
  7. package/about/public-api.d.ts +27 -0
  8. package/assets/app.extensions.json +2626 -0
  9. package/assets/i18n/ar.json +660 -0
  10. package/assets/i18n/cs.json +660 -0
  11. package/assets/i18n/da.json +660 -0
  12. package/assets/i18n/de.json +660 -0
  13. package/assets/i18n/en.json +660 -0
  14. package/assets/i18n/es.json +660 -0
  15. package/assets/i18n/fi.json +660 -0
  16. package/assets/i18n/fr.json +660 -0
  17. package/assets/i18n/it.json +660 -0
  18. package/assets/i18n/ja.json +660 -0
  19. package/assets/i18n/nb.json +660 -0
  20. package/assets/i18n/nl.json +660 -0
  21. package/assets/i18n/pl.json +660 -0
  22. package/assets/i18n/pt-BR.json +660 -0
  23. package/assets/i18n/ru.json +660 -0
  24. package/assets/i18n/sv.json +660 -0
  25. package/assets/i18n/zh-CN.json +660 -0
  26. package/assets/images/Wallpaper-BG-generic.svg +39 -0
  27. package/assets/images/adf-move-file-24px.svg +1 -0
  28. package/assets/images/baseline-library_books-24px.svg +2 -0
  29. package/assets/images/baseline-lock-24px.svg +1 -0
  30. package/assets/images/join-library.svg +32 -0
  31. package/esm2020/about/about.component.mjs +77 -0
  32. package/esm2020/about/aca-about.module.mjs +67 -0
  33. package/esm2020/about/alfresco-aca-content-about.mjs +5 -0
  34. package/esm2020/about/dev-mode.tokens.mjs +26 -0
  35. package/esm2020/about/package-json.token.mjs +26 -0
  36. package/esm2020/about/public-api.mjs +28 -0
  37. package/esm2020/alfresco-aca-content.mjs +5 -0
  38. package/esm2020/lib/aca-content.module.mjs +365 -0
  39. package/esm2020/lib/aca-content.routes.mjs +581 -0
  40. package/esm2020/lib/components/common/common.module.mjs +67 -0
  41. package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +57 -0
  42. package/esm2020/lib/components/common/location-link/location-link.component.mjs +177 -0
  43. package/esm2020/lib/components/common/logout/logout.component.mjs +60 -0
  44. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +65 -0
  45. package/esm2020/lib/components/common/user-info/user-info.component.mjs +86 -0
  46. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +58 -0
  47. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +65 -0
  48. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +32 -0
  49. package/esm2020/lib/components/context-menu/context-menu.component.mjs +102 -0
  50. package/esm2020/lib/components/context-menu/context-menu.module.mjs +76 -0
  51. package/esm2020/lib/components/context-menu/context-menu.service.mjs +103 -0
  52. package/esm2020/lib/components/context-menu/direction.token.mjs +29 -0
  53. package/esm2020/lib/components/context-menu/interfaces.mjs +25 -0
  54. package/esm2020/lib/components/create-menu/create-menu.component.mjs +73 -0
  55. package/esm2020/lib/components/create-menu/create-menu.module.mjs +44 -0
  56. package/esm2020/lib/components/details/details.component.mjs +99 -0
  57. package/esm2020/lib/components/dl-custom-components/document-list-custom-components.module.mjs +49 -0
  58. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +90 -0
  59. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +31 -0
  60. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +51 -0
  61. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +113 -0
  62. package/esm2020/lib/components/favorites/favorites.component.mjs +98 -0
  63. package/esm2020/lib/components/files/files.component.mjs +312 -0
  64. package/esm2020/lib/components/home/home.component.mjs +49 -0
  65. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +56 -0
  66. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +92 -0
  67. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +143 -0
  68. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +42 -0
  69. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +88 -0
  70. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +95 -0
  71. package/esm2020/lib/components/libraries/libraries.component.mjs +70 -0
  72. package/esm2020/lib/components/node-version/node-version-form.component.mjs +70 -0
  73. package/esm2020/lib/components/node-version/node-version.module.mjs +78 -0
  74. package/esm2020/lib/components/recent-files/recent-files.component.mjs +81 -0
  75. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +59 -0
  76. package/esm2020/lib/components/search/search-input/search-input.component.mjs +275 -0
  77. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +87 -0
  78. package/esm2020/lib/components/search/search-input.module.mjs +47 -0
  79. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +91 -0
  80. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +142 -0
  81. package/esm2020/lib/components/search/search-navigation.service.mjs +60 -0
  82. package/esm2020/lib/components/search/search-results/search-results.component.mjs +221 -0
  83. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +101 -0
  84. package/esm2020/lib/components/search/search-results.module.mjs +88 -0
  85. package/esm2020/lib/components/shared-files/shared-files.component.mjs +78 -0
  86. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +81 -0
  87. package/esm2020/lib/components/shared-link-view/shared-link-view.module.mjs +69 -0
  88. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +57 -0
  89. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +53 -0
  90. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +74 -0
  91. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +74 -0
  92. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +92 -0
  93. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +101 -0
  94. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +98 -0
  95. package/esm2020/lib/components/sidenav/sidenav.component.mjs +83 -0
  96. package/esm2020/lib/components/sidenav/sidenav.module.mjs +84 -0
  97. package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +84 -0
  98. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +150 -0
  99. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +79 -0
  100. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +101 -0
  101. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +75 -0
  102. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +98 -0
  103. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +80 -0
  104. package/esm2020/lib/components/toolbar/toolbar.module.mjs +88 -0
  105. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +109 -0
  106. package/esm2020/lib/components/trashcan/trashcan.component.mjs +63 -0
  107. package/esm2020/lib/components/trashcan/trashcan.module.mjs +74 -0
  108. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +50 -0
  109. package/esm2020/lib/components/view-profile/view-profile.component.mjs +174 -0
  110. package/esm2020/lib/components/view-profile/view-profile.guard.mjs +47 -0
  111. package/esm2020/lib/components/view-profile/view-profile.module.mjs +42 -0
  112. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +119 -0
  113. package/esm2020/lib/directives/directives.module.mjs +42 -0
  114. package/esm2020/lib/directives/document-list.directive.mjs +141 -0
  115. package/esm2020/lib/extensions/core.extensions.module.mjs +64 -0
  116. package/esm2020/lib/material.module.mjs +57 -0
  117. package/esm2020/lib/services/content-management.service.mjs +870 -0
  118. package/esm2020/lib/services/content-service-extension.service.mjs +63 -0
  119. package/esm2020/lib/services/content-url.service.mjs +72 -0
  120. package/esm2020/lib/services/node-actions.service.mjs +600 -0
  121. package/esm2020/lib/services/node-template.service.mjs +149 -0
  122. package/esm2020/lib/store/app-store.module.mjs +95 -0
  123. package/esm2020/lib/store/effects/app.effects.mjs +61 -0
  124. package/esm2020/lib/store/effects/contextmenu.effects.mjs +55 -0
  125. package/esm2020/lib/store/effects/download.effects.mjs +159 -0
  126. package/esm2020/lib/store/effects/favorite.effects.mjs +76 -0
  127. package/esm2020/lib/store/effects/library.effects.mjs +111 -0
  128. package/esm2020/lib/store/effects/node.effects.mjs +309 -0
  129. package/esm2020/lib/store/effects/search.effects.mjs +60 -0
  130. package/esm2020/lib/store/effects/template.effects.mjs +121 -0
  131. package/esm2020/lib/store/effects/upload.effects.mjs +169 -0
  132. package/esm2020/lib/store/effects/viewer.effects.mjs +175 -0
  133. package/esm2020/lib/store/effects.mjs +35 -0
  134. package/esm2020/lib/store/initial-state.mjs +62 -0
  135. package/esm2020/lib/store/reducers/app.reducer.mjs +211 -0
  136. package/esm2020/public-api.mjs +32 -0
  137. package/fesm2015/alfresco-aca-content-about.mjs +216 -0
  138. package/fesm2015/alfresco-aca-content-about.mjs.map +1 -0
  139. package/fesm2015/alfresco-aca-content.mjs +9771 -0
  140. package/fesm2015/alfresco-aca-content.mjs.map +1 -0
  141. package/fesm2020/alfresco-aca-content-about.mjs +214 -0
  142. package/fesm2020/alfresco-aca-content-about.mjs.map +1 -0
  143. package/fesm2020/alfresco-aca-content.mjs +9915 -0
  144. package/fesm2020/alfresco-aca-content.mjs.map +1 -0
  145. package/index.d.ts +5 -0
  146. package/lib/aca-content.module.d.ts +47 -0
  147. package/lib/aca-content.routes.d.ts +27 -0
  148. package/lib/components/common/common.module.d.ts +17 -0
  149. package/lib/components/common/language-picker/language-picker.component.d.ts +5 -0
  150. package/lib/components/common/location-link/location-link.component.d.ts +48 -0
  151. package/lib/components/common/logout/logout.component.d.ts +10 -0
  152. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +43 -0
  153. package/lib/components/common/user-info/user-info.component.d.ts +44 -0
  154. package/lib/components/context-menu/context-menu-item.component.d.ts +13 -0
  155. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +35 -0
  156. package/lib/components/context-menu/context-menu-overlay.d.ts +29 -0
  157. package/lib/components/context-menu/context-menu.component.d.ts +48 -0
  158. package/lib/components/context-menu/context-menu.module.d.ts +18 -0
  159. package/lib/components/context-menu/context-menu.service.d.ts +43 -0
  160. package/lib/components/context-menu/direction.token.d.ts +25 -0
  161. package/lib/components/context-menu/interfaces.d.ts +30 -0
  162. package/lib/components/create-menu/create-menu.component.d.ts +42 -0
  163. package/lib/components/create-menu/create-menu.module.d.ts +10 -0
  164. package/lib/components/details/details.component.d.ts +46 -0
  165. package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +14 -0
  166. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +41 -0
  167. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +35 -0
  168. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +17 -0
  169. package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +54 -0
  170. package/lib/components/favorites/favorites.component.d.ts +49 -0
  171. package/lib/components/files/files.component.d.ts +55 -0
  172. package/lib/components/home/home.component.d.ts +36 -0
  173. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +11 -0
  174. package/lib/components/info-drawer/info.drawer.module.d.ts +19 -0
  175. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +64 -0
  176. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +7 -0
  177. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +49 -0
  178. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +35 -0
  179. package/lib/components/libraries/libraries.component.d.ts +44 -0
  180. package/lib/components/node-version/node-version-form.component.d.ts +46 -0
  181. package/lib/components/node-version/node-version.module.d.ts +16 -0
  182. package/lib/components/recent-files/recent-files.component.d.ts +48 -0
  183. package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +38 -0
  184. package/lib/components/search/search-input/search-input.component.d.ts +85 -0
  185. package/lib/components/search/search-input-control/search-input-control.component.d.ts +50 -0
  186. package/lib/components/search/search-input.module.d.ts +12 -0
  187. package/lib/components/search/search-libraries-results/search-libraries-query-builder.service.d.ts +56 -0
  188. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +58 -0
  189. package/lib/components/search/search-navigation.service.d.ts +13 -0
  190. package/lib/components/search/search-results/search-results.component.d.ts +69 -0
  191. package/lib/components/search/search-results-row/search-results-row.component.d.ts +50 -0
  192. package/lib/components/search/search-results.module.d.ts +21 -0
  193. package/lib/components/shared-files/shared-files.component.d.ts +47 -0
  194. package/lib/components/shared-link-view/shared-link-view.component.d.ts +47 -0
  195. package/lib/components/shared-link-view/shared-link-view.module.d.ts +15 -0
  196. package/lib/components/sidenav/components/button-menu.component.d.ts +37 -0
  197. package/lib/components/sidenav/components/expand-menu.component.d.ts +35 -0
  198. package/lib/components/sidenav/components/sidenav-header.component.d.ts +48 -0
  199. package/lib/components/sidenav/directives/action.directive.d.ts +14 -0
  200. package/lib/components/sidenav/directives/active-link.directive.d.ts +45 -0
  201. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +44 -0
  202. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +42 -0
  203. package/lib/components/sidenav/sidenav.component.d.ts +50 -0
  204. package/lib/components/sidenav/sidenav.module.d.ts +19 -0
  205. package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +13 -0
  206. package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +47 -0
  207. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +42 -0
  208. package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +42 -0
  209. package/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.d.ts +11 -0
  210. package/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.d.ts +41 -0
  211. package/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.d.ts +10 -0
  212. package/lib/components/toolbar/toolbar.module.d.ts +20 -0
  213. package/lib/components/toolbar/view-node/view-node.component.d.ts +19 -0
  214. package/lib/components/trashcan/trashcan.component.d.ts +42 -0
  215. package/lib/components/trashcan/trashcan.module.d.ts +16 -0
  216. package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +37 -0
  217. package/lib/components/view-profile/view-profile.component.d.ts +59 -0
  218. package/lib/components/view-profile/view-profile.guard.d.ts +12 -0
  219. package/lib/components/view-profile/view-profile.module.d.ts +9 -0
  220. package/lib/dialogs/node-template/create-from-template.dialog.d.ts +49 -0
  221. package/lib/directives/directives.module.d.ts +9 -0
  222. package/lib/directives/document-list.directive.d.ts +56 -0
  223. package/lib/extensions/core.extensions.module.d.ts +14 -0
  224. package/lib/material.module.d.ts +14 -0
  225. package/lib/services/content-management.service.d.ts +100 -0
  226. package/lib/services/content-service-extension.service.d.ts +11 -0
  227. package/lib/services/content-url.service.d.ts +17 -0
  228. package/lib/services/node-actions.service.d.ts +93 -0
  229. package/lib/services/node-template.service.d.ts +34 -0
  230. package/lib/store/app-store.module.d.ts +10 -0
  231. package/lib/store/effects/app.effects.d.ts +41 -0
  232. package/lib/store/effects/contextmenu.effects.d.ts +12 -0
  233. package/lib/store/effects/download.effects.d.ts +49 -0
  234. package/lib/store/effects/favorite.effects.d.ts +38 -0
  235. package/lib/store/effects/library.effects.d.ts +43 -0
  236. package/lib/store/effects/node.effects.d.ts +56 -0
  237. package/lib/store/effects/search.effects.d.ts +37 -0
  238. package/lib/store/effects/template.effects.d.ts +54 -0
  239. package/lib/store/effects/upload.effects.d.ts +52 -0
  240. package/lib/store/effects/viewer.effects.d.ts +55 -0
  241. package/lib/store/effects.d.ts +34 -0
  242. package/lib/store/initial-state.d.ts +26 -0
  243. package/lib/store/reducers/app.reducer.d.ts +26 -0
  244. package/package.json +47 -0
  245. package/public-api.d.ts +28 -0
  246. package/ui/application.scss +53 -0
  247. package/ui/colors.scss +96 -0
  248. package/ui/custom-theme.scss +34 -0
  249. package/ui/dynamic-theme/custom-background-color.scss +14 -0
  250. package/ui/dynamic-theme/custom-palette-creator.scss +132 -0
  251. package/ui/dynamic-theme/custom-text-color.scss +8 -0
  252. package/ui/dynamic-theme/custom-theme-palettes.scss +33 -0
  253. package/ui/dynamic-theme/custom-theme.scss.tpl +72 -0
  254. package/ui/dynamic-theme/index.scss +1 -0
  255. package/ui/dynamic-theme/theme-configuration.scss.tpl +14 -0
  256. package/ui/dynamic-theme/typography.scss +94 -0
  257. package/ui/mixins.scss +26 -0
  258. package/ui/overrides/adf-about.theme.scss +38 -0
  259. package/ui/overrides/adf-pagination.theme.scss +46 -0
  260. package/ui/overrides/adf-style-fixes.theme.scss +18 -0
  261. package/ui/overrides/ay11.scss +232 -0
  262. package/ui/theme.scss +55 -0
  263. package/ui/variables/font-family.scss +1 -0
  264. package/ui/variables/variables.scss +92 -0
@@ -0,0 +1,74 @@
1
+ /*!
2
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Directive, Input, HostListener } from '@angular/core';
25
+ import { PRIMARY_OUTLET, Router } from '@angular/router';
26
+ import { Store } from '@ngrx/store';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@angular/router";
29
+ import * as i2 from "@ngrx/store";
30
+ export class ActionDirective {
31
+ constructor(router, store) {
32
+ this.router = router;
33
+ this.store = store;
34
+ }
35
+ onClick() {
36
+ if (this.action.url) {
37
+ this.router.navigate(this.getNavigationCommands(this.action.url));
38
+ }
39
+ else if (this.action.click) {
40
+ this.store.dispatch({
41
+ type: this.action.click.action,
42
+ payload: this.getNavigationCommands(this.action.click.payload)
43
+ });
44
+ }
45
+ }
46
+ getNavigationCommands(url) {
47
+ const urlTree = this.router.parseUrl(url);
48
+ const urlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];
49
+ if (!urlSegmentGroup) {
50
+ return [url];
51
+ }
52
+ const urlSegments = urlSegmentGroup.segments;
53
+ return urlSegments.reduce(function (acc, item) {
54
+ acc.push(item.path, item.parameters);
55
+ return acc;
56
+ }, []);
57
+ }
58
+ }
59
+ ActionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ActionDirective, deps: [{ token: i1.Router }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Directive });
60
+ ActionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ActionDirective, selector: "[action]", inputs: { action: "action" }, host: { listeners: { "click": "onClick()" } }, exportAs: ["action"], ngImport: i0 });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ActionDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ /* eslint-disable-next-line */
65
+ selector: '[action]',
66
+ exportAs: 'action'
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Store }]; }, propDecorators: { action: [{
69
+ type: Input
70
+ }], onClick: [{
71
+ type: HostListener,
72
+ args: ['click']
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaWRlbmF2L2RpcmVjdGl2ZXMvYWN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFRcEMsTUFBTSxPQUFPLGVBQWU7SUFlMUIsWUFBb0IsTUFBYyxFQUFVLEtBQXNCO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFpQjtJQUFHLENBQUM7SUFYdEUsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNuRTthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNO2dCQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUMvRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFJTyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBRTdDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxJQUFJO1lBQzNDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOzs0R0EvQlUsZUFBZTtnR0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsOEJBQThCO29CQUM5QixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO2lIQUVVLE1BQU07c0JBQWQsS0FBSztnQkFHTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBSSU1BUllfT1VUTEVULCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBTdG9yZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICBzZWxlY3RvcjogJ1thY3Rpb25dJyxcbiAgZXhwb3J0QXM6ICdhY3Rpb24nXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIGFjdGlvbjtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuYWN0aW9uLnVybCkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodGhpcy5nZXROYXZpZ2F0aW9uQ29tbWFuZHModGhpcy5hY3Rpb24udXJsKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGlvbi5jbGljaykge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6IHRoaXMuYWN0aW9uLmNsaWNrLmFjdGlvbixcbiAgICAgICAgcGF5bG9hZDogdGhpcy5nZXROYXZpZ2F0aW9uQ29tbWFuZHModGhpcy5hY3Rpb24uY2xpY2sucGF5bG9hZClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPikge31cblxuICBwcml2YXRlIGdldE5hdmlnYXRpb25Db21tYW5kcyh1cmw6IHN0cmluZyk6IGFueVtdIHtcbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodXJsKTtcbiAgICBjb25zdCB1cmxTZWdtZW50R3JvdXAgPSB1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdO1xuXG4gICAgaWYgKCF1cmxTZWdtZW50R3JvdXApIHtcbiAgICAgIHJldHVybiBbdXJsXTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmxTZWdtZW50cyA9IHVybFNlZ21lbnRHcm91cC5zZWdtZW50cztcblxuICAgIHJldHVybiB1cmxTZWdtZW50cy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgaXRlbSkge1xuICAgICAgYWNjLnB1c2goaXRlbS5wYXRoLCBpdGVtLnBhcmFtZXRlcnMpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,92 @@
1
+ /*!
2
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Directive, Input, ElementRef, Renderer2, ContentChildren, QueryList, Optional } from '@angular/core';
25
+ import { Router, NavigationEnd } from '@angular/router';
26
+ import { filter, takeUntil } from 'rxjs/operators';
27
+ import { Subject } from 'rxjs';
28
+ import { ActionDirective } from './action.directive';
29
+ import * as i0 from "@angular/core";
30
+ import * as i1 from "@angular/router";
31
+ import * as i2 from "./action.directive";
32
+ export class ActiveLinkDirective {
33
+ constructor(router, element, renderer, action) {
34
+ this.router = router;
35
+ this.element = element;
36
+ this.renderer = renderer;
37
+ this.action = action;
38
+ this.isLinkActive = false;
39
+ this.onDestroy$ = new Subject();
40
+ }
41
+ ngOnInit() {
42
+ this.router.events
43
+ .pipe(filter((event) => event instanceof NavigationEnd), takeUntil(this.onDestroy$))
44
+ .subscribe((event) => {
45
+ this.update(event.urlAfterRedirects);
46
+ });
47
+ }
48
+ update(url) {
49
+ if (this.action) {
50
+ const itemUrl = this.resolveUrl(this.action);
51
+ this.render(url, itemUrl);
52
+ }
53
+ this.links.map((item) => {
54
+ const itemUrl = this.resolveUrl(item);
55
+ this.render(url, itemUrl);
56
+ });
57
+ }
58
+ render(routerUrl, actionUrl) {
59
+ if (routerUrl && routerUrl.substring(1).startsWith(actionUrl)) {
60
+ this.isLinkActive = true;
61
+ this.renderer.addClass(this.element.nativeElement, this.acaActiveLink);
62
+ }
63
+ else {
64
+ this.isLinkActive = false;
65
+ this.renderer.removeClass(this.element.nativeElement, this.acaActiveLink);
66
+ }
67
+ }
68
+ ngAfterContentInit() {
69
+ this.links.changes.subscribe(() => this.update(this.router.url));
70
+ this.update(this.router.url);
71
+ }
72
+ resolveUrl(item) {
73
+ return (item.action && item.action.click && item.action.click.payload) || item.action.route;
74
+ }
75
+ }
76
+ ActiveLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ActiveLinkDirective, deps: [{ token: i1.Router }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.ActionDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
77
+ ActiveLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ActiveLinkDirective, selector: "[acaActiveLink]", inputs: { acaActiveLink: "acaActiveLink" }, queries: [{ propertyName: "links", predicate: ActionDirective, descendants: true }], exportAs: ["acaActiveLink"], ngImport: i0 });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ActiveLinkDirective, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: '[acaActiveLink]',
82
+ exportAs: 'acaActiveLink'
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.ActionDirective, decorators: [{
85
+ type: Optional
86
+ }] }]; }, propDecorators: { acaActiveLink: [{
87
+ type: Input
88
+ }], links: [{
89
+ type: ContentChildren,
90
+ args: [ActionDirective, { descendants: true }]
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NpZGVuYXYvZGlyZWN0aXZlcy9hY3RpdmUtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQW9CLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFNckQsTUFBTSxPQUFPLG1CQUFtQjtJQVE5QixZQUFvQixNQUFjLEVBQVUsT0FBbUIsRUFBVSxRQUFtQixFQUFzQixNQUF3QjtRQUF0SCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBc0IsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFKMUksaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFYixlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFFK0UsQ0FBQztJQUU5SSxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2YsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUNqRCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFXO1FBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE1BQU0sQ0FBQyxTQUFpQixFQUFFLFNBQWlCO1FBQ2pELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBSTtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM5RixDQUFDOztnSEFsRFUsbUJBQW1CO29HQUFuQixtQkFBbUIseUhBRWIsZUFBZTsyRkFGckIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBU2dHLFFBQVE7NENBUDlGLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRU4sS0FBSztzQkFESixlQUFlO3VCQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hY3Rpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjYUFjdGl2ZUxpbmtdJyxcbiAgZXhwb3J0QXM6ICdhY2FBY3RpdmVMaW5rJ1xufSlcbmV4cG9ydCBjbGFzcyBBY3RpdmVMaW5rRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgYWNhQWN0aXZlTGluaztcbiAgQENvbnRlbnRDaGlsZHJlbihBY3Rpb25EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgbGlua3M6IFF1ZXJ5TGlzdDxBY3Rpb25EaXJlY3RpdmU+O1xuICBpc0xpbmtBY3RpdmUgPSBmYWxzZTtcblxuICBwcml2YXRlIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBAT3B0aW9uYWwoKSBwcml2YXRlIGFjdGlvbj86IEFjdGlvbkRpcmVjdGl2ZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGUoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZSh1cmw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmFjdGlvbikge1xuICAgICAgY29uc3QgaXRlbVVybCA9IHRoaXMucmVzb2x2ZVVybCh0aGlzLmFjdGlvbik7XG4gICAgICB0aGlzLnJlbmRlcih1cmwsIGl0ZW1VcmwpO1xuICAgIH1cblxuICAgIHRoaXMubGlua3MubWFwKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBpdGVtVXJsID0gdGhpcy5yZXNvbHZlVXJsKGl0ZW0pO1xuICAgICAgdGhpcy5yZW5kZXIodXJsLCBpdGVtVXJsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKHJvdXRlclVybDogc3RyaW5nLCBhY3Rpb25Vcmw6IHN0cmluZykge1xuICAgIGlmIChyb3V0ZXJVcmwgJiYgcm91dGVyVXJsLnN1YnN0cmluZygxKS5zdGFydHNXaXRoKGFjdGlvblVybCkpIHtcbiAgICAgIHRoaXMuaXNMaW5rQWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuYWNhQWN0aXZlTGluayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNMaW5rQWN0aXZlID0gZmFsc2U7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmFjYUFjdGl2ZUxpbmspO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmxpbmtzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlKHRoaXMucm91dGVyLnVybCkpO1xuICAgIHRoaXMudXBkYXRlKHRoaXMucm91dGVyLnVybCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVVcmwoaXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChpdGVtLmFjdGlvbiAmJiBpdGVtLmFjdGlvbi5jbGljayAmJiBpdGVtLmFjdGlvbi5jbGljay5wYXlsb2FkKSB8fCBpdGVtLmFjdGlvbi5yb3V0ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,101 @@
1
+ /*!
2
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Directive, Input, HostListener } from '@angular/core';
25
+ import { Router, NavigationEnd, PRIMARY_OUTLET } from '@angular/router';
26
+ import { filter, takeUntil } from 'rxjs/operators';
27
+ import { Subject } from 'rxjs';
28
+ import { MatExpansionPanel } from '@angular/material/expansion';
29
+ import { Store } from '@ngrx/store';
30
+ import * as i0 from "@angular/core";
31
+ import * as i1 from "@ngrx/store";
32
+ import * as i2 from "@angular/router";
33
+ import * as i3 from "@angular/material/expansion";
34
+ export class ExpansionPanelDirective {
35
+ constructor(store, router, expansionPanel) {
36
+ this.store = store;
37
+ this.router = router;
38
+ this.expansionPanel = expansionPanel;
39
+ this.hasActiveChildren = false;
40
+ this.onDestroy$ = new Subject();
41
+ }
42
+ onClick() {
43
+ if (this.expansionPanel.expanded && !this.hasActiveLinks()) {
44
+ const firstChild = this.acaExpansionPanel.children[0];
45
+ if (firstChild.url) {
46
+ this.router.navigate(this.getNavigationCommands(firstChild.url));
47
+ }
48
+ else {
49
+ this.store.dispatch({
50
+ type: firstChild.action.action,
51
+ payload: this.getNavigationCommands(firstChild.action.payload)
52
+ });
53
+ }
54
+ }
55
+ }
56
+ hasActiveLinks() {
57
+ if (this.acaExpansionPanel && this.acaExpansionPanel.children) {
58
+ return this.acaExpansionPanel.children.some((child) => this.router.url.startsWith(child.url || child.action.payload));
59
+ }
60
+ return false;
61
+ }
62
+ ngOnInit() {
63
+ this.hasActiveChildren = this.hasActiveLinks();
64
+ this.router.events
65
+ .pipe(filter((event) => event instanceof NavigationEnd), takeUntil(this.onDestroy$))
66
+ .subscribe(() => {
67
+ this.hasActiveChildren = this.hasActiveLinks();
68
+ });
69
+ }
70
+ ngOnDestroy() {
71
+ this.onDestroy$.next(true);
72
+ this.onDestroy$.complete();
73
+ }
74
+ getNavigationCommands(url) {
75
+ const urlTree = this.router.parseUrl(url);
76
+ const urlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];
77
+ if (!urlSegmentGroup) {
78
+ return [url];
79
+ }
80
+ const urlSegments = urlSegmentGroup.segments;
81
+ return urlSegments.reduce(function (acc, item) {
82
+ acc.push(item.path, item.parameters);
83
+ return acc;
84
+ }, []);
85
+ }
86
+ }
87
+ ExpansionPanelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ExpansionPanelDirective, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i3.MatExpansionPanel }], target: i0.ɵɵFactoryTarget.Directive });
88
+ ExpansionPanelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: ExpansionPanelDirective, selector: "[acaExpansionPanel]", inputs: { acaExpansionPanel: "acaExpansionPanel" }, host: { listeners: { "click": "onClick()" } }, exportAs: ["acaExpansionPanel"], ngImport: i0 });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ExpansionPanelDirective, decorators: [{
90
+ type: Directive,
91
+ args: [{
92
+ selector: '[acaExpansionPanel]',
93
+ exportAs: 'acaExpansionPanel'
94
+ }]
95
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i3.MatExpansionPanel }]; }, propDecorators: { acaExpansionPanel: [{
96
+ type: Input
97
+ }], onClick: [{
98
+ type: HostListener,
99
+ args: ['click']
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaWRlbmF2L2RpcmVjdGl2ZXMvZXhwYW5zaW9uLXBhbmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBTXBDLE1BQU0sT0FBTyx1QkFBdUI7SUFxQmxDLFlBQW9CLEtBQWlCLEVBQVUsTUFBYyxFQUFVLGNBQWlDO1FBQXBGLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbkJqRyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFekIsZUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBaUI2QyxDQUFDO0lBZDVHLE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7b0JBQ2xCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU07b0JBQzlCLE9BQU8sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7aUJBQy9ELENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBSUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDN0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3ZIO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2YsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUNqRCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBRTdDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxJQUFJO1lBQzNDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOztvSEE5RFUsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtpSkFFVSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBTU4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kLCBQUklNQVJZX09VVExFVCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNhRXhwYW5zaW9uUGFuZWxdJyxcbiAgZXhwb3J0QXM6ICdhY2FFeHBhbnNpb25QYW5lbCdcbn0pXG5leHBvcnQgY2xhc3MgRXhwYW5zaW9uUGFuZWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGFjYUV4cGFuc2lvblBhbmVsO1xuICBwdWJsaWMgaGFzQWN0aXZlQ2hpbGRyZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5leHBhbnNpb25QYW5lbC5leHBhbmRlZCAmJiAhdGhpcy5oYXNBY3RpdmVMaW5rcygpKSB7XG4gICAgICBjb25zdCBmaXJzdENoaWxkID0gdGhpcy5hY2FFeHBhbnNpb25QYW5lbC5jaGlsZHJlblswXTtcbiAgICAgIGlmIChmaXJzdENoaWxkLnVybCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0aGlzLmdldE5hdmlnYXRpb25Db21tYW5kcyhmaXJzdENoaWxkLnVybCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogZmlyc3RDaGlsZC5hY3Rpb24uYWN0aW9uLFxuICAgICAgICAgIHBheWxvYWQ6IHRoaXMuZ2V0TmF2aWdhdGlvbkNvbW1hbmRzKGZpcnN0Q2hpbGQuYWN0aW9uLnBheWxvYWQpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgZXhwYW5zaW9uUGFuZWw6IE1hdEV4cGFuc2lvblBhbmVsKSB7fVxuXG4gIGhhc0FjdGl2ZUxpbmtzKCkge1xuICAgIGlmICh0aGlzLmFjYUV4cGFuc2lvblBhbmVsICYmIHRoaXMuYWNhRXhwYW5zaW9uUGFuZWwuY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmFjYUV4cGFuc2lvblBhbmVsLmNoaWxkcmVuLnNvbWUoKGNoaWxkKSA9PiB0aGlzLnJvdXRlci51cmwuc3RhcnRzV2l0aChjaGlsZC51cmwgfHwgY2hpbGQuYWN0aW9uLnBheWxvYWQpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5oYXNBY3RpdmVDaGlsZHJlbiA9IHRoaXMuaGFzQWN0aXZlTGlua3MoKTtcblxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oYXNBY3RpdmVDaGlsZHJlbiA9IHRoaXMuaGFzQWN0aXZlTGlua3MoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5hdmlnYXRpb25Db21tYW5kcyh1cmw6IHN0cmluZyk6IGFueVtdIHtcbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodXJsKTtcbiAgICBjb25zdCB1cmxTZWdtZW50R3JvdXAgPSB1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdO1xuXG4gICAgaWYgKCF1cmxTZWdtZW50R3JvdXApIHtcbiAgICAgIHJldHVybiBbdXJsXTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmxTZWdtZW50cyA9IHVybFNlZ21lbnRHcm91cC5zZWdtZW50cztcblxuICAgIHJldHVybiB1cmxTZWdtZW50cy5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgaXRlbSkge1xuICAgICAgYWNjLnB1c2goaXRlbS5wYXRoLCBpdGVtLnBhcmFtZXRlcnMpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,98 @@
1
+ /*!
2
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Directive, Input, HostListener } from '@angular/core';
25
+ import { Router, NavigationEnd, PRIMARY_OUTLET } from '@angular/router';
26
+ import { filter, takeUntil } from 'rxjs/operators';
27
+ import { Subject } from 'rxjs';
28
+ import { Store } from '@ngrx/store';
29
+ import * as i0 from "@angular/core";
30
+ import * as i1 from "@ngrx/store";
31
+ import * as i2 from "@angular/router";
32
+ export class MenuPanelDirective {
33
+ constructor(store, router) {
34
+ this.store = store;
35
+ this.router = router;
36
+ this.hasActiveChildren = false;
37
+ this.onDestroy$ = new Subject();
38
+ }
39
+ menuOpened() {
40
+ if (this.acaMenuPanel.children && !this.hasActiveLinks()) {
41
+ const firstChild = this.acaMenuPanel.children[0];
42
+ if (firstChild.url) {
43
+ this.router.navigate(this.getNavigationCommands(firstChild.url));
44
+ }
45
+ else {
46
+ this.store.dispatch({
47
+ type: firstChild.action.action,
48
+ payload: this.getNavigationCommands(firstChild.action.payload)
49
+ });
50
+ }
51
+ }
52
+ }
53
+ hasActiveLinks() {
54
+ if (this.acaMenuPanel && this.acaMenuPanel.children) {
55
+ return this.acaMenuPanel.children.some((child) => this.router.url.startsWith(child.url || child.action.payload));
56
+ }
57
+ return false;
58
+ }
59
+ ngOnInit() {
60
+ this.hasActiveChildren = this.hasActiveLinks();
61
+ this.router.events
62
+ .pipe(filter((event) => event instanceof NavigationEnd), takeUntil(this.onDestroy$))
63
+ .subscribe(() => {
64
+ this.hasActiveChildren = this.hasActiveLinks();
65
+ });
66
+ }
67
+ ngOnDestroy() {
68
+ this.onDestroy$.next(true);
69
+ this.onDestroy$.complete();
70
+ }
71
+ getNavigationCommands(url) {
72
+ const urlTree = this.router.parseUrl(url);
73
+ const urlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];
74
+ if (!urlSegmentGroup) {
75
+ return [url];
76
+ }
77
+ const urlSegments = urlSegmentGroup.segments;
78
+ return urlSegments.reduce(function (acc, item) {
79
+ acc.push(item.path, item.parameters);
80
+ return acc;
81
+ }, []);
82
+ }
83
+ }
84
+ MenuPanelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MenuPanelDirective, deps: [{ token: i1.Store }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Directive });
85
+ MenuPanelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: MenuPanelDirective, selector: "[acaMenuPanel]", inputs: { acaMenuPanel: "acaMenuPanel" }, host: { listeners: { "menuOpened": "menuOpened()" } }, exportAs: ["acaMenuPanel"], ngImport: i0 });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MenuPanelDirective, decorators: [{
87
+ type: Directive,
88
+ args: [{
89
+ selector: '[acaMenuPanel]',
90
+ exportAs: 'acaMenuPanel'
91
+ }]
92
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }]; }, propDecorators: { acaMenuPanel: [{
93
+ type: Input
94
+ }], menuOpened: [{
95
+ type: HostListener,
96
+ args: ['menuOpened']
97
+ }] } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1wYW5lbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2lkZW5hdi9kaXJlY3RpdmVzL21lbnUtcGFuZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQU1wQyxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QixZQUFvQixLQUFpQixFQUFVLE1BQWM7UUFBekMsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFuQjdELHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUVsQixlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFpQkUsQ0FBQztJQWRqRSxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNsRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztvQkFDbEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztpQkFDL0QsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7SUFJRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ25ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDbEg7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQ2pELFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEdBQVc7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDZDtRQUVELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFFN0MsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLElBQUk7WUFDM0MsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7OytHQTlEVSxrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxjQUFjO2lCQUN6QjtpSEFFVSxZQUFZO3NCQUFwQixLQUFLO2dCQU1OLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCwgUFJJTUFSWV9PVVRMRVQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjYU1lbnVQYW5lbF0nLFxuICBleHBvcnRBczogJ2FjYU1lbnVQYW5lbCdcbn0pXG5leHBvcnQgY2xhc3MgTWVudVBhbmVsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBhY2FNZW51UGFuZWw7XG4gIGhhc0FjdGl2ZUNoaWxkcmVuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBASG9zdExpc3RlbmVyKCdtZW51T3BlbmVkJylcbiAgbWVudU9wZW5lZCgpIHtcbiAgICBpZiAodGhpcy5hY2FNZW51UGFuZWwuY2hpbGRyZW4gJiYgIXRoaXMuaGFzQWN0aXZlTGlua3MoKSkge1xuICAgICAgY29uc3QgZmlyc3RDaGlsZCA9IHRoaXMuYWNhTWVudVBhbmVsLmNoaWxkcmVuWzBdO1xuICAgICAgaWYgKGZpcnN0Q2hpbGQudXJsKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHRoaXMuZ2V0TmF2aWdhdGlvbkNvbW1hbmRzKGZpcnN0Q2hpbGQudXJsKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHtcbiAgICAgICAgICB0eXBlOiBmaXJzdENoaWxkLmFjdGlvbi5hY3Rpb24sXG4gICAgICAgICAgcGF5bG9hZDogdGhpcy5nZXROYXZpZ2F0aW9uQ29tbWFuZHMoZmlyc3RDaGlsZC5hY3Rpb24ucGF5bG9hZClcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBoYXNBY3RpdmVMaW5rcygpIHtcbiAgICBpZiAodGhpcy5hY2FNZW51UGFuZWwgJiYgdGhpcy5hY2FNZW51UGFuZWwuY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmFjYU1lbnVQYW5lbC5jaGlsZHJlbi5zb21lKChjaGlsZCkgPT4gdGhpcy5yb3V0ZXIudXJsLnN0YXJ0c1dpdGgoY2hpbGQudXJsIHx8IGNoaWxkLmFjdGlvbi5wYXlsb2FkKSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGFzQWN0aXZlQ2hpbGRyZW4gPSB0aGlzLmhhc0FjdGl2ZUxpbmtzKCk7XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaGFzQWN0aXZlQ2hpbGRyZW4gPSB0aGlzLmhhc0FjdGl2ZUxpbmtzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROYXZpZ2F0aW9uQ29tbWFuZHModXJsOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHVybCk7XG4gICAgY29uc3QgdXJsU2VnbWVudEdyb3VwID0gdXJsVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXTtcblxuICAgIGlmICghdXJsU2VnbWVudEdyb3VwKSB7XG4gICAgICByZXR1cm4gW3VybF07XG4gICAgfVxuXG4gICAgY29uc3QgdXJsU2VnbWVudHMgPSB1cmxTZWdtZW50R3JvdXAuc2VnbWVudHM7XG5cbiAgICByZXR1cm4gdXJsU2VnbWVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGl0ZW0pIHtcbiAgICAgIGFjYy5wdXNoKGl0ZW0ucGF0aCwgaXRlbS5wYXJhbWV0ZXJzKTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,83 @@
1
+ /*!
2
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
25
+ import { Store } from '@ngrx/store';
26
+ import { getSideNavState } from '@alfresco/aca-shared/store';
27
+ import { Subject } from 'rxjs';
28
+ import { takeUntil, distinctUntilChanged, debounceTime } from 'rxjs/operators';
29
+ import { AppExtensionService, AppService } from '@alfresco/aca-shared';
30
+ import * as i0 from "@angular/core";
31
+ import * as i1 from "@ngrx/store";
32
+ import * as i2 from "@alfresco/aca-shared";
33
+ import * as i3 from "@angular/common";
34
+ import * as i4 from "@angular/material/list";
35
+ import * as i5 from "@alfresco/adf-extensions";
36
+ import * as i6 from "./components/expand-menu.component";
37
+ import * as i7 from "./components/sidenav-header.component";
38
+ export class SidenavComponent {
39
+ constructor(store, extensions, appService) {
40
+ this.store = store;
41
+ this.extensions = extensions;
42
+ this.appService = appService;
43
+ this.data = {};
44
+ this.groups = [];
45
+ this.onDestroy$ = new Subject();
46
+ }
47
+ ngOnInit() {
48
+ this.store
49
+ .select(getSideNavState)
50
+ .pipe(debounceTime(300), distinctUntilChanged(), takeUntil(this.onDestroy$))
51
+ .subscribe(() => {
52
+ this.groups = this.extensions.getApplicationNavigation(this.extensions.navbar);
53
+ });
54
+ this.appService.appNavNarMode$.next(this.data.mode);
55
+ this.appService.toggleAppNavBar$.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.toggleNavBar());
56
+ }
57
+ trackByGroupId(_, obj) {
58
+ return obj.id;
59
+ }
60
+ trackByLinkId(_, obj) {
61
+ return obj.id;
62
+ }
63
+ toggleClick() {
64
+ this.toggleNavBar();
65
+ }
66
+ toggleNavBar() {
67
+ this.data.layout.toggleMenu();
68
+ this.appService.appNavNarMode$.next(this.data.layout.isMenuMinimized ? 'collapsed' : 'expanded');
69
+ }
70
+ ngOnDestroy() {
71
+ this.onDestroy$.next(true);
72
+ this.onDestroy$.complete();
73
+ }
74
+ }
75
+ SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SidenavComponent, deps: [{ token: i1.Store }, { token: i2.AppExtensionService }, { token: i2.AppService }], target: i0.ɵɵFactoryTarget.Component });
76
+ SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SidenavComponent, selector: "app-sidenav", inputs: { data: "data" }, host: { classAttribute: "app-sidenav" }, ngImport: i0, template: "<div class=\"sidenav\">\n <app-sidenav-header (toggleNavBar)=\"toggleClick()\"></app-sidenav-header>\n\n <div class=\"section-sub-actions\">\n <div *ngFor=\"let group of groups; trackBy: trackByGroupId\" class=\"section\">\n <mat-list-item *ngFor=\"let item of group.items; trackBy: trackByLinkId\">\n <ng-container *ngIf=\"!item.component\">\n <app-expand-menu [item]=\"item\"></app-expand-menu>\n </ng-container>\n <ng-container *ngIf=\"item.component\">\n <adf-dynamic-component [data]=\"{ item: item, state: 'expanded' }\" [id]=\"item.component\"></adf-dynamic-component>\n </ng-container>\n </mat-list-item>\n </div>\n </div>\n</div>\n", styles: [".sidenav{display:flex;flex:1;flex-direction:column;height:100%;overflow-y:hidden;background:var(--theme-sidenav-background-color)}.sidenav-header{padding:32px 0}.sidenav-header-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}.sidenav-header-title-logo img{cursor:pointer;height:28px;vertical-align:middle;transform:scale(.7)}.sidenav-header-title-text{flex:1;color:var(--theme-selected-text-color);padding-left:12px;letter-spacing:.25px;font-style:normal;font-weight:400;font-size:var(--theme-body-1-font-size);cursor:pointer}.sidenav .section:last-child{border-bottom:0}.sidenav .section-sub-actions{overflow-y:auto}.sidenav .section-sub-actions .mat-expansion-panel{width:100%;background-color:unset;box-shadow:none;border-radius:0}.sidenav .section-sub-actions .mat-expansion-panel-header{height:32px!important;padding:0 32px 0 0;display:flex;align-items:center;border:none}.sidenav .section-sub-actions .mat-expansion-panel-header-title{display:flex;flex-direction:row}.sidenav .section-sub-actions .mat-expansion-panel-header-title .mat-button{line-height:32px;align-items:center;border:none!important}.sidenav .section-sub-actions .mat-expansion-panel-header-title .action-button__label{font-size:var(--theme-caption-font-size)}.sidenav .section-sub-actions .mat-expansion-panel-body{padding:0 0 16px;font-size:var(--theme-body-1-font-size)}.sidenav .section-sub-actions .mat-expansion-panel-body .mat-button{line-height:32px;align-items:center}.sidenav .section-sub-actions .mat-expansion-panel-body .mat-button .mat-button-wrapper{display:flex}.sidenav .section-sub-actions .mat-expansion-panel .mat-expansion-indicator{display:flex;align-content:center}.sidenav .section-sub-actions .mat-expansion-panel .mat-expansion-indicator:after{transform:rotate(226deg)}.sidenav .section-sub-actions .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none!important}.sidenav .section-sub-actions .item{flex-direction:row;display:flex;align-items:center;text-decoration:none;width:100%;-webkit-user-select:none;user-select:none}.sidenav .section-sub-actions .item:hover .action-button__label{color:var(--theme-selected-text-color)}.sidenav .section-sub-actions .action-button{color:var(--theme-action-button-text-color);height:32px;padding:0 24px;border-radius:0}.sidenav .section-sub-actions .full-width{display:flex;width:100%}.sidenav .section-sub-actions .action-button--active{color:var(--theme-selected-text-color)!important;background:var(--theme-selected-background-color)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i5.DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }, { kind: "component", type: i6.ExpandMenuComponent, selector: "app-expand-menu", inputs: ["item"] }, { kind: "component", type: i7.SidenavHeaderComponent, selector: "app-sidenav-header", outputs: ["toggleNavBar"] }], encapsulation: i0.ViewEncapsulation.None });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SidenavComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'app-sidenav', encapsulation: ViewEncapsulation.None, host: { class: 'app-sidenav' }, template: "<div class=\"sidenav\">\n <app-sidenav-header (toggleNavBar)=\"toggleClick()\"></app-sidenav-header>\n\n <div class=\"section-sub-actions\">\n <div *ngFor=\"let group of groups; trackBy: trackByGroupId\" class=\"section\">\n <mat-list-item *ngFor=\"let item of group.items; trackBy: trackByLinkId\">\n <ng-container *ngIf=\"!item.component\">\n <app-expand-menu [item]=\"item\"></app-expand-menu>\n </ng-container>\n <ng-container *ngIf=\"item.component\">\n <adf-dynamic-component [data]=\"{ item: item, state: 'expanded' }\" [id]=\"item.component\"></adf-dynamic-component>\n </ng-container>\n </mat-list-item>\n </div>\n </div>\n</div>\n", styles: [".sidenav{display:flex;flex:1;flex-direction:column;height:100%;overflow-y:hidden;background:var(--theme-sidenav-background-color)}.sidenav-header{padding:32px 0}.sidenav-header-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}.sidenav-header-title-logo img{cursor:pointer;height:28px;vertical-align:middle;transform:scale(.7)}.sidenav-header-title-text{flex:1;color:var(--theme-selected-text-color);padding-left:12px;letter-spacing:.25px;font-style:normal;font-weight:400;font-size:var(--theme-body-1-font-size);cursor:pointer}.sidenav .section:last-child{border-bottom:0}.sidenav .section-sub-actions{overflow-y:auto}.sidenav .section-sub-actions .mat-expansion-panel{width:100%;background-color:unset;box-shadow:none;border-radius:0}.sidenav .section-sub-actions .mat-expansion-panel-header{height:32px!important;padding:0 32px 0 0;display:flex;align-items:center;border:none}.sidenav .section-sub-actions .mat-expansion-panel-header-title{display:flex;flex-direction:row}.sidenav .section-sub-actions .mat-expansion-panel-header-title .mat-button{line-height:32px;align-items:center;border:none!important}.sidenav .section-sub-actions .mat-expansion-panel-header-title .action-button__label{font-size:var(--theme-caption-font-size)}.sidenav .section-sub-actions .mat-expansion-panel-body{padding:0 0 16px;font-size:var(--theme-body-1-font-size)}.sidenav .section-sub-actions .mat-expansion-panel-body .mat-button{line-height:32px;align-items:center}.sidenav .section-sub-actions .mat-expansion-panel-body .mat-button .mat-button-wrapper{display:flex}.sidenav .section-sub-actions .mat-expansion-panel .mat-expansion-indicator{display:flex;align-content:center}.sidenav .section-sub-actions .mat-expansion-panel .mat-expansion-indicator:after{transform:rotate(226deg)}.sidenav .section-sub-actions .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:none!important}.sidenav .section-sub-actions .item{flex-direction:row;display:flex;align-items:center;text-decoration:none;width:100%;-webkit-user-select:none;user-select:none}.sidenav .section-sub-actions .item:hover .action-button__label{color:var(--theme-selected-text-color)}.sidenav .section-sub-actions .action-button{color:var(--theme-action-button-text-color);height:32px;padding:0 24px;border-radius:0}.sidenav .section-sub-actions .full-width{display:flex;width:100%}.sidenav .section-sub-actions .action-button--active{color:var(--theme-selected-text-color)!important;background:var(--theme-selected-background-color)}\n"] }]
80
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AppExtensionService }, { type: i2.AppService }]; }, propDecorators: { data: [{
81
+ type: Input
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFVdkUsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixZQUFvQixLQUFzQixFQUFVLFVBQStCLEVBQVUsVUFBc0I7UUFBL0YsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFSbkgsU0FBSSxHQUdBLEVBQUUsQ0FBQztRQUVQLFdBQU0sR0FBMEIsRUFBRSxDQUFDO1FBQzNCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBRTBFLENBQUM7SUFFdkgsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLO2FBQ1AsTUFBTSxDQUFDLGVBQWUsQ0FBQzthQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzRSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRCxjQUFjLENBQUMsQ0FBUyxFQUFFLEdBQW1CO1FBQzNDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVMsRUFBRSxHQUFrQjtRQUN6QyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7NkdBNUNVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHNIQ3hDN0IsNnVCQWdCQTsyRkR3QmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7dUpBSTlCLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkJhckdyb3VwUmVmLCBOYXZCYXJMaW5rUmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIGdldFNpZGVOYXZTdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UsIEFwcFNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBTaWRlbmF2TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNpZGVuYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC1zaWRlbmF2JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNpZGVuYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGRhdGE6IHtcbiAgICBsYXlvdXQ/OiBTaWRlbmF2TGF5b3V0Q29tcG9uZW50O1xuICAgIG1vZGU/OiAnY29sbGFwc2VkJyB8ICdleHBhbmRlZCc7XG4gIH0gPSB7fTtcblxuICBncm91cHM6IEFycmF5PE5hdkJhckdyb3VwUmVmPiA9IFtdO1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPiwgcHJpdmF0ZSBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLCBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRTaWRlTmF2U3RhdGUpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5ncm91cHMgPSB0aGlzLmV4dGVuc2lvbnMuZ2V0QXBwbGljYXRpb25OYXZpZ2F0aW9uKHRoaXMuZXh0ZW5zaW9ucy5uYXZiYXIpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFwcFNlcnZpY2UuYXBwTmF2TmFyTW9kZSQubmV4dCh0aGlzLmRhdGEubW9kZSk7XG4gICAgdGhpcy5hcHBTZXJ2aWNlLnRvZ2dsZUFwcE5hdkJhciQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlTmF2QmFyKCkpO1xuICB9XG5cbiAgdHJhY2tCeUdyb3VwSWQoXzogbnVtYmVyLCBvYmo6IE5hdkJhckdyb3VwUmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2JqLmlkO1xuICB9XG5cbiAgdHJhY2tCeUxpbmtJZChfOiBudW1iZXIsIG9iajogTmF2QmFyTGlua1JlZik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG9iai5pZDtcbiAgfVxuXG4gIHRvZ2dsZUNsaWNrKCkge1xuICAgIHRoaXMudG9nZ2xlTmF2QmFyKCk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZU5hdkJhcigpIHtcbiAgICB0aGlzLmRhdGEubGF5b3V0LnRvZ2dsZU1lbnUoKTtcbiAgICB0aGlzLmFwcFNlcnZpY2UuYXBwTmF2TmFyTW9kZSQubmV4dCh0aGlzLmRhdGEubGF5b3V0LmlzTWVudU1pbmltaXplZCA/ICdjb2xsYXBzZWQnIDogJ2V4cGFuZGVkJyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNpZGVuYXZcIj5cbiAgICA8YXBwLXNpZGVuYXYtaGVhZGVyICh0b2dnbGVOYXZCYXIpPVwidG9nZ2xlQ2xpY2soKVwiPjwvYXBwLXNpZGVuYXYtaGVhZGVyPlxuXG4gICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tc3ViLWFjdGlvbnNcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwczsgdHJhY2tCeTogdHJhY2tCeUdyb3VwSWRcIiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cC5pdGVtczsgdHJhY2tCeTogdHJhY2tCeUxpbmtJZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmNvbXBvbmVudFwiPlxuICAgICAgICAgICAgICA8YXBwLWV4cGFuZC1tZW51IFtpdGVtXT1cIml0ZW1cIj48L2FwcC1leHBhbmQtbWVudT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uY29tcG9uZW50XCI+XG4gICAgICAgICAgICAgIDxhZGYtZHluYW1pYy1jb21wb25lbnQgW2RhdGFdPVwieyBpdGVtOiBpdGVtLCBzdGF0ZTogJ2V4cGFuZGVkJyB9XCIgW2lkXT1cIml0ZW0uY29tcG9uZW50XCI+PC9hZGYtZHluYW1pYy1jb21wb25lbnQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,84 @@
1
+ /*!
2
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { NgModule } from '@angular/core';
25
+ import { AppCreateMenuModule } from '../create-menu/create-menu.module';
26
+ import { CoreModule } from '@alfresco/adf-core';
27
+ import { RouterModule } from '@angular/router';
28
+ import { ExtensionsModule } from '@alfresco/adf-extensions';
29
+ import { ExpansionPanelDirective } from './directives/expansion-panel.directive';
30
+ import { MenuPanelDirective } from './directives/menu-panel.directive';
31
+ import { SidenavComponent } from './sidenav.component';
32
+ import { ActiveLinkDirective } from './directives/active-link.directive';
33
+ import { ExpandMenuComponent } from './components/expand-menu.component';
34
+ import { ButtonMenuComponent } from './components/button-menu.component';
35
+ import { ActionDirective } from './directives/action.directive';
36
+ import { SidenavHeaderComponent } from './components/sidenav-header.component';
37
+ import { SharedToolbarModule } from '@alfresco/aca-shared';
38
+ import * as i0 from "@angular/core";
39
+ import * as i1 from "@alfresco/adf-core";
40
+ import * as i2 from "@alfresco/adf-extensions";
41
+ export class AppSidenavModule {
42
+ }
43
+ AppSidenavModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSidenavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44
+ AppSidenavModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: AppSidenavModule, declarations: [MenuPanelDirective,
45
+ ExpansionPanelDirective,
46
+ ActiveLinkDirective,
47
+ ActionDirective,
48
+ ExpandMenuComponent,
49
+ ButtonMenuComponent,
50
+ SidenavComponent,
51
+ SidenavHeaderComponent], imports: [i1.CoreModule, i2.ExtensionsModule, RouterModule, AppCreateMenuModule, SharedToolbarModule], exports: [MenuPanelDirective,
52
+ ExpansionPanelDirective,
53
+ ActiveLinkDirective,
54
+ ActionDirective,
55
+ ExpandMenuComponent,
56
+ ButtonMenuComponent,
57
+ SidenavComponent] });
58
+ AppSidenavModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSidenavModule, imports: [CoreModule.forChild(), ExtensionsModule.forChild(), RouterModule, AppCreateMenuModule, SharedToolbarModule] });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSidenavModule, decorators: [{
60
+ type: NgModule,
61
+ args: [{
62
+ imports: [CoreModule.forChild(), ExtensionsModule.forChild(), RouterModule, AppCreateMenuModule, SharedToolbarModule],
63
+ declarations: [
64
+ MenuPanelDirective,
65
+ ExpansionPanelDirective,
66
+ ActiveLinkDirective,
67
+ ActionDirective,
68
+ ExpandMenuComponent,
69
+ ButtonMenuComponent,
70
+ SidenavComponent,
71
+ SidenavHeaderComponent
72
+ ],
73
+ exports: [
74
+ MenuPanelDirective,
75
+ ExpansionPanelDirective,
76
+ ActiveLinkDirective,
77
+ ActionDirective,
78
+ ExpandMenuComponent,
79
+ ButtonMenuComponent,
80
+ SidenavComponent
81
+ ]
82
+ }]
83
+ }] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUF3QjNELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFuQnpCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixzQkFBc0IsaURBVHNDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsYUFZbEgsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsZ0JBQWdCOzhHQUdQLGdCQUFnQixZQXJCakIsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUI7MkZBcUJ6RyxnQkFBZ0I7a0JBdEI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3JILFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcENyZWF0ZU1lbnVNb2R1bGUgfSBmcm9tICcuLi9jcmVhdGUtbWVudS9jcmVhdGUtbWVudS5tb2R1bGUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBFeHBhbnNpb25QYW5lbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9leHBhbnNpb24tcGFuZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1lbnVQYW5lbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9tZW51LXBhbmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaWRlbmF2Q29tcG9uZW50IH0gZnJvbSAnLi9zaWRlbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3RpdmVMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FjdGl2ZS1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFeHBhbmRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2V4cGFuZC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaWRlbmF2SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZGVuYXYtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZWRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29yZU1vZHVsZS5mb3JDaGlsZCgpLCBFeHRlbnNpb25zTW9kdWxlLmZvckNoaWxkKCksIFJvdXRlck1vZHVsZSwgQXBwQ3JlYXRlTWVudU1vZHVsZSwgU2hhcmVkVG9vbGJhck1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1lbnVQYW5lbERpcmVjdGl2ZSxcbiAgICBFeHBhbnNpb25QYW5lbERpcmVjdGl2ZSxcbiAgICBBY3RpdmVMaW5rRGlyZWN0aXZlLFxuICAgIEFjdGlvbkRpcmVjdGl2ZSxcbiAgICBFeHBhbmRNZW51Q29tcG9uZW50LFxuICAgIEJ1dHRvbk1lbnVDb21wb25lbnQsXG4gICAgU2lkZW5hdkNvbXBvbmVudCxcbiAgICBTaWRlbmF2SGVhZGVyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNZW51UGFuZWxEaXJlY3RpdmUsXG4gICAgRXhwYW5zaW9uUGFuZWxEaXJlY3RpdmUsXG4gICAgQWN0aXZlTGlua0RpcmVjdGl2ZSxcbiAgICBBY3Rpb25EaXJlY3RpdmUsXG4gICAgRXhwYW5kTWVudUNvbXBvbmVudCxcbiAgICBCdXR0b25NZW51Q29tcG9uZW50LFxuICAgIFNpZGVuYXZDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBTaWRlbmF2TW9kdWxlIHt9XG4iXX0=