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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/README.md +24 -0
  2. package/assets/app.extensions.json +2496 -0
  3. package/assets/i18n/ar.json +634 -0
  4. package/assets/i18n/cs.json +634 -0
  5. package/assets/i18n/da.json +634 -0
  6. package/assets/i18n/de.json +634 -0
  7. package/assets/i18n/en.json +634 -0
  8. package/assets/i18n/es.json +634 -0
  9. package/assets/i18n/fi.json +634 -0
  10. package/assets/i18n/fr.json +634 -0
  11. package/assets/i18n/it.json +634 -0
  12. package/assets/i18n/ja.json +634 -0
  13. package/assets/i18n/nb.json +634 -0
  14. package/assets/i18n/nl.json +634 -0
  15. package/assets/i18n/pl.json +634 -0
  16. package/assets/i18n/pt-BR.json +634 -0
  17. package/assets/i18n/ru.json +634 -0
  18. package/assets/i18n/sv.json +634 -0
  19. package/assets/i18n/zh-CN.json +634 -0
  20. package/assets/images/Wallpaper-BG-generic.svg +39 -0
  21. package/assets/images/adf-move-file-24px.svg +1 -0
  22. package/assets/images/baseline-library_books-24px.svg +2 -0
  23. package/assets/images/baseline-lock-24px.svg +1 -0
  24. package/assets/images/join-library.svg +32 -0
  25. package/assets/images/mastHead-bg-shapesPattern.svg +53 -0
  26. package/esm2020/alfresco-aca-content.mjs +5 -0
  27. package/esm2020/lib/aca-content.module.mjs +364 -0
  28. package/esm2020/lib/aca-content.routes.mjs +582 -0
  29. package/esm2020/lib/components/common/common.module.mjs +49 -0
  30. package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +58 -0
  31. package/esm2020/lib/components/common/location-link/location-link.component.mjs +178 -0
  32. package/esm2020/lib/components/common/logout/logout.component.mjs +61 -0
  33. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +66 -0
  34. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +59 -0
  35. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +66 -0
  36. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  37. package/esm2020/lib/components/context-menu/context-menu.component.mjs +103 -0
  38. package/esm2020/lib/components/context-menu/context-menu.module.mjs +77 -0
  39. package/esm2020/lib/components/context-menu/context-menu.service.mjs +104 -0
  40. package/esm2020/lib/components/context-menu/direction.token.mjs +30 -0
  41. package/esm2020/lib/components/context-menu/interfaces.mjs +26 -0
  42. package/esm2020/lib/components/create-menu/create-menu.component.mjs +74 -0
  43. package/esm2020/lib/components/create-menu/create-menu.module.mjs +45 -0
  44. package/esm2020/lib/components/details/details.component.mjs +100 -0
  45. package/esm2020/lib/components/dl-custom-components/document-list-custom-components.module.mjs +49 -0
  46. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +93 -0
  47. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +52 -0
  48. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +114 -0
  49. package/esm2020/lib/components/favorites/favorites.component.mjs +99 -0
  50. package/esm2020/lib/components/files/files.component.mjs +312 -0
  51. package/esm2020/lib/components/header/header.component.mjs +98 -0
  52. package/esm2020/lib/components/header/header.module.mjs +46 -0
  53. package/esm2020/lib/components/home/home.component.mjs +50 -0
  54. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +57 -0
  55. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +93 -0
  56. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +144 -0
  57. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +43 -0
  58. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +89 -0
  59. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +96 -0
  60. package/esm2020/lib/components/layout/app-layout/app-layout.component.mjs +147 -0
  61. package/esm2020/lib/components/layout/layout.module.mjs +75 -0
  62. package/esm2020/lib/components/libraries/libraries.component.mjs +71 -0
  63. package/esm2020/lib/components/main-action/main-action.component.mjs +60 -0
  64. package/esm2020/lib/components/main-action/main-action.module.mjs +46 -0
  65. package/esm2020/lib/components/node-version/node-version-form.component.mjs +71 -0
  66. package/esm2020/lib/components/node-version/node-version.module.mjs +79 -0
  67. package/esm2020/lib/components/recent-files/recent-files.component.mjs +82 -0
  68. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +60 -0
  69. package/esm2020/lib/components/search/search-input/search-input.component.mjs +263 -0
  70. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +88 -0
  71. package/esm2020/lib/components/search/search-input.module.mjs +48 -0
  72. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +92 -0
  73. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +140 -0
  74. package/esm2020/lib/components/search/search-results/search-results.component.mjs +218 -0
  75. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +94 -0
  76. package/esm2020/lib/components/search/search-results.module.mjs +86 -0
  77. package/esm2020/lib/components/shared-files/shared-files.component.mjs +79 -0
  78. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +81 -0
  79. package/esm2020/lib/components/shared-link-view/shared-link-view.module.mjs +66 -0
  80. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +58 -0
  81. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +54 -0
  82. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +75 -0
  83. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +93 -0
  84. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +102 -0
  85. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +99 -0
  86. package/esm2020/lib/components/sidenav/sidenav-wrapper/sidenav-wrapper.component.mjs +45 -0
  87. package/esm2020/lib/components/sidenav/sidenav.component.mjs +76 -0
  88. package/esm2020/lib/components/sidenav/sidenav.module.mjs +104 -0
  89. package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +85 -0
  90. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +151 -0
  91. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +80 -0
  92. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +102 -0
  93. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +76 -0
  94. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +99 -0
  95. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +81 -0
  96. package/esm2020/lib/components/toolbar/toolbar.module.mjs +89 -0
  97. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +102 -0
  98. package/esm2020/lib/components/trashcan/trashcan.component.mjs +64 -0
  99. package/esm2020/lib/components/trashcan/trashcan.module.mjs +71 -0
  100. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +34 -0
  101. package/esm2020/lib/components/view-profile/view-profile.component.mjs +158 -0
  102. package/esm2020/lib/components/view-profile/view-profile.guard.mjs +31 -0
  103. package/esm2020/lib/components/view-profile/view-profile.module.mjs +43 -0
  104. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +120 -0
  105. package/esm2020/lib/directives/directives.module.mjs +43 -0
  106. package/esm2020/lib/directives/document-list.directive.mjs +142 -0
  107. package/esm2020/lib/extensions/core.extensions.module.mjs +66 -0
  108. package/esm2020/lib/material.module.mjs +58 -0
  109. package/esm2020/lib/services/content-management.service.mjs +871 -0
  110. package/esm2020/lib/services/content-service-extension.service.mjs +47 -0
  111. package/esm2020/lib/services/content-url.service.mjs +73 -0
  112. package/esm2020/lib/services/node-actions.service.mjs +601 -0
  113. package/esm2020/lib/services/node-template.service.mjs +150 -0
  114. package/esm2020/lib/store/app-store.module.mjs +96 -0
  115. package/esm2020/lib/store/effects/app.effects.mjs +62 -0
  116. package/esm2020/lib/store/effects/contextmenu.effects.mjs +56 -0
  117. package/esm2020/lib/store/effects/download.effects.mjs +160 -0
  118. package/esm2020/lib/store/effects/favorite.effects.mjs +77 -0
  119. package/esm2020/lib/store/effects/library.effects.mjs +112 -0
  120. package/esm2020/lib/store/effects/node.effects.mjs +310 -0
  121. package/esm2020/lib/store/effects/search.effects.mjs +55 -0
  122. package/esm2020/lib/store/effects/template.effects.mjs +122 -0
  123. package/esm2020/lib/store/effects/upload.effects.mjs +169 -0
  124. package/esm2020/lib/store/effects/viewer.effects.mjs +176 -0
  125. package/esm2020/lib/store/effects.mjs +36 -0
  126. package/esm2020/lib/store/initial-state.mjs +66 -0
  127. package/esm2020/lib/store/reducers/app.reducer.mjs +218 -0
  128. package/esm2020/public-api.mjs +9 -0
  129. package/fesm2015/alfresco-aca-content.mjs +9937 -0
  130. package/fesm2015/alfresco-aca-content.mjs.map +1 -0
  131. package/fesm2020/alfresco-aca-content.mjs +10103 -0
  132. package/fesm2020/alfresco-aca-content.mjs.map +1 -0
  133. package/index.d.ts +5 -0
  134. package/lib/aca-content.module.d.ts +49 -0
  135. package/lib/aca-content.routes.d.ts +28 -0
  136. package/lib/components/common/common.module.d.ts +14 -0
  137. package/lib/components/common/language-picker/language-picker.component.d.ts +5 -0
  138. package/lib/components/common/location-link/location-link.component.d.ts +49 -0
  139. package/lib/components/common/logout/logout.component.d.ts +10 -0
  140. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +44 -0
  141. package/lib/components/context-menu/context-menu-item.component.d.ts +13 -0
  142. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +36 -0
  143. package/lib/components/context-menu/context-menu-overlay.d.ts +30 -0
  144. package/lib/components/context-menu/context-menu.component.d.ts +49 -0
  145. package/lib/components/context-menu/context-menu.module.d.ts +18 -0
  146. package/lib/components/context-menu/context-menu.service.d.ts +44 -0
  147. package/lib/components/context-menu/direction.token.d.ts +26 -0
  148. package/lib/components/context-menu/interfaces.d.ts +31 -0
  149. package/lib/components/create-menu/create-menu.component.d.ts +43 -0
  150. package/lib/components/create-menu/create-menu.module.d.ts +10 -0
  151. package/lib/components/details/details.component.d.ts +47 -0
  152. package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +13 -0
  153. package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +43 -0
  154. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +17 -0
  155. package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +55 -0
  156. package/lib/components/favorites/favorites.component.d.ts +50 -0
  157. package/lib/components/files/files.component.d.ts +80 -0
  158. package/lib/components/header/header.component.d.ts +59 -0
  159. package/lib/components/header/header.module.d.ts +11 -0
  160. package/lib/components/home/home.component.d.ts +37 -0
  161. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +11 -0
  162. package/lib/components/info-drawer/info.drawer.module.d.ts +19 -0
  163. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +65 -0
  164. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +7 -0
  165. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +50 -0
  166. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +36 -0
  167. package/lib/components/layout/app-layout/app-layout.component.d.ts +63 -0
  168. package/lib/components/layout/layout.module.d.ts +16 -0
  169. package/lib/components/libraries/libraries.component.d.ts +45 -0
  170. package/lib/components/main-action/main-action.component.d.ts +42 -0
  171. package/lib/components/main-action/main-action.module.d.ts +11 -0
  172. package/lib/components/node-version/node-version-form.component.d.ts +47 -0
  173. package/lib/components/node-version/node-version.module.d.ts +16 -0
  174. package/lib/components/recent-files/recent-files.component.d.ts +49 -0
  175. package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +39 -0
  176. package/lib/components/search/search-input/search-input.component.d.ts +82 -0
  177. package/lib/components/search/search-input-control/search-input-control.component.d.ts +51 -0
  178. package/lib/components/search/search-input.module.d.ts +12 -0
  179. package/lib/components/search/search-libraries-results/search-libraries-query-builder.service.d.ts +57 -0
  180. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +58 -0
  181. package/lib/components/search/search-results/search-results.component.d.ts +70 -0
  182. package/lib/components/search/search-results-row/search-results-row.component.d.ts +49 -0
  183. package/lib/components/search/search-results.module.d.ts +21 -0
  184. package/lib/components/shared-files/shared-files.component.d.ts +48 -0
  185. package/lib/components/shared-link-view/shared-link-view.component.d.ts +48 -0
  186. package/lib/components/shared-link-view/shared-link-view.module.d.ts +14 -0
  187. package/lib/components/sidenav/components/button-menu.component.d.ts +38 -0
  188. package/lib/components/sidenav/components/expand-menu.component.d.ts +36 -0
  189. package/lib/components/sidenav/directives/action.directive.d.ts +14 -0
  190. package/lib/components/sidenav/directives/active-link.directive.d.ts +46 -0
  191. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +45 -0
  192. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +43 -0
  193. package/lib/components/sidenav/sidenav-wrapper/sidenav-wrapper.component.d.ts +12 -0
  194. package/lib/components/sidenav/sidenav.component.d.ts +44 -0
  195. package/lib/components/sidenav/sidenav.module.d.ts +21 -0
  196. package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +13 -0
  197. package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +48 -0
  198. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +43 -0
  199. package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +43 -0
  200. package/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.d.ts +11 -0
  201. package/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.d.ts +42 -0
  202. package/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.d.ts +10 -0
  203. package/lib/components/toolbar/toolbar.module.d.ts +20 -0
  204. package/lib/components/toolbar/view-node/view-node.component.d.ts +17 -0
  205. package/lib/components/trashcan/trashcan.component.d.ts +43 -0
  206. package/lib/components/trashcan/trashcan.module.d.ts +15 -0
  207. package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +14 -0
  208. package/lib/components/view-profile/view-profile.component.d.ts +36 -0
  209. package/lib/components/view-profile/view-profile.guard.d.ts +12 -0
  210. package/lib/components/view-profile/view-profile.module.d.ts +9 -0
  211. package/lib/dialogs/node-template/create-from-template.dialog.d.ts +50 -0
  212. package/lib/directives/directives.module.d.ts +9 -0
  213. package/lib/directives/document-list.directive.d.ts +57 -0
  214. package/lib/extensions/core.extensions.module.d.ts +14 -0
  215. package/lib/material.module.d.ts +14 -0
  216. package/lib/services/content-management.service.d.ts +101 -0
  217. package/lib/services/content-service-extension.service.d.ts +11 -0
  218. package/lib/services/content-url.service.d.ts +17 -0
  219. package/lib/services/node-actions.service.d.ts +93 -0
  220. package/lib/services/node-template.service.d.ts +34 -0
  221. package/lib/store/app-store.module.d.ts +10 -0
  222. package/lib/store/effects/app.effects.d.ts +42 -0
  223. package/lib/store/effects/contextmenu.effects.d.ts +12 -0
  224. package/lib/store/effects/download.effects.d.ts +50 -0
  225. package/lib/store/effects/favorite.effects.d.ts +39 -0
  226. package/lib/store/effects/library.effects.d.ts +44 -0
  227. package/lib/store/effects/node.effects.d.ts +57 -0
  228. package/lib/store/effects/search.effects.d.ts +35 -0
  229. package/lib/store/effects/template.effects.d.ts +55 -0
  230. package/lib/store/effects/upload.effects.d.ts +53 -0
  231. package/lib/store/effects/viewer.effects.d.ts +56 -0
  232. package/lib/store/effects.d.ts +35 -0
  233. package/lib/store/initial-state.d.ts +27 -0
  234. package/lib/store/reducers/app.reducer.d.ts +27 -0
  235. package/package.json +34 -0
  236. package/public-api.d.ts +5 -0
  237. package/ui/application.scss +49 -0
  238. package/ui/colors.scss +98 -0
  239. package/ui/custom-theme.scss +28 -0
  240. package/ui/dynamic-theme/custom-background-color.scss +16 -0
  241. package/ui/dynamic-theme/custom-palette-creator.scss +138 -0
  242. package/ui/dynamic-theme/custom-text-color.scss +8 -0
  243. package/ui/dynamic-theme/custom-theme-palettes.scss +29 -0
  244. package/ui/dynamic-theme/custom-theme.scss.tpl +60 -0
  245. package/ui/dynamic-theme/index.scss +1 -0
  246. package/ui/dynamic-theme/theme-configuration.scss.tpl +14 -0
  247. package/ui/dynamic-theme/typography.scss +63 -0
  248. package/ui/mixins.scss +26 -0
  249. package/ui/overrides/adf-about.theme.scss +39 -0
  250. package/ui/overrides/adf-pagination.theme.scss +47 -0
  251. package/ui/overrides/adf-style-fixes.theme.scss +18 -0
  252. package/ui/overrides/ay11.scss +204 -0
  253. package/ui/theme.scss +57 -0
  254. package/ui/variables/font-family.scss +1 -0
  255. package/ui/variables/variables.scss +83 -0
@@ -0,0 +1,85 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { Component, ViewEncapsulation } from '@angular/core';
26
+ import { Store } from '@ngrx/store';
27
+ import { ToggleDocumentDisplayMode, getDocumentDisplayMode } from '@alfresco/aca-shared/store';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@ngrx/store";
30
+ import * as i2 from "@angular/common";
31
+ import * as i3 from "@angular/material/button";
32
+ import * as i4 from "@angular/material/icon";
33
+ import * as i5 from "@ngx-translate/core";
34
+ export class DocumentDisplayModeComponent {
35
+ constructor(store) {
36
+ this.store = store;
37
+ this.displayMode$ = store.select(getDocumentDisplayMode);
38
+ }
39
+ getTitle(displayMode) {
40
+ return displayMode === 'list' ? 'APP.ACTIONS.LIST_MODE' : 'APP.ACTIONS.GALLERY_MODE';
41
+ }
42
+ onClick() {
43
+ this.store.dispatch(new ToggleDocumentDisplayMode());
44
+ }
45
+ }
46
+ DocumentDisplayModeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DocumentDisplayModeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
47
+ DocumentDisplayModeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DocumentDisplayModeComponent, selector: "app-document-display-mode", host: { classAttribute: "app-document-display-mode" }, ngImport: i0, template: `
48
+ <ng-container *ngIf="displayMode$ | async as displayMode">
49
+ <button
50
+ id="app-document-display-mode-button"
51
+ [attr.title]="getTitle(displayMode) | translate"
52
+ [attr.aria-label]="getTitle(displayMode) | translate"
53
+ mat-icon-button
54
+ color="primary"
55
+ (click)="onClick()"
56
+ >
57
+ <mat-icon *ngIf="displayMode === 'list'">view_comfy</mat-icon>
58
+ <mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
59
+ </button>
60
+ </ng-container>
61
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DocumentDisplayModeComponent, decorators: [{
63
+ type: Component,
64
+ args: [{
65
+ selector: 'app-document-display-mode',
66
+ template: `
67
+ <ng-container *ngIf="displayMode$ | async as displayMode">
68
+ <button
69
+ id="app-document-display-mode-button"
70
+ [attr.title]="getTitle(displayMode) | translate"
71
+ [attr.aria-label]="getTitle(displayMode) | translate"
72
+ mat-icon-button
73
+ color="primary"
74
+ (click)="onClick()"
75
+ >
76
+ <mat-icon *ngIf="displayMode === 'list'">view_comfy</mat-icon>
77
+ <mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
78
+ </button>
79
+ </ng-container>
80
+ `,
81
+ encapsulation: ViewEncapsulation.None,
82
+ host: { class: 'app-document-display-mode' }
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZGlzcGxheS1tb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL2RvY3VtZW50LWRpc3BsYXktbW9kZS9kb2N1bWVudC1kaXNwbGF5LW1vZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQVkseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQXNCekcsTUFBTSxPQUFPLDRCQUE0QjtJQUd2QyxZQUFvQixLQUFzQjtRQUF0QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsUUFBUSxDQUFDLFdBQW1CO1FBQzFCLE9BQU8sV0FBVyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO0lBQ3ZGLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7eUhBYlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsd0hBbEI3Qjs7Ozs7Ozs7Ozs7Ozs7R0FjVDsyRkFJVSw0QkFBNEI7a0JBcEJ4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7R0FjVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLDJCQUEyQixFQUFFO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgVG9nZ2xlRG9jdW1lbnREaXNwbGF5TW9kZSwgZ2V0RG9jdW1lbnREaXNwbGF5TW9kZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRvY3VtZW50LWRpc3BsYXktbW9kZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlNb2RlJCB8IGFzeW5jIGFzIGRpc3BsYXlNb2RlXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGlkPVwiYXBwLWRvY3VtZW50LWRpc3BsYXktbW9kZS1idXR0b25cIlxuICAgICAgICBbYXR0ci50aXRsZV09XCJnZXRUaXRsZShkaXNwbGF5TW9kZSkgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFRpdGxlKGRpc3BsYXlNb2RlKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdsaXN0J1wiPnZpZXdfY29tZnk8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gJ2dhbGxlcnknXCI+bGlzdDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC1kb2N1bWVudC1kaXNwbGF5LW1vZGUnIH1cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnREaXNwbGF5TW9kZUNvbXBvbmVudCB7XG4gIGRpc3BsYXlNb2RlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPikge1xuICAgIHRoaXMuZGlzcGxheU1vZGUkID0gc3RvcmUuc2VsZWN0KGdldERvY3VtZW50RGlzcGxheU1vZGUpO1xuICB9XG5cbiAgZ2V0VGl0bGUoZGlzcGxheU1vZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRpc3BsYXlNb2RlID09PSAnbGlzdCcgPyAnQVBQLkFDVElPTlMuTElTVF9NT0RFJyA6ICdBUFAuQUNUSU9OUy5HQUxMRVJZX01PREUnO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBUb2dnbGVEb2N1bWVudERpc3BsYXlNb2RlKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,151 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { DownloadNodesAction, EditOfflineAction, SnackbarErrorAction, getAppSelection } from '@alfresco/aca-shared/store';
26
+ import { NodesApi } from '@alfresco/js-api';
27
+ import { Component, ViewEncapsulation } from '@angular/core';
28
+ import { Store } from '@ngrx/store';
29
+ import { isLocked } from '@alfresco/aca-shared';
30
+ import { AlfrescoApiService } from '@alfresco/adf-core';
31
+ import * as i0 from "@angular/core";
32
+ import * as i1 from "@ngrx/store";
33
+ import * as i2 from "@alfresco/adf-core";
34
+ import * as i3 from "@angular/common";
35
+ import * as i4 from "@angular/material/icon";
36
+ import * as i5 from "@angular/material/menu";
37
+ import * as i6 from "@ngx-translate/core";
38
+ export class ToggleEditOfflineComponent {
39
+ constructor(store, alfrescoApiService) {
40
+ this.store = store;
41
+ this.alfrescoApiService = alfrescoApiService;
42
+ this.nodesApi = new NodesApi(this.alfrescoApiService.getInstance());
43
+ }
44
+ ngOnInit() {
45
+ this.store.select(getAppSelection).subscribe(({ file }) => {
46
+ this.selection = file;
47
+ });
48
+ }
49
+ get isNodeLocked() {
50
+ return !!(this.selection && isLocked(this.selection));
51
+ }
52
+ async onClick() {
53
+ await this.toggleLock(this.selection);
54
+ }
55
+ async toggleLock(node) {
56
+ const id = node.entry.nodeId || node.entry.id;
57
+ if (isLocked(this.selection)) {
58
+ try {
59
+ const response = await this.unlockNode(id);
60
+ this.update(response?.entry);
61
+ this.store.dispatch(new EditOfflineAction(this.selection));
62
+ }
63
+ catch {
64
+ this.onUnlockError();
65
+ }
66
+ }
67
+ else {
68
+ try {
69
+ const response = await this.lockNode(id);
70
+ this.update(response?.entry);
71
+ this.store.dispatch(new DownloadNodesAction([this.selection]));
72
+ this.store.dispatch(new EditOfflineAction(this.selection));
73
+ }
74
+ catch {
75
+ this.onLockError();
76
+ }
77
+ }
78
+ }
79
+ onLockError() {
80
+ this.store.dispatch(new SnackbarErrorAction('APP.MESSAGES.ERRORS.LOCK_NODE', {
81
+ fileName: this.selection.entry.name
82
+ }));
83
+ }
84
+ onUnlockError() {
85
+ this.store.dispatch(new SnackbarErrorAction('APP.MESSAGES.ERRORS.UNLOCK_NODE', {
86
+ fileName: this.selection.entry.name
87
+ }));
88
+ }
89
+ lockNode(nodeId) {
90
+ return this.nodesApi.lockNode(nodeId, {
91
+ type: 'ALLOW_OWNER_CHANGES',
92
+ lifetime: 'PERSISTENT'
93
+ });
94
+ }
95
+ unlockNode(nodeId) {
96
+ return this.nodesApi.unlockNode(nodeId);
97
+ }
98
+ update(data) {
99
+ if (data && data.properties) {
100
+ const properties = this.selection.entry.properties || {};
101
+ properties['cm:lockLifetime'] = data.properties['cm:lockLifetime'];
102
+ properties['cm:lockOwner'] = data.properties['cm:lockOwner'];
103
+ properties['cm:lockType'] = data.properties['cm:lockType'];
104
+ this.selection.entry.properties = properties;
105
+ }
106
+ }
107
+ }
108
+ ToggleEditOfflineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleEditOfflineComponent, deps: [{ token: i1.Store }, { token: i2.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Component });
109
+ ToggleEditOfflineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToggleEditOfflineComponent, selector: "app-toggle-edit-offline", host: { classAttribute: "app-toggle-edit-offline" }, ngImport: i0, template: `
110
+ <button
111
+ mat-menu-item
112
+ [attr.title]="(isNodeLocked ? 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' : 'APP.ACTIONS.EDIT_OFFLINE') | translate"
113
+ (click)="onClick()"
114
+ >
115
+ <ng-container *ngIf="isNodeLocked">
116
+ <mat-icon>cancel</mat-icon>
117
+ <span>{{ 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' | translate }}</span>
118
+ </ng-container>
119
+
120
+ <ng-container *ngIf="!isNodeLocked">
121
+ <mat-icon>edit</mat-icon>
122
+ <span>{{ 'APP.ACTIONS.EDIT_OFFLINE' | translate }}</span>
123
+ </ng-container>
124
+ </button>
125
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleEditOfflineComponent, decorators: [{
127
+ type: Component,
128
+ args: [{
129
+ selector: 'app-toggle-edit-offline',
130
+ template: `
131
+ <button
132
+ mat-menu-item
133
+ [attr.title]="(isNodeLocked ? 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' : 'APP.ACTIONS.EDIT_OFFLINE') | translate"
134
+ (click)="onClick()"
135
+ >
136
+ <ng-container *ngIf="isNodeLocked">
137
+ <mat-icon>cancel</mat-icon>
138
+ <span>{{ 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' | translate }}</span>
139
+ </ng-container>
140
+
141
+ <ng-container *ngIf="!isNodeLocked">
142
+ <mat-icon>edit</mat-icon>
143
+ <span>{{ 'APP.ACTIONS.EDIT_OFFLINE' | translate }}</span>
144
+ </ng-container>
145
+ </button>
146
+ `,
147
+ encapsulation: ViewEncapsulation.None,
148
+ host: { class: 'app-toggle-edit-offline' }
149
+ }]
150
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AlfrescoApiService }]; } });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWVkaXQtb2ZmbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci90b2dnbGUtZWRpdC1vZmZsaW5lL3RvZ2dsZS1lZGl0LW9mZmxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBWSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwSSxPQUFPLEVBQXVELFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBd0J4RCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQW9CLEtBQXNCLEVBQVUsa0JBQXNDO1FBQXRFLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN4RixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFpQztRQUN4RCxNQUFNLEVBQUUsR0FBSSxJQUF3QixDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFFbkUsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzVCLElBQUk7Z0JBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUM1RDtZQUFDLE1BQU07Z0JBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO1NBQ0Y7YUFBTTtZQUNMLElBQUk7Z0JBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUV6QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDNUQ7WUFBQyxNQUFNO2dCQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNwQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsSUFBSSxtQkFBbUIsQ0FBQywrQkFBK0IsRUFBRTtZQUN2RCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSTtTQUNwQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLElBQUksbUJBQW1CLENBQUMsaUNBQWlDLEVBQUU7WUFDekQsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUk7U0FDcEMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEMsSUFBSSxFQUFFLHFCQUFxQjtZQUMzQixRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sTUFBTSxDQUFDLElBQVU7UUFDdkIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBRXpELFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNuRSxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM3RCxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUUzRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7dUhBcEZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLG9IQXBCM0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7MkZBSVUsMEJBQTBCO2tCQXRCdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEFwcFN0b3JlLCBEb3dubG9hZE5vZGVzQWN0aW9uLCBFZGl0T2ZmbGluZUFjdGlvbiwgU25hY2tiYXJFcnJvckFjdGlvbiwgZ2V0QXBwU2VsZWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgTWluaW1hbE5vZGVFbnRpdHksIE5vZGVFbnRyeSwgU2hhcmVkTGlua0VudHJ5LCBOb2RlLCBOb2Rlc0FwaSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGlzTG9ja2VkIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRvZ2dsZS1lZGl0LW9mZmxpbmUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgIFthdHRyLnRpdGxlXT1cIihpc05vZGVMb2NrZWQgPyAnQVBQLkFDVElPTlMuRURJVF9PRkZMSU5FX0NBTkNFTCcgOiAnQVBQLkFDVElPTlMuRURJVF9PRkZMSU5FJykgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTm9kZUxvY2tlZFwiPlxuICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgJ0FQUC5BQ1RJT05TLkVESVRfT0ZGTElORV9DQU5DRUwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNOb2RlTG9ja2VkXCI+XG4gICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgJ0FQUC5BQ1RJT05TLkVESVRfT0ZGTElORScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC10b2dnbGUtZWRpdC1vZmZsaW5lJyB9XG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZUVkaXRPZmZsaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBub2Rlc0FwaTogTm9kZXNBcGk7XG4gIHNlbGVjdGlvbjogTWluaW1hbE5vZGVFbnRpdHk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LCBwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlKSB7XG4gICAgdGhpcy5ub2Rlc0FwaSA9IG5ldyBOb2Rlc0FwaSh0aGlzLmFsZnJlc2NvQXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwcFNlbGVjdGlvbikuc3Vic2NyaWJlKCh7IGZpbGUgfSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3Rpb24gPSBmaWxlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGlzTm9kZUxvY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5zZWxlY3Rpb24gJiYgaXNMb2NrZWQodGhpcy5zZWxlY3Rpb24pKTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2xpY2soKSB7XG4gICAgYXdhaXQgdGhpcy50b2dnbGVMb2NrKHRoaXMuc2VsZWN0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdG9nZ2xlTG9jayhub2RlOiBOb2RlRW50cnkgfCBTaGFyZWRMaW5rRW50cnkpIHtcbiAgICBjb25zdCBpZCA9IChub2RlIGFzIFNoYXJlZExpbmtFbnRyeSkuZW50cnkubm9kZUlkIHx8IG5vZGUuZW50cnkuaWQ7XG5cbiAgICBpZiAoaXNMb2NrZWQodGhpcy5zZWxlY3Rpb24pKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMudW5sb2NrTm9kZShpZCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGUocmVzcG9uc2U/LmVudHJ5KTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRWRpdE9mZmxpbmVBY3Rpb24odGhpcy5zZWxlY3Rpb24pKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aGlzLm9uVW5sb2NrRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmxvY2tOb2RlKGlkKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZShyZXNwb25zZT8uZW50cnkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEb3dubG9hZE5vZGVzQWN0aW9uKFt0aGlzLnNlbGVjdGlvbl0pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRWRpdE9mZmxpbmVBY3Rpb24odGhpcy5zZWxlY3Rpb24pKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aGlzLm9uTG9ja0Vycm9yKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Mb2NrRXJyb3IoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBTbmFja2JhckVycm9yQWN0aW9uKCdBUFAuTUVTU0FHRVMuRVJST1JTLkxPQ0tfTk9ERScsIHtcbiAgICAgICAgZmlsZU5hbWU6IHRoaXMuc2VsZWN0aW9uLmVudHJ5Lm5hbWVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uVW5sb2NrRXJyb3IoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBTbmFja2JhckVycm9yQWN0aW9uKCdBUFAuTUVTU0FHRVMuRVJST1JTLlVOTE9DS19OT0RFJywge1xuICAgICAgICBmaWxlTmFtZTogdGhpcy5zZWxlY3Rpb24uZW50cnkubmFtZVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbG9ja05vZGUobm9kZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ub2Rlc0FwaS5sb2NrTm9kZShub2RlSWQsIHtcbiAgICAgIHR5cGU6ICdBTExPV19PV05FUl9DSEFOR0VTJyxcbiAgICAgIGxpZmV0aW1lOiAnUEVSU0lTVEVOVCdcbiAgICB9KTtcbiAgfVxuXG4gIHVubG9ja05vZGUobm9kZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ub2Rlc0FwaS51bmxvY2tOb2RlKG5vZGVJZCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZShkYXRhOiBOb2RlKSB7XG4gICAgaWYgKGRhdGEgJiYgZGF0YS5wcm9wZXJ0aWVzKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5zZWxlY3Rpb24uZW50cnkucHJvcGVydGllcyB8fCB7fTtcblxuICAgICAgcHJvcGVydGllc1snY206bG9ja0xpZmV0aW1lJ10gPSBkYXRhLnByb3BlcnRpZXNbJ2NtOmxvY2tMaWZldGltZSddO1xuICAgICAgcHJvcGVydGllc1snY206bG9ja093bmVyJ10gPSBkYXRhLnByb3BlcnRpZXNbJ2NtOmxvY2tPd25lciddO1xuICAgICAgcHJvcGVydGllc1snY206bG9ja1R5cGUnXSA9IGRhdGEucHJvcGVydGllc1snY206bG9ja1R5cGUnXTtcblxuICAgICAgdGhpcy5zZWxlY3Rpb24uZW50cnkucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,80 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { Component, ViewEncapsulation, Input } from '@angular/core';
26
+ import { Store } from '@ngrx/store';
27
+ import { ReloadDocumentListAction, getAppSelection } from '@alfresco/aca-shared/store';
28
+ import { Router } from '@angular/router';
29
+ import * as i0 from "@angular/core";
30
+ import * as i1 from "@ngrx/store";
31
+ import * as i2 from "@angular/router";
32
+ import * as i3 from "@angular/common";
33
+ import * as i4 from "@angular/material/icon";
34
+ import * as i5 from "@angular/material/menu";
35
+ import * as i6 from "@alfresco/adf-content-services";
36
+ import * as i7 from "@ngx-translate/core";
37
+ export class ToggleFavoriteComponent {
38
+ constructor(store, router) {
39
+ this.store = store;
40
+ this.router = router;
41
+ this.reloadOnRoutes = [];
42
+ this.selection$ = this.store.select(getAppSelection);
43
+ }
44
+ ngOnInit() {
45
+ if (this.data) {
46
+ this.reloadOnRoutes = JSON.parse(this.data.replace(/'/g, '"'));
47
+ }
48
+ }
49
+ onToggleEvent() {
50
+ if (this.reloadOnRoutes.includes(this.router.url)) {
51
+ this.store.dispatch(new ReloadDocumentListAction());
52
+ }
53
+ }
54
+ }
55
+ ToggleFavoriteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleFavoriteComponent, deps: [{ token: i1.Store }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
56
+ ToggleFavoriteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToggleFavoriteComponent, selector: "app-toggle-favorite", inputs: { data: "data" }, host: { classAttribute: "app-toggle-favorite" }, ngImport: i0, template: `
57
+ <button mat-menu-item #favorites="adfFavorite" (toggle)="onToggleEvent()" [adf-node-favorite]="(selection$ | async).nodes">
58
+ <mat-icon *ngIf="favorites.hasFavorites()">star</mat-icon>
59
+ <mat-icon *ngIf="!favorites.hasFavorites()">star_border</mat-icon>
60
+ <span>{{ (favorites.hasFavorites() ? 'APP.ACTIONS.REMOVE_FAVORITE' : 'APP.ACTIONS.FAVORITE') | translate }}</span>
61
+ </button>
62
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.NodeFavoriteDirective, selector: "[adf-node-favorite]", inputs: ["adf-node-favorite"], outputs: ["toggle", "error"], exportAs: ["adfFavorite"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleFavoriteComponent, decorators: [{
64
+ type: Component,
65
+ args: [{
66
+ selector: 'app-toggle-favorite',
67
+ template: `
68
+ <button mat-menu-item #favorites="adfFavorite" (toggle)="onToggleEvent()" [adf-node-favorite]="(selection$ | async).nodes">
69
+ <mat-icon *ngIf="favorites.hasFavorites()">star</mat-icon>
70
+ <mat-icon *ngIf="!favorites.hasFavorites()">star_border</mat-icon>
71
+ <span>{{ (favorites.hasFavorites() ? 'APP.ACTIONS.REMOVE_FAVORITE' : 'APP.ACTIONS.FAVORITE') | translate }}</span>
72
+ </button>
73
+ `,
74
+ encapsulation: ViewEncapsulation.None,
75
+ host: { class: 'app-toggle-favorite' }
76
+ }]
77
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }]; }, propDecorators: { data: [{
78
+ type: Input
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWZhdm9yaXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL3RvZ2dsZS1mYXZvcml0ZS90b2dnbGUtZmF2b3JpdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHcEMsT0FBTyxFQUFZLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBY3pDLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFBb0IsS0FBc0IsRUFBVSxNQUFjO1FBQTlDLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUYxRCxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUdwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOztvSEFuQlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsc0lBVnhCOzs7Ozs7R0FNVDsyRkFJVSx1QkFBdUI7a0JBWm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFO2lCQUN2QztpSEFFVSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU3RhdGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIFJlbG9hZERvY3VtZW50TGlzdEFjdGlvbiwgZ2V0QXBwU2VsZWN0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRvZ2dsZS1mYXZvcml0ZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICNmYXZvcml0ZXM9XCJhZGZGYXZvcml0ZVwiICh0b2dnbGUpPVwib25Ub2dnbGVFdmVudCgpXCIgW2FkZi1ub2RlLWZhdm9yaXRlXT1cIihzZWxlY3Rpb24kIHwgYXN5bmMpLm5vZGVzXCI+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJmYXZvcml0ZXMuaGFzRmF2b3JpdGVzKClcIj5zdGFyPC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFmYXZvcml0ZXMuaGFzRmF2b3JpdGVzKClcIj5zdGFyX2JvcmRlcjwvbWF0LWljb24+XG4gICAgICA8c3Bhbj57eyAoZmF2b3JpdGVzLmhhc0Zhdm9yaXRlcygpID8gJ0FQUC5BQ1RJT05TLlJFTU9WRV9GQVZPUklURScgOiAnQVBQLkFDVElPTlMuRkFWT1JJVEUnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC10b2dnbGUtZmF2b3JpdGUnIH1cbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlRmF2b3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIHNlbGVjdGlvbiQ6IE9ic2VydmFibGU8U2VsZWN0aW9uU3RhdGU+O1xuICBwcml2YXRlIHJlbG9hZE9uUm91dGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIHRoaXMuc2VsZWN0aW9uJCA9IHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwcFNlbGVjdGlvbik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLnJlbG9hZE9uUm91dGVzID0gSlNPTi5wYXJzZSh0aGlzLmRhdGEucmVwbGFjZSgvJy9nLCAnXCInKSk7XG4gICAgfVxuICB9XG5cbiAgb25Ub2dnbGVFdmVudCgpIHtcbiAgICBpZiAodGhpcy5yZWxvYWRPblJvdXRlcy5pbmNsdWRlcyh0aGlzLnJvdXRlci51cmwpKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZWxvYWREb2N1bWVudExpc3RBY3Rpb24oKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,102 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { Component, ViewEncapsulation } from '@angular/core';
26
+ import { Store } from '@ngrx/store';
27
+ import { AppHookService } from '@alfresco/aca-shared';
28
+ import { getAppSelection } from '@alfresco/aca-shared/store';
29
+ import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
30
+ import { Router } from '@angular/router';
31
+ import { Subject } from 'rxjs';
32
+ import * as i0 from "@angular/core";
33
+ import * as i1 from "@ngrx/store";
34
+ import * as i2 from "@alfresco/aca-shared";
35
+ import * as i3 from "@angular/router";
36
+ import * as i4 from "@angular/common";
37
+ import * as i5 from "@angular/material/icon";
38
+ import * as i6 from "@angular/material/menu";
39
+ import * as i7 from "@alfresco/adf-content-services";
40
+ import * as i8 from "@ngx-translate/core";
41
+ export class ToggleFavoriteLibraryComponent {
42
+ constructor(store, appHookService, router) {
43
+ this.store = store;
44
+ this.appHookService = appHookService;
45
+ this.router = router;
46
+ this.onDestroy$ = new Subject();
47
+ }
48
+ ngOnInit() {
49
+ const isFavoriteLibraries = this.router.url.startsWith('/favorite/libraries');
50
+ this.store
51
+ .select(getAppSelection)
52
+ .pipe(distinctUntilChanged(), takeUntil(this.onDestroy$))
53
+ .subscribe((selection) => {
54
+ this.library = { ...selection.library };
55
+ // favorite libraries list should already be marked as favorite
56
+ if (selection.library && isFavoriteLibraries) {
57
+ this.library.isFavorite = true;
58
+ }
59
+ });
60
+ }
61
+ ngOnDestroy() {
62
+ this.onDestroy$.next(true);
63
+ this.onDestroy$.complete();
64
+ }
65
+ onToggleEvent() {
66
+ this.appHookService.favoriteLibraryToggle.next();
67
+ }
68
+ }
69
+ ToggleFavoriteLibraryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleFavoriteLibraryComponent, deps: [{ token: i1.Store }, { token: i2.AppHookService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
70
+ ToggleFavoriteLibraryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToggleFavoriteLibraryComponent, selector: "app-toggle-favorite-library", host: { classAttribute: "app-toggle-favorite-library" }, ngImport: i0, template: `
71
+ <button
72
+ mat-menu-item
73
+ (toggle)="onToggleEvent()"
74
+ [adf-favorite-library]="library"
75
+ [attr.title]="library.isFavorite ? ('APP.ACTIONS.REMOVE_FAVORITE' | translate) : ('APP.ACTIONS.FAVORITE' | translate)"
76
+ >
77
+ <mat-icon *ngIf="library.isFavorite">star</mat-icon>
78
+ <mat-icon *ngIf="!library.isFavorite">star_border</mat-icon>
79
+ <span>{{ (library.isFavorite ? 'APP.ACTIONS.REMOVE_FAVORITE' : 'APP.ACTIONS.FAVORITE') | translate }}</span>
80
+ </button>
81
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.LibraryFavoriteDirective, selector: "[adf-favorite-library]", inputs: ["adf-favorite-library"], outputs: ["toggle", "error"], exportAs: ["favoriteLibrary"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleFavoriteLibraryComponent, decorators: [{
83
+ type: Component,
84
+ args: [{
85
+ selector: 'app-toggle-favorite-library',
86
+ template: `
87
+ <button
88
+ mat-menu-item
89
+ (toggle)="onToggleEvent()"
90
+ [adf-favorite-library]="library"
91
+ [attr.title]="library.isFavorite ? ('APP.ACTIONS.REMOVE_FAVORITE' | translate) : ('APP.ACTIONS.FAVORITE' | translate)"
92
+ >
93
+ <mat-icon *ngIf="library.isFavorite">star</mat-icon>
94
+ <mat-icon *ngIf="!library.isFavorite">star_border</mat-icon>
95
+ <span>{{ (library.isFavorite ? 'APP.ACTIONS.REMOVE_FAVORITE' : 'APP.ACTIONS.FAVORITE') | translate }}</span>
96
+ </button>
97
+ `,
98
+ encapsulation: ViewEncapsulation.None,
99
+ host: { class: 'app-toggle-favorite-library' }
100
+ }]
101
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AppHookService }, { type: i3.Router }]; } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFtQi9CLE1BQU0sT0FBTyw4QkFBOEI7SUFJekMsWUFBb0IsS0FBc0IsRUFBVSxjQUE4QixFQUFVLE1BQWM7UUFBdEYsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRmxHLGVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUUrQyxDQUFDO0lBRTlHLFFBQVE7UUFDTixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxLQUFLO2FBQ1AsTUFBTSxDQUFDLGVBQWUsQ0FBQzthQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3hELFNBQVMsQ0FBQyxDQUFDLFNBQXlCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFeEMsK0RBQStEO1lBQy9ELElBQUksU0FBUyxDQUFDLE9BQU8sSUFBSSxtQkFBbUIsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25ELENBQUM7OzJIQTdCVSw4QkFBOEI7K0dBQTlCLDhCQUE4Qiw0SEFmL0I7Ozs7Ozs7Ozs7O0dBV1Q7MkZBSVUsOEJBQThCO2tCQWpCMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSw2QkFBNkIsRUFBRTtpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFwcEhvb2tTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIGdldEFwcFNlbGVjdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IFNlbGVjdGlvblN0YXRlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICh0b2dnbGUpPVwib25Ub2dnbGVFdmVudCgpXCJcbiAgICAgIFthZGYtZmF2b3JpdGUtbGlicmFyeV09XCJsaWJyYXJ5XCJcbiAgICAgIFthdHRyLnRpdGxlXT1cImxpYnJhcnkuaXNGYXZvcml0ZSA/ICgnQVBQLkFDVElPTlMuUkVNT1ZFX0ZBVk9SSVRFJyB8IHRyYW5zbGF0ZSkgOiAoJ0FQUC5BQ1RJT05TLkZBVk9SSVRFJyB8IHRyYW5zbGF0ZSlcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImxpYnJhcnkuaXNGYXZvcml0ZVwiPnN0YXI8L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIWxpYnJhcnkuaXNGYXZvcml0ZVwiPnN0YXJfYm9yZGVyPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7IChsaWJyYXJ5LmlzRmF2b3JpdGUgPyAnQVBQLkFDVElPTlMuUkVNT1ZFX0ZBVk9SSVRFJyA6ICdBUFAuQUNUSU9OUy5GQVZPUklURScpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXBwLXRvZ2dsZS1mYXZvcml0ZS1saWJyYXJ5JyB9XG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZUZhdm9yaXRlTGlicmFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbGlicmFyeTtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sIHByaXZhdGUgYXBwSG9va1NlcnZpY2U6IEFwcEhvb2tTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGlzRmF2b3JpdGVMaWJyYXJpZXMgPSB0aGlzLnJvdXRlci51cmwuc3RhcnRzV2l0aCgnL2Zhdm9yaXRlL2xpYnJhcmllcycpO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRBcHBTZWxlY3Rpb24pXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbjogU2VsZWN0aW9uU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5saWJyYXJ5ID0geyAuLi5zZWxlY3Rpb24ubGlicmFyeSB9O1xuXG4gICAgICAgIC8vIGZhdm9yaXRlIGxpYnJhcmllcyBsaXN0IHNob3VsZCBhbHJlYWR5IGJlIG1hcmtlZCBhcyBmYXZvcml0ZVxuICAgICAgICBpZiAoc2VsZWN0aW9uLmxpYnJhcnkgJiYgaXNGYXZvcml0ZUxpYnJhcmllcykge1xuICAgICAgICAgIHRoaXMubGlicmFyeS5pc0Zhdm9yaXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uVG9nZ2xlRXZlbnQoKSB7XG4gICAgdGhpcy5hcHBIb29rU2VydmljZS5mYXZvcml0ZUxpYnJhcnlUb2dnbGUubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * @license
3
+ * Alfresco Example Content Application
4
+ *
5
+ * Copyright (C) 2005 - 2020 Alfresco Software Limited
6
+ *
7
+ * This file is part of the Alfresco Example Content Application.
8
+ * If the software was purchased under a paid Alfresco license, the terms of
9
+ * the paid license agreement will prevail. Otherwise, the software is
10
+ * provided under the following open source license terms:
11
+ *
12
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU Lesser General Public License as published by
14
+ * the Free Software Foundation, either version 3 of the License, or
15
+ * (at your option) any later version.
16
+ *
17
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
24
+ */
25
+ import { Component, ViewEncapsulation } from '@angular/core';
26
+ import { Store } from '@ngrx/store';
27
+ import { ToggleInfoDrawerAction, isInfoDrawerOpened } from '@alfresco/aca-shared/store';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@ngrx/store";
30
+ import * as i2 from "@angular/material/button";
31
+ import * as i3 from "@angular/material/icon";
32
+ import * as i4 from "@angular/common";
33
+ import * as i5 from "@ngx-translate/core";
34
+ export class ToggleInfoDrawerComponent {
35
+ constructor(store) {
36
+ this.store = store;
37
+ this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
38
+ }
39
+ onClick() {
40
+ this.store.dispatch(new ToggleInfoDrawerAction());
41
+ }
42
+ }
43
+ ToggleInfoDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleInfoDrawerComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
44
+ ToggleInfoDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: ToggleInfoDrawerComponent, selector: "app-toggle-info-drawer", host: { classAttribute: "app-toggle-info-drawer" }, ngImport: i0, template: `
45
+ <button
46
+ mat-icon-button
47
+ [color]="(infoDrawerOpened$ | async) ? 'primary' : null"
48
+ [attr.aria-label]="'APP.ACTIONS.DETAILS' | translate"
49
+ [attr.aria-expanded]="infoDrawerOpened$ | async"
50
+ [attr.title]="'APP.ACTIONS.DETAILS' | translate"
51
+ (click)="onClick()"
52
+ >
53
+ <mat-icon>menu_open</mat-icon>
54
+ </button>
55
+ `, isInline: true, dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ToggleInfoDrawerComponent, decorators: [{
57
+ type: Component,
58
+ args: [{
59
+ selector: 'app-toggle-info-drawer',
60
+ template: `
61
+ <button
62
+ mat-icon-button
63
+ [color]="(infoDrawerOpened$ | async) ? 'primary' : null"
64
+ [attr.aria-label]="'APP.ACTIONS.DETAILS' | translate"
65
+ [attr.aria-expanded]="infoDrawerOpened$ | async"
66
+ [attr.title]="'APP.ACTIONS.DETAILS' | translate"
67
+ (click)="onClick()"
68
+ >
69
+ <mat-icon>menu_open</mat-icon>
70
+ </button>
71
+ `,
72
+ encapsulation: ViewEncapsulation.None,
73
+ host: { class: 'app-toggle-info-drawer' }
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWluZm8tZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL3RvZ2dsZS1pbmZvLWRyYXdlci90b2dnbGUtaW5mby1kcmF3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQW1CeEYsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7c0hBVFUseUJBQXlCOzBHQUF6Qix5QkFBeUIsa0hBZjFCOzs7Ozs7Ozs7OztHQVdUOzJGQUlVLHlCQUF5QjtrQkFqQnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7OztHQVdUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7aUJBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDA1IC0gMjAyMCBBbGZyZXNjbyBTb2Z0d2FyZSBMaW1pdGVkXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWxmcmVzY28uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFRvZ2dsZUluZm9EcmF3ZXJBY3Rpb24sIGlzSW5mb0RyYXdlck9wZW5lZCB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRvZ2dsZS1pbmZvLWRyYXdlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbY29sb3JdPVwiKGluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmMpID8gJ3ByaW1hcnknIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUFAuQUNUSU9OUy5ERVRBSUxTJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmNcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiJ0FQUC5BQ1RJT05TLkRFVEFJTFMnIHwgdHJhbnNsYXRlXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5tZW51X29wZW48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXBwLXRvZ2dsZS1pbmZvLWRyYXdlcicgfVxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVJbmZvRHJhd2VyQ29tcG9uZW50IHtcbiAgaW5mb0RyYXdlck9wZW5lZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55Pikge1xuICAgIHRoaXMuaW5mb0RyYXdlck9wZW5lZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChpc0luZm9EcmF3ZXJPcGVuZWQpO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBUb2dnbGVJbmZvRHJhd2VyQWN0aW9uKCkpO1xuICB9XG59XG4iXX0=